On Sat, Aug 23, 2014 at 08:59:41PM +0800, Hii wrote: > Currently -b_qfactor and -chromaoffset have no effect in libx264, > the attached patch is an attempt to fix the issue. > > Move the corresponding lines after x264_param_default_preset() to > prevent them being overwritten by it, make the two parameters > functional. > Also make b_qfactor changeable by x264's tunings after the move. > > (feel free to edit the commit message as I am not a native English speaker.) > >
> libx264.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > affb26a7840db085fb82ac8e24e5fe5770774113 > 0001-libx264-fix-b_qfactor-and-chromaoffset.patch > From d8597d3f708c21deae40b21754173763c5a13658 Mon Sep 17 00:00:00 2001 > From: Hii <hiiragi...@gmail.com> > Date: Sat, 23 Aug 2014 17:08:02 +0800 > Subject: [PATCH] libx264: fix -b_qfactor and -chromaoffset > > --- > libavcodec/libx264.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c > index 7793581..8aff14d 100644 > --- a/libavcodec/libx264.c > +++ b/libavcodec/libx264.c > @@ -371,8 +371,6 @@ static av_cold int X264_init(AVCodecContext *avctx) > > x4->params.b_deblocking_filter = avctx->flags & > CODEC_FLAG_LOOP_FILTER; > > - x4->params.rc.f_pb_factor = avctx->b_quant_factor; > - x4->params.analyse.i_chroma_qp_offset = avctx->chromaoffset; > if (x4->preset || x4->tune) > if (x264_param_default_preset(&x4->params, x4->preset, x4->tune) < > 0) { > int i; > @@ -430,6 +428,9 @@ static av_cold int X264_init(AVCodecContext *avctx) > > if (avctx->i_quant_factor > 0) > x4->params.rc.f_ip_factor = 1 / fabs(avctx->i_quant_factor); > + if (avctx->b_quant_factor > 0) > + x4->params.rc.f_pb_factor = avctx->b_quant_factor; > + x4->params.analyse.i_chroma_qp_offset = avctx->chromaoffset; i think this would unconditionally override i_chroma_qp_offset from x264_param_default_preset() all others are only overridde when explicitly set by the user [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Frequently ignored answer#1 FFmpeg bugs should be sent to our bugtracker. User questions about the command line tools should be sent to the ffmpeg-user ML. And questions about how to use libav* should be sent to the libav-user ML.
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel