[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