aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimo Rothenpieler <timo@rothenpieler.org>2016-10-12 21:54:52 +0200
committerTimo Rothenpieler <timo@rothenpieler.org>2016-11-22 16:35:08 +0100
commit5ea8f7062300fea30b32280ea59a911caea68d5a (patch)
tree3c69a5d2b90de5cdac098ec5d3570905c38ce48b
parent10db40f374300c3cf82857295a7e0db2d315613d (diff)
downloadffmpeg-5ea8f7062300fea30b32280ea59a911caea68d5a.tar.gz
avcodec/libx264: fix forced_idr logic
Currently, it forces IDR frames for both true and false. Not entirely sure what the original idea behind the tri-state bool option is. Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
-rw-r--r--libavcodec/libx264.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c
index 9e1246477e..b11ede6198 100644
--- a/libavcodec/libx264.c
+++ b/libavcodec/libx264.c
@@ -293,8 +293,8 @@ static int X264_frame(AVCodecContext *ctx, AVPacket *pkt, const AVFrame *frame,
switch (frame->pict_type) {
case AV_PICTURE_TYPE_I:
- x4->pic.i_type = x4->forced_idr >= 0 ? X264_TYPE_IDR
- : X264_TYPE_KEYFRAME;
+ x4->pic.i_type = x4->forced_idr > 0 ? X264_TYPE_IDR
+ : X264_TYPE_KEYFRAME;
break;
case AV_PICTURE_TYPE_P:
x4->pic.i_type = X264_TYPE_P;
@@ -964,7 +964,7 @@ static const AVOption options[] = {
{ "umh", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = X264_ME_UMH }, INT_MIN, INT_MAX, VE, "motion-est" },
{ "esa", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = X264_ME_ESA }, INT_MIN, INT_MAX, VE, "motion-est" },
{ "tesa", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = X264_ME_TESA }, INT_MIN, INT_MAX, VE, "motion-est" },
- { "forced-idr", "If forcing keyframes, force them as IDR frames.", OFFSET(forced_idr), AV_OPT_TYPE_BOOL, { .i64 = -1 }, -1, 1, VE },
+ { "forced-idr", "If forcing keyframes, force them as IDR frames.", OFFSET(forced_idr), AV_OPT_TYPE_BOOL, { .i64 = 0 }, -1, 1, VE },
{ "coder", "Coder type", OFFSET(coder), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 1, VE, "coder" },
{ "default", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = -1 }, INT_MIN, INT_MAX, VE, "coder" },
{ "cavlc", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 0 }, INT_MIN, INT_MAX, VE, "coder" },