Hi, > > > > I get the following errors when trying to compile today's transcode > > CVS against today's Ffmpeg and x264 git : > [...] > > Anyone has an idea if that's something that can be easily fixed? > > I'm afraid it will not be so easy: > > (September 8, 2008) FFmpeg is undergoing major changes in its API/ABI. > The last valid revision for libavcodec version 51 is r15261. > (taken from http://ffmpeg.mplayerhq.hu) > > I'm playing with a fresh snapshot, stay tuned.
For what it's worth, the enclosed patch (which needs reviewing) allows me to build transcode 1.0.6 against ffmpeg trunk. Regards, Alexis.
Index: transcode-1.0.6/export/export_ffmpeg.c
===================================================================
--- transcode-1.0.6.orig/export/export_ffmpeg.c
+++ transcode-1.0.6/export/export_ffmpeg.c
@@ -804,8 +804,10 @@ MOD_init
lavc_venc_context->luma_elim_threshold= lavc_param_luma_elim_threshold;
lavc_venc_context->chroma_elim_threshold= lavc_param_chroma_elim_threshold;
lavc_venc_context->rtp_payload_size = lavc_param_packet_size;
+#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
if (lavc_param_packet_size)
lavc_venc_context->rtp_mode = 1;
+#endif
lavc_venc_context->strict_std_compliance= lavc_param_strict;
lavc_venc_context->i_quant_factor = lavc_param_vi_qfactor;
lavc_venc_context->i_quant_offset = lavc_param_vi_qoffset;
@@ -1003,7 +1005,11 @@ MOD_init
lavc_venc_context->flags |= lavc_param_gmc;
lavc_venc_context->flags |= lavc_param_closedgop;
lavc_venc_context->flags |= lavc_param_trunc;
+#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
lavc_venc_context->flags |= lavc_param_trell;
+#else
+ lavc_venc_context->trellis = lavc_param_trell;
+#endif
lavc_venc_context->flags |= lavc_param_aic;
lavc_venc_context->flags |= lavc_param_umv;
lavc_venc_context->flags |= lavc_param_v4mv;
Index: transcode-1.0.6/export/ffmpeg_cfg.c
===================================================================
--- transcode-1.0.6.orig/export/ffmpeg_cfg.c
+++ transcode-1.0.6/export/ffmpeg_cfg.c
@@ -192,12 +192,20 @@ struct config lavcopts_conf[]={
{"predia", &lavc_param_pre_dia_size, CONF_TYPE_INT, CONF_RANGE, -2000, 2000, NULL},
{"dia", &lavc_param_dia_size, CONF_TYPE_INT, CONF_RANGE, -2000, 2000, NULL},
{"qpel", &lavc_param_qpel, CONF_TYPE_FLAG, 0, 0, CODEC_FLAG_QPEL, NULL},
+#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
{"trell", &lavc_param_trell, CONF_TYPE_FLAG, 0, 0, CODEC_FLAG_TRELLIS_QUANT, NULL},
+#else
+ {"trell", &lavc_param_trell, CONF_TYPE_INT, CONF_RANGE, 0, 1, NULL},
+#endif
{"last_pred", &lavc_param_last_pred, CONF_TYPE_INT, CONF_RANGE, 0, 2000, NULL},
{"preme", &lavc_param_pre_me, CONF_TYPE_INT, CONF_RANGE, 0, 2000, NULL},
{"subq", &lavc_param_me_subpel_quality, CONF_TYPE_INT, CONF_RANGE, 0, 8, NULL},
{"me_range", &lavc_param_me_range, CONF_TYPE_INT, CONF_RANGE, 0, 16000, NULL},
+#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
{"aic", &lavc_param_aic, CONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_AIC, NULL},
+#else
+ {"aic", &lavc_param_aic, CONF_TYPE_FLAG, 0, 0, CODEC_FLAG_AC_PRED, NULL},
+#endif
{"umv", &lavc_param_umv, CONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_UMV, NULL},
{"ibias", &lavc_param_ibias, CONF_TYPE_INT, CONF_RANGE, -512, 512, NULL},
{"pbias", &lavc_param_pbias, CONF_TYPE_INT, CONF_RANGE, -512, 512, NULL},
Index: transcode-1.0.6/import/decode_lavc.c
===================================================================
--- transcode-1.0.6.orig/import/decode_lavc.c
+++ transcode-1.0.6/import/decode_lavc.c
@@ -196,7 +196,11 @@ void decode_lavc(decode_t *decode)
lavc_dec_context->width = x_dim;
lavc_dec_context->height = y_dim;
+#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
lavc_dec_context->error_resilience = 2;
+#else
+ lavc_dec_context->error_recognition = 2;
+#endif
lavc_dec_context->error_concealment = 3;
lavc_dec_context->workaround_bugs = FF_BUG_AUTODETECT;
Index: transcode-1.0.6/import/import_ffmpeg.c
===================================================================
--- transcode-1.0.6.orig/import/import_ffmpeg.c
+++ transcode-1.0.6/import/import_ffmpeg.c
@@ -361,7 +361,11 @@ do_avi:
lavc_dec_context->height = y_dim;
if (vob->decolor) lavc_dec_context->flags |= CODEC_FLAG_GRAY;
+#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
lavc_dec_context->error_resilience = FF_ER_COMPLIANT;
+#else
+ lavc_dec_context->error_recognition = FF_ER_COMPLIANT;
+#endif
lavc_dec_context->error_concealment = FF_EC_GUESS_MVS|FF_EC_DEBLOCK;
lavc_dec_context->workaround_bugs = workarounds;
lavc_dec_context->codec_tag= (fourCC[0]<<24) | (fourCC[1]<<16) |
signature.asc
Description: PGP signature
