On Tue, Oct 17, 2017 at 11:49:57AM +0000, Luca Barbato wrote:
> According to the MediaSDK documentation the idr_interval value has
> a different meaning depending on the codec:
>
> 0 in H264 means make every I-frame IDR, in HEVC means to have
> it only at the beginning.
it means
> 1 in H264 means every other I-frame is not-IDR, in HEVC means
> that every I-frame is IDR.
it means
> Increase by 1 idr_interval for hevc and support -1 with a constant
> name to provide a mean to have the only-at-beginning behaviour if
> really need.
>
> Keep the default consistent between the two encoders.
Keep the default consistent between the two encoders. Make 1 the default
for HEVC and provide a shorthand option to set idr_interval to 0 for HEVC.
> --- a/libavcodec/qsvenc_hevc.c
> +++ b/libavcodec/qsvenc_hevc.c
> @@ -220,7 +223,8 @@ static av_cold int qsv_enc_close(AVCodecContext *avctx)
>
> - { "idr_interval", "Distance (in I-frames) between IDR frames",
> OFFSET(qsv.idr_interval), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, VE },
> + { "idr_interval", "Distance (in I-frames) between IDR frames",
> OFFSET(qsv.idr_interval), AV_OPT_TYPE_INT, { .i64 = 0 }, -1, INT_MAX, VE,
> "idr_interval" },
> + { "begin_only", "Output an IDR-frame only at the begin of the stream",
> 0, AV_OPT_TYPE_CONST, { .i64 = -1 }, 0, 0, VE, "idr_interval" },
only at the beginning of the stream
Diego
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel