xref: /aosp_15_r20/external/intel-media-driver/media_driver/agnostic/Xe_M/Xe_HPM/hw/mhw_vebox_xe_hpm.h (revision ba62d9d3abf0e404f2022b4cd7a85e107f48596f)
1 /*===================== begin_copyright_notice ==================================
2 
3 * Copyright (c) 2021, Intel Corporation
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be included
13 * in all copies or substantial portions of the Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
19 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
20 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
21 * OTHER DEALINGS IN THE SOFTWARE.
22 
23 ======================= end_copyright_notice ==================================*/
24 //!
25 //! \file     mhw_vebox_xe_hpm.h
26 //! \brief    Defines functions for constructing vebox commands on Xe_HPM-based platforms
27 //!
28 
29 #ifndef __MHW_VEBOX_XE_HPM_H__
30 #define __MHW_VEBOX_XE_HPM_H__
31 
32 #include "mhw_vebox_g12_X.h"
33 #include "mhw_vebox_xe_xpm.h"
34 #include "mhw_vebox_hwcmd_xe_xpm.h"
35 
36 //!  MHW vebox  interface for Xe_HPM
37 /*!
38 This class defines the VEBOX command interface for Xe_HPM common platforms
39 */
40 class MhwVeboxInterfaceXe_Hpm: public MhwVeboxInterfaceXe_Xpm
41 {
42 public:
43     MhwVeboxInterfaceXe_Hpm(PMOS_INTERFACE pOsInterface);
44     virtual ~MhwVeboxInterfaceXe_Hpm();
45 
46     MOS_STATUS AddVeboxDndiState(
47         PMHW_VEBOX_DNDI_PARAMS pVeboxDndiParams) override;
48 
49     MOS_STATUS ForceGNEParams(uint8_t *pDnDiSate);
50     MOS_STATUS DumpDNDIStates(uint8_t *pDnDiSate);
51     uint32_t dwLumaStadTh             = 3200;
52     uint32_t dwChromaStadTh           = 1600;
53     bool     bTGNEEnable              = false;
54     bool     bHVSAutoBdrateEnable     = false;
55     bool     bHVSAutoSubjectiveEnable = false;
56     bool     bHVSfallback             = false;
57     uint32_t dw4X4TGNEThCnt           = 576;
58     uint32_t dwBSDThreshold           = 480;
59     uint32_t dwHistoryInit            = 32;
60 };
61 
62 #endif // __MHW_SFC_XE_HPM_H__
63 
64