[FFmpeg-devel] [PATCH v2 04/11] avcodec/dovi_rpu: clarify semantics of guess_profile()
Niklas Haas
ffmpeg at haasn.xyz
Tue Apr 9 19:01:14 EEST 2024
On Tue, 09 Apr 2024 17:37:32 +0200 Andreas Rheinhardt <andreas.rheinhardt at outlook.com> wrote:
> Niklas Haas:
> > From: Niklas Haas <git at haasn.dev>
> >
> > This is based on HEVC only, H.264/AV1 use their own (hopefully correctly
> > signalled) profiles.
> > ---
> > libavcodec/dovi_rpu.c | 5 +++--
> > 1 file changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/libavcodec/dovi_rpu.c b/libavcodec/dovi_rpu.c
> > index 267e52ceb66..4da711d763e 100644
> > --- a/libavcodec/dovi_rpu.c
> > +++ b/libavcodec/dovi_rpu.c
> > @@ -121,7 +121,8 @@ int ff_dovi_attach_side_data(DOVIContext *s, AVFrame *frame)
> > return 0;
> > }
> >
> > -static int guess_profile(const AVDOVIRpuDataHeader *hdr)
> > +/* Note: Only works for HEVC */
> > +static int guess_hevc_profile(const AVDOVIRpuDataHeader *hdr)
> > {
> > switch (hdr->vdr_rpu_profile) {
> > case 0:
> > @@ -510,7 +511,7 @@ int ff_dovi_rpu_parse(DOVIContext *s, const uint8_t *rpu, size_t rpu_size,
> > use_prev_vdr_rpu = get_bits1(gb);
> > use_nlq = (hdr->rpu_format & 0x700) == 0 && !hdr->disable_residual_flag;
> >
> > - profile = s->cfg.dv_profile ? s->cfg.dv_profile : guess_profile(hdr);
> > + profile = s->cfg.dv_profile ? s->cfg.dv_profile : guess_hevc_profile(hdr);
> > if (profile == 5 && use_nlq) {
> > av_log(s->logctx, AV_LOG_ERROR, "Profile 5 RPUs should not use NLQ\n");
> > goto fail;
>
> Is guess_hevc_profile only called for HEVC?
Yes. All non-HEVC codecs explicitly override s->cfg.dv_profile before
calling into this function.
But probably we should document that more clearly somewhere.
>
> - Andreas
>
> _______________________________________________
> 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".
More information about the ffmpeg-devel
mailing list