From 881f051771e502d93355eff3e1ad95261221ac60 Mon Sep 17 00:00:00 2001 From: "Cheah, Vincent Beng Keat" Date: Thu, 21 May 2026 09:04:48 +0800 Subject: [PATCH 1/3] [Decode] Add AVC 10 Bit decode for PTL --- .../codec/ddi/dec/ddi_decode_avc_specific.cpp | 48 +++++++++++++++++++ .../codec/ddi/dec/ddi_decode_avc_specific.h | 2 + .../ddi/ddi_register_components_specific.h | 10 ++++ .../ddi/capstable_data_xe3_lpm_r0_specific.h | 23 +++++++++ ...able_data_avc_decode_xe3_lpm_r0_specific.h | 34 +++++++++++++ .../capstable_data_vp_xe3_lpm_r0_specific.h | 2 +- 6 files changed, 118 insertions(+), 1 deletion(-) diff --git a/media_softlet/linux/common/codec/ddi/dec/ddi_decode_avc_specific.cpp b/media_softlet/linux/common/codec/ddi/dec/ddi_decode_avc_specific.cpp index 6d16c694fb..97011ce325 100644 --- a/media_softlet/linux/common/codec/ddi/dec/ddi_decode_avc_specific.cpp +++ b/media_softlet/linux/common/codec/ddi/dec/ddi_decode_avc_specific.cpp @@ -488,6 +488,44 @@ VAStatus DdiDecodeAvc::RenderPicture( return va; } +MOS_FORMAT DdiDecodeAvc::GetFormat() +{ + DDI_CODEC_FUNC_ENTER; + + MOS_FORMAT Format = Format_NV12; + DDI_CODEC_RENDER_TARGET_TABLE *rtTbl = &(m_decodeCtx->RTtbl); + CodechalDecodeParams *decodeParams = &m_decodeCtx->DecodeParams; + CODEC_AVC_PIC_PARAMS *picParams = (CODEC_AVC_PIC_PARAMS *)decodeParams->m_picParams; + + uint8_t chromaType = picParams->seq_fields.chroma_format_idc; + uint8_t ucBitDepthLumaMinus8 = picParams->bit_depth_luma_minus8; + uint8_t ucBitDepthChromaMinus8 = picParams->bit_depth_chroma_minus8; + + if ((chromaType == avcChromaFormatMono || chromaType == avcChromaFormat420) && rtTbl->pCurrentRT->format == Media_Format_NV12) + { + if (ucBitDepthLumaMinus8 == 0 && ucBitDepthChromaMinus8 == 0) + { + Format = Format_NV12; //420 8 bit + } + } + else if (chromaType == avcChromaFormat420 && rtTbl->pCurrentRT->format == Media_Format_P010) + { + if (ucBitDepthLumaMinus8 == 2 && ucBitDepthChromaMinus8 == 2) + { + Format = Format_P010; //420 10 bit + } + } + else if (chromaType == avcChromaFormat422 && rtTbl->pCurrentRT->format == Media_Format_Y210) + { + if (ucBitDepthLumaMinus8 == 2 && ucBitDepthChromaMinus8 == 2) + { + Format = Format_Y210; // 422 10 bit + } + } + + return Format; +} + VAStatus DdiDecodeAvc::SetDecodeParams() { DDI_CODEC_FUNC_ENTER; @@ -631,6 +669,16 @@ VAStatus DdiDecodeAvc::CodecHalInit( m_codechalSettings->lumaChromaDepth = CODECHAL_LUMA_CHROMA_DEPTH_8_BITS; +#if VA_CHECK_VERSION(1, 18, 0) + if (m_ddiDecodeAttr->profile == VAProfileH264High10 +#if VA_CHECK_VERSION(1, 23, 0) + || m_ddiDecodeAttr->profile == VAProfileH264High422 +#endif + ) { + m_codechalSettings->lumaChromaDepth |= CODECHAL_LUMA_CHROMA_DEPTH_10_BITS; + } +#endif + m_codechalSettings->mode = CODECHAL_DECODE_MODE_AVCVLD; m_codechalSettings->standard = CODECHAL_AVC; diff --git a/media_softlet/linux/common/codec/ddi/dec/ddi_decode_avc_specific.h b/media_softlet/linux/common/codec/ddi/dec/ddi_decode_avc_specific.h index 6cec42fcc5..52e10d9a25 100644 --- a/media_softlet/linux/common/codec/ddi/dec/ddi_decode_avc_specific.h +++ b/media_softlet/linux/common/codec/ddi/dec/ddi_decode_avc_specific.h @@ -59,6 +59,8 @@ class DdiDecodeAvc : public DdiDecodeBase VABufferID *buffers, int32_t numBuffers) override; + virtual MOS_FORMAT GetFormat() override; + virtual VAStatus SetDecodeParams() override; virtual void ContextInit( diff --git a/media_softlet/linux/common/ddi/ddi_register_components_specific.h b/media_softlet/linux/common/ddi/ddi_register_components_specific.h index b6c1246750..62e4b0d260 100644 --- a/media_softlet/linux/common/ddi/ddi_register_components_specific.h +++ b/media_softlet/linux/common/ddi/ddi_register_components_specific.h @@ -166,6 +166,16 @@ static bool RegisteredH264HighVLD = static bool RegisteredH264ConstrainedBaselineVLD = DdiDecodeFactory:: Register(ComponentInfo{VAProfileH264ConstrainedBaseline, VAEntrypointVLD}); +#if VA_CHECK_VERSION(1, 18, 0) +static bool RegisteredH264High10VLD = + DdiDecodeFactory:: + Register(ComponentInfo{VAProfileH264High10, VAEntrypointVLD}); +#endif +#if VA_CHECK_VERSION(1, 23, 0) +static bool RegisteredH264High422VLD = + DdiDecodeFactory:: + Register(ComponentInfo{VAProfileH264High422, VAEntrypointVLD}); +#endif #endif // _AVC_DECODE_SUPPORTED #if defined (_AV1_DECODE_SUPPORTED) diff --git a/media_softlet/linux/xe3_lpm_r0/ddi/capstable_data_xe3_lpm_r0_specific.h b/media_softlet/linux/xe3_lpm_r0/ddi/capstable_data_xe3_lpm_r0_specific.h index f6067cd2fa..cab818790d 100644 --- a/media_softlet/linux/xe3_lpm_r0/ddi/capstable_data_xe3_lpm_r0_specific.h +++ b/media_softlet/linux/xe3_lpm_r0/ddi/capstable_data_xe3_lpm_r0_specific.h @@ -253,6 +253,20 @@ static const EntrypointMap entrypointMap_VAProfileH264High_Xe3_Lpm_r0 #endif }; +static const EntrypointMap entrypointMap_VAProfileH264High10_Xe3_Lpm_r0 +{ +#if defined(_AVC_DECODE_SUPPORTED) + {VAEntrypointVLD, &entrypointMap_VAProfileH264High10Dec_Data_Xe3_Lpm_r0}, +#endif +}; + +static const EntrypointMap entrypointMap_VAProfileH264High422_Xe3_Lpm_r0 +{ +#if defined(_AVC_DECODE_SUPPORTED) + {VAEntrypointVLD, &entrypointMap_VAProfileH264High422Dec_Data_Xe3_Lpm_r0}, +#endif +}; + static const EntrypointMap entrypointMap_VAProfileH264ConstrainedBaseline_Xe3_Lpm_r0 { #if defined(_AVC_ENCODE_VDENC_SUPPORTED) @@ -391,6 +405,15 @@ static const ProfileMap profileMap_Xe3_Lpm_r0 {VAProfileH264ConstrainedBaseline, &entrypointMap_VAProfileH264ConstrainedBaseline_Xe3_Lpm_r0}, #endif +#if defined(_AVC_DECODE_SUPPORTED) +#if VA_CHECK_VERSION(1, 18, 0) + {VAProfileH264High10, &entrypointMap_VAProfileH264High10_Xe3_Lpm_r0}, +#endif +#if VA_CHECK_VERSION(1, 23, 0) + {VAProfileH264High422, &entrypointMap_VAProfileH264High422_Xe3_Lpm_r0}, +#endif +#endif + #if defined(_JPEG_ENCODE_SUPPORTED) || defined(_JPEG_DECODE_SUPPORTED) {VAProfileJPEGBaseline, &entrypointMap_VAProfileJPEGBaseline_Xe3_Lpm_r0}, #endif diff --git a/media_softlet/linux/xe3_lpm_r0/decode/avc/ddi/capstable_data_avc_decode_xe3_lpm_r0_specific.h b/media_softlet/linux/xe3_lpm_r0/decode/avc/ddi/capstable_data_avc_decode_xe3_lpm_r0_specific.h index a27507d5c8..73817628e5 100644 --- a/media_softlet/linux/xe3_lpm_r0/decode/avc/ddi/capstable_data_avc_decode_xe3_lpm_r0_specific.h +++ b/media_softlet/linux/xe3_lpm_r0/decode/avc/ddi/capstable_data_avc_decode_xe3_lpm_r0_specific.h @@ -68,6 +68,14 @@ static ConfigDataList configDataList_VAProfileH264High10_VAEntrypointVLD_Xe3_Lpm {VA_DEC_SLICE_MODE_BASE, VA_ENCRYPTION_TYPE_NONE, VA_DEC_PROCESSING} }; +static ConfigDataList configDataList_VAProfileH264High422_VAEntrypointVLD_Xe3_Lpm_r0 = +{ + {VA_DEC_SLICE_MODE_NORMAL, VA_ENCRYPTION_TYPE_NONE, VA_DEC_PROCESSING_NONE}, + {VA_DEC_SLICE_MODE_NORMAL, VA_ENCRYPTION_TYPE_NONE, VA_DEC_PROCESSING}, + {VA_DEC_SLICE_MODE_BASE, VA_ENCRYPTION_TYPE_NONE, VA_DEC_PROCESSING_NONE}, + {VA_DEC_SLICE_MODE_BASE, VA_ENCRYPTION_TYPE_NONE, VA_DEC_PROCESSING} +}; + //! //! \brief Definition for AttribList //! @@ -107,6 +115,18 @@ static const AttribList attribList_VAProfileH264High10_VAEntrypointVLD_Xe3_Lpm_r {VAConfigAttribCustomRoundingControl, 1}, }; +static const AttribList attribList_VAProfileH264High422_VAEntrypointVLD_Xe3_Lpm_r0 +{ + {VAConfigAttribRTFormat, VA_RT_FORMAT_YUV420_10 | VA_RT_FORMAT_YUV422_10 | VA_RT_FORMAT_YUV420_10BPP}, + {VAConfigAttribDecSliceMode, VA_DEC_SLICE_MODE_NORMAL | VA_DEC_SLICE_MODE_BASE}, + {VAConfigAttribDecProcessing, VA_DEC_PROCESSING}, + {VAConfigAttribMaxPictureWidth, CODEC_4K_MAX_PIC_WIDTH}, + {VAConfigAttribMaxPictureHeight, CODEC_4K_MAX_PIC_HEIGHT}, + {VAConfigAttribEncryption, VA_ATTRIB_NOT_SUPPORTED}, + {VAConfigAttribProcessingRate, VA_PROCESSING_RATE_DECODE}, + {VAConfigAttribCustomRoundingControl, 1}, +}; + static const AttribList attribList_VAProfileH264ConstrainedBaseline_VAEntrypointVLD_Xe3_Lpm_r0 { {VAConfigAttribRTFormat, VA_RT_FORMAT_YUV420 | VA_RT_FORMAT_YUV422 | VA_RT_FORMAT_RGB32}, @@ -166,6 +186,14 @@ static ProfileSurfaceAttribInfo surfaceAttribInfo_VAProfileH264High10_VAEntrypoi }}} }; +static ProfileSurfaceAttribInfo surfaceAttribInfo_VAProfileH264High422_VAEntrypointVLD_Xe3_Lpm_r0 = +{ + {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC_Y210}}}, + {VASurfaceAttribMaxWidth, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {CODEC_4K_MAX_PIC_WIDTH}}}, + {VASurfaceAttribMaxHeight, VA_SURFACE_ATTRIB_GETTABLE, {VAGenericValueTypeInteger, {CODEC_4K_MAX_PIC_HEIGHT}}}, + {VASurfaceAttribMemoryType, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_SURFACE_ATTRIB_MEM_TYPE_VA| VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME_2}}} +}; + static ProfileSurfaceAttribInfo surfaceAttribInfo_VAProfileH264ConstrainedBaseline_VAEntrypointVLD_Xe3_Lpm_r0 = { {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC_NV12}}}, @@ -211,4 +239,10 @@ static const EntrypointData entrypointMap_VAProfileH264High10Dec_Data_Xe3_Lpm_r0 &surfaceAttribInfo_VAProfileH264High10_VAEntrypointVLD_Xe3_Lpm_r0 }; +static const EntrypointData entrypointMap_VAProfileH264High422Dec_Data_Xe3_Lpm_r0 +{ + &attribList_VAProfileH264High422_VAEntrypointVLD_Xe3_Lpm_r0, + &configDataList_VAProfileH264High422_VAEntrypointVLD_Xe3_Lpm_r0, + &surfaceAttribInfo_VAProfileH264High422_VAEntrypointVLD_Xe3_Lpm_r0 +}; #endif diff --git a/media_softlet/linux/xe3_lpm_r0/vp/capstable_data_vp_xe3_lpm_r0_specific.h b/media_softlet/linux/xe3_lpm_r0/vp/capstable_data_vp_xe3_lpm_r0_specific.h index 6ca3c4819e..bede79b8c8 100644 --- a/media_softlet/linux/xe3_lpm_r0/vp/capstable_data_vp_xe3_lpm_r0_specific.h +++ b/media_softlet/linux/xe3_lpm_r0/vp/capstable_data_vp_xe3_lpm_r0_specific.h @@ -107,4 +107,4 @@ static EntrypointMap entrypointMap_VAProfileNone_Xe3_lpm_r0 {VAEntrypointVideoProc, &entrypointMap_VAProfileNone_Data_Xe3_lpm_r0}, }; -#endif \ No newline at end of file +#endif From 48a87b9d2f50a2bbf3a7367a12d1daa69b4927ae Mon Sep 17 00:00:00 2001 From: "Cheah, Vincent Beng Keat" Date: Thu, 21 May 2026 09:11:00 +0800 Subject: [PATCH 2/3] [Decode] Fix MHW interface for AVC 10 decode --- ...ecode_avc_picture_packet_xe3p_lpm_base.cpp | 3 +- ...decode_avc_picture_packet_xe3_lpm_base.cpp | 4 -- .../agnostic/common/hw/vdbox/media_srcs.cmake | 2 +- .../common/hw/vdbox/mhw_vdbox_mfx_cmdpar.h | 52 +++++++++++++++++-- .../common/hw/vdbox/mhw_vdbox_mfx_impl.h | 4 -- 5 files changed, 49 insertions(+), 16 deletions(-) diff --git a/media_softlet/agnostic/Xe3P_M_plus/Xe3P_LPM_base/codec/hal/dec/avc/packet/decode_avc_picture_packet_xe3p_lpm_base.cpp b/media_softlet/agnostic/Xe3P_M_plus/Xe3P_LPM_base/codec/hal/dec/avc/packet/decode_avc_picture_packet_xe3p_lpm_base.cpp index a6b21636fc..c9db92cd3e 100644 --- a/media_softlet/agnostic/Xe3P_M_plus/Xe3P_LPM_base/codec/hal/dec/avc/packet/decode_avc_picture_packet_xe3p_lpm_base.cpp +++ b/media_softlet/agnostic/Xe3P_M_plus/Xe3P_LPM_base/codec/hal/dec/avc/packet/decode_avc_picture_packet_xe3p_lpm_base.cpp @@ -248,7 +248,6 @@ namespace decode params.surfaceFormat = SURFACE_FORMAT_PLANAR4208; // 420 8 bit } } -#ifdef IGFX_MFX_INTERFACE_EXT_SUPPORT else if (chromaType == avcChromaFormat420 && psSurface->Format == Format_P010) { if (ucBitDepthLumaMinus8 == 2 && ucBitDepthChromaMinus8 == 2) @@ -263,7 +262,7 @@ namespace decode params.surfaceFormat = SURFACE_FORMAT_Y216; // 422 10 bit (upto 16 bit) } } -#endif + return MOS_STATUS_SUCCESS; } diff --git a/media_softlet/agnostic/Xe3_M_plus/Xe3_LPM_base/codec/hal/dec/avc/packet/decode_avc_picture_packet_xe3_lpm_base.cpp b/media_softlet/agnostic/Xe3_M_plus/Xe3_LPM_base/codec/hal/dec/avc/packet/decode_avc_picture_packet_xe3_lpm_base.cpp index ba065db62b..0d8e77b9b6 100644 --- a/media_softlet/agnostic/Xe3_M_plus/Xe3_LPM_base/codec/hal/dec/avc/packet/decode_avc_picture_packet_xe3_lpm_base.cpp +++ b/media_softlet/agnostic/Xe3_M_plus/Xe3_LPM_base/codec/hal/dec/avc/packet/decode_avc_picture_packet_xe3_lpm_base.cpp @@ -227,10 +227,8 @@ namespace decode { AvcDecodePicPkt::MHW_SETPAR_F(MFX_AVC_IMG_STATE)(params); -#ifdef IGFX_MFX_INTERFACE_EXT_SUPPORT params.bitDepthLumaMinus8 = m_avcPicParams->bit_depth_luma_minus8; params.bitDepthChromaMinus8 = m_avcPicParams->bit_depth_chroma_minus8; -#endif #ifdef _DECODE_PROCESSING_SUPPORTED if (m_downSamplingFeature->IsVDAQMHistogramEnabled()) { @@ -257,7 +255,6 @@ namespace decode params.surfaceFormat = SURFACE_FORMAT_PLANAR4208; // 420 8 bit } } -#ifdef IGFX_MFX_INTERFACE_EXT_SUPPORT else if (chromaType == avcChromaFormat420 && psSurface->Format == Format_P010) { if (ucBitDepthLumaMinus8 == 2 && ucBitDepthChromaMinus8 == 2) @@ -272,7 +269,6 @@ namespace decode params.surfaceFormat = SURFACE_FORMAT_Y216; // 422 10 bit (upto 16 bit) } } -#endif return MOS_STATUS_SUCCESS; } diff --git a/media_softlet/agnostic/common/hw/vdbox/media_srcs.cmake b/media_softlet/agnostic/common/hw/vdbox/media_srcs.cmake index 006f63f375..947c2afd40 100644 --- a/media_softlet/agnostic/common/hw/vdbox/media_srcs.cmake +++ b/media_softlet/agnostic/common/hw/vdbox/media_srcs.cmake @@ -121,4 +121,4 @@ set(TMP_SOFTLET_MHW_VDBOX_AQM_HEADERS_ "") set(SOFTLET_MHW_VDBOX_PRIVATE_INCLUDE_DIRS_ ${SOFTLET_MHW_VDBOX_PRIVATE_INCLUDE_DIRS_} ${CMAKE_CURRENT_LIST_DIR} -) \ No newline at end of file +) diff --git a/media_softlet/agnostic/common/hw/vdbox/mhw_vdbox_mfx_cmdpar.h b/media_softlet/agnostic/common/hw/vdbox/mhw_vdbox_mfx_cmdpar.h index 2738546e36..caacae102b 100644 --- a/media_softlet/agnostic/common/hw/vdbox/mhw_vdbox_mfx_cmdpar.h +++ b/media_softlet/agnostic/common/hw/vdbox/mhw_vdbox_mfx_cmdpar.h @@ -32,12 +32,7 @@ #include "codec_def_common_jpeg.h" #include "codec_def_common_mpeg2.h" -#ifdef IGFX_MFX_INTERFACE_EXT_SUPPORT -#include "mhw_vdbox_mfx_cmdpar_ext.h" #define __MHW_VDBOX_MFX_WRAPPER_EXT(STUFF) STUFF -#else -#define __MHW_VDBOX_MFX_WRAPPER_EXT(STUFF) -#endif namespace mhw { @@ -63,6 +58,53 @@ enum SURFACE_FORMAT SURFACE_FORMAT_Y8UNORM = 12, //!< Sample_8x8 Only }; +enum SURFACE_FORMAT_EXT +{ + SURFACE_FORMAT_P010 = 13, //!< P010 for 420 10 bits + SURFACE_FORMAT_Y216 = 14, //!< Y216 for 422 10 bit (upto 16 bit) + SURFACE_FORMAT_Y210V = 14, //!< Y210 Variant +}; + +#define MFX_AVC_IMG_STATE_EXT \ + uint8_t minFrameWSize = 0; \ + uint8_t loadSlicePointerFlag = 0;\ + uint8_t tqchromadisable = 1; \ + uint8_t pakQpShift = 0; \ + uint8_t nonfirstpassflag = 0; \ + uint8_t minframewsizeunits = 0; \ + uint8_t granularCrcPoison = 0; \ + uint8_t poisonNthGranularCrc = 0; \ + uint8_t granularCrcStreamoutEnable = 0; \ + uint8_t granularCrcStreaminEnable = 0 + +#define MFX_AVC_SLICE_STATE_EXT \ + uint8_t rateControlCounterEnable = 0; \ + uint8_t rcTriggleMode = 0; \ + uint8_t rcStableTolerance = 0; \ + uint8_t rcPanicEnable = 0; \ + uint8_t mbTypeDirectConversionDis = 0; \ + uint8_t mbTypeSkipConversionDis = 0; \ + uint8_t compressBitstreamOutputDisFlag = 0;\ + uint8_t streamID10 = 0; \ + uint8_t magnitudeQpMaxNegativeModifier = 0;\ + uint8_t magnitudeQpMaxPositiveModifier = 0;\ + uint8_t shrinkParamShrinkResistance = 0; \ + uint8_t shrinkParamShrinkInit = 0; \ + uint8_t growParamGrowResistance = 0; \ + uint8_t correct6 = 0; \ + uint8_t correct5 = 0; \ + uint8_t correct4 = 0; \ + uint8_t correct3 = 0; \ + uint8_t correct2 = 0; \ + uint8_t correct1 = 0 + +#define MFX_SURFACE_STATE_EXT \ + uint8_t variantSurfaceFormatEnable = 0; + +#define MFX_PIPE_BUF_ADDR_STATE_EXT \ + PMOS_RESOURCE granularCRCStreaminBuffer; \ + PMOS_RESOURCE granularCRCStreamoutBuffer; + //! //! \enum MfxDecoderModeSelect //! \brief MFX decoder mode select diff --git a/media_softlet/agnostic/common/hw/vdbox/mhw_vdbox_mfx_impl.h b/media_softlet/agnostic/common/hw/vdbox/mhw_vdbox_mfx_impl.h index de60fb591f..d2a9d2ed98 100644 --- a/media_softlet/agnostic/common/hw/vdbox/mhw_vdbox_mfx_impl.h +++ b/media_softlet/agnostic/common/hw/vdbox/mhw_vdbox_mfx_impl.h @@ -31,10 +31,6 @@ #include "mhw_impl.h" #include "mhw_mi_impl.h" -#ifdef IGFX_MFX_INTERFACE_EXT_SUPPORT -#include "mhw_vdbox_mfx_hwcmd_ext.h" -#endif - #define AVC_MPR_ROWSTORE_BASEADDRESS 256 #define AVC_MPR_ROWSTORE_BASEADDRESS_MBAFF 512 #define AVC_IP_ROWSTORE_BASEADDRESS 512 From ae9931f88eadc22b9dbb27699f61aff9fdf2eb6f Mon Sep 17 00:00:00 2001 From: "Fan, Daniel Chun Yin" Date: Thu, 21 May 2026 09:11:30 +0800 Subject: [PATCH 3/3] [Decode] Add AVC 10-Bit decode for WCL --- .../xe3_lpm_r0/ddi/capstable_data_xe3_lpm_r0_specific.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/media_softlet/linux/xe3_lpm_r0/ddi/capstable_data_xe3_lpm_r0_specific.h b/media_softlet/linux/xe3_lpm_r0/ddi/capstable_data_xe3_lpm_r0_specific.h index cab818790d..f81e7fed98 100644 --- a/media_softlet/linux/xe3_lpm_r0/ddi/capstable_data_xe3_lpm_r0_specific.h +++ b/media_softlet/linux/xe3_lpm_r0/ddi/capstable_data_xe3_lpm_r0_specific.h @@ -476,6 +476,15 @@ static const ProfileMap profileMap_Xe3_Lpm_ext_r0 {VAProfileH264ConstrainedBaseline, &entrypointMap_VAProfileH264ConstrainedBaseline_Xe3_Lpm_r0}, #endif +#if defined(_AVC_DECODE_SUPPORTED) +#if VA_CHECK_VERSION(1, 18, 0) + {VAProfileH264High10, &entrypointMap_VAProfileH264High10_Xe3_Lpm_r0}, +#endif +#if VA_CHECK_VERSION(1, 23, 0) + {VAProfileH264High422, &entrypointMap_VAProfileH264High422_Xe3_Lpm_r0}, +#endif +#endif + #if defined(_JPEG_ENCODE_SUPPORTED) || defined(_JPEG_DECODE_SUPPORTED) {VAProfileJPEGBaseline, &entrypointMap_VAProfileJPEGBaseline_Xe3_Lpm_r0}, #endif