From cb06be6136dd9860743e2e5ef7bc31f0cfb6c456 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Thu, 28 Jan 2016 18:10:34 +0100 Subject: [PATCH] avcodec/libx264: Fix sc_threshold after 30c1bdb87ce336f2b9957769e30a10d72f93d372 After the merge the default threshold was unconditionally overwritten A similar fix was written by Vittorio Giovara, but i didnt see that before i wrote this and it also doesnt apply cleanly Signed-off-by: Michael Niedermayer --- libavcodec/libx264.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c index e4df82aa78..3d175adde1 100644 --- a/libavcodec/libx264.c +++ b/libavcodec/libx264.c @@ -551,12 +551,12 @@ FF_ENABLE_DEPRECATION_WARNINGS #if FF_API_PRIVATE_OPT FF_DISABLE_DEPRECATION_WARNINGS - if (avctx->scenechange_threshold) + if (avctx->scenechange_threshold >= 0) x4->scenechange_threshold = avctx->scenechange_threshold; - if (x4->scenechange_threshold >= 0) FF_ENABLE_DEPRECATION_WARNINGS #endif - x4->params.i_scenecut_threshold = x4->scenechange_threshold; + if (x4->scenechange_threshold >= 0) + x4->params.i_scenecut_threshold = x4->scenechange_threshold; if (avctx->qmin >= 0) x4->params.rc.i_qp_min = avctx->qmin; @@ -990,7 +990,7 @@ static const AVOption options[] = { { "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 = 0 }, INT_MIN, INT_MAX, VE }, - { "sc_threshold", "Scene change threshold", OFFSET(scenechange_threshold), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, VE }, + { "sc_threshold", "Scene change threshold", OFFSET(scenechange_threshold), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, INT_MAX, VE }, { "noise_reduction", "Noise reduction", OFFSET(noise_reduction), AV_OPT_TYPE_INT, { .i64 = -1 }, 0, INT_MAX, VE }, { "x264-params", "Override the x264 configuration using a :-separated list of key=value parameters", OFFSET(x264_params), AV_OPT_TYPE_STRING, { 0 }, 0, 0, VE },