I forgot to sign-off to patch, so I've resent the same patch. This patch is bug fix to handle chromaoffset parameter for libx264.
Best Regards, Takio 2020年7月28日(火) 21:22 Takio Yamaoka <y.ta...@gmail.com>: > > An initial value of `AVCodecContext::chromaoffset` is zero, > then it causes to block `-chromaoffset` setting as result. > In addition, even though a negative number of `chromaoffset` > is meaningful, `X264Context::chroma_offset` is initialized > with `-1` as no setting and ignored if it is negative number. > > To fix above, it changes ... > - a value of `X264Context::chroma_offset` to 0 as no setting > - due to x264's default value > - conditional statement to import `-chromaoffset` > > Signed-off-by: Takio Yamaoka <y.ta...@gmail.com> > --- > libavcodec/libx264.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c > index 7bbeab7d4c..347d29df27 100644 > --- a/libavcodec/libx264.c > +++ b/libavcodec/libx264.c > @@ -681,11 +681,11 @@ static av_cold int X264_init(AVCodecContext *avctx) > > #if FF_API_PRIVATE_OPT > FF_DISABLE_DEPRECATION_WARNINGS > - if (avctx->chromaoffset >= 0) > + if (avctx->chromaoffset) > x4->chroma_offset = avctx->chromaoffset; > FF_ENABLE_DEPRECATION_WARNINGS > #endif > - if (x4->chroma_offset >= 0) > + if (x4->chroma_offset) > x4->params.analyse.i_chroma_qp_offset = x4->chroma_offset; > > if (avctx->gop_size >= 0) > @@ -1140,7 +1140,7 @@ static const AVOption options[] = { > { "vlc", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 0 }, > INT_MIN, INT_MAX, VE, "coder" }, > { "ac", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 1 }, > INT_MIN, INT_MAX, VE, "coder" }, > { "b_strategy", "Strategy to choose between I/P/B-frames", > OFFSET(b_frame_strategy), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 2, VE }, > - { "chromaoffset", "QP difference between chroma and luma", > OFFSET(chroma_offset), AV_OPT_TYPE_INT, { .i64 = -1 }, INT_MIN, INT_MAX, VE }, > + { "chromaoffset", "QP difference between chroma and luma", > OFFSET(chroma_offset), AV_OPT_TYPE_INT, { .i64 = 0 }, INT_MIN, INT_MAX, VE }, > { "sc_threshold", "Scene change threshold", > OFFSET(scenechange_threshold), AV_OPT_TYPE_INT, { .i64 = -1 }, INT_MIN, > INT_MAX, VE }, > { "noise_reduction", "Noise reduction", > OFFSET(noise_reduction), AV_OPT_TYPE_INT, { .i64 = -1 }, INT_MIN, INT_MAX, VE > }, > > -- > 2.17.1 > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".