[FFmpeg-cvslog] avcodec/libx264: Fix sc_threshold after 30c1bdb87ce336f2b9957769e30a10d72f93d372

Michael Niedermayer git at videolan.org
Thu Jan 28 18:29:52 CET 2016


ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Thu Jan 28 18:10:34 2016 +0100| [cb06be6136dd9860743e2e5ef7bc31f0cfb6c456] | committer: Michael Niedermayer

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 <michael at niedermayer.cc>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=cb06be6136dd9860743e2e5ef7bc31f0cfb6c456
---

 libavcodec/libx264.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c
index e4df82a..3d175ad 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 },



More information about the ffmpeg-cvslog mailing list