]> git.sesse.net Git - ffmpeg/commitdiff
avcodec/libsvt_av1: remove forced-idr option
authorLynne <dev@lynne.ee>
Wed, 29 Jul 2020 20:38:44 +0000 (22:38 +0200)
committerJames Almer <jamrial@gmail.com>
Wed, 29 Jul 2020 20:59:15 +0000 (17:59 -0300)
This option is directly copy-pasted from the SVT1-HEVC wrapper and has
no place in the options for an AV1 encoder.

AV1 has no H.264/5 IDR frames nor anything like them.
All this option does is change all real keyframes to an intra-only
AV1 frame, which is not seekable. Hence, any streams encoded with
this option enabled will not be seekable.

libavcodec/libsvt_av1.c

index b30211d15bb757c71ba92030278110be0249a4c4..c7ae5f96914fa4d8444b5ddf79ee98c84aa2b4bd 100644 (file)
@@ -67,8 +67,6 @@ typedef struct SvtContext {
     int scd;
     int qp;
 
-    int forced_idr;
-
     int tier;
 
     int tile_columns;
@@ -212,7 +210,7 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param,
         param->min_qp_allowed       = avctx->qmin;
     }
 
-    param->intra_refresh_type       = svt_enc->forced_idr + 1;
+    param->intra_refresh_type       = 2; /* Real keyframes only */
 
     if (svt_enc->la_depth >= 0)
         param->look_ahead_distance  = svt_enc->la_depth;
@@ -538,9 +536,6 @@ static const AVOption options[] = {
     { "sc_detection", "Scene change detection", OFFSET(scd),
       AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE },
 
-    { "forced-idr", "If forcing keyframes, force them as IDR frames", OFFSET(forced_idr),
-      AV_OPT_TYPE_BOOL,   { .i64 = 1 }, 0, 1, VE },
-
     { "tile-columns", "Log2 of number of tile columns to use", OFFSET(tile_columns), AV_OPT_TYPE_INT, {.i64 = 0}, 0, 4, VE},
     { "tile-rows", "Log2 of number of tile rows to use", OFFSET(tile_rows), AV_OPT_TYPE_INT, {.i64 = 0}, 0, 6, VE},