[FFmpeg-devel] [PATCH] libsvtav1: Add workaround for gop_size == 1

Vignesh Venkat vigneshv at google.com
Tue Jun 27 20:55:22 EEST 2023


On Mon, Jun 26, 2023 at 4:53 PM James Almer <jamrial at gmail.com> wrote:
>
> On 6/26/2023 7:32 PM, Vignesh Venkat wrote:
> > On Mon, Jun 26, 2023 at 3:17 PM Ronald S. Bultje <rsbultje at gmail.com> wrote:
> >>
> >> Hi,
> >>
> >> On Mon, Jun 26, 2023 at 1:47 PM Vignesh Venkatasubramanian <vigneshv-at-google.com at ffmpeg.org> wrote:
> >>>
> >>> In some versions of libsvtav1, setting intra_period_length to 0
> >>> does not produce the intended result (i.e.) all frames produced
> >>> are not keyframes.
> >>>
> >>> Instead handle the gop_size == 1 as a special case by setting
> >>> the pic_type to EB_AV1_KEY_PICTURE when encoding each frame so
> >>> that all the output frames are keyframes.
> >>>
> >>> SVT-AV1 Bug: https://gitlab.com/AOMediaCodec/SVT-AV1/-/issues/2076
> >>>
> >>> Example command: ffmpeg -f lavfi -i testsrc=duration=1:size=64x64:rate=30 -c:v libsvtav1 -g 1 -y test.webm
> >>>
> >>> Before: Only first frame is keyframe.
> >>> After: All frames are keyframes.
> >>>
> >>> Signed-off-by: Vignesh Venkatasubramanian <vigneshv at google.com>
> >>> ---
> >>>   libavcodec/libsvtav1.c | 16 +++++++++++++++-
> >>>   1 file changed, 15 insertions(+), 1 deletion(-)
> >>
> >>
> >> It feels a bit dirty to add workarounds in ffmpeg library wrappers for bugs in these libraries. Not 100% against it, but it's not particularly great.
> >>
> >
> > Yeah I agree that it's not ideal. But minor changes like this that are
> > commented/documented is okay i believe.
>
> What are the buggy svt-av1 versions? Can this be wrapped in a
> preprocessor check, so that if we bump the minimum required version in
> the future and it's newer, this change can be removed/undone?
>

>From what i tested, it seems to be there on the tip of tree SVT-AV1 as
well. So we can't guard it with macros until the issue is fixed.
 _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".



-- 
Vignesh


More information about the ffmpeg-devel mailing list