vaapi: support VAProfileH264High10 decoding

see https://github.com/intel/libva/pull/664

Signed-off-by: jianfeng.zheng <jianfeng.zheng@mthreads.com>
pull/389/head
jianfeng.zheng 2 years ago committed by Haihao Xiang
parent b9ba036680
commit 1cd5a383d4
  1. 9
      libavcodec/h264_slice.c
  2. 5
      libavcodec/vaapi_decode.c

@ -809,8 +809,15 @@ static enum AVPixelFormat get_pixel_format(H264Context *h, int force_callback)
*fmt++ = AV_PIX_FMT_YUV444P10;
} else if (CHROMA422(h))
*fmt++ = AV_PIX_FMT_YUV422P10;
else
else {
#if CONFIG_H264_VAAPI_HWACCEL
// Just add as candidate. Whether VAProfileH264High10 usable or
// not is decided by vaapi_decode_make_config() defined in FFmpeg
// and vaQueryCodingProfile() defined in libva.
*fmt++ = AV_PIX_FMT_VAAPI;
#endif
*fmt++ = AV_PIX_FMT_YUV420P10;
}
break;
case 12:
if (CHROMA444(h)) {

@ -398,6 +398,11 @@ static const struct {
MAP(MPEG4, MPEG4_ADVANCED_SIMPLE,
MPEG4AdvancedSimple),
MAP(MPEG4, MPEG4_MAIN, MPEG4Main ),
#if VA_CHECK_VERSION(1, 18, 0)
MAP(H264, H264_HIGH_10_INTRA,
H264High10 ),
MAP(H264, H264_HIGH_10, H264High10 ),
#endif
MAP(H264, H264_CONSTRAINED_BASELINE,
H264ConstrainedBaseline),
MAP(H264, H264_MAIN, H264Main ),

Loading…
Cancel
Save