diff mbox series

[FFmpeg-devel] area changed: hevc_amf set default gops_per_idr 1

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

Checks

Context Check Description
andriy/default pending
andriy/make success Make finished
andriy/make_fate success Make fate finished

Commit Message

2rd bunji June 16, 2020, 2:10 p.m. UTC
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
---
 libavcodec/amfenc_hevc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Carl Eugen Hoyos June 16, 2020, 4:12 p.m. UTC | #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
2rd bunji June 17, 2020, 12:12 a.m. UTC | #2
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 mbox series

Patch

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},