[packages/gmerlin-encoders] - fix building with ffmpeg2

baggins baggins at pld-linux.org
Thu Aug 29 19:43:14 CEST 2013


commit 9a4aca40f84ff02a173bd12f3e53c93ff278d64c
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Thu Aug 29 19:42:57 2013 +0200

    - fix building with ffmpeg2

 ffmpeg2.patch         | 417 ++++++++++++++++++++++++++++++++++++++++++++++++++
 gmerlin-encoders.spec |   2 +
 2 files changed, 419 insertions(+)
---
diff --git a/gmerlin-encoders.spec b/gmerlin-encoders.spec
index 268b31f..a7fa035 100644
--- a/gmerlin-encoders.spec
+++ b/gmerlin-encoders.spec
@@ -10,6 +10,7 @@ Source0:	http://downloads.sourceforge.net/gmerlin/%{name}-%{version}.tar.gz
 # Source0-md5:	db401732dde0c27702ad3303956cb158
 Patch0:		%{name}-am.patch
 Patch1:		%{name}-link.patch
+Patch2:		ffmpeg2.patch
 URL:		http://gmerlin.sourceforge.net/avdec_frame.html
 BuildRequires:	autoconf >= 2.50
 BuildRequires:	automake
@@ -55,6 +56,7 @@ liczby formatów plików.
 %setup -q
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 
 # evil, sets CFLAGS basing on /proc/cpuinfo, overrides our optflags
 # (--with-cpuflags=none disables using /proc/cpuinfo, but not overriding)
diff --git a/ffmpeg2.patch b/ffmpeg2.patch
new file mode 100644
index 0000000..51e418d
--- /dev/null
+++ b/ffmpeg2.patch
@@ -0,0 +1,417 @@
+--- gmerlin-encoders-1.2.0/plugins/ffmpeg/ffmpeg_common.h~	2012-06-08 13:52:27.000000000 +0200
++++ gmerlin-encoders-1.2.0/plugins/ffmpeg/ffmpeg_common.h	2013-08-29 19:33:01.840942398 +0200
+@@ -57,7 +57,7 @@
+   {
+   char * name;
+   char * long_name;
+-  enum CodecID id;
++  enum AVCodecID id;
+   const bg_parameter_info_t * parameters;
+ 
+   /* Terminated with PIX_FMT_NB */
+@@ -74,8 +74,8 @@
+   int max_audio_streams;
+   int max_video_streams;
+   
+-  const enum CodecID * audio_codecs;
+-  const enum CodecID * video_codecs;
++  const enum AVCodecID * audio_codecs;
++  const enum AVCodecID * video_codecs;
+   
+   int flags;
+   const bg_encoder_framerate_t * framerates;
+@@ -101,10 +101,10 @@
+                               const char * name,
+                               const bg_parameter_value_t * val);
+ 
+-enum CodecID
++enum AVCodecID
+ bg_ffmpeg_find_audio_encoder(const ffmpeg_format_info_t * format, const char * name);
+ 
+-enum CodecID
++enum AVCodecID
+ bg_ffmpeg_find_video_encoder(const ffmpeg_format_info_t * format, const char * name);
+ 
+ typedef struct
+@@ -237,7 +237,7 @@
+ void bg_ffmpeg_set_video_parameter(void * data, int stream, const char * name,
+                                   const bg_parameter_value_t * v);
+ 
+-enum PixelFormat * bg_ffmpeg_get_pixelformats(enum CodecID id);
++enum PixelFormat * bg_ffmpeg_get_pixelformats(enum AVCodecID id);
+ 
+ 
+ int bg_ffmpeg_set_video_pass(void * data, int stream, int pass,
+@@ -269,7 +269,7 @@
+ 
+ gavl_sample_format_t bg_sample_format_ffmpeg_2_gavl(enum SampleFormat p);
+ 
+-enum CodecID bg_codec_id_gavl_2_ffmpeg(gavl_codec_id_t gavl);
++enum AVCodecID bg_codec_id_gavl_2_ffmpeg(gavl_codec_id_t gavl);
+ 
+ 
+ /* Compressed stream support */
+--- gmerlin-encoders-1.2.0/plugins/ffmpeg/ffmpeg_common.c~	2012-06-08 13:52:27.000000000 +0200
++++ gmerlin-encoders-1.2.0/plugins/ffmpeg/ffmpeg_common.c	2013-08-29 19:33:31.924651041 +0200
+@@ -343,7 +343,7 @@
+   return 1;
+   }
+ 
+-static void set_audio_params(ffmpeg_audio_stream_t * st, enum CodecID id)
++static void set_audio_params(ffmpeg_audio_stream_t * st, enum AVCodecID id)
+   {
+   /* Will be cleared later if we don't write compressed
+      packets */
+@@ -360,7 +360,7 @@
+   st->stream->codec->codec_type  = CODEC_TYPE_AUDIO;
+   }
+ 
+-static void set_video_params(ffmpeg_video_stream_t * st, enum CodecID id)
++static void set_video_params(ffmpeg_video_stream_t * st, enum AVCodecID id)
+   {
+   st->stream->codec->codec_type = CODEC_TYPE_VIDEO;
+   st->stream->codec->codec_id = id;
+@@ -522,7 +522,7 @@
+   
+   if(!strcmp(name, "codec"))
+     {
+-    enum CodecID id;
++    enum AVCodecID id;
+ #if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53,10,0)
+     AVCodec * codec;
+ #endif
+@@ -560,7 +560,7 @@
+   
+   if(!strcmp(name, "codec"))
+     {
+-    enum CodecID id;
++    enum AVCodecID id;
+ #if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53,10,0)
+     AVCodec * codec;
+ #endif
+@@ -1417,7 +1417,7 @@
+ static const struct
+   {
+   gavl_codec_id_t gavl;
+-  enum CodecID    ffmpeg;
++  enum AVCodecID    ffmpeg;
+   }
+ codec_ids[] =
+   {
+@@ -1445,7 +1445,7 @@
+     { GAVL_CODEC_ID_NONE,      CODEC_ID_NONE       },
+   };
+ 
+-enum CodecID bg_codec_id_gavl_2_ffmpeg(gavl_codec_id_t gavl)
++enum AVCodecID bg_codec_id_gavl_2_ffmpeg(gavl_codec_id_t gavl)
+   {
+   int i = 0;
+   while(codec_ids[i].gavl != GAVL_CODEC_ID_NONE)
+@@ -1462,7 +1462,7 @@
+                                       const gavl_compression_info_t * info)
+   {
+   int i;
+-  enum CodecID ffmpeg_id;
++  enum AVCodecID ffmpeg_id;
+   ffmpeg_priv_t * f = priv;
+   
+   ffmpeg_id = bg_codec_id_gavl_2_ffmpeg(info->id);
+@@ -1483,7 +1483,7 @@
+                                       const gavl_compression_info_t * info)
+   {
+   int i;
+-  enum CodecID ffmpeg_id;
++  enum AVCodecID ffmpeg_id;
+   ffmpeg_priv_t * f = priv;
+ 
+   ffmpeg_id = bg_codec_id_gavl_2_ffmpeg(info->id);
+--- gmerlin-encoders-1.2.0/plugins/ffmpeg/e_ffmpeg_video.c~	2012-06-08 13:52:27.000000000 +0200
++++ gmerlin-encoders-1.2.0/plugins/ffmpeg/e_ffmpeg_video.c	2013-08-29 19:33:49.998209818 +0200
+@@ -32,7 +32,7 @@
+       .short_name = "mpeg1video",
+       .extension =  "m1v",
+       .max_video_streams = 1,
+-      .video_codecs = (enum CodecID[]){  CODEC_ID_MPEG1VIDEO,
++      .video_codecs = (enum AVCodecID[]){  CODEC_ID_MPEG1VIDEO,
+                                        CODEC_ID_NONE },
+       .flags = FLAG_CONSTANT_FRAMERATE,
+       .framerates = bg_ffmpeg_mpeg_framerates,
+@@ -42,7 +42,7 @@
+       .short_name = "mpeg2video",
+       .extension =  "m2v",
+       .max_video_streams = 1,
+-      .video_codecs = (enum CodecID[]){  CODEC_ID_MPEG2VIDEO,
++      .video_codecs = (enum AVCodecID[]){  CODEC_ID_MPEG2VIDEO,
+                                        CODEC_ID_NONE },
+       .flags = FLAG_CONSTANT_FRAMERATE,
+       .framerates = bg_ffmpeg_mpeg_framerates,
+--- gmerlin-encoders-1.2.0/plugins/ffmpeg/codecs.c~	2012-06-08 13:52:27.000000000 +0200
++++ gmerlin-encoders-1.2.0/plugins/ffmpeg/codecs.c	2013-08-29 19:34:38.295478805 +0200
+@@ -488,7 +488,7 @@
+   };
+ 
+ static const ffmpeg_codec_info_t **
+-add_codec_info(const ffmpeg_codec_info_t ** info, enum CodecID id, int * num)
++add_codec_info(const ffmpeg_codec_info_t ** info, enum AVCodecID id, int * num)
+   {
+   int i;
+   /* Check if the codec id is already in the array */
+@@ -658,11 +658,11 @@
+   return ret;
+   }
+ 
+-enum CodecID
++enum AVCodecID
+ bg_ffmpeg_find_audio_encoder(const ffmpeg_format_info_t * format, const char * name)
+   {
+   int i = 0, found = 0;
+-  enum CodecID ret = CODEC_ID_NONE;
++  enum AVCodecID ret = CODEC_ID_NONE;
+   
+   while(audio_codecs[i].name)
+     {
+@@ -696,11 +696,11 @@
+   return ret;
+   }
+ 
+-enum CodecID
++enum AVCodecID
+ bg_ffmpeg_find_video_encoder(const ffmpeg_format_info_t * format, const char * name)
+   {
+   int i = 0, found = 0;
+-  enum CodecID ret = CODEC_ID_NONE;
++  enum AVCodecID ret = CODEC_ID_NONE;
+   
+   while(video_codecs[i].name)
+     {
+@@ -930,8 +930,6 @@
+   PARAM_INT("ff_max_b_frames",max_b_frames);
+   PARAM_FLOAT("ff_b_quant_factor",b_quant_factor);
+   PARAM_INT("ff_b_frame_strategy",b_frame_strategy);
+-  PARAM_INT("ff_luma_elim_threshold",luma_elim_threshold);
+-  PARAM_INT("ff_chroma_elim_threshold",chroma_elim_threshold);
+   PARAM_INT("ff_strict_std_compliance",strict_std_compliance);
+   PARAM_QP2LAMBDA("ff_b_quant_offset",b_quant_offset);
+   PARAM_INT("ff_rc_min_rate",rc_min_rate);
+@@ -967,8 +967,6 @@
+   PARAM_QP2LAMBDA("ff_lmax", lmax);
+   PARAM_INT("ff_noise_reduction",noise_reduction);
+   PARAM_INT_SCALE("ff_rc_initial_buffer_occupancy",rc_initial_buffer_occupancy,1000);
+-  PARAM_INT("ff_inter_threshold",inter_threshold);
+-  PARAM_INT("ff_quantizer_noise_shaping",quantizer_noise_shaping);
+   PARAM_INT("ff_me_threshold",me_threshold);
+   PARAM_INT("ff_mb_threshold",mb_threshold);
+   PARAM_INT("ff_nsse_weight",nsse_weight);
+@@ -995,8 +995,8 @@
+   PARAM_FLAG("ff_flag_bitexact",CODEC_FLAG_BITEXACT);
+   PARAM_FLAG("ff_flag_ac_pred",CODEC_FLAG_AC_PRED);
+   //  PARAM_FLAG("ff_flag_h263p_umv",CODEC_FLAG_H263P_UMV);
+-  PARAM_FLAG("ff_flag_cbp_rd",CODEC_FLAG_CBP_RD);
+-  PARAM_FLAG("ff_flag_qp_rd",CODEC_FLAG_QP_RD);
++  PARAM_FLAG("ff_flag_cbp_rd",0x04000000);
++  PARAM_FLAG("ff_flag_qp_rd",0x08000000);
+   //  PARAM_FLAG("ff_flag_h263p_aiv",CODEC_FLAG_H263P_AIV);
+   //  PARAM_FLAG("ffx_flag_obmc",CODEC_FLAG_OBMC);
+   PARAM_FLAG("ff_flag_loop_filter",CODEC_FLAG_LOOP_FILTER);
+@@ -1003,7 +1003,7 @@
+   //  PARAM_FLAG("ff_flag_h263p_slice_struct",CODEC_FLAG_H263P_SLICE_STRUCT);
+   PARAM_FLAG("ff_flag_closed_gop",CODEC_FLAG_CLOSED_GOP);
+   PARAM_FLAG2("ff_flag2_fast",CODEC_FLAG2_FAST);
+-  PARAM_FLAG2("ff_flag2_strict_gop",CODEC_FLAG2_STRICT_GOP);
++  PARAM_FLAG2("ff_flag2_strict_gop",0x00000002);
+ 
+ #if LIBAVCODEC_VERSION_MAJOR >= 54
+   PARAM_DICT_STRING("libx264_preset", "preset");
+@@ -1018,7 +1018,7 @@
+   
+   }
+ 
+-enum PixelFormat * bg_ffmpeg_get_pixelformats(enum CodecID id)
++enum PixelFormat * bg_ffmpeg_get_pixelformats(enum AVCodecID id)
+   {
+   int i = 0;
+   while(video_codecs[i].name)
+--- gmerlin-encoders-1.2.0/plugins/ffmpeg/e_ffmpeg_audio.c~	2012-06-08 13:52:27.000000000 +0200
++++ gmerlin-encoders-1.2.0/plugins/ffmpeg/e_ffmpeg_audio.c	2013-08-29 19:39:11.125535593 +0200
+@@ -30,7 +30,7 @@
+       .short_name = "au",
+       .extension =  "au",
+       .max_audio_streams = 1,
+-      .audio_codecs = (enum CodecID[]){  CODEC_ID_PCM_MULAW,
++      .audio_codecs = (enum AVCodecID[]){  CODEC_ID_PCM_MULAW,
+                                        CODEC_ID_PCM_S16BE,
+                                        CODEC_ID_PCM_ALAW,
+                                        CODEC_ID_NONE },
+@@ -40,7 +40,7 @@
+       .short_name = "ac3",
+       .extension =  "ac3",
+       .max_audio_streams = 1,
+-      .audio_codecs = (enum CodecID[]){  CODEC_ID_AC3,
++      .audio_codecs = (enum AVCodecID[]){  CODEC_ID_AC3,
+                                        CODEC_ID_NONE },
+     },
+     {
+@@ -48,7 +48,7 @@
+       .short_name = "aiff",
+       .extension =  "aif",
+       .max_audio_streams = 1,
+-      .audio_codecs = (enum CodecID[]){  CODEC_ID_PCM_S16BE,
++      .audio_codecs = (enum AVCodecID[]){  CODEC_ID_PCM_S16BE,
+                                        CODEC_ID_PCM_S8,
+                                        CODEC_ID_PCM_ALAW,
+                                        CODEC_ID_PCM_MULAW,
+@@ -59,7 +59,7 @@
+       .short_name = "mp2",
+       .extension =  "mp2",
+       .max_audio_streams = 1,
+-      .audio_codecs = (enum CodecID[]){  CODEC_ID_MP2,
++      .audio_codecs = (enum AVCodecID[]){  CODEC_ID_MP2,
+                                        CODEC_ID_NONE },
+     },
+ #if LIBAVCODEC_BUILD >= ((51<<16)+(32<<8)+0)
+@@ -68,7 +68,7 @@
+       .short_name = "asf",
+       .extension =  "wma",
+       .max_audio_streams = 1,
+-      .audio_codecs = (enum CodecID[]){  CODEC_ID_WMAV2,
++      .audio_codecs = (enum AVCodecID[]){  CODEC_ID_WMAV2,
+                                        CODEC_ID_WMAV1,
+                                        CODEC_ID_NONE },
+     },
+--- gmerlin-encoders-1.2.0/plugins/ffmpeg/e_ffmpeg.c~	2012-06-08 13:52:27.000000000 +0200
++++ gmerlin-encoders-1.2.0/plugins/ffmpeg/e_ffmpeg.c	2013-08-29 19:39:41.395909989 +0200
+@@ -33,7 +33,7 @@
+       .extension =  "avi",
+       .max_audio_streams = 1,
+       .max_video_streams = 1,
+-      .audio_codecs = (enum CodecID[]){  CODEC_ID_PCM_S16LE,
++      .audio_codecs = (enum AVCodecID[]){  CODEC_ID_PCM_S16LE,
+                                          CODEC_ID_PCM_U8,
+                                          CODEC_ID_PCM_ALAW,
+                                          CODEC_ID_PCM_MULAW,
+@@ -42,7 +42,7 @@
+                                          CODEC_ID_AC3,
+                                          CODEC_ID_NONE },
+ 
+-      .video_codecs = (enum CodecID[]){  CODEC_ID_MPEG4,
++      .video_codecs = (enum AVCodecID[]){  CODEC_ID_MPEG4,
+                                        CODEC_ID_MSMPEG4V3,
+                                        CODEC_ID_MJPEG,
+                                        CODEC_ID_NONE },
+@@ -54,11 +54,11 @@
+       .extension =  "mpg",
+       .max_audio_streams = -1,
+       .max_video_streams = -1,
+-      .audio_codecs = (enum CodecID[]){  CODEC_ID_MP2,
++      .audio_codecs = (enum AVCodecID[]){  CODEC_ID_MP2,
+                                        CODEC_ID_MP3,
+                                        CODEC_ID_NONE },
+ 
+-      .video_codecs = (enum CodecID[]){  CODEC_ID_MPEG1VIDEO,
++      .video_codecs = (enum AVCodecID[]){  CODEC_ID_MPEG1VIDEO,
+                                        CODEC_ID_NONE },
+       .flags = FLAG_CONSTANT_FRAMERATE,
+       .framerates = bg_ffmpeg_mpeg_framerates,
+@@ -70,12 +70,12 @@
+       .extension =  "vob",
+       .max_audio_streams = -1,
+       .max_video_streams = -1,
+-      .audio_codecs = (enum CodecID[]){  CODEC_ID_MP2,
++      .audio_codecs = (enum AVCodecID[]){  CODEC_ID_MP2,
+                                          CODEC_ID_MP3,
+                                          CODEC_ID_AC3,
+                                          CODEC_ID_NONE },
+ 
+-      .video_codecs = (enum CodecID[]){  CODEC_ID_MPEG2VIDEO,
++      .video_codecs = (enum AVCodecID[]){  CODEC_ID_MPEG2VIDEO,
+                                          CODEC_ID_NONE },
+       .flags = FLAG_CONSTANT_FRAMERATE,
+       .framerates = bg_ffmpeg_mpeg_framerates,
+@@ -86,11 +86,11 @@
+       .extension =  "vob",
+       .max_audio_streams = -1,
+       .max_video_streams = -1,
+-      .audio_codecs = (enum CodecID[]){  CODEC_ID_MP2,
++      .audio_codecs = (enum AVCodecID[]){  CODEC_ID_MP2,
+                                          CODEC_ID_AC3,
+                                          CODEC_ID_NONE },
+ 
+-      .video_codecs = (enum CodecID[]){  CODEC_ID_MPEG2VIDEO,
++      .video_codecs = (enum AVCodecID[]){  CODEC_ID_MPEG2VIDEO,
+                                          CODEC_ID_NONE },
+       .flags = FLAG_CONSTANT_FRAMERATE,
+       .framerates = bg_ffmpeg_mpeg_framerates,
+@@ -101,10 +101,10 @@
+       .extension =  "flv",
+       .max_audio_streams = 1,
+       .max_video_streams = 1,
+-      .audio_codecs = (enum CodecID[]){  CODEC_ID_MP3,
++      .audio_codecs = (enum AVCodecID[]){  CODEC_ID_MP3,
+                                          CODEC_ID_NONE },
+       
+-      .video_codecs = (enum CodecID[]){  CODEC_ID_FLV1,
++      .video_codecs = (enum AVCodecID[]){  CODEC_ID_FLV1,
+                                          CODEC_ID_NONE },
+     },
+     {
+@@ -113,7 +113,7 @@
+       .extension =  "asf",
+       .max_audio_streams = 1,
+       .max_video_streams = 1,
+-      .audio_codecs = (enum CodecID[]){
++      .audio_codecs = (enum AVCodecID[]){
+ #if LIBAVCODEC_BUILD >= ((51<<16)+(32<<8)+0)
+                                        CODEC_ID_WMAV2,
+                                        CODEC_ID_WMAV1,
+@@ -122,7 +122,7 @@
+                                        CODEC_ID_MP2,
+                                        CODEC_ID_NONE },
+       
+-      .video_codecs = (enum CodecID[]){  CODEC_ID_WMV1,
++      .video_codecs = (enum AVCodecID[]){  CODEC_ID_WMV1,
+                                        // CODEC_ID_WMV2, /* Crash */
+                                        CODEC_ID_NONE },
+     },
+@@ -132,12 +132,12 @@
+       .extension =  "ts",
+       .max_audio_streams = 1,
+       .max_video_streams = 1,
+-      .audio_codecs = (enum CodecID[]){  CODEC_ID_MP3,
++      .audio_codecs = (enum AVCodecID[]){  CODEC_ID_MP3,
+                                        CODEC_ID_MP2,
+                                        CODEC_ID_AC3,
+                                        CODEC_ID_NONE },
+       
+-      .video_codecs = (enum CodecID[]){  CODEC_ID_MPEG1VIDEO,
++      .video_codecs = (enum AVCodecID[]){  CODEC_ID_MPEG1VIDEO,
+                                        CODEC_ID_MPEG2VIDEO,
+                                        CODEC_ID_NONE },
+       .flags = FLAG_CONSTANT_FRAMERATE,
+@@ -149,12 +149,12 @@
+       .extension =  "mkv",
+       .max_audio_streams = -1,
+       .max_video_streams = -1,
+-      .audio_codecs = (enum CodecID[]){  CODEC_ID_MP3,
++      .audio_codecs = (enum AVCodecID[]){  CODEC_ID_MP3,
+                                          CODEC_ID_MP2,
+                                          CODEC_ID_AC3,
+                                          CODEC_ID_NONE },
+       
+-      .video_codecs = (enum CodecID[]){
++      .video_codecs = (enum AVCodecID[]){
+ #if LIBAVCODEC_VERSION_MAJOR >= 54
+                                          CODEC_ID_H264,
+ #endif
+@@ -172,10 +172,10 @@
+       .extension =  "rm",
+       .max_audio_streams = 1,
+       .max_video_streams = 1,
+-      .audio_codecs = (enum CodecID[]){  CODEC_ID_AC3,
++      .audio_codecs = (enum AVCodecID[]){  CODEC_ID_AC3,
+                                        CODEC_ID_NONE },
+       
+-      .video_codecs = (enum CodecID[]){  CODEC_ID_RV10,
++      .video_codecs = (enum AVCodecID[]){  CODEC_ID_RV10,
+                                        CODEC_ID_NONE },
+     },
+ #endif
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/gmerlin-encoders.git/commitdiff/9a4aca40f84ff02a173bd12f3e53c93ff278d64c



More information about the pld-cvs-commit mailing list