[Bf-blender-cvs] [8c3b27c] master: Change libavcodec CODEC_ID_* to AV_CODEC_ID_*

Anton Khirnov noreply at git.blender.org
Tue Jan 28 09:28:42 CET 2014


Commit: 8c3b27ce279f1f0904af3c220d92acfa1f20a70e
Author: Anton Khirnov
Date:   Thu Jan 16 15:40:37 2014 +0100
https://developer.blender.org/rB8c3b27ce279f1f0904af3c220d92acfa1f20a70e

Change libavcodec CODEC_ID_* to AV_CODEC_ID_*

CODEC_ID_* have been replaced with AV_CODEC_ID_* in new libavcodec
versions.

Update the code to use those new identifiers.

Added a compatibility code to ffmpeg_compat.h

===================================================================

M	intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp
M	intern/ffmpeg/ffmpeg_compat.h
M	source/blender/blenkernel/intern/writeffmpeg.c
M	source/blender/imbuf/intern/indexer.c
M	source/blender/makesrna/intern/CMakeLists.txt
M	source/blender/makesrna/intern/SConscript
M	source/blender/makesrna/intern/rna_scene.c

===================================================================

diff --git a/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp b/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp
index 55040e4..d35b6d5 100644
--- a/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp
+++ b/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp
@@ -68,57 +68,57 @@ AUD_FFMPEGWriter::AUD_FFMPEGWriter(std::string filename, AUD_DeviceSpecs specs,
 	switch(codec)
 	{
 	case AUD_CODEC_AAC:
-		m_outputFmt->audio_codec = CODEC_ID_AAC;
+		m_outputFmt->audio_codec = AV_CODEC_ID_AAC;
 		break;
 	case AUD_CODEC_AC3:
-		m_outputFmt->audio_codec = CODEC_ID_AC3;
+		m_outputFmt->audio_codec = AV_CODEC_ID_AC3;
 		break;
 	case AUD_CODEC_FLAC:
-		m_outputFmt->audio_codec = CODEC_ID_FLAC;
+		m_outputFmt->audio_codec = AV_CODEC_ID_FLAC;
 		break;
 	case AUD_CODEC_MP2:
-		m_outputFmt->audio_codec = CODEC_ID_MP2;
+		m_outputFmt->audio_codec = AV_CODEC_ID_MP2;
 		break;
 	case AUD_CODEC_MP3:
-		m_outputFmt->audio_codec = CODEC_ID_MP3;
+		m_outputFmt->audio_codec = AV_CODEC_ID_MP3;
 		break;
 	case AUD_CODEC_PCM:
 		switch(specs.format)
 		{
 		case AUD_FORMAT_U8:
-			m_outputFmt->audio_codec = CODEC_ID_PCM_U8;
+			m_outputFmt->audio_codec = AV_CODEC_ID_PCM_U8;
 			break;
 		case AUD_FORMAT_S16:
-			m_outputFmt->audio_codec = CODEC_ID_PCM_S16LE;
+			m_outputFmt->audio_codec = AV_CODEC_ID_PCM_S16LE;
 			break;
 		case AUD_FORMAT_S24:
-			m_outputFmt->audio_codec = CODEC_ID_PCM_S24LE;
+			m_outputFmt->audio_codec = AV_CODEC_ID_PCM_S24LE;
 			break;
 		case AUD_FORMAT_S32:
-			m_outputFmt->audio_codec = CODEC_ID_PCM_S32LE;
+			m_outputFmt->audio_codec = AV_CODEC_ID_PCM_S32LE;
 			break;
 		case AUD_FORMAT_FLOAT32:
-			m_outputFmt->audio_codec = CODEC_ID_PCM_F32LE;
+			m_outputFmt->audio_codec = AV_CODEC_ID_PCM_F32LE;
 			break;
 		case AUD_FORMAT_FLOAT64:
-			m_outputFmt->audio_codec = CODEC_ID_PCM_F64LE;
+			m_outputFmt->audio_codec = AV_CODEC_ID_PCM_F64LE;
 			break;
 		default:
-			m_outputFmt->audio_codec = CODEC_ID_NONE;
+			m_outputFmt->audio_codec = AV_CODEC_ID_NONE;
 			break;
 		}
 		break;
 	case AUD_CODEC_VORBIS:
-		m_outputFmt->audio_codec = CODEC_ID_VORBIS;
+		m_outputFmt->audio_codec = AV_CODEC_ID_VORBIS;
 		break;
 	default:
-		m_outputFmt->audio_codec = CODEC_ID_NONE;
+		m_outputFmt->audio_codec = AV_CODEC_ID_NONE;
 		break;
 	}
 
 	try
 	{
-		if(m_outputFmt->audio_codec == CODEC_ID_NONE)
+		if(m_outputFmt->audio_codec == AV_CODEC_ID_NONE)
 			AUD_THROW(AUD_ERROR_SPECS, codec_error);
 
 		m_stream = avformat_new_stream(m_formatCtx, NULL);
diff --git a/intern/ffmpeg/ffmpeg_compat.h b/intern/ffmpeg/ffmpeg_compat.h
index cca5f64..3243781 100644
--- a/intern/ffmpeg/ffmpeg_compat.h
+++ b/intern/ffmpeg/ffmpeg_compat.h
@@ -104,6 +104,37 @@ int av_sample_fmt_is_planar(enum AVSampleFormat sample_fmt)
 
 #endif
 
+/* FFmpeg upstream 1.0 is the first who added AV_ prefix. */
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(54, 59, 100)
+#  define AV_CODEC_ID_NONE CODEC_ID_NONE
+#  define AV_CODEC_ID_MPEG4 CODEC_ID_MPEG4
+#  define AV_CODEC_ID_MJPEG CODEC_ID_MJPEG
+#  define AV_CODEC_ID_DNXHD CODEC_ID_DNXHD
+#  define AV_CODEC_ID_MPEG2VIDEO CODEC_ID_MPEG2VIDEO
+#  define AV_CODEC_ID_MPEG1VIDEO CODEC_ID_MPEG1VIDEO
+#  define AV_CODEC_ID_DVVIDEO CODEC_ID_DVVIDEO
+#  define AV_CODEC_ID_THEORA CODEC_ID_THEORA
+#  define AV_CODEC_ID_PNG CODEC_ID_PNG
+#  define AV_CODEC_ID_QTRLE CODEC_ID_QTRLE
+#  define AV_CODEC_ID_FFV1 CODEC_ID_FFV1
+#  define AV_CODEC_ID_HUFFYUV CODEC_ID_HUFFYUV
+#  define AV_CODEC_ID_H264 CODEC_ID_H264
+#  define AV_CODEC_ID_FLV1 CODEC_ID_FLV1
+
+#  define AV_CODEC_ID_AAC CODEC_ID_AAC
+#  define AV_CODEC_ID_AC3 CODEC_ID_AC3
+#  define AV_CODEC_ID_MP3 CODEC_ID_MP3
+#  define AV_CODEC_ID_MP2 CODEC_ID_MP2
+#  define AV_CODEC_ID_FLAC CODEC_ID_FLAC
+#  define AV_CODEC_ID_PCM_U8 CODEC_ID_PCM_U8
+#  define AV_CODEC_ID_PCM_S16LE CODEC_ID_PCM_S16LE
+#  define AV_CODEC_ID_PCM_S24LE CODEC_ID_PCM_S24LE
+#  define AV_CODEC_ID_PCM_S32LE CODEC_ID_PCM_S32LE
+#  define AV_CODEC_ID_PCM_F32LE CODEC_ID_PCM_F32LE
+#  define AV_CODEC_ID_PCM_F64LE CODEC_ID_PCM_F64LE
+#  define AV_CODEC_ID_VORBIS CODEC_ID_VORBIS
+#endif
+
 FFMPEG_INLINE
 int av_get_cropped_height_from_codec(AVCodecContext *pCodecCtx)
 {
@@ -124,7 +155,7 @@ int av_get_cropped_height_from_codec(AVCodecContext *pCodecCtx)
 	if (pCodecCtx->width == 1920 && 
 	    pCodecCtx->height == 1088 &&
 	    pCodecCtx->pix_fmt == PIX_FMT_YUVJ420P &&
-	    pCodecCtx->codec_id == CODEC_ID_H264 ) {
+	    pCodecCtx->codec_id == AV_CODEC_ID_H264 ) {
 		y = 1080;
 	}
 #endif
diff --git a/source/blender/blenkernel/intern/writeffmpeg.c b/source/blender/blenkernel/intern/writeffmpeg.c
index d975e60..38f80e7 100644
--- a/source/blender/blenkernel/intern/writeffmpeg.c
+++ b/source/blender/blenkernel/intern/writeffmpeg.c
@@ -70,8 +70,8 @@
 #include "ffmpeg_compat.h"
 
 static int ffmpeg_type = 0;
-static int ffmpeg_codec = CODEC_ID_MPEG4;
-static int ffmpeg_audio_codec = CODEC_ID_NONE;
+static int ffmpeg_codec = AV_CODEC_ID_MPEG4;
+static int ffmpeg_audio_codec = AV_CODEC_ID_NONE;
 static int ffmpeg_video_bitrate = 1150;
 static int ffmpeg_audio_bitrate = 128;
 static int ffmpeg_gop_size = 12;
@@ -119,7 +119,7 @@ static void delete_picture(AVFrame *f)
 static int request_float_audio_buffer(int codec_id)
 {
 	/* If any of these codecs, we prefer the float sample format (if supported) */
-	return codec_id == CODEC_ID_AAC || codec_id == CODEC_ID_AC3 || codec_id == CODEC_ID_VORBIS;
+	return codec_id == AV_CODEC_ID_AAC || codec_id == AV_CODEC_ID_AC3 || codec_id == AV_CODEC_ID_VORBIS;
 }
 
 #ifdef WITH_AUDASPACE
@@ -474,7 +474,7 @@ static int ffmpeg_proprty_valid(AVCodecContext *c, const char *prop_name, IDProp
 	if (strcmp(prop_name, "video") == 0) {
 		if (strcmp(curr->name, "bf") == 0) {
 			/* flash codec doesn't support b frames */
-			valid &= c->codec_id != CODEC_ID_FLV1;
+			valid &= c->codec_id != AV_CODEC_ID_FLV1;
 		}
 	}
 
@@ -580,29 +580,29 @@ static AVStream *alloc_video_stream(RenderData *rd, int codec_id, AVFormatContex
 		c->codec_tag = (('D' << 24) + ('I' << 16) + ('V' << 8) + 'X');
 	}
 
-	if (codec_id == CODEC_ID_H264) {
+	if (codec_id == AV_CODEC_ID_H264) {
 		/* correct wrong default ffmpeg param which crash x264 */
 		c->qmin = 10;
 		c->qmax = 51;
 	}
 	
 	/* Keep lossless encodes in the RGB domain. */
-	if (codec_id == CODEC_ID_HUFFYUV) {
+	if (codec_id == AV_CODEC_ID_HUFFYUV) {
 		/* HUFFYUV was PIX_FMT_YUV422P before */
 		c->pix_fmt = PIX_FMT_RGB32;
 	}
 
-	if (codec_id == CODEC_ID_FFV1) {
+	if (codec_id == AV_CODEC_ID_FFV1) {
 		c->pix_fmt = PIX_FMT_RGB32;
 	}
 
-	if (codec_id == CODEC_ID_QTRLE) {
+	if (codec_id == AV_CODEC_ID_QTRLE) {
 		if (rd->im_format.planes == R_IMF_PLANES_RGBA) {
 			c->pix_fmt = PIX_FMT_ARGB;
 		}
 	}
 
-	if (codec_id == CODEC_ID_PNG) {
+	if (codec_id == AV_CODEC_ID_PNG) {
 		if (rd->im_format.planes == R_IMF_PLANES_RGBA) {
 			c->pix_fmt = PIX_FMT_ARGB;
 		}
@@ -638,7 +638,7 @@ static AVStream *alloc_video_stream(RenderData *rd, int codec_id, AVFormatContex
 		return NULL;
 	}
 
-	if (codec_id == CODEC_ID_QTRLE) {
+	if (codec_id == AV_CODEC_ID_QTRLE) {
 		/* normally it should be enough to have buffer with actual image size,
 		 * but some codecs like QTRLE might store extra information in this buffer,
 		 * so it should be a way larger */
@@ -828,7 +828,7 @@ static int start_ffmpeg_impl(struct RenderData *rd, int rectx, int recty, Report
 	
 	of->oformat = fmt;
 	of->packet_size = rd->ffcodecdata.mux_packet_size;
-	if (ffmpeg_audio_codec != CODEC_ID_NONE) {
+	if (ffmpeg_audio_codec != AV_CODEC_ID_NONE) {
 		ffmpeg_dict_set_int(&opts, "muxrate", rd->ffcodecdata.mux_rate);
 	}
 	else {
@@ -850,32 +850,32 @@ static int start_ffmpeg_impl(struct RenderData *rd, int rectx, int recty, Report
 			fmt->video_codec = ffmpeg_codec;
 			break;
 		case FFMPEG_OGG:
-			fmt->video_codec = CODEC_ID_THEORA;
+			fmt->video_codec = AV_CODEC_ID_THEORA;
 			break;
 		case FFMPEG_DV:
-			fmt->video_codec = CODEC_ID_DVVIDEO;
+			fmt->video_codec = AV_CODEC_ID_DVVIDEO;
 			break;
 		case FFMPEG_MPEG1:
-			fmt->video_codec = CODEC_ID_MPEG1VIDEO;
+			fmt->video_codec = AV_CODEC_ID_MPEG1VIDEO;
 			break;
 		case FFMPEG_MPEG2:
-			fmt->video_codec = CODEC_ID_MPEG2VIDEO;
+			fmt->video_codec = AV_CODEC_ID_MPEG2VIDEO;
 			break;
 		case FFMPEG_H264:
-			fmt->video_codec = CODEC_ID_H264;
+			fmt->video_codec = AV_CODEC_ID_H264;
 			break;
 		case FFMPEG_XVID:
-			fmt->video_codec = CODEC_ID_MPEG4;
+			fmt->video_codec = AV_CODEC_ID_MPEG4;
 			break;
 		case FFMPEG_FLV:
-			fmt->video_codec = CODEC_ID_FLV1;
+			fmt->video_codec = AV_CODEC_ID_FLV1;
 			break;
 		case FFMPEG_MPEG4:
 		default:
-			fmt->video_codec = CODEC_ID_MPEG4;
+			fmt->video_codec = AV_CODEC_ID_MPEG4;
 			break;
 	}
-	if (fmt->video_codec == CODEC_ID_DVVIDEO) {
+	if (fmt->video_codec == AV_CODEC_ID_DVVIDEO) {
 		if (rectx != 720) {
 			BKE_report(reports, RPT_ERROR, "Render width has to be 720 pixels for DV!");
 			return 0;
@@ -891,15 +891,15 @@ static int start_ffmpeg_impl(struct RenderData *rd, int rectx, int recty, Report
 	}
 	
 	if (ffmpeg_type == FFMPEG_DV) {
-		fmt->audio_codec = CODEC_ID_PCM_S16LE;
-		if (ffmpeg_audio_codec != CODEC_ID_NONE && rd->ffcodecdata.audio_mixrate != 48000 && rd->ffcodecdata.audio_channels != 2) {
+		fmt->audio_codec = AV_CODEC_ID_PCM_S16LE;
+		if (ffmpeg_audio_codec != AV_CODEC_ID_NONE && rd->ffcodecdata.audio_mixrate != 48000 && rd->ffcodecdata.audio_channels != 2) {
 			BKE_report(reports, RPT_ERROR, "FFMPEG only supports 48khz / stereo audio for DV!");
 			av_dict_free(&opts);
 			return 0;
 		}
 	}
 	
-	if (fmt->video_codec != CODEC_ID_NONE) {
+	if (fmt->video_codec != AV_CODEC_ID_NONE) {
 		video_stream = alloc_video_stream(rd, fmt->video_codec, of, rectx, recty, error, sizeof(error));
 		PRINT("alloc video stream %p\n", video_stream);
 		if (!video_stream) {
@@ -913,7 +913,7 @@ static int start_ffmpeg_impl(struct RenderData *rd, int rectx, int recty, Report
 		}
 	}
 
-	if (ffmpeg_audio_codec != CODEC_ID_NONE) {
+	if (ffmpeg_audio_codec != AV_CODEC_ID_NONE) {
 		audio_stream = alloc_audio_stream(rd, fmt->audio_codec, of, error, sizeof(error));
 		if (!audio_stream) {
 			if (error[0])
@@ -1418,7 +1418,7 @@ static void ffmpeg_set_expert_options(RenderData *rd)
 	if (rd->ffcodecdata.properties)
 		IDP_FreeProperty(rd->ff

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list