Message ID | HK0PR02MB3458FB8D98560534A6F039C1A99D0@HK0PR02MB3458.apcprd02.prod.outlook.com |
---|---|
State | Superseded |
Headers | show |
Series | [FFmpeg-devel] area changed: hevc_amf set default gops_per_idr 1 | expand |
Context | Check | Description |
---|---|---|
andriy/default | pending | |
andriy/make | success | Make finished |
andriy/make_fate | success | Make fate finished |
Am Di., 16. Juni 2020 um 16:10 Uhr schrieb Lu Jiao <sourpotato@live.com>: > > Previously gops_per_idr default 60 would make amd gpu encoding hevc > has erratic seek bar behaviour as descripted in this ticket: > https://trac.ffmpeg.org/ticket/7272 Is this patch working around a defect in FFmpeg (that the hevc decoder seeks to non-keyframes) or is it generally desirable? Carl Eugen
I think it is desirable as AMD HEVC encoder frequency of IDR frames is needed to be 1 to indicate key frames used in seek , and it is not defect in ffmpeg decoder. Jiao lu From: Carl Eugen Hoyos<mailto:ceffmpeg@gmail.com> Sent: 2020年6月17日 0:21 To: FFmpeg development discussions and patches<mailto:ffmpeg-devel@ffmpeg.org> Subject: Re: [FFmpeg-devel] [PATCH] area changed: hevc_amf set default gops_per_idr 1 Am Di., 16. Juni 2020 um 16:10 Uhr schrieb Lu Jiao <sourpotato@live.com>: > > Previously gops_per_idr default 60 would make amd gpu encoding hevc > has erratic seek bar behaviour as descripted in this ticket: > https://trac.ffmpeg.org/ticket/7272 Is this patch working around a defect in FFmpeg (that the hevc decoder seeks to non-keyframes) or is it generally desirable? Carl Eugen
diff --git a/libavcodec/amfenc_hevc.c b/libavcodec/amfenc_hevc.c index 77e57d2461..b0cb57cb96 100644 --- a/libavcodec/amfenc_hevc.c +++ b/libavcodec/amfenc_hevc.c @@ -69,7 +69,7 @@ static const AVOption options[] = { { "gop", "", 0, AV_OPT_TYPE_CONST, { .i64 = AMF_VIDEO_ENCODER_HEVC_HEADER_INSERTION_MODE_GOP_ALIGNED }, 0, 0, VE, "hdrmode" }, { "idr", "", 0, AV_OPT_TYPE_CONST, { .i64 = AMF_VIDEO_ENCODER_HEVC_HEADER_INSERTION_MODE_IDR_ALIGNED }, 0, 0, VE, "hdrmode" }, - { "gops_per_idr", "GOPs per IDR 0-no IDR will be inserted", OFFSET(gops_per_idr), AV_OPT_TYPE_INT, { .i64 = 60 }, 0, INT_MAX, VE }, + { "gops_per_idr", "GOPs per IDR 0-no IDR will be inserted", OFFSET(gops_per_idr), AV_OPT_TYPE_INT, { .i64 = 1 }, 0, INT_MAX, VE }, { "preanalysis", "Enable preanalysis", OFFSET(preanalysis), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE}, { "vbaq", "Enable VBAQ", OFFSET(enable_vbaq), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE}, { "enforce_hrd", "Enforce HRD", OFFSET(enforce_hrd), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE},