Hi,
the attached patch should fix this bug.
--
Anton Khirnov
Index: gmerlin-encoders-1.2.0/plugins/ffmpeg/codecs.c
===================================================================
--- gmerlin-encoders-1.2.0.orig/plugins/ffmpeg/codecs.c 2012-06-08 11:52:27.000000000 +0000
+++ gmerlin-encoders-1.2.0/plugins/ffmpeg/codecs.c 2014-03-01 00:35:29.331134369 +0000
@@ -99,7 +99,6 @@
PARAM_QSCALE, \
PARAM_QCOMPRESS, \
PARAM_QBLUR, \
- PARAM_QUANTIZER_NOISE_SHAPING, \
PARAM_TRELLIS
#define ENCODE_PARAM_VIDEO_QUANTIZER_IP \
@@ -121,8 +120,7 @@
PARAM_GOP_SIZE, \
PARAM_SCENE_CHANGE_THRESHOLD, \
PARAM_SCENECHANGE_FACTOR, \
- PARAM_FLAG_CLOSED_GOP, \
- PARAM_FLAG2_STRICT_GOP
+ PARAM_FLAG_CLOSED_GOP \
#define ENCODE_PARAM_VIDEO_FRAMETYPES_IPB \
ENCODE_PARAM_VIDEO_FRAMETYPES_IP, \
@@ -195,12 +193,10 @@
PARAM_FLAG_AC_PRED_MPEG4,
ENCODE_PARAM_VIDEO_RATECONTROL,
ENCODE_PARAM_VIDEO_QUANTIZER_IPB,
- PARAM_FLAG_CBP_RD,
ENCODE_PARAM_VIDEO_ME,
PARAM_FLAG_GMC,
PARAM_FLAG_4MV,
PARAM_FLAG_MV0,
- PARAM_FLAG_QP_RD,
ENCODE_PARAM_VIDEO_ME_PRE,
ENCODE_PARAM_VIDEO_QPEL,
ENCODE_PARAM_VIDEO_MASKING,
@@ -351,61 +347,61 @@
{
.name = "pcm_s16be",
.long_name = TRS("16 bit PCM"),
- .id = CODEC_ID_PCM_S16BE,
+ .id = AV_CODEC_ID_PCM_S16BE,
},
{
.name = "pcm_s16le",
.long_name = TRS("16 bit PCM"),
- .id = CODEC_ID_PCM_S16LE,
+ .id = AV_CODEC_ID_PCM_S16LE,
},
{
.name = "pcm_s8",
.long_name = TRS("8 bit PCM"),
- .id = CODEC_ID_PCM_S8,
+ .id = AV_CODEC_ID_PCM_S8,
},
{
.name = "pcm_u8",
.long_name = TRS("8 bit PCM"),
- .id = CODEC_ID_PCM_U8,
+ .id = AV_CODEC_ID_PCM_U8,
},
{
.name = "pcm_alaw",
.long_name = TRS("alaw"),
- .id = CODEC_ID_PCM_ALAW,
+ .id = AV_CODEC_ID_PCM_ALAW,
},
{
.name = "pcm_mulaw",
.long_name = TRS("mulaw"),
- .id = CODEC_ID_PCM_MULAW,
+ .id = AV_CODEC_ID_PCM_MULAW,
},
{
.name = "ac3",
.long_name = TRS("AC3"),
- .id = CODEC_ID_AC3,
+ .id = AV_CODEC_ID_AC3,
.parameters = parameters_ac3,
},
{
.name = "mp2",
.long_name = TRS("MPEG audio layer 2"),
- .id = CODEC_ID_MP2,
+ .id = AV_CODEC_ID_MP2,
.parameters = parameters_mp2,
},
{
.name = "wma1",
.long_name = TRS("Windows media Audio 1"),
- .id = CODEC_ID_WMAV1,
+ .id = AV_CODEC_ID_WMAV1,
.parameters = parameters_wma,
},
{
.name = "wma2",
.long_name = TRS("Windows media Audio 2"),
- .id = CODEC_ID_WMAV2,
+ .id = AV_CODEC_ID_WMAV2,
.parameters = parameters_wma,
},
{
.name = "mp3",
.long_name = TRS("MPEG audio layer 3"),
- .id = CODEC_ID_MP3,
+ .id = AV_CODEC_ID_MP3,
.parameters = parameters_mp3,
},
{ /* End of array */ }
@@ -416,63 +412,63 @@
{
.name = "mjpeg",
.long_name = TRS("Motion JPEG"),
- .id = CODEC_ID_MJPEG,
+ .id = AV_CODEC_ID_MJPEG,
.parameters = parameters_mjpeg,
.pixelformats = (enum PixelFormat[]) { PIX_FMT_YUVJ420P, PIX_FMT_NB },
},
{
.name = "mpeg4",
.long_name = TRS("MPEG-4"),
- .id = CODEC_ID_MPEG4,
+ .id = AV_CODEC_ID_MPEG4,
.parameters = parameters_mpeg4,
.pixelformats = (enum PixelFormat[]) { PIX_FMT_YUV420P, PIX_FMT_NB },
},
{
.name = "msmpeg4v3",
.long_name = TRS("Divx 3 compatible"),
- .id = CODEC_ID_MSMPEG4V3,
+ .id = AV_CODEC_ID_MSMPEG4V3,
.parameters = parameters_msmpeg4v3,
.pixelformats = (enum PixelFormat[]) { PIX_FMT_YUV420P, PIX_FMT_NB },
},
{
.name = "mpeg1video",
.long_name = TRS("MPEG-1 Video"),
- .id = CODEC_ID_MPEG1VIDEO,
+ .id = AV_CODEC_ID_MPEG1VIDEO,
.parameters = parameters_mpeg1,
.pixelformats = (enum PixelFormat[]) { PIX_FMT_YUV420P, PIX_FMT_NB },
},
{
.name = "mpeg2video",
.long_name = TRS("MPEG-2 Video"),
- .id = CODEC_ID_MPEG2VIDEO,
+ .id = AV_CODEC_ID_MPEG2VIDEO,
.parameters = parameters_mpeg1,
.pixelformats = (enum PixelFormat[]) { PIX_FMT_YUV420P, PIX_FMT_NB },
},
{
.name = "flv1",
.long_name = TRS("Flash 1"),
- .id = CODEC_ID_FLV1,
+ .id = AV_CODEC_ID_FLV1,
.parameters = parameters_msmpeg4v3,
.pixelformats = (enum PixelFormat[]) { PIX_FMT_YUV420P, PIX_FMT_NB },
},
{
.name = "wmv1",
.long_name = TRS("WMV 1"),
- .id = CODEC_ID_WMV1,
+ .id = AV_CODEC_ID_WMV1,
.parameters = parameters_msmpeg4v3,
.pixelformats = (enum PixelFormat[]) { PIX_FMT_YUV420P, PIX_FMT_NB },
},
{
.name = "rv10",
.long_name = TRS("Real Video 1"),
- .id = CODEC_ID_RV10,
+ .id = AV_CODEC_ID_RV10,
.parameters = parameters_msmpeg4v3,
.pixelformats = (enum PixelFormat[]) { PIX_FMT_YUV420P, PIX_FMT_NB },
},
{
.name = "libx264",
.long_name = TRS("H.264"),
- .id = CODEC_ID_H264,
+ .id = AV_CODEC_ID_H264,
.parameters = parameters_libx264,
.pixelformats = (enum PixelFormat[]) { PIX_FMT_YUV420P, PIX_FMT_NB },
},
@@ -480,7 +476,7 @@
{
.name = "wmv2",
.long_name = TRS("WMV 2"),
- .id = CODEC_ID_WMV2,
+ .id = AV_CODEC_ID_WMV2,
.parameters = parameters_msmpeg4v3
},
#endif
@@ -488,7 +484,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 */
@@ -599,7 +595,7 @@
continue;
}
j = 0;
- while(format_info[i].audio_codecs[j] != CODEC_ID_NONE)
+ while(format_info[i].audio_codecs[j] != AV_CODEC_ID_NONE)
{
infos = add_codec_info(infos, format_info[i].audio_codecs[j],
&num_infos);
@@ -636,7 +632,7 @@
continue;
}
j = 0;
- while(format_info[i].video_codecs[j] != CODEC_ID_NONE)
+ while(format_info[i].video_codecs[j] != AV_CODEC_ID_NONE)
{
infos = add_codec_info(infos, format_info[i].video_codecs[j],
&num_infos);
@@ -658,11 +654,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 = AV_CODEC_ID_NONE;
while(audio_codecs[i].name)
{
@@ -675,7 +671,7 @@
}
i = 0;
- while(format->audio_codecs[i] != CODEC_ID_NONE)
+ while(format->audio_codecs[i] != AV_CODEC_ID_NONE)
{
if(format->audio_codecs[i] == ret)
{
@@ -690,17 +686,17 @@
bg_log(BG_LOG_ERROR, LOG_DOMAIN,
"Audio codec %s is not supported by %s",
name, format->name);
- ret = CODEC_ID_NONE;
+ ret = AV_CODEC_ID_NONE;
}
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 = AV_CODEC_ID_NONE;
while(video_codecs[i].name)
{
@@ -713,7 +709,7 @@
}
i = 0;
- while(format->video_codecs[i] != CODEC_ID_NONE)
+ while(format->video_codecs[i] != AV_CODEC_ID_NONE)
{
if(format->video_codecs[i] == ret)
{
@@ -728,7 +724,7 @@
bg_log(BG_LOG_ERROR, LOG_DOMAIN,
"Video codec %s is not supported by %s",
name, format->name);
- ret = CODEC_ID_NONE;
+ ret = AV_CODEC_ID_NONE;
}
return ret;
@@ -930,8 +926,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);
@@ -969,8 +963,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);
@@ -999,15 +991,12 @@
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_h263p_aiv",CODEC_FLAG_H263P_AIV);
// PARAM_FLAG("ffx_flag_obmc",CODEC_FLAG_OBMC);
PARAM_FLAG("ff_flag_loop_filter",CODEC_FLAG_LOOP_FILTER);
// 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);
#if LIBAVCODEC_VERSION_MAJOR >= 54
PARAM_DICT_STRING("libx264_preset", "preset");
@@ -1018,7 +1007,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)
Index: gmerlin-encoders-1.2.0/plugins/ffmpeg/e_ffmpeg_video.c
===================================================================
--- gmerlin-encoders-1.2.0.orig/plugins/ffmpeg/e_ffmpeg_video.c 2012-06-08 11:52:27.000000000 +0000
+++ gmerlin-encoders-1.2.0/plugins/ffmpeg/e_ffmpeg_video.c 2014-03-01 00:25:17.549973436 +0000
@@ -32,8 +32,8 @@
.short_name = "mpeg1video",
.extension = "m1v",
.max_video_streams = 1,
- .video_codecs = (enum CodecID[]){ CODEC_ID_MPEG1VIDEO,
- CODEC_ID_NONE },
+ .video_codecs = (enum AVCodecID[]){ AV_CODEC_ID_MPEG1VIDEO,
+ AV_CODEC_ID_NONE },
.flags = FLAG_CONSTANT_FRAMERATE,
.framerates = bg_ffmpeg_mpeg_framerates,
},
@@ -42,8 +42,8 @@
.short_name = "mpeg2video",
.extension = "m2v",
.max_video_streams = 1,
- .video_codecs = (enum CodecID[]){ CODEC_ID_MPEG2VIDEO,
- CODEC_ID_NONE },
+ .video_codecs = (enum AVCodecID[]){ AV_CODEC_ID_MPEG2VIDEO,
+ AV_CODEC_ID_NONE },
.flags = FLAG_CONSTANT_FRAMERATE,
.framerates = bg_ffmpeg_mpeg_framerates,
},
Index: gmerlin-encoders-1.2.0/plugins/ffmpeg/ffmpeg_common.c
===================================================================
--- gmerlin-encoders-1.2.0.orig/plugins/ffmpeg/ffmpeg_common.c 2012-06-08 11:52:27.000000000 +0000
+++ gmerlin-encoders-1.2.0/plugins/ffmpeg/ffmpeg_common.c 2014-03-01 00:27:23.237082413 +0000
@@ -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;
@@ -408,7 +408,7 @@
priv->num_text_streams);
#endif
- set_audio_params(st, CODEC_ID_NONE);
+ set_audio_params(st, AV_CODEC_ID_NONE);
priv->num_audio_streams++;
return priv->num_audio_streams-1;
@@ -442,7 +442,7 @@
/* Will be cleared later if we don't write compressed
packets */
- set_video_params(st, CODEC_ID_NONE);
+ set_video_params(st, AV_CODEC_ID_NONE);
priv->num_video_streams++;
return priv->num_video_streams-1;
}
@@ -479,7 +479,7 @@
#endif
st->stream->codec->codec_type = CODEC_TYPE_SUBTITLE;
- st->stream->codec->codec_id = CODEC_ID_TEXT;
+ st->stream->codec->codec_id = AV_CODEC_ID_TEXT;
st->stream->codec->time_base.num = 1;
st->stream->codec->time_base.den = *timescale;
@@ -502,14 +502,14 @@
/* Set the bitrate for PCM codecs */
switch(st->stream->codec->codec_id)
{
- case CODEC_ID_PCM_S16BE:
- case CODEC_ID_PCM_S16LE:
+ case AV_CODEC_ID_PCM_S16BE:
+ case AV_CODEC_ID_PCM_S16LE:
st->stream->codec->bit_rate = st->format.samplerate * st->format.num_channels * 16;
break;
- case CODEC_ID_PCM_S8:
- case CODEC_ID_PCM_U8:
- case CODEC_ID_PCM_ALAW:
- case CODEC_ID_PCM_MULAW:
+ case AV_CODEC_ID_PCM_S8:
+ case AV_CODEC_ID_PCM_U8:
+ case AV_CODEC_ID_PCM_ALAW:
+ case AV_CODEC_ID_PCM_MULAW:
st->stream->codec->bit_rate = st->format.samplerate * st->format.num_channels * 8;
break;
default:
@@ -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
@@ -616,7 +616,7 @@
if(st->ci)
return 1;
- if(st->stream->codec->codec_id == CODEC_ID_NONE)
+ if(st->stream->codec->codec_id == AV_CODEC_ID_NONE)
return 0;
codec = avcodec_find_encoder(st->stream->codec->codec_id);
@@ -686,7 +686,7 @@
int stats_len;
AVCodec * codec;
- if(st->stream->codec->codec_id == CODEC_ID_NONE)
+ if(st->stream->codec->codec_id == AV_CODEC_ID_NONE)
return 0;
if(st->ci)
@@ -1417,35 +1417,35 @@
static const struct
{
gavl_codec_id_t gavl;
- enum CodecID ffmpeg;
+ enum AVCodecID ffmpeg;
}
codec_ids[] =
{
/* Audio */
- { GAVL_CODEC_ID_ALAW, CODEC_ID_PCM_ALAW }, //!< alaw 2:1
- { GAVL_CODEC_ID_ULAW, CODEC_ID_PCM_MULAW }, //!< mu-law 2:1
- { GAVL_CODEC_ID_MP2, CODEC_ID_MP2 }, //!< MPEG-1 audio layer II
- { GAVL_CODEC_ID_MP3, CODEC_ID_MP3 }, //!< MPEG-1/2 audio layer 3 CBR/VBR
- { GAVL_CODEC_ID_AC3, CODEC_ID_AC3 }, //!< AC3
- { GAVL_CODEC_ID_AAC, CODEC_ID_AAC }, //!< AAC as stored in quicktime/mp4
- { GAVL_CODEC_ID_VORBIS, CODEC_ID_VORBIS }, //!< Vorbis (segmented extradata and packets)
+ { GAVL_CODEC_ID_ALAW, AV_CODEC_ID_PCM_ALAW }, //!< alaw 2:1
+ { GAVL_CODEC_ID_ULAW, AV_CODEC_ID_PCM_MULAW }, //!< mu-law 2:1
+ { GAVL_CODEC_ID_MP2, AV_CODEC_ID_MP2 }, //!< MPEG-1 audio layer II
+ { GAVL_CODEC_ID_MP3, AV_CODEC_ID_MP3 }, //!< MPEG-1/2 audio layer 3 CBR/VBR
+ { GAVL_CODEC_ID_AC3, AV_CODEC_ID_AC3 }, //!< AC3
+ { GAVL_CODEC_ID_AAC, AV_CODEC_ID_AAC }, //!< AAC as stored in quicktime/mp4
+ { GAVL_CODEC_ID_VORBIS, AV_CODEC_ID_VORBIS }, //!< Vorbis (segmented extradata and packets)
/* Video */
- { GAVL_CODEC_ID_JPEG, CODEC_ID_MJPEG }, //!< JPEG image
- { GAVL_CODEC_ID_PNG, CODEC_ID_PNG }, //!< PNG image
- { GAVL_CODEC_ID_TIFF, CODEC_ID_TIFF }, //!< TIFF image
- { GAVL_CODEC_ID_TGA, CODEC_ID_TARGA }, //!< TGA image
- { GAVL_CODEC_ID_MPEG1, CODEC_ID_MPEG1VIDEO }, //!< MPEG-1 video
- { GAVL_CODEC_ID_MPEG2, CODEC_ID_MPEG2VIDEO }, //!< MPEG-2 video
- { GAVL_CODEC_ID_MPEG4_ASP, CODEC_ID_MPEG4 }, //!< MPEG-4 ASP (a.k.a. Divx4)
- { GAVL_CODEC_ID_H264, CODEC_ID_H264 }, //!< H.264 (Annex B)
- { GAVL_CODEC_ID_THEORA, CODEC_ID_THEORA }, //!< Theora (segmented extradata
- { GAVL_CODEC_ID_DIRAC, CODEC_ID_DIRAC }, //!< Complete DIRAC frames, sequence end code appended to last packet
- { GAVL_CODEC_ID_DV, CODEC_ID_DVVIDEO }, //!< DV (several variants)
- { GAVL_CODEC_ID_NONE, CODEC_ID_NONE },
+ { GAVL_CODEC_ID_JPEG, AV_CODEC_ID_MJPEG }, //!< JPEG image
+ { GAVL_CODEC_ID_PNG, AV_CODEC_ID_PNG }, //!< PNG image
+ { GAVL_CODEC_ID_TIFF, AV_CODEC_ID_TIFF }, //!< TIFF image
+ { GAVL_CODEC_ID_TGA, AV_CODEC_ID_TARGA }, //!< TGA image
+ { GAVL_CODEC_ID_MPEG1, AV_CODEC_ID_MPEG1VIDEO }, //!< MPEG-1 video
+ { GAVL_CODEC_ID_MPEG2, AV_CODEC_ID_MPEG2VIDEO }, //!< MPEG-2 video
+ { GAVL_CODEC_ID_MPEG4_ASP, AV_CODEC_ID_MPEG4 }, //!< MPEG-4 ASP (a.k.a. Divx4)
+ { GAVL_CODEC_ID_H264, AV_CODEC_ID_H264 }, //!< H.264 (Annex B)
+ { GAVL_CODEC_ID_THEORA, AV_CODEC_ID_THEORA }, //!< Theora (segmented extradata
+ { GAVL_CODEC_ID_DIRAC, AV_CODEC_ID_DIRAC }, //!< Complete DIRAC frames, sequence end code appended to last packet
+ { GAVL_CODEC_ID_DV, AV_CODEC_ID_DVVIDEO }, //!< DV (several variants)
+ { GAVL_CODEC_ID_NONE, AV_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)
@@ -1454,7 +1454,7 @@
return codec_ids[i].ffmpeg;
i++;
}
- return CODEC_ID_NONE;
+ return AV_CODEC_ID_NONE;
}
int bg_ffmpeg_writes_compressed_audio(void * priv,
@@ -1462,13 +1462,13 @@
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);
i = 0;
- while(f->format->audio_codecs[i] != CODEC_ID_NONE)
+ while(f->format->audio_codecs[i] != AV_CODEC_ID_NONE)
{
if(f->format->audio_codecs[i] == ffmpeg_id)
return 1;
@@ -1483,13 +1483,13 @@
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);
i = 0;
- while(f->format->video_codecs[i] != CODEC_ID_NONE)
+ while(f->format->video_codecs[i] != AV_CODEC_ID_NONE)
{
if(f->format->video_codecs[i] == ffmpeg_id)
return 1;
Index: gmerlin-encoders-1.2.0/plugins/ffmpeg/ffmpeg_common.h
===================================================================
--- gmerlin-encoders-1.2.0.orig/plugins/ffmpeg/ffmpeg_common.h 2014-03-01 00:20:42.000000000 +0000
+++ gmerlin-encoders-1.2.0/plugins/ffmpeg/ffmpeg_common.h 2014-03-01 00:26:14.512382483 +0000
@@ -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 */
Index: gmerlin-encoders-1.2.0/plugins/ffmpeg/params.h
===================================================================
--- gmerlin-encoders-1.2.0.orig/plugins/ffmpeg/params.h 2014-03-01 00:20:42.000000000 +0000
+++ gmerlin-encoders-1.2.0/plugins/ffmpeg/params.h 2014-03-01 00:34:28.055606785 +0000
@@ -172,32 +172,6 @@
.val_default = { .val_i = 0 }, \
}
-#define PARAM_LUMA_ELIM_THRESHOLD \
- { \
- .name = "ff_luma_elim_threshold", \
- .long_name = TRS("Luma elimination threshold"), \
- .type = BG_PARAMETER_SLIDER_INT, \
- .val_default = { .val_i = 0 }, \
- .val_min = { .val_i = -99 }, \
- .val_max = { .val_i = 99 }, \
- .help_string = TRS("Single coefficient elimination threshold for " \
-"luminance. Negative values also consider dc coefficient. -4 is " \
-"JVT recommendation") \
- }
-
-#define PARAM_CHROMA_ELIM_THRESHOLD \
- { \
- .name = "ff_chroma_elim_threshold", \
- .long_name = TRS("Chroma elimination threshold"), \
- .type = BG_PARAMETER_SLIDER_INT, \
- .val_default = { .val_i = 0 }, \
- .val_min = { .val_i = -99 }, \
- .val_max = { .val_i = 99 }, \
- .help_string = TRS("Single coefficient elimination threshold for " \
-"chrominamce. Negative values also consider dc coefficient. 7 is " \
-"JVT recommendation") \
- }
-
#define PARAM_STRICT_STANDARD_COMPLIANCE \
{ \
.name = "ff_strict_std_compliance", \
@@ -687,27 +661,7 @@
/* Does nothing */
/** Frame types */
-#define PARAM_INTER_THRESHOLD \
- { \
- .name = "ff_inter_threshold", \
- .long_name = TRS("Inter threshold"), \
- .type = BG_PARAMETER_INT, \
- .val_default = { .val_i = 0 }, \
- }
-
/** Quantizer */
-#define PARAM_QUANTIZER_NOISE_SHAPING \
- { \
- .name = "ff_quantizer_noise_shaping", \
- .long_name = TRS("Quantizer noise shaping"),\
- .type = BG_PARAMETER_SLIDER_INT, \
- .val_default = { .val_i = 0 },\
- .val_min = { .val_i = 0 },\
- .val_max = { .val_i = 3 },\
- .help_string = TRS("Choose quantization such that noise will be masked by "\
-"similar-frequency content in the image") \
- }
-
/** Motion estimation */
#define PARAM_ME_THRESHOLD \
{ \
@@ -982,24 +936,6 @@
.val_default = { .val_i = 0 }, \
}
-#define PARAM_FLAG_CBP_RD \
- { \
- .name = "ff_flag_cbp_rd", \
- .long_name = TRS("CBP RD"), \
- .type = BG_PARAMETER_CHECKBUTTON, \
- .val_default = { .val_i = 0 }, \
- .help_string = TRS("Use rate distortion optimization for cbp"),\
- }
-
-#define PARAM_FLAG_QP_RD \
- { \
- .name = "ff_flag_qp_rd", \
- .long_name = TRS("QP RD"), \
- .type = BG_PARAMETER_CHECKBUTTON, \
- .val_default = { .val_i = 0 }, \
- .help_string = TRS("Use rate distortion optimization for qp selection"),\
- }
-
#define PARAM_FLAG_H263P_AIV \
{ \
.name = "ff_flag_h263p_aiv", \
@@ -1051,13 +987,3 @@
.val_default = { .val_i = 0 }, \
.help_string = TRS("Allow non spec compliant speedup tricks") \
}
-
-/** Frame types */
-#define PARAM_FLAG2_STRICT_GOP \
- { \
- .name = "ff_flag2_strict_gop", \
- .long_name = TRS("Strictly enforce GOP size"), \
- .type = BG_PARAMETER_CHECKBUTTON, \
- .val_default = { .val_i = 0 }, \
-}
-
Index: gmerlin-encoders-1.2.0/plugins/ffmpeg/e_ffmpeg.c
===================================================================
--- gmerlin-encoders-1.2.0.orig/plugins/ffmpeg/e_ffmpeg.c 2012-06-08 11:52:27.000000000 +0000
+++ gmerlin-encoders-1.2.0/plugins/ffmpeg/e_ffmpeg.c 2014-03-01 00:36:54.906267476 +0000
@@ -33,19 +33,19 @@
.extension = "avi",
.max_audio_streams = 1,
.max_video_streams = 1,
- .audio_codecs = (enum CodecID[]){ CODEC_ID_PCM_S16LE,
- CODEC_ID_PCM_U8,
- CODEC_ID_PCM_ALAW,
- CODEC_ID_PCM_MULAW,
- CODEC_ID_MP3,
- CODEC_ID_MP2,
- CODEC_ID_AC3,
- CODEC_ID_NONE },
+ .audio_codecs = (enum AVCodecID[]){ AV_CODEC_ID_PCM_S16LE,
+ AV_CODEC_ID_PCM_U8,
+ AV_CODEC_ID_PCM_ALAW,
+ AV_CODEC_ID_PCM_MULAW,
+ AV_CODEC_ID_MP3,
+ AV_CODEC_ID_MP2,
+ AV_CODEC_ID_AC3,
+ AV_CODEC_ID_NONE },
- .video_codecs = (enum CodecID[]){ CODEC_ID_MPEG4,
- CODEC_ID_MSMPEG4V3,
- CODEC_ID_MJPEG,
- CODEC_ID_NONE },
+ .video_codecs = (enum AVCodecID[]){ AV_CODEC_ID_MPEG4,
+ AV_CODEC_ID_MSMPEG4V3,
+ AV_CODEC_ID_MJPEG,
+ AV_CODEC_ID_NONE },
.flags = FLAG_CONSTANT_FRAMERATE,
},
{
@@ -54,12 +54,12 @@
.extension = "mpg",
.max_audio_streams = -1,
.max_video_streams = -1,
- .audio_codecs = (enum CodecID[]){ CODEC_ID_MP2,
- CODEC_ID_MP3,
- CODEC_ID_NONE },
+ .audio_codecs = (enum AVCodecID[]){ AV_CODEC_ID_MP2,
+ AV_CODEC_ID_MP3,
+ AV_CODEC_ID_NONE },
- .video_codecs = (enum CodecID[]){ CODEC_ID_MPEG1VIDEO,
- CODEC_ID_NONE },
+ .video_codecs = (enum AVCodecID[]){ AV_CODEC_ID_MPEG1VIDEO,
+ AV_CODEC_ID_NONE },
.flags = FLAG_CONSTANT_FRAMERATE,
.framerates = bg_ffmpeg_mpeg_framerates,
@@ -70,13 +70,13 @@
.extension = "vob",
.max_audio_streams = -1,
.max_video_streams = -1,
- .audio_codecs = (enum CodecID[]){ CODEC_ID_MP2,
- CODEC_ID_MP3,
- CODEC_ID_AC3,
- CODEC_ID_NONE },
+ .audio_codecs = (enum AVCodecID[]){ AV_CODEC_ID_MP2,
+ AV_CODEC_ID_MP3,
+ AV_CODEC_ID_AC3,
+ AV_CODEC_ID_NONE },
- .video_codecs = (enum CodecID[]){ CODEC_ID_MPEG2VIDEO,
- CODEC_ID_NONE },
+ .video_codecs = (enum AVCodecID[]){ AV_CODEC_ID_MPEG2VIDEO,
+ AV_CODEC_ID_NONE },
.flags = FLAG_CONSTANT_FRAMERATE,
.framerates = bg_ffmpeg_mpeg_framerates,
},
@@ -86,12 +86,12 @@
.extension = "vob",
.max_audio_streams = -1,
.max_video_streams = -1,
- .audio_codecs = (enum CodecID[]){ CODEC_ID_MP2,
- CODEC_ID_AC3,
- CODEC_ID_NONE },
+ .audio_codecs = (enum AVCodecID[]){ AV_CODEC_ID_MP2,
+ AV_CODEC_ID_AC3,
+ AV_CODEC_ID_NONE },
- .video_codecs = (enum CodecID[]){ CODEC_ID_MPEG2VIDEO,
- CODEC_ID_NONE },
+ .video_codecs = (enum AVCodecID[]){ AV_CODEC_ID_MPEG2VIDEO,
+ AV_CODEC_ID_NONE },
.flags = FLAG_CONSTANT_FRAMERATE,
.framerates = bg_ffmpeg_mpeg_framerates,
},
@@ -101,11 +101,11 @@
.extension = "flv",
.max_audio_streams = 1,
.max_video_streams = 1,
- .audio_codecs = (enum CodecID[]){ CODEC_ID_MP3,
- CODEC_ID_NONE },
+ .audio_codecs = (enum AVCodecID[]){ AV_CODEC_ID_MP3,
+ AV_CODEC_ID_NONE },
- .video_codecs = (enum CodecID[]){ CODEC_ID_FLV1,
- CODEC_ID_NONE },
+ .video_codecs = (enum AVCodecID[]){ AV_CODEC_ID_FLV1,
+ AV_CODEC_ID_NONE },
},
{
.name = "ASF",
@@ -113,18 +113,18 @@
.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,
+ AV_CODEC_ID_WMAV2,
+ AV_CODEC_ID_WMAV1,
#endif
- CODEC_ID_MP3,
- CODEC_ID_MP2,
- CODEC_ID_NONE },
-
- .video_codecs = (enum CodecID[]){ CODEC_ID_WMV1,
- // CODEC_ID_WMV2, /* Crash */
- CODEC_ID_NONE },
+ AV_CODEC_ID_MP3,
+ AV_CODEC_ID_MP2,
+ AV_CODEC_ID_NONE },
+
+ .video_codecs = (enum AVCodecID[]){ AV_CODEC_ID_WMV1,
+ // AV_CODEC_ID_WMV2, /* Crash */
+ AV_CODEC_ID_NONE },
},
{
.name = "MPEG-2 Transport stream",
@@ -132,14 +132,14 @@
.extension = "ts",
.max_audio_streams = 1,
.max_video_streams = 1,
- .audio_codecs = (enum CodecID[]){ CODEC_ID_MP3,
- CODEC_ID_MP2,
- CODEC_ID_AC3,
- CODEC_ID_NONE },
-
- .video_codecs = (enum CodecID[]){ CODEC_ID_MPEG1VIDEO,
- CODEC_ID_MPEG2VIDEO,
- CODEC_ID_NONE },
+ .audio_codecs = (enum AVCodecID[]){ AV_CODEC_ID_MP3,
+ AV_CODEC_ID_MP2,
+ AV_CODEC_ID_AC3,
+ AV_CODEC_ID_NONE },
+
+ .video_codecs = (enum AVCodecID[]){ AV_CODEC_ID_MPEG1VIDEO,
+ AV_CODEC_ID_MPEG2VIDEO,
+ AV_CODEC_ID_NONE },
.flags = FLAG_CONSTANT_FRAMERATE,
.framerates = bg_ffmpeg_mpeg_framerates,
},
@@ -149,19 +149,19 @@
.extension = "mkv",
.max_audio_streams = -1,
.max_video_streams = -1,
- .audio_codecs = (enum CodecID[]){ CODEC_ID_MP3,
- CODEC_ID_MP2,
- CODEC_ID_AC3,
- CODEC_ID_NONE },
+ .audio_codecs = (enum AVCodecID[]){ AV_CODEC_ID_MP3,
+ AV_CODEC_ID_MP2,
+ AV_CODEC_ID_AC3,
+ AV_CODEC_ID_NONE },
- .video_codecs = (enum CodecID[]){
+ .video_codecs = (enum AVCodecID[]){
#if LIBAVCODEC_VERSION_MAJOR >= 54
- CODEC_ID_H264,
+ AV_CODEC_ID_H264,
#endif
- CODEC_ID_MPEG4,
- CODEC_ID_MPEG1VIDEO,
- CODEC_ID_MPEG2VIDEO,
- CODEC_ID_NONE },
+ AV_CODEC_ID_MPEG4,
+ AV_CODEC_ID_MPEG1VIDEO,
+ AV_CODEC_ID_MPEG2VIDEO,
+ AV_CODEC_ID_NONE },
// .flags = FLAG_CONSTANT_FRAMERATE,
// .framerates = bg_ffmpeg_mpeg_framerates,
},
@@ -172,11 +172,11 @@
.extension = "rm",
.max_audio_streams = 1,
.max_video_streams = 1,
- .audio_codecs = (enum CodecID[]){ CODEC_ID_AC3,
- CODEC_ID_NONE },
+ .audio_codecs = (enum AVCodecID[]){ AV_CODEC_ID_AC3,
+ AV_CODEC_ID_NONE },
- .video_codecs = (enum CodecID[]){ CODEC_ID_RV10,
- CODEC_ID_NONE },
+ .video_codecs = (enum AVCodecID[]){ AV_CODEC_ID_RV10,
+ AV_CODEC_ID_NONE },
},
#endif
{ /* End of formats */ }
Index: gmerlin-encoders-1.2.0/plugins/ffmpeg/e_ffmpeg_audio.c
===================================================================
--- gmerlin-encoders-1.2.0.orig/plugins/ffmpeg/e_ffmpeg_audio.c 2012-06-08 11:52:27.000000000 +0000
+++ gmerlin-encoders-1.2.0/plugins/ffmpeg/e_ffmpeg_audio.c 2014-03-01 00:36:07.363082419 +0000
@@ -30,37 +30,37 @@
.short_name = "au",
.extension = "au",
.max_audio_streams = 1,
- .audio_codecs = (enum CodecID[]){ CODEC_ID_PCM_MULAW,
- CODEC_ID_PCM_S16BE,
- CODEC_ID_PCM_ALAW,
- CODEC_ID_NONE },
+ .audio_codecs = (enum AVCodecID[]){ AV_CODEC_ID_PCM_MULAW,
+ AV_CODEC_ID_PCM_S16BE,
+ AV_CODEC_ID_PCM_ALAW,
+ AV_CODEC_ID_NONE },
},
{
.name = "Raw AC3",
.short_name = "ac3",
.extension = "ac3",
.max_audio_streams = 1,
- .audio_codecs = (enum CodecID[]){ CODEC_ID_AC3,
- CODEC_ID_NONE },
+ .audio_codecs = (enum AVCodecID[]){ AV_CODEC_ID_AC3,
+ AV_CODEC_ID_NONE },
},
{
.name = "AIFF",
.short_name = "aiff",
.extension = "aif",
.max_audio_streams = 1,
- .audio_codecs = (enum CodecID[]){ CODEC_ID_PCM_S16BE,
- CODEC_ID_PCM_S8,
- CODEC_ID_PCM_ALAW,
- CODEC_ID_PCM_MULAW,
- CODEC_ID_NONE },
+ .audio_codecs = (enum AVCodecID[]){ AV_CODEC_ID_PCM_S16BE,
+ AV_CODEC_ID_PCM_S8,
+ AV_CODEC_ID_PCM_ALAW,
+ AV_CODEC_ID_PCM_MULAW,
+ AV_CODEC_ID_NONE },
},
{
.name = "MP2",
.short_name = "mp2",
.extension = "mp2",
.max_audio_streams = 1,
- .audio_codecs = (enum CodecID[]){ CODEC_ID_MP2,
- CODEC_ID_NONE },
+ .audio_codecs = (enum AVCodecID[]){ AV_CODEC_ID_MP2,
+ AV_CODEC_ID_NONE },
},
#if LIBAVCODEC_BUILD >= ((51<<16)+(32<<8)+0)
{
@@ -68,9 +68,9 @@
.short_name = "asf",
.extension = "wma",
.max_audio_streams = 1,
- .audio_codecs = (enum CodecID[]){ CODEC_ID_WMAV2,
- CODEC_ID_WMAV1,
- CODEC_ID_NONE },
+ .audio_codecs = (enum AVCodecID[]){ AV_CODEC_ID_WMAV2,
+ AV_CODEC_ID_WMAV1,
+ AV_CODEC_ID_NONE },
},
#endif
{ /* End of formats */ }
_______________________________________________
pkg-multimedia-maintainers mailing list
pkg-multimedia-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers