1 /*
2 * Copyright (c) 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   mhw_sfc_hwcmd_g9_X.cpp
24 //! \brief  Auto-generated definitions for MHW commands and states.
25 //!
26 
27 #include "mhw_sfc_hwcmd_g9_X.h"
28 #include "mos_utilities.h"
29 
SFC_AVS_STATE_CMD()30 mhw_sfc_g9_X::SFC_AVS_STATE_CMD::SFC_AVS_STATE_CMD()
31 {
32     DW0.Value                                        = 0;
33     DW0.DwordLength                                  = GetOpLength(dwSize);
34     DW0.Subopcodeb                                   = SUBOPCODEB_SFCAVSSTATE;
35     DW0.Subopcodea                                   = SUBOPCODEA_COMMON;
36     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_MEDIAMISC;
37     DW0.Pipeline                                     = PIPELINE_MEDIA;
38     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
39 
40     DW1.Value                                        = 0;
41     DW1.SharpnessLevel                               = SHARPNESS_LEVEL_UNNAMED0;
42 
43     DW2.Value                                        = 0;
44 
45 }
46 
SFC_IEF_STATE_CMD()47 mhw_sfc_g9_X::SFC_IEF_STATE_CMD::SFC_IEF_STATE_CMD()
48 {
49     DW0.Value                                        = 0;
50     DW0.DwordLength                                  = GetOpLength(dwSize);
51     DW0.Subopcodeb                                   = SUBOPCODEB_SFCIEFSTATE;
52     DW0.Subopcodea                                   = SUBOPCODEA_COMMON;
53     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_MEDIAMISC;
54     DW0.Pipeline                                     = PIPELINE_MEDIA;
55     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
56 
57     DW1.Value                                        = 0;
58     DW1.GainFactor                                   = GAIN_FACTOR_UNNAMED_4_4;
59     DW1.WeakEdgeThreshold                            = WEAK_EDGE_THRESHOLD_UNNAMED1;
60     DW1.StrongEdgeThreshold                          = STRONG_EDGE_THRESHOLD_UNNAMED8;
61     DW1.R3XCoefficient                               = R3X_COEFFICIENT_UNNAMED5;
62     DW1.R3CCoefficient                               = R3C_COEFFICIENT_UNNAMED5;
63 
64     DW2.Value                                        = 0;
65     DW2.GlobalNoiseEstimation                        = GLOBAL_NOISE_ESTIMATION_UNNAMED255;
66     DW2.NonEdgeWeight                                = NON_EDGE_WEIGHT_UNNAMED1;
67     DW2.RegularWeight                                = REGULAR_WEIGHT_UNNAMED2;
68     DW2.StrongEdgeWeight                             = STRONG_EDGE_WEIGHT_UNNAMED7;
69     DW2.R5XCoefficient                               = R5X_COEFFICIENT_UNNAMED7;
70     DW2.R5CxCoefficient                              = R5CX_COEFFICIENT_UNNAMED7;
71     DW2.R5CCoefficient                               = R5C_COEFFICIENT_UNNAMED7;
72 
73     DW3.Value                                        = 0;
74     DW3.SatMax                                       = SAT_MAX_UNNAMED31;
75     DW3.HueMax                                       = HUE_MAX_UNNAMED1_4;
76 
77     DW4.Value                                        = 0;
78     DW4.DiamondMargin                                = DIAMOND_MARGIN_UNNAMED_4;
79     DW4.UMid                                         = U_MID_UNNAMED110;
80     DW4.VMid                                         = V_MID_UNNAMED15_4;
81 
82     DW5.Value                                        = 0;
83     DW5.DiamondDv                                    = DIAMOND_DV_UNNAMED0;
84     DW5.DiamondTh                                    = DIAMOND_TH_UNNAMED35;
85     DW5.HsMargin                                     = HS_MARGIN_UNNAMED3;
86     DW5.DiamondDu                                    = DIAMOND_DU_UNNAMED0;
87     DW5.SkinDetailFactor                             = SKIN_DETAIL_FACTOR_DETAILREVEALED;
88 
89     DW6.Value                                        = 0;
90     DW6.YPoint1                                      = Y_POINT_1_UNNAMED_46;
91     DW6.YPoint2                                      = Y_POINT_2_UNNAMED_47;
92     DW6.YPoint3                                      = Y_POINT_3_UNNAMED25_4;
93     DW6.YPoint4                                      = Y_POINT_4_UNNAMED255;
94 
95     DW7.Value                                        = 0;
96 
97     DW8.Value                                        = 0;
98     DW8.P0L                                          = P0L_UNNAMED_46;
99     DW8.P1L                                          = P1L_UNNAMED216;
100 
101     DW9.Value                                        = 0;
102     DW9.P2L                                          = P2L_UNNAMED236;
103     DW9.P3L                                          = P3L_UNNAMED236;
104     DW9.B0L                                          = B0L_UNNAMED133;
105     DW9.B1L                                          = B1L_UNNAMED130;
106 
107     DW10.Value                                       = 0;
108     DW10.B2L                                         = B2L_UNNAMED130;
109     DW10.B3L                                         = B3L_UNNAMED130;
110 
111     DW11.Value                                       = 0;
112 
113     DW12.Value                                       = 0;
114     DW12.P0U                                         = P0U_UNNAMED_46;
115     DW12.P1U                                         = P1U_UNNAMED66;
116 
117     DW13.Value                                       = 0;
118     DW13.P2U                                         = P2U_UNNAMED150;
119     DW13.P3U                                         = P3U_UNNAMED236;
120     DW13.B0U                                         = B0U_UNNAMED1_43;
121     DW13.B1U                                         = B1U_UNNAMED163;
122 
123     DW14.Value                                       = 0;
124     DW14.B2U                                         = B2U_UNNAMED200;
125     DW14.B3U                                         = B3U_UNNAMED1_40;
126 
127     DW15.Value                                       = 0;
128 
129     DW16.Value                                       = 0;
130     DW16.C0                                          = C0_UNNAMED102_4;
131     DW16.C1                                          = C1_UNNAMED0;
132 
133     DW17.Value                                       = 0;
134     DW17.C2                                          = C2_UNNAMED0;
135     DW17.C3                                          = C3_UNNAMED0;
136 
137     DW18.Value                                       = 0;
138     DW18.C4                                          = C4_UNNAMED102_4;
139     DW18.C5                                          = C5_UNNAMED0;
140 
141     DW19.Value                                       = 0;
142     DW19.C6                                          = C6_UNNAMED0;
143     DW19.C7                                          = C7_UNNAMED0;
144 
145     DW20.Value                                       = 0;
146     DW20.C8                                          = C8_UNNAMED102_4;
147 
148     DW21.Value                                       = 0;
149     DW21.OffsetIn1                                   = OFFSET_IN_1_UNNAMED0;
150     DW21.OffsetOut1                                  = OFFSET_OUT_1_UNNAMED0;
151 
152     DW22.Value                                       = 0;
153     DW22.OffsetIn2                                   = OFFSET_IN_2_UNNAMED0;
154     DW22.OffsetOut2                                  = OFFSET_OUT_2_UNNAMED0;
155 
156     DW23.Value                                       = 0;
157     DW23.OffsetIn3                                   = OFFSET_IN_3_UNNAMED0;
158     DW23.OffsetOut3                                  = OFFSET_OUT_3_UNNAMED0;
159 
160 }
161 
SFC_FRAME_START_CMD()162 mhw_sfc_g9_X::SFC_FRAME_START_CMD::SFC_FRAME_START_CMD()
163 {
164     DW0.Value                                        = 0;
165     DW0.DwordLength                                  = GetOpLength(dwSize);
166     DW0.Subopcodeb                                   = SUBOPCODEB_SFCFRAMESTART;
167     DW0.Subopcodea                                   = SUBOPCODEA_COMMON;
168     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_MEDIAMISC;
169     DW0.Pipeline                                     = PIPELINE_MEDIA;
170     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
171 
172     DW1.Value                                        = 0;
173 
174 }
175 
SFC_LOCK_CMD()176 mhw_sfc_g9_X::SFC_LOCK_CMD::SFC_LOCK_CMD()
177 {
178     DW0.Value                                        = 0;
179     DW0.DwordLength                                  = GetOpLength(dwSize);
180     DW0.Subopcodeb                                   = SUBOPCODEB_SFCLOCK;
181     DW0.Subopcodea                                   = SUBOPCODEA_COMMON;
182     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_MEDIAMISC;
183     DW0.Pipeline                                     = PIPELINE_MEDIA;
184     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
185 
186     DW1.Value                                        = 0;
187 
188 }
189 
SFC_STATE_CMD()190 mhw_sfc_g9_X::SFC_STATE_CMD::SFC_STATE_CMD()
191 {
192     DW0.Value                                        = 0;
193     DW0.DwordLength                                  = GetOpLength(dwSize);
194     DW0.Subopcodeb                                   = SUBOPCODEB_SFCSTATE;
195     DW0.Subopcodea                                   = SUBOPCODEA_COMMON;
196     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_MEDIAMISC;
197     DW0.Pipeline                                     = PIPELINE_MEDIA;
198     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
199 
200     DW1.Value                                        = 0;
201     DW1.SfcPipeMode                                  = SFC_PIPE_MODE_UNNAMED0;
202     DW1.SfcInputChromaSubSampling                    = SFC_INPUT_CHROMA_SUB_SAMPLING_400;
203     DW1.VdVeInputOrderingMode                        = VDVE_INPUT_ORDERING_MODE_UNNAMED0;
204 
205     DW2.Value                                        = 0;
206 
207     DW3.Value                                        = 0;
208     DW3.OutputSurfaceFormatType                      = OUTPUT_SURFACE_FORMAT_TYPE_AYUV;
209     DW3.RgbaChannelSwapEnable                        = RGBA_CHANNEL_SWAP_ENABLE_UNNAMED0;
210 
211     DW4.Value                                        = 0;
212     DW4.IefEnable                                    = IEF_ENABLE_DISABLE;
213     DW4.Ief4SmoothEnable                             = IEF4SMOOTH_ENABLE_UNNAMED0;
214     DW4.AvsFilterMode                                = AVS_FILTER_MODE_5X5POLY_PHASEFILTERBILINEAR_ADAPTIVE;
215     DW4.AdaptiveFilterForAllChannels                 = ADAPTIVE_FILTER_FOR_ALL_CHANNELS_DISABLEADAPTIVEFILTERONUVRBCHANNELS;
216     DW4.AvsScalingEnable                             = AVS_SCALING_ENABLE_DISABLE;
217     DW4.BypassYAdaptiveFiltering                     = BYPASS_Y_ADAPTIVE_FILTERING_ENABLEYADAPTIVEFILTERING;
218     DW4.BypassXAdaptiveFiltering                     = BYPASS_X_ADAPTIVE_FILTERING_ENABLEXADAPTIVEFILTERING;
219     DW4.RotationMode                                 = ROTATION_MODE_0_DEGREES;
220 
221     DW5.Value                                        = 0;
222 
223     DW6.Value                                        = 0;
224 
225     DW7.Value                                        = 0;
226 
227     DW8.Value                                        = 0;
228 
229     DW9.Value                                        = 0;
230 
231     DW10.Value                                       = 0;
232 
233     DW11.Value                                       = 0;
234 
235     DW12.Value                                       = 0;
236 
237     DW13.Value                                       = 0;
238 
239     DW14.Value                                       = 0;
240     DW14.ScalingFactorHeight                         = SCALING_FACTOR_HEIGHT_UNNAMED0;
241 
242     DW15.Value                                       = 0;
243     DW15.ScalingFactorWidth                          = SCALING_FACTOR_WIDTH_UNNAMED0;
244 
245     DW16.Value                                       = 0;
246 
247     DW17.Value                                       = 0;
248 
249     DW18.Value                                       = 0;
250 
251     DW19.Value                                       = 0;
252     DW19.OutputFrameSurfaceBaseAddressMemoryCompressionMode = OUTPUT_FRAME_SURFACE_BASE_ADDRESS_MEMORY_COMPRESSION_MODE_VERTICALCOMPRESSION;
253     DW19.OutputFrameSurfaceBaseAddressRowStoreScratchBufferCacheSelect = OUTPUT_FRAME_SURFACE_BASE_ADDRESS_ROW_STORE_SCRATCH_BUFFER_CACHE_SELECT_DISABLE;
254     DW19.OutputSurfaceTiledMode                      = OUTPUT_SURFACE_TILED_MODE_TRMODENONE;
255 
256     DW20.Value                                       = 0;
257 
258     DW21.Value                                       = 0;
259 
260     DW22.Value                                       = 0;
261     DW22.AvsLineBufferBaseAddressMemoryCompressionEnable = AVS_LINE_BUFFER_BASE_ADDRESS_MEMORY_COMPRESSION_ENABLE_DISABLE;
262     DW22.AvsLineBufferBaseAddressMemoryCompressionMode = AVS_LINE_BUFFER_BASE_ADDRESS_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
263     DW22.AvsLineBufferBaseAddressRowStoreScratchBufferCacheSelect = AVS_LINE_BUFFER_BASE_ADDRESS_ROW_STORE_SCRATCH_BUFFER_CACHE_SELECT_LLC;
264     DW22.AvsLineBufferTiledMode                      = AVS_LINE_BUFFER_TILED_MODE_TRMODENONE;
265 
266     DW23.Value                                       = 0;
267 
268     DW24.Value                                       = 0;
269 
270     DW25.Value                                       = 0;
271     DW25.IefLineBufferBaseAddressMemoryCompressionEnable = IEF_LINE_BUFFER_BASE_ADDRESS_MEMORY_COMPRESSION_ENABLE_DISABLE;
272     DW25.IefLineBufferBaseAddressMemoryCompressionMode = IEF_LINE_BUFFER_BASE_ADDRESS_MEMORY_COMPRESSION_MODE_UNNAMED0;
273     DW25.IefLineBufferBaseAddressRowStoreScratchBufferCacheSelect = IEF_LINE_BUFFER_BASE_ADDRESS_ROW_STORE_SCRATCH_BUFFER_CACHE_SELECT_LLC;
274     DW25.IefLineBufferTiledMode                      = IEF_LINE_BUFFER_TILED_MODE_TRMODENONE;
275 
276     DW26.Value                                       = 0;
277 
278     DW27.Value                                       = 0;
279 
280     DW28.Value                                       = 0;
281 
282     DW29.Value                                       = 0;
283     DW29.OutputSurfaceTileWalk                       = OUTPUT_SURFACE_TILE_WALK_TILEWALKXMAJOR;
284     DW29.OutputSurfaceTiled                          = OUTPUT_SURFACE_TILED_FALSE;
285 
286     DW30.Value                                       = 0;
287 
288     DW31.Value                                       = 0;
289 
290     DW32.Value                                       = 0;
291 
292     DW33.Value                                       = 0;
293 
294 }
295 
SFC_AVS_LUMA_Coeff_Table_CMD()296 mhw_sfc_g9_X::SFC_AVS_LUMA_Coeff_Table_CMD::SFC_AVS_LUMA_Coeff_Table_CMD()
297 {
298     DW0.Value                                        = 0;
299     DW0.DwordLength                                  = GetOpLength(dwSize);
300     DW0.Subopcodeb                                   = SUBOPCODEB_SFCAVSLUMACOEFFTABLE;
301     DW0.Subopcodea                                   = SUBOPCODEA_COMMON;
302     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_MEDIAMISC;
303     DW0.Pipeline                                     = PIPELINE_MEDIA;
304     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
305 
306     DW1.Value                                        = 0;
307 
308     DW2.Value                                        = 0;
309 
310     DW3.Value                                        = 0;
311 
312     DW4.Value                                        = 0;
313 
314     MOS_ZeroMemory(&FilterCoefficients, sizeof(FilterCoefficients));
315 }
316 
SFC_AVS_CHROMA_Coeff_Table_CMD()317 mhw_sfc_g9_X::SFC_AVS_CHROMA_Coeff_Table_CMD::SFC_AVS_CHROMA_Coeff_Table_CMD()
318 {
319     DW0.Value                                        = 0;
320     DW0.DwordLength                                  = GetOpLength(dwSize);
321     DW0.Subopcodeb                                   = SUBOPCODEB_SFCAVSCHROMACOEFFTABLE;
322     DW0.Subopcodea                                   = SUBOPCODEA_COMMON;
323     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_MEDIAMISC;
324     DW0.Pipeline                                     = PIPELINE_MEDIA;
325     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
326 
327     DW1.Value                                        = 0;
328 
329     DW2.Value                                        = 0;
330 
331     MOS_ZeroMemory(&FilterCoefficients, sizeof(FilterCoefficients));
332 }
333 
334