1 /*
2 * Copyright (c) 2017-2018, 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_kbl.cpp
24 //! \brief         This modules implements HW interface layer to be used on kbl on all operating systems/DDIs, across CODECHAL components.
25 //!
26 #include "codechal_hw_g9_kbl.h"
27 
28 // KBL default table. Currently initialized with dummy values, just as an example. Will be updated later.
29 const CODECHAL_SSEU_SETTING CodechalHwInterfaceG9Kbl::m_defaultSsEuLutG9Kbl[CODECHAL_NUM_MEDIA_STATES] =
30 {
31     // Slice    Sub-Slice   EU      Rsvd(freq)
32     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_OLP
33     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_ENC_NORMAL
34     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_ENC_PERFORMANCE
35     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_ENC_QUALITY
36     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_ENC_I_FRAME_DIST
37     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_32X_SCALING
38     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_16X_SCALING
39     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_4X_SCALING
40     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_32X_ME
41     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_16X_ME
42     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_4X_ME
43     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_BRC_INIT_RESET
44     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_BRC_UPDATE
45     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_BRC_BLOCK_COPY
46     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_HYBRID_PAK_P1
47     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_HYBRID_PAK_P2
48     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_ENC_I_FRAME_CHROMA
49     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_ENC_I_FRAME_LUMA
50     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_MPU_FHB
51     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_TPU_FHB
52     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_PA_COPY
53     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_PL2_COPY
54     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_ENC_ADV
55     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_2X_SCALING
56     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_32x32_PU_MODE_DECISION
57     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_16x16_PU_SAD
58     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_16x16_PU_MODE_DECISION
59     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_8x8_PU
60     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_8x8_PU_FMODE
61     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_32x32_B_INTRA_CHECK
62     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_HEVC_B_MBENC
63     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_RESET_VLINE_STRIDE
64     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_HEVC_B_PAK
65     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_HEVC_BRC_LCU_UPDATE
66     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_ME_VDENC_STREAMIN
67     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_VP9_ENC_I_32x32
68     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_VP9_ENC_I_16x16
69     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_VP9_ENC_P
70     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_VP9_ENC_TX
71     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_LUMA_RECON
72     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_CHROMA_RECON
73     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_DEBLOCK_MASK
74     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_LUMA_DEBLOCK
75     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_CHROMA_DEBLOCK
76     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_MC_PRED
77     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_P_FRAME_LUMA_RECON
78     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_P_FRAME_CHROMA_RECON
79     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_P_FRAME_INTRA_LUMA_RECON
80     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_VP9_PAK_P_FRAME_INTRA_CHROMA_RECON
81     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_PREPROC
82     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_ENC_WP
83     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_HEVC_I_MBENC
84     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_CSC_DS_COPY
85     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_2X_4X_SCALING
86     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_HEVC_LCU64_B_MBENC
87     { 1,        3,        8,         0 },    // CODECHAL_MEDIA_STATE_MB_BRC_UPDATE
88     { 1,        3,        8,         0 }     // CODECHAL_MEDIA_STATE_STATIC_FRAME_DETECTION
89 };
90