From 0128476457f951f61878f335fc30d7da9fd7b5a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Semenov=20Herman=20=28=D0=A1=D0=B5=D0=BC=D0=B5=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=20=D0=93=D0=B5=D1=80=D0=BC=D0=B0=D0=BD=29?= Date: Sat, 2 Nov 2024 10:41:52 +0300 Subject: [PATCH] [codechal,mhw] Align structures for 64-bit optimize move/copy structures --- .../codec/shared/codec_def_decode_vvc.h | 2 +- .../agnostic/common/cp/mhw_cp_interface.h | 2 +- media_common/agnostic/common/hw/mhw_mi.h | 4 +-- media_common/agnostic/common/hw/mhw_render.h | 8 ++--- media_common/agnostic/common/hw/mhw_sfc.h | 2 +- .../agnostic/common/hw/mhw_state_heap.h | 18 +++++----- media_common/agnostic/common/hw/mhw_vebox.h | 14 ++++---- .../agnostic/common/hw/vdbox/mhw_vdbox.h | 16 ++++----- media_driver/agnostic/common/cm/cm_hal.h | 10 +++--- media_driver/agnostic/common/cm/cm_wrapper.h | 2 +- .../common/codec/hal/codechal_decode_sfc.h | 2 +- .../common/codec/hal/codechal_decode_vc1.h | 6 ++-- .../codec/hal/codechal_encode_sfc_base.h | 2 +- .../codec/hal/codechal_huc_cmd_initializer.h | 15 ++++---- .../common/codec/hal/codechal_utilities.h | 34 +++++++++---------- .../common/hw/vdbox/mhw_vdbox_avp_interface.h | 8 ++--- .../common/hw/vdbox/mhw_vdbox_hcp_interface.h | 4 +-- .../common/hw/vdbox/mhw_vdbox_mfx_interface.h | 8 ++--- .../gen9/codec/hal/codechal_fei_avc_g9.cpp | 2 +- .../dec/vvc/packet/decode_vvc_s2l_packet.h | 2 +- .../enc/shared/features/encode_preenc_defs.h | 2 +- .../agnostic/common/hw/mhw_memory_pool.cpp | 2 +- .../agnostic/common/hw/mhw_mi_cmdpar.h | 2 +- .../agnostic/common/hw/mhw_render_cmdpar.h | 6 ++-- .../common/hw/vdbox/mhw_vdbox_hcp_cmdpar.h | 18 +++++----- .../shared/packet/media_render_cmd_packet.h | 17 +++++----- .../common/vp/hal/features/vp_filter.h | 20 +++++------ 27 files changed, 113 insertions(+), 115 deletions(-) diff --git a/media_common/agnostic/common/codec/shared/codec_def_decode_vvc.h b/media_common/agnostic/common/codec/shared/codec_def_decode_vvc.h index 318e75e1fb7..66a51fa049a 100644 --- a/media_common/agnostic/common/codec/shared/codec_def_decode_vvc.h +++ b/media_common/agnostic/common/codec/shared/codec_def_decode_vvc.h @@ -101,8 +101,8 @@ struct SliceDescriptor int32_t m_numCtusInCurrSlice; //!< number of CTUs in current slice //Rect slices params - uint16_t m_tileIdx; //!< tile index corresponding to the first CTU in the slice uint32_t m_numSlicesInTile; //!< number of slices in current tile for the special case of multiple slices inside a single tile + uint16_t m_tileIdx; //!< tile index corresponding to the first CTU in the slice int16_t m_sliceWidthInTiles; //!< slice width in units of tiles int16_t m_sliceHeightInTiles; //!< slice height in units of tiles uint16_t m_sliceHeightInCtu; //!< slice height in units of CTUs for the special case of multiple slices inside a single tile diff --git a/media_common/agnostic/common/cp/mhw_cp_interface.h b/media_common/agnostic/common/cp/mhw_cp_interface.h index e05a1cd2da8..cebe86f987a 100644 --- a/media_common/agnostic/common/cp/mhw_cp_interface.h +++ b/media_common/agnostic/common/cp/mhw_cp_interface.h @@ -71,8 +71,8 @@ typedef struct _MHW_ADD_CP_COPY_PARAMS { PMOS_RESOURCE presSrc; PMOS_RESOURCE presDst; - uint32_t size; uint64_t offset; + uint32_t size; bool bypass; } MHW_ADD_CP_COPY_PARAMS, *PMHW_ADD_CP_COPY_PARAMS; diff --git a/media_common/agnostic/common/hw/mhw_mi.h b/media_common/agnostic/common/hw/mhw_mi.h index 6156b6d253f..081dcdcba54 100644 --- a/media_common/agnostic/common/hw/mhw_mi.h +++ b/media_common/agnostic/common/hw/mhw_mi.h @@ -190,8 +190,8 @@ typedef struct _MHW_PIPE_CONTROL_PARAMS typedef struct _MHW_MI_COPY_MEM_MEM_PARAMS { PMOS_RESOURCE presSrc; - uint32_t dwSrcOffset; PMOS_RESOURCE presDst; + uint32_t dwSrcOffset; uint32_t dwDstOffset; } MHW_MI_COPY_MEM_MEM_PARAMS, *PMHW_MI_COPY_MEM_MEM_PARAMS; @@ -260,9 +260,9 @@ typedef struct _MHW_MI_FLUSH_DW_PARAMS uint32_t dwResourceOffset; uint32_t dwDataDW1; // Value to Write uint32_t dwDataDW2; - bool bVideoPipelineCacheInvalidate; uint32_t postSyncOperation; uint32_t bQWordEnable; + bool bVideoPipelineCacheInvalidate; bool bEnablePPCFlush; } MHW_MI_FLUSH_DW_PARAMS, *PMHW_MI_FLUSH_DW_PARAMS; diff --git a/media_common/agnostic/common/hw/mhw_render.h b/media_common/agnostic/common/hw/mhw_render.h index 36c895c2991..e77daf589b2 100644 --- a/media_common/agnostic/common/hw/mhw_render.h +++ b/media_common/agnostic/common/hw/mhw_render.h @@ -132,13 +132,12 @@ typedef struct _MHW_RENDER_ENGINE_CAPS typedef struct _MHW_STATE_BASE_ADDR_PARAMS { PMOS_RESOURCE presGeneralState; - uint32_t dwGeneralStateSize; PMOS_RESOURCE presDynamicState; - uint32_t dwDynamicStateSize; - bool bDynamicStateRenderTarget; PMOS_RESOURCE presIndirectObjectBuffer; - uint32_t dwIndirectObjectBufferSize; PMOS_RESOURCE presInstructionBuffer; + uint32_t dwGeneralStateSize; + uint32_t dwDynamicStateSize; + uint32_t dwIndirectObjectBufferSize; uint32_t dwInstructionBufferSize; uint32_t mocs4InstructionCache; uint32_t mocs4GeneralState; @@ -147,6 +146,7 @@ typedef struct _MHW_STATE_BASE_ADDR_PARAMS uint32_t mocs4IndirectObjectBuffer; uint32_t mocs4StatelessDataport; uint32_t l1CacheConfig; + bool bDynamicStateRenderTarget; bool addressDis; } MHW_STATE_BASE_ADDR_PARAMS, *PMHW_STATE_BASE_ADDR_PARAMS; diff --git a/media_common/agnostic/common/hw/mhw_sfc.h b/media_common/agnostic/common/hw/mhw_sfc.h index aa0ed389ce9..11257f4a480 100644 --- a/media_common/agnostic/common/hw/mhw_sfc.h +++ b/media_common/agnostic/common/hw/mhw_sfc.h @@ -314,8 +314,8 @@ typedef struct _MHW_SFC_OUT_SURFACE_PARAMS //! typedef struct _MHW_SFC_LOCK_PARAMS { - uint8_t sfcPipeMode; //!< SFC Pipe Mode uint32_t dwGaClientId; // Ga Client Id + uint8_t sfcPipeMode; //!< SFC Pipe Mode bool bOutputToMemory; // Write Vebox or Vdbox o/p to memory } MHW_SFC_LOCK_PARAMS, *PMHW_SFC_LOCK_PARAMS; diff --git a/media_common/agnostic/common/hw/mhw_state_heap.h b/media_common/agnostic/common/hw/mhw_state_heap.h index 2f9afff0afd..c610e37b0ac 100644 --- a/media_common/agnostic/common/hw/mhw_state_heap.h +++ b/media_common/agnostic/common/hw/mhw_state_heap.h @@ -189,13 +189,13 @@ typedef enum _MHW_SCALING_MODE //! typedef struct _MHW_AVS_PARAMS { - MOS_FORMAT Format; - float fScaleX; - float fScaleY; int32_t *piYCoefsX; int32_t *piYCoefsY; int32_t *piUVCoefsX; int32_t *piUVCoefsY; + MOS_FORMAT Format; + float fScaleX; + float fScaleY; bool bForcePolyPhaseCoefs; bool bUse8x8Filter; } MHW_AVS_PARAMS, *PMHW_AVS_PARAMS; @@ -617,6 +617,12 @@ typedef struct _MHW_SAMPLER_AVS_TABLE_PARAM //! typedef struct _MHW_SAMPLER_STATE_AVS_PARAM { + PMHW_SAMPLER_AVS_TABLE_PARAM pMhwSamplerAvsTableParam; // pointer to AVS scaling 8x8 table params + + void *pTable8x8_Ptr; // Table data ptr in GSH + int32_t iTable8x8_Index; // Table allocation index (not needed on Gen8+) + uint32_t dwTable8x8_Offset; // Table data offset in GSH + int16_t stateID; // STE params @@ -656,12 +662,6 @@ typedef struct _MHW_SAMPLER_STATE_AVS_PARAM uint16_t YSlope1; uint16_t S2U; uint16_t S1U; - - PMHW_SAMPLER_AVS_TABLE_PARAM pMhwSamplerAvsTableParam; // pointer to AVS scaling 8x8 table params - - int32_t iTable8x8_Index; // Table allocation index (not needed on Gen8+) - void *pTable8x8_Ptr; // Table data ptr in GSH - uint32_t dwTable8x8_Offset; // Table data offset in GSH } MHW_SAMPLER_STATE_AVS_PARAM, *PMHW_SAMPLER_STATE_AVS_PARAM; //! diff --git a/media_common/agnostic/common/hw/mhw_vebox.h b/media_common/agnostic/common/hw/mhw_vebox.h index 2cd08ab2efc..9c8ab22cbdf 100644 --- a/media_common/agnostic/common/hw/mhw_vebox.h +++ b/media_common/agnostic/common/hw/mhw_vebox.h @@ -399,18 +399,18 @@ typedef struct _MHW_LACE_PARAMS typedef struct _MHW_COLORPIPE_PARAMS { uint32_t bActive; //!< Active or not + uint32_t dwAceLevel; + uint32_t dwAceStrength; + MHW_STE_PARAMS SteParams; + MHW_STD_PARAMS StdParams; + MHW_LACE_PARAMS LaceParams; + MHW_TCC_PARAMS TccParams; bool bEnableACE; bool bEnableSTE; bool bEnableSTD; // vebox STD alone enabled or not bool bEnableTCC; bool bAceLevelChanged; - uint32_t dwAceLevel; - uint32_t dwAceStrength; bool bEnableLACE; - MHW_STE_PARAMS SteParams; - MHW_STD_PARAMS StdParams; - MHW_TCC_PARAMS TccParams; - MHW_LACE_PARAMS LaceParams; } MHW_COLORPIPE_PARAMS, *PMHW_COLORPIPE_PARAMS; //! @@ -625,10 +625,10 @@ typedef struct _MHW_CAPPIPE_PARAMS //! typedef struct _MHW_3DLUT_PARAMS { + uint8_t *pLUT; //!< Pointer to the LUT value uint32_t bActive; //!< Active or not uint32_t LUTSize; //!< Size (one dimensions) of the LUT uint32_t LUTLength; //!< Length of the LUT, in unit of bit - uint8_t *pLUT; //!< Pointer to the LUT value MHW_3DLUT_INTERPOLATION InterpolationMethod; //!< Vebox 3DLut interpolation method } MHW_3DLUT_PARAMS, *PMHW_3DLUT_PARAMS; diff --git a/media_common/agnostic/common/hw/vdbox/mhw_vdbox.h b/media_common/agnostic/common/hw/vdbox/mhw_vdbox.h index 6d2ef30a552..92f8f0ba1d7 100644 --- a/media_common/agnostic/common/hw/vdbox/mhw_vdbox.h +++ b/media_common/agnostic/common/hw/vdbox/mhw_vdbox.h @@ -276,24 +276,24 @@ using PMHW_VDBOX_PIPE_MODE_SELECT_PARAMS = MHW_VDBOX_PIPE_MODE_SELECT_PARAMS * ; typedef struct _MHW_VDBOX_SURFACE_PARAMS { - uint32_t Mode; PMOS_SURFACE psSurface; // 2D surface parameters + uint32_t Mode; + uint32_t dwUVPlaneAlignment; + uint32_t dwActualWidth; + uint32_t dwActualHeight; + uint32_t dwReconSurfHeight; + uint32_t dwCompressionFormat; + MOS_MEMCOMP_STATE mmcState; + uint8_t mmcSkipMask; uint8_t ucVDirection; uint8_t ChromaType; uint8_t ucSurfaceStateId; uint8_t ucBitDepthLumaMinus8; uint8_t ucBitDepthChromaMinus8; - uint32_t dwUVPlaneAlignment; bool bDisplayFormatSwizzle; bool bSrc8Pak10Mode; bool bColorSpaceSelection; bool bVdencDynamicScaling; - uint32_t dwActualWidth; - uint32_t dwActualHeight; - uint32_t dwReconSurfHeight; - MOS_MEMCOMP_STATE mmcState; - uint8_t mmcSkipMask; - uint32_t dwCompressionFormat; uint8_t refsMmcEnable; uint8_t refsMmcType; } MHW_VDBOX_SURFACE_PARAMS, *PMHW_VDBOX_SURFACE_PARAMS; diff --git a/media_driver/agnostic/common/cm/cm_hal.h b/media_driver/agnostic/common/cm/cm_hal.h index f97574ff507..bd652841b3d 100644 --- a/media_driver/agnostic/common/cm/cm_hal.h +++ b/media_driver/agnostic/common/cm/cm_hal.h @@ -579,19 +579,19 @@ struct CM_HAL_WAVEFRONT26Z_DISPATCH_INFO //*----------------------------------------------------------------------------- struct CM_HAL_KERNEL_THREADSPACE_PARAM { + CM_HAL_DEPENDENCY dependencyInfo; // [in] Kernel dependency + CM_HAL_DEPENDENCY dependencyVectors; // [in] for engineering build + CM_WALKING_PARAMETERS walkingParams; // [in] for engineering build + PCM_HAL_SCOREBOARD threadCoordinates; // [in] + uint32_t colorCountMinusOne; // [in] for color count minus one uint16_t threadSpaceWidth; // [in] Kernel Threadspace width uint16_t threadSpaceHeight; // [in] Kernel Threadspace height CM_DEPENDENCY_PATTERN patternType; // [in] Kernel dependency as enum - CM_HAL_DEPENDENCY dependencyInfo; // [in] Kernel dependency - PCM_HAL_SCOREBOARD threadCoordinates; // [in] uint8_t reuseBBUpdateMask; // [in] CM_HAL_WAVEFRONT26Z_DISPATCH_INFO dispatchInfo; // [in] uint8_t globalDependencyMask; // [in] dependency mask in gloabal dependency vectors uint8_t walkingParamsValid; // [in] for engineering build - CM_WALKING_PARAMETERS walkingParams; // [in] for engineering build uint8_t dependencyVectorsValid; // [in] for engineering build - CM_HAL_DEPENDENCY dependencyVectors; // [in] for engineering build - uint32_t colorCountMinusOne; // [in] for color count minus one CM_MW_GROUP_SELECT groupSelect; // [in] for group select on BDW+ CM_HAL_BB_DIRTY_STATUS bbDirtyStatus; // [in] batch buffer dirty status CM_WALKING_PATTERN walkingPattern; // [in] media walking pattern as enum diff --git a/media_driver/agnostic/common/cm/cm_wrapper.h b/media_driver/agnostic/common/cm/cm_wrapper.h index 24b2290ccae..96d5f6d4c38 100644 --- a/media_driver/agnostic/common/cm/cm_wrapper.h +++ b/media_driver/agnostic/common/cm/cm_wrapper.h @@ -188,9 +188,9 @@ typedef struct _CM_CREATEVMESURFACE_PARAM typedef struct _CM_CREATESAMPLER_PARAM { - CM_SAMPLER_STATE sampleState; // [in] void *samplerHandle; // [out] void *samplerIndexHandle; // [out] + CM_SAMPLER_STATE sampleState; // [in] int32_t returnValue; // [out] }CM_CREATESAMPLER_PARAM, *PCM_CREATESAMPLER_PARAM; diff --git a/media_driver/agnostic/common/codec/hal/codechal_decode_sfc.h b/media_driver/agnostic/common/codec/hal/codechal_decode_sfc.h index 9dbb24a3bfd..58f20a20761 100644 --- a/media_driver/agnostic/common/codec/hal/codechal_decode_sfc.h +++ b/media_driver/agnostic/common/codec/hal/codechal_decode_sfc.h @@ -187,7 +187,7 @@ class CodechalSfcState float m_cscInOffset[3] = {0}; //!< Csc In Offset float m_cscOutOffset[3] = {0}; //!< Csc Out Offset - MHW_AVS_PARAMS m_avsParams = {Format_Any}; //!< Avs Params + MHW_AVS_PARAMS m_avsParams = {.Format = Format_Any}; //!< Avs Params MHW_SFC_AVS_LUMA_TABLE m_lumaTable = {0}; //!< Avs Luma Table MHW_SFC_AVS_CHROMA_TABLE m_chromaTable = {0}; //!< Avs Chroma Table MHW_SFC_AVS_STATE m_avsState = {0}; //bLastPicInStream || pEncoder->bLastPicInSeq) + uint32_t * pdwMpeg2PicHeaderTotalBufferSize; + uint32_t * pdwMpeg2PicHeaderDataStartOffset; uint32_t dwBitSize; uint32_t dwOffset; uint32_t uiSkipEmulationCheckCount; @@ -109,8 +111,6 @@ struct MhwVdboxAvpPakInsertObjParams bool bSetLastPicInStreamData; bool bSliceHeaderIndicator; bool bHeaderLengthExcludeFrmSize; - uint32_t * pdwMpeg2PicHeaderTotalBufferSize; - uint32_t * pdwMpeg2PicHeaderDataStartOffset; bool bResetBitstreamStartingPos; uint32_t m_endOfHeaderInsertion; uint32_t dwLastPicInSeqData; @@ -195,15 +195,15 @@ class MhwVdboxAvpPipeBufAddrParams struct MhwVdboxAvpBufferSizeParams { - uint8_t m_bitDepthIdc; uint32_t m_picWidth; // picWidth in SB uint32_t m_picHeight; // picHeight in SB uint32_t m_tileWidth; // tileWidth in SB uint32_t m_bufferSize; - bool m_isSb128x128; uint32_t m_curFrameTileNum; uint32_t m_numTileCol; uint8_t m_numOfActivePipes; + uint8_t m_bitDepthIdc; + bool m_isSb128x128; }; struct MhwVdboxAvpBufferReallocParams diff --git a/media_driver/agnostic/common/hw/vdbox/mhw_vdbox_hcp_interface.h b/media_driver/agnostic/common/hw/vdbox/mhw_vdbox_hcp_interface.h index c63321af825..91e877b200a 100644 --- a/media_driver/agnostic/common/hw/vdbox/mhw_vdbox_hcp_interface.h +++ b/media_driver/agnostic/common/hw/vdbox/mhw_vdbox_hcp_interface.h @@ -85,8 +85,6 @@ typedef struct _MHW_VDBOX_HCP_BUFFER_SIZE_PARAMS typedef struct _MHW_VDBOX_HCP_BUFFER_REALLOC_PARAMS { - uint8_t ucMaxBitDepth; - uint8_t ucChromaFormat; uint32_t dwPicWidth; uint32_t dwPicHeight; uint32_t dwPicWidthAlloced; @@ -95,6 +93,8 @@ typedef struct _MHW_VDBOX_HCP_BUFFER_REALLOC_PARAMS uint32_t dwCtbLog2SizeYMax; uint32_t dwFrameSize; uint32_t dwFrameSizeAlloced; + uint8_t ucMaxBitDepth; + uint8_t ucChromaFormat; bool bNeedBiggerSize; }MHW_VDBOX_HCP_BUFFER_REALLOC_PARAMS, *PMHW_VDBOX_HCP_BUFFER_REALLOC_PARAMS; diff --git a/media_driver/agnostic/common/hw/vdbox/mhw_vdbox_mfx_interface.h b/media_driver/agnostic/common/hw/vdbox/mhw_vdbox_mfx_interface.h index d6ad2f03f57..5b669e5788d 100644 --- a/media_driver/agnostic/common/hw/vdbox/mhw_vdbox_mfx_interface.h +++ b/media_driver/agnostic/common/hw/vdbox/mhw_vdbox_mfx_interface.h @@ -316,16 +316,16 @@ typedef struct _MHW_VDBOX_AVC_DPB_PARAMS typedef struct _MHW_VDBOX_AVC_DIRECTMODE_PARAMS { - CODEC_PICTURE CurrPic; - bool isEncode; - uint32_t uiUsedForReferenceFlags; PMOS_RESOURCE presAvcDmvBuffers; - uint8_t ucAvcDmvIdx; PCODEC_AVC_DMV_LIST pAvcDmvList; PCODEC_PIC_ID pAvcPicIdx; void **avcRefList; + CODEC_PICTURE CurrPic; + uint32_t uiUsedForReferenceFlags; + bool isEncode; bool bPicIdRemappingInUse; int32_t CurrFieldOrderCnt[2]; + uint8_t ucAvcDmvIdx; bool bDisableDmvBuffers; PMOS_RESOURCE presMvcDummyDmvBuffer; } MHW_VDBOX_AVC_DIRECTMODE_PARAMS, *PMHW_VDBOX_AVC_DIRECTMODE_PARAMS; diff --git a/media_driver/agnostic/gen9/codec/hal/codechal_fei_avc_g9.cpp b/media_driver/agnostic/gen9/codec/hal/codechal_fei_avc_g9.cpp index bd00b036a53..08add3e7f7a 100644 --- a/media_driver/agnostic/gen9/codec/hal/codechal_fei_avc_g9.cpp +++ b/media_driver/agnostic/gen9/codec/hal/codechal_fei_avc_g9.cpp @@ -1983,8 +1983,8 @@ typedef struct _CODECHAL_ENCODE_AVC_MBENC_DISPATCH_PARAMS CodechalEncodeMdfKernelResource* pKernelRes; struct CodechalEncodeAvcSurfaceIdx *avcMBEncSurface; uint32_t frameWidthInMBs; - uint16_t wSliceHeight; uint32_t numSlices; + uint16_t wSliceHeight; uint16_t wSliceType; uint32_t dwNumMBs; bool EnableArbitrarySliceSize; diff --git a/media_softlet/agnostic/common/codec/hal/dec/vvc/packet/decode_vvc_s2l_packet.h b/media_softlet/agnostic/common/codec/hal/dec/vvc/packet/decode_vvc_s2l_packet.h index 95dade83aea..3a0335dffec 100644 --- a/media_softlet/agnostic/common/codec/hal/dec/vvc/packet/decode_vvc_s2l_packet.h +++ b/media_softlet/agnostic/common/codec/hal/dec/vvc/packet/decode_vvc_s2l_packet.h @@ -474,8 +474,8 @@ struct VvcS2lExtraBss int32_t m_numCtusInCurrSlice; //!< number of CTUs in current slice //Rect slices params - uint16_t m_tileIdx; //!< tile index corresponding to the first CTU in the slice uint32_t m_numSlicesInTile; //!< number of slices in current tile for the special case of multiple slices inside a single tile + uint16_t m_tileIdx; //!< tile index corresponding to the first CTU in the slice uint16_t m_sliceWidthInTiles; //!< slice width in units of tiles uint16_t m_sliceHeightInTiles; //!< slice height in units of tiles uint16_t m_sliceHeightInCtu; //!< slice height in units of CTUs for the special case of multiple slices inside a single tile diff --git a/media_softlet/agnostic/common/codec/hal/enc/shared/features/encode_preenc_defs.h b/media_softlet/agnostic/common/codec/hal/enc/shared/features/encode_preenc_defs.h index 2e98b46d890..930f41e611f 100644 --- a/media_softlet/agnostic/common/codec/hal/enc/shared/features/encode_preenc_defs.h +++ b/media_softlet/agnostic/common/codec/hal/enc/shared/features/encode_preenc_defs.h @@ -70,8 +70,8 @@ struct EncodePreencDef1 struct PreEncInfo { - uint8_t EncodePreEncInfo0 = 0; uint32_t EncodePreEncInfo1 = 0; + uint8_t EncodePreEncInfo0 = 0; uint8_t EncodePreEncInfo2 = 0; uint8_t EncodePreEncInfo3 = 0; uint32_t preEncSrcWidth = 0; diff --git a/media_softlet/agnostic/common/hw/mhw_memory_pool.cpp b/media_softlet/agnostic/common/hw/mhw_memory_pool.cpp index 7bcaaa0387f..1ca7e17867a 100644 --- a/media_softlet/agnostic/common/hw/mhw_memory_pool.cpp +++ b/media_softlet/agnostic/common/hw/mhw_memory_pool.cpp @@ -32,8 +32,8 @@ typedef struct _MHW_MEMORY_POOL_ENTRY PMHW_MEMORY_POOL_ENTRY pPrev; //!< Prev pool entry (doubled linked list) PMHW_MEMORY_POOL pPool; //!< Pool object void *pAllocation; //!< Memory allocation from malloc (to be freed) - uint32_t dwSize; //!< Memory size allocated from malloc void *pObjects; //!< Pointer to first object in this pool entry + uint32_t dwSize; //!< Memory size allocated from malloc uint32_t dwCount; //!< Number of objects in this pool allocation } MHW_MEMORY_POOL_ENTRY, *PMHW_MEMORY_POOL_ENTRY; diff --git a/media_softlet/agnostic/common/hw/mhw_mi_cmdpar.h b/media_softlet/agnostic/common/hw/mhw_mi_cmdpar.h index dbe3f6130bd..cde5c6aaf5b 100644 --- a/media_softlet/agnostic/common/hw/mhw_mi_cmdpar.h +++ b/media_softlet/agnostic/common/hw/mhw_mi_cmdpar.h @@ -276,9 +276,9 @@ namespace mi uint32_t dwResourceOffset = 0; uint32_t dwDataDW1 = 0; // Value to Write uint32_t dwDataDW2 = 0; - bool bVideoPipelineCacheInvalidate = false; uint32_t postSyncOperation = 0; uint32_t bQWordEnable = 0; + bool bVideoPipelineCacheInvalidate = false; bool bEnablePPCFlush = false; }; diff --git a/media_softlet/agnostic/common/hw/mhw_render_cmdpar.h b/media_softlet/agnostic/common/hw/mhw_render_cmdpar.h index a8004bbbb91..6a77e84cb2d 100644 --- a/media_softlet/agnostic/common/hw/mhw_render_cmdpar.h +++ b/media_softlet/agnostic/common/hw/mhw_render_cmdpar.h @@ -178,25 +178,25 @@ struct MHW_VFE_PARAMS struct _MHW_PAR_T(MEDIA_OBJECT) { + void* pInlineData = nullptr; uint32_t dwInterfaceDescriptorOffset = 0; uint32_t dwHalfSliceDestinationSelect = 0; uint32_t dwSliceDestinationSelect = 0; uint32_t dwIndirectLoadLength = 0; uint32_t dwIndirectDataStartAddress = 0; - void* pInlineData = nullptr; uint32_t dwInlineDataSize = 0; - bool bForceDestination = false; MHW_VFE_SCOREBOARD VfeScoreboard = {}; + bool bForceDestination = false; }; struct _MHW_PAR_T(PIPE_MODE_SELECT) { + void* pInlineData = nullptr; uint32_t dwInterfaceDescriptorOffset = 0; uint32_t dwHalfSliceDestinationSelect = 0; uint32_t dwSliceDestinationSelect = 0; uint32_t dwIndirectLoadLength = 0; uint32_t dwIndirectDataStartAddress = 0; - void* pInlineData = nullptr; uint32_t dwInlineDataSize = 0; bool bForceDestination = false; MHW_VFE_SCOREBOARD VfeScoreboard = {}; diff --git a/media_softlet/agnostic/common/hw/vdbox/mhw_vdbox_hcp_cmdpar.h b/media_softlet/agnostic/common/hw/vdbox/mhw_vdbox_hcp_cmdpar.h index 6ae3ecf111f..192df36bc85 100644 --- a/media_softlet/agnostic/common/hw/vdbox/mhw_vdbox_hcp_cmdpar.h +++ b/media_softlet/agnostic/common/hw/vdbox/mhw_vdbox_hcp_cmdpar.h @@ -551,6 +551,9 @@ struct _MHW_PAR_T(HCP_PIPE_BUF_ADDR_STATE) struct _MHW_PAR_T(HCP_PAK_INSERT_OBJECT) { PBSBuffer pBsBuffer = nullptr; + PMHW_BATCH_BUFFER pBatchBufferForPakSlices = nullptr; + uint32_t * pdwMpeg2PicHeaderTotalBufferSize = nullptr; + uint32_t * pdwMpeg2PicHeaderDataStartOffset = nullptr; uint32_t dwBitSize = 0; uint32_t dwOffset = 0; uint32_t uiSkipEmulationCheckCount = 0; @@ -561,13 +564,10 @@ struct _MHW_PAR_T(HCP_PAK_INSERT_OBJECT) bool bSetLastPicInStreamData = false; bool bSliceHeaderIndicator = false; bool bHeaderLengthExcludeFrmSize = false; - uint32_t * pdwMpeg2PicHeaderTotalBufferSize = nullptr; - uint32_t * pdwMpeg2PicHeaderDataStartOffset = nullptr; bool bResetBitstreamStartingPos = false; bool bEndOfSlice = false; uint32_t dwLastPicInSeqData = 0; uint32_t dwLastPicInStreamData = 0; - PMHW_BATCH_BUFFER pBatchBufferForPakSlices = nullptr; bool bVdencInUse = false; uint32_t dataBitsInLastDw = 0; uint8_t databyteoffset = 0; @@ -675,14 +675,8 @@ struct _MHW_PAR_T(HCP_TILE_CODING) uint32_t numOfTileColumnsInFrame = 0; uint32_t tileStartLCUX = 0; uint32_t tileStartLCUY = 0; - uint16_t tileHeightInMinCbMinus1 = 0; - uint16_t tileWidthInMinCbMinus1 = 0; - bool isLastTileofColumn = false; - bool isLastTileofRow = false; uint32_t tileRowStoreSelect = 0; uint32_t tileColumnStoreSelect = 0; - bool nonFirstPassTile = false; - bool bitstreamByteOffsetEnable = false; uint32_t numberOfActiveBePipes = 0; uint32_t bitstreamByteOffset = 0; uint32_t pakTileStatisticsOffset = 0; @@ -693,6 +687,12 @@ struct _MHW_PAR_T(HCP_TILE_CODING) uint32_t saoRowstoreOffset = 0; uint32_t tileSizeStreamoutOffset = 0; uint32_t vp9ProbabilityCounterStreamoutOffset = 0; + uint16_t tileHeightInMinCbMinus1 = 0; + uint16_t tileWidthInMinCbMinus1 = 0; + bool nonFirstPassTile = false; + bool bitstreamByteOffsetEnable = false; + bool isLastTileofColumn = false; + bool isLastTileofRow = false; }; struct _MHW_PAR_T(HCP_PALETTE_INITIALIZER_STATE) diff --git a/media_softlet/agnostic/common/shared/packet/media_render_cmd_packet.h b/media_softlet/agnostic/common/shared/packet/media_render_cmd_packet.h index 7e6b0aa8a17..f2a75735735 100644 --- a/media_softlet/agnostic/common/shared/packet/media_render_cmd_packet.h +++ b/media_softlet/agnostic/common/shared/packet/media_render_cmd_packet.h @@ -91,6 +91,14 @@ typedef struct _PIPECONTRL_PARAMS typedef struct _KERNEL_WALKER_PARAMS { + uint8_t* inlineData; + PMHW_INLINE_DATA_PARAMS inlineDataParamBase; + uint32_t inlineDataLength; + uint32_t inlineDataParamSize; + uint32_t slmSize; + bool isEmitInlineParameter; + bool hasBarrier; + int32_t iBindingTable; int32_t iMediaID; int32_t iCurbeOffset; @@ -107,21 +115,12 @@ typedef struct _KERNEL_WALKER_PARAMS bool calculateBlockXYByAlignedRect; // true if iBlocksX/iBlocksY is calculated by alignedRect in RenderCmdPacket instead of kernel object. bool forcePreferredSLMZero; // true if preferredSLM need force to 0. - bool isEmitInlineParameter; - uint32_t inlineDataLength; - uint8_t* inlineData; - uint32_t threadWidth; uint32_t threadHeight; uint32_t threadDepth; bool isGenerateLocalID; MHW_EMIT_LOCAL_MODE emitLocal; - - bool hasBarrier; - uint32_t slmSize; - PMHW_INLINE_DATA_PARAMS inlineDataParamBase; - uint32_t inlineDataParamSize; }KERNEL_WALKER_PARAMS, * PKERNEL_WALKER_PARAMS; typedef struct _KERNEL_PACKET_RENDER_DATA diff --git a/media_softlet/agnostic/common/vp/hal/features/vp_filter.h b/media_softlet/agnostic/common/vp/hal/features/vp_filter.h index 2061beaf5e8..5d7676afbbb 100644 --- a/media_softlet/agnostic/common/vp/hal/features/vp_filter.h +++ b/media_softlet/agnostic/common/vp/hal/features/vp_filter.h @@ -167,19 +167,19 @@ struct _SFC_SCALING_PARAMS struct _SFC_CSC_PARAMS { - bool bCSCEnabled; // CSC Enabled - bool isInputColorSpaceRGB; // 0: YUV color space, 1:RGB color space - bool bIEFEnable; // IEF Enabled - bool bChromaUpSamplingEnable; // ChromaUpSampling - bool b8tapChromafiltering; // Enables 8 tap filtering for Chroma Channels - bool isDitheringNeeded; // 0: dithering is not needed; 1: dithering is needed + PVPHAL_IEF_PARAMS iefParams; // Vphal Params VPHAL_CSPACE inputColorSpace; // Input Color Space MOS_FORMAT inputFormat; // SFC Input Format MOS_FORMAT outputFormat; // SFC Output Format - PVPHAL_IEF_PARAMS iefParams; // Vphal Params uint32_t sfcSrcChromaSiting; // SFC Source Chroma Siting location uint32_t chromaDownSamplingVerticalCoef; // Chroma DownSampling Vertical Coeff uint32_t chromaDownSamplingHorizontalCoef; // Chroma DownSampling Horizontal Coeff + bool bCSCEnabled; // CSC Enabled + bool isInputColorSpaceRGB; // 0: YUV color space, 1:RGB color space + bool bIEFEnable; // IEF Enabled + bool bChromaUpSamplingEnable; // ChromaUpSampling + bool b8tapChromafiltering; // Enables 8 tap filtering for Chroma Channels + bool isDitheringNeeded; // 0: dithering is not needed; 1: dithering is needed bool isFullRgbG10P709; // Whether output colorspace is DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709 bool isDemosaicNeeded; // 0: demosaic is not needed; 1: demosaic is needed }; @@ -193,13 +193,13 @@ struct _SFC_ROT_MIR_PARAMS struct _VEBOX_DN_PARAMS { + VPHAL_HVSDENOISE_PARAMS HVSDenoise; bool bDnEnabled; bool bChromaDenoise; // bEnableChroma && bEnableLuma bool bAutoDetect; float fDenoiseFactor; VPHAL_NOISELEVEL NoiseLevel; bool bEnableHVSDenoise; - VPHAL_HVSDENOISE_PARAMS HVSDenoise; bool bProgressive; }; @@ -247,12 +247,12 @@ struct _VEBOX_TCC_PARAMS struct _VEBOX_CGC_PARAMS { - bool bEnableCGC; // CGC Enabled - bool bBt2020ToRGB; // Bt2020 convert to sRGB VPHAL_CSPACE inputColorSpace; VPHAL_CSPACE outputColorSpace; MOS_FORMAT inputFormat; MOS_FORMAT outputFormat; + bool bEnableCGC; // CGC Enabled + bool bBt2020ToRGB; // Bt2020 convert to sRGB bool bExtendedSrcGamut; bool bExtendedDstGamut; VPHAL_GAMUT_MODE GCompMode;