[FFmpeg-devel] [PATCH v3 1/2] lavc/vaapi_encode_h265: Map HEVC AV REXT profile to VA REXT profile

Wang, Fei W fei.w.wang at intel.com
Wed Mar 20 09:39:04 EET 2024


On Mon, 2024-03-18 at 21:11 +0000, Mark Thompson wrote:
> On 18/03/2024 04:21, fei.w.wang-at-intel.com at ffmpeg.org wrote:
> > From: Fei Wang <fei.w.wang at intel.com>
> > 
> > There is no Main8/10 profile defined in HEVC REXT profiles. Use
> > Main12
> > which is compatible with 8/10bit.
> > 
> > Signed-off-by: Fei Wang <fei.w.wang at intel.com>
> > ---
> >   libavcodec/vaapi_encode_h265.c | 4 ++--
> >   1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/libavcodec/vaapi_encode_h265.c
> > b/libavcodec/vaapi_encode_h265.c
> > index c4aabbf5ed..43755e2188 100644
> > --- a/libavcodec/vaapi_encode_h265.c
> > +++ b/libavcodec/vaapi_encode_h265.c
> > @@ -1305,12 +1305,12 @@ static av_cold int
> > vaapi_encode_h265_configure(AVCodecContext *avctx)
> >   
> >   static const VAAPIEncodeProfile vaapi_encode_h265_profiles[] = {
> >       { AV_PROFILE_HEVC_MAIN,     8, 3, 1, 1,
> > VAProfileHEVCMain       },
> > -    { AV_PROFILE_HEVC_REXT,     8, 3, 1, 1,
> > VAProfileHEVCMain       },
> >   #if VA_CHECK_VERSION(0, 37, 0)
> >       { AV_PROFILE_HEVC_MAIN_10, 10, 3, 1, 1,
> > VAProfileHEVCMain10     },
> > -    { AV_PROFILE_HEVC_REXT,    10, 3, 1, 1,
> > VAProfileHEVCMain10     },
> >   #endif
> >   #if VA_CHECK_VERSION(1, 2, 0)
> > +    { AV_PROFILE_HEVC_REXT,     8, 3, 1, 1, VAProfileHEVCMain12 },
> > +    { AV_PROFILE_HEVC_REXT,    10, 3, 1, 1, VAProfileHEVCMain12 },
> >       { AV_PROFILE_HEVC_REXT,    12, 3, 1, 1, VAProfileHEVCMain12
> > },
> >       { AV_PROFILE_HEVC_REXT,     8, 3, 1, 0,
> > VAProfileHEVCMain422_10 },
> >       { AV_PROFILE_HEVC_REXT,    10, 3, 1, 0,
> > VAProfileHEVCMain422_10 },
> 
> What are you actually trying to do here?
> 
> See 61aea246627787e80edd1f2eae01df63688dda68: these allow support for
> the Main Intra and Main 10 Intra profiles using Main and Main 10
> encoders respectively (since they need not use any additional rext
> features).

The hack blocks 420 8/10bit with inter frames to use REXT. Make them to
use VAProfileHEVCMain12 should be the best way, just like 422 8/10bit
all use VAProfileHEVCMain422_10.

Thanks
Fei
> 
> Changing this to require a Main 12 encoder and marking the streams as
> requiring such a Main 12 decoder to decode when they don't does not
> seem helpful.
> 
> Thanks,
> 
> - Mark
> _______________________________________________
> 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