xref: /aosp_15_r20/external/intel-media-driver/media_driver/agnostic/gen9/codec/hal/codechal_hw_g9_X.cpp (revision ba62d9d3abf0e404f2022b4cd7a85e107f48596f)
1 /*
2 * Copyright (c) 2014-2017, Intel Corporation
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included
12 * in all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
18 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20 * OTHER DEALINGS IN THE SOFTWARE.
21 */
22 //!
23 //! \file      codechal_hw_g9_X.cpp
24 //! \brief         This modules implements HW interface layer for gen9 platforms to be used on on all operating systems/DDIs, across CODECHAL components.
25 //!
26 #include "codechal_hw_g9_X.h"
27 #include "mhw_state_heap_g9.h"
28 #include "mhw_render_hwcmd_g9_X.h"
29 #include "mhw_mi_hwcmd_g9_X.h"
30 
31 // SKL default table. Currently initialized with dummy values, just as an example. Will be updated later.
32 const CODECHAL_SSEU_SETTING CodechalHwInterfaceG9::m_defaultSsEuLutG9[CODECHAL_NUM_MEDIA_STATES] =
33 {
34     // Slice    Sub-Slice   EU      Rsvd(freq)
35     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_OLP
36     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_ENC_NORMAL
37     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_ENC_PERFORMANCE
38     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_ENC_QUALITY
39     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_ENC_I_FRAME_DIST
40     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_32X_SCALING
41     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_16X_SCALING
42     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_4X_SCALING
43     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_32X_ME
44     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_16X_ME
45     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_4X_ME
46     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_BRC_INIT_RESET
47     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_BRC_UPDATE
48     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_BRC_BLOCK_COPY
49     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_HYBRID_PAK_P1
50     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_HYBRID_PAK_P2
51     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_ENC_I_FRAME_CHROMA
52     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_ENC_I_FRAME_LUMA
53     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_MPU_FHB
54     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_TPU_FHB
55     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_PA_COPY
56     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_PL2_COPY
57     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_ENC_ADV
58     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_2X_SCALING
59     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_32x32_PU_MODE_DECISION
60     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_16x16_PU_SAD
61     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_16x16_PU_MODE_DECISION
62     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_8x8_PU
63     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_8x8_PU_FMODE
64     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_32x32_B_INTRA_CHECK
65     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_HEVC_B_MBENC
66     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_RESET_VLINE_STRIDE
67     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_HEVC_B_PAK
68     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_HEVC_BRC_LCU_UPDATE
69     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_ME_VDENC_STREAMIN
70     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_VP9_ENC_I_32x32
71     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_VP9_ENC_I_16x16
72     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_VP9_ENC_P
73     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_VP9_ENC_TX
74     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_LUMA_RECON
75     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_CHROMA_RECON
76     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_DEBLOCK_MASK
77     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_LUMA_DEBLOCK
78     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_CHROMA_DEBLOCK
79     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_MC_PRED
80     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_P_FRAME_LUMA_RECON
81     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_P_FRAME_CHROMA_RECON
82     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_P_FRAME_INTRA_LUMA_RECON
83     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_P_FRAME_INTRA_CHROMA_RECON
84     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_PREPROC
85     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_ENC_WP
86     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_HEVC_I_MBENC
87     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_CSC_DS_COPY
88     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_2X_4X_SCALING
89     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_HEVC_LCU64_B_MBENC
90     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_MB_BRC_UPDATE
91     { 1,        3,        8,         0 }     // CODECHAL_MEDIA_STATE_STATIC_FRAME_DETECTION
92 };
93