diff --git a/configure b/configure index a81ad57128..78d2989dfa 100755 --- a/configure +++ b/configure @@ -2460,8 +2460,8 @@ enabled libspeex && require libspeex speex/speex.h speex_decoder_init -lspeex enabled libtheora && require libtheora theora/theoraenc.h th_info_init -ltheoraenc -ltheoradec -logg enabled libvorbis && require libvorbis vorbis/vorbisenc.h vorbis_info_init -lvorbisenc -lvorbis -logg enabled libx264 && require libx264 x264.h x264_encoder_encode -lx264 -lm && - { check_cpp_condition x264.h "X264_BUILD >= 79" || - die "ERROR: libx264 version must be >= 0.79."; } + { check_cpp_condition x264.h "X264_BUILD >= 83" || + die "ERROR: libx264 version must be >= 0.83."; } enabled libxvid && require libxvid xvid.h xvid_global -lxvidcore enabled mlib && require mediaLib mlib_types.h mlib_VectorSub_S16_U8_Mod -lmlib diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c index 1fec3eded1..9a4c9f4006 100644 --- a/libavcodec/libx264.c +++ b/libavcodec/libx264.c @@ -109,7 +109,7 @@ static int X264_frame(AVCodecContext *ctx, uint8_t *buf, if (bufsize < 0) return -1; - /* FIXME: dts */ + /* FIXME: libx264 now provides DTS, but AVFrame doesn't have a field for it. */ x4->out_pic.pts = pic_out.i_pts; switch (pic_out.i_type) { @@ -126,7 +126,7 @@ static int X264_frame(AVCodecContext *ctx, uint8_t *buf, break; } - x4->out_pic.key_frame = pic_out.i_type == X264_TYPE_IDR; + x4->out_pic.key_frame = pic_out.b_keyframe; x4->out_pic.quality = (pic_out.i_qpplus1 - 1) * FF_QP2LAMBDA; return bufsize; @@ -208,8 +208,8 @@ static av_cold int X264_init(AVCodecContext *avctx) x4->params.i_height = avctx->height; x4->params.vui.i_sar_width = avctx->sample_aspect_ratio.num; x4->params.vui.i_sar_height = avctx->sample_aspect_ratio.den; - x4->params.i_fps_num = avctx->time_base.den; - x4->params.i_fps_den = avctx->time_base.num; + x4->params.i_fps_num = x4->params.i_timebase_den = avctx->time_base.den; + x4->params.i_fps_den = x4->params.i_timebase_num = avctx->time_base.num; x4->params.analyse.inter = 0; if (avctx->partitions) {