On 06/07/17 23:32, Steven Liu wrote: > 2017-07-06 19:51 GMT+08:00 Mark Thompson <s...@jkqxz.net>: >> On 06/07/17 11:48, Steven Liu wrote: >>> From: Steven Liu <lingjiujia...@gmail.com> >>> >>> user need to control the idr_interval for qsv hevc >>> >>> Signed-off-by: Steven Liu <l...@onvideo.cn> >>> --- >>> libavcodec/qsvenc_hevc.c | 1 + >>> 1 file changed, 1 insertion(+) >>> >>> diff --git a/libavcodec/qsvenc_hevc.c b/libavcodec/qsvenc_hevc.c >>> index 7d4d55bb61..c063e27eea 100644 >>> --- a/libavcodec/qsvenc_hevc.c >>> +++ b/libavcodec/qsvenc_hevc.c >>> @@ -214,6 +214,7 @@ static av_cold int qsv_enc_close(AVCodecContext *avctx) >>> static const AVOption options[] = { >>> QSV_COMMON_OPTS >>> >>> + { "idr_interval", "Distance (in I-frames) between IDR frames", >>> OFFSET(qsv.idr_interval), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, VE }, >>> { "load_plugin", "A user plugin to load in an internal session", >>> OFFSET(load_plugin), AV_OPT_TYPE_INT, { .i64 = LOAD_PLUGIN_HEVC_SW }, >>> LOAD_PLUGIN_NONE, LOAD_PLUGIN_HEVC_HW, VE, "load_plugin" }, >>> { "none", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = LOAD_PLUGIN_NONE }, >>> 0, 0, VE, "load_plugin" }, >>> { "hevc_sw", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = LOAD_PLUGIN_HEVC_SW >>> }, 0, 0, VE, "load_plugin" }, >>> >> >> Sure, I guess? >> >> Though, what use-case do you intend this option for in H.265? It already >> generates IRAP frames at the GOP interval, and unlike H.264 there isn't any >> confusion about whether they are usable as seek points. > hmm, some user report to me they can not split mpegts segment by > keyframe when they use qsv h.265, i sent this patch to them, it can be > split.
Then adding this option to set sounds like an appalling hack. What are the actual symptoms of this problem? Can you provide an example? >> >> (I can't actually remember exactly what types of NAL units it generates with >> and without this option; I'll have a look later.) >> Using the hardware encoder on Linux for Skylake, the very first frame is IDR_W_RADL, then subsequent frames are all TRAIL_N/TRAIL_R, or CRA to start a new GOP. (It need not be the same on all versions of the encoder, though.) _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel