1 /*===================== begin_copyright_notice ==================================
2
3 # Copyright (c) 2020-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_sfc_hwcmd_xe_xpm.cpp
26 //! \brief Auto-generated definitions for MHW commands and states.
27 //!
28
29 // DO NOT EDIT
30
31 #include "mhw_sfc_hwcmd_xe_xpm.h"
32 #include "mos_utilities.h"
33
SFC_AVS_STATE_CMD()34 mhw_sfc_xe_xpm::SFC_AVS_STATE_CMD::SFC_AVS_STATE_CMD()
35 {
36 DW0.Value = 0x75020002;
37 DW0.DwordLength = GetOpLength(dwSize);
38 DW0.Subopcodeb = SUBOPCODEB_SFCAVSSTATE;
39 DW0.Subopcodea = SUBOPCODEA_COMMON;
40 DW0.MediaCommandOpcode = MEDIA_COMMAND_OPCODE_MEDIAMISC;
41 DW0.Pipeline = PIPELINE_MEDIA;
42 DW0.CommandType = COMMAND_TYPE_PARALLELVIDEOPIPE;
43
44 DW1.Value = 0x00000000;
45 DW1.SharpnessLevel = SHARPNESS_LEVEL_UNNAMED0;
46
47 DW2.Value = 0x00000000;
48
49 DW3.Value = 0x00000000;
50 DW3.InputVerticalSitingSpecifiesTheVerticalSitingOfTheInput = INPUT_VERTICAL_SITING_SPECIFIES_THE_VERTICAL_SITING_OF_THE_INPUT_0;
51
52 }
53
SFC_IEF_STATE_CMD()54 mhw_sfc_xe_xpm::SFC_IEF_STATE_CMD::SFC_IEF_STATE_CMD()
55 {
56 DW0.Value = 0x75030016;
57 DW0.DwordLength = GetOpLength(dwSize);
58 DW0.Subopcodeb = SUBOPCODEB_SFCIEFSTATE;
59 DW0.Subopcodea = SUBOPCODEA_COMMON;
60 DW0.MediaCommandOpcode = MEDIA_COMMAND_OPCODE_MEDIAMISC;
61 DW0.Pipeline = PIPELINE_MEDIA;
62 DW0.CommandType = COMMAND_TYPE_PARALLELVIDEOPIPE;
63
64 DW1.Value = 0x0294806c;
65 DW1.GainFactor = GAIN_FACTOR_UNNAMED44;
66 DW1.WeakEdgeThreshold = WEAK_EDGE_THRESHOLD_UNNAMED1;
67 DW1.StrongEdgeThreshold = STRONG_EDGE_THRESHOLD_UNNAMED8;
68 DW1.R3XCoefficient = R3X_COEFFICIENT_UNNAMED5;
69 DW1.R3CCoefficient = R3C_COEFFICIENT_UNNAMED5;
70
71 DW2.Value = 0x39cfd1ff;
72 DW2.GlobalNoiseEstimation = GLOBAL_NOISE_ESTIMATION_UNNAMED255;
73 DW2.NonEdgeWeight = NON_EDGE_WEIGHT_UNNAMED1;
74 DW2.RegularWeight = REGULAR_WEIGHT_UNNAMED2;
75 DW2.StrongEdgeWeight = STRONG_EDGE_WEIGHT_UNNAMED7;
76 DW2.R5XCoefficient = R5X_COEFFICIENT_UNNAMED7;
77 DW2.R5CxCoefficient = R5CX_COEFFICIENT_UNNAMED7;
78 DW2.R5CCoefficient = R5C_COEFFICIENT_UNNAMED7;
79
80 DW3.Value = 0x039f0000;
81 DW3.SatMax = SAT_MAX_UNNAMED31;
82 DW3.HueMax = HUE_MAX_UNNAMED14;
83
84 DW4.Value = 0x9a6e4000;
85 DW4.DiamondMargin = DIAMOND_MARGIN_UNNAMED4;
86 DW4.UMid = U_MID_UNNAMED110;
87 DW4.VMid = V_MID_UNNAMED154;
88
89 DW5.Value = 0x00601180;
90 DW5.DiamondDv = DIAMOND_DV_UNNAMED0;
91 DW5.DiamondTh = DIAMOND_TH_UNNAMED35;
92 DW5.HsMargin = HS_MARGIN_UNNAMED3;
93 DW5.DiamondDu = DIAMOND_DU_UNNAMED0;
94 DW5.SkinDetailFactor = SKIN_DETAIL_FACTOR_DETAILREVEALED;
95
96 DW6.Value = 0xfffe2f2e;
97 DW6.YPoint1 = Y_POINT_1_UNNAMED46;
98 DW6.YPoint2 = Y_POINT_2_UNNAMED47;
99 DW6.YPoint3 = Y_POINT_3_UNNAMED254;
100 DW6.YPoint4 = Y_POINT_4_UNNAMED255;
101
102 DW7.Value = 0x00000000;
103
104 DW8.Value = 0xd82e0000;
105 DW8.P0L = P0L_UNNAMED46;
106 DW8.P1L = P1L_UNNAMED216;
107
108 DW9.Value = 0x8285ecec;
109 DW9.P2L = P2L_UNNAMED236;
110 DW9.P3L = P3L_UNNAMED236;
111 DW9.B0L = B0L_UNNAMED133;
112 DW9.B1L = B1L_UNNAMED130;
113
114 DW10.Value = 0x00008282;
115 DW10.B2L = B2L_UNNAMED130;
116 DW10.B3L = B3L_UNNAMED130;
117
118 DW11.Value = 0x00000000;
119
120 DW12.Value = 0x02117000;
121 DW12.P0U = P0U_UNNAMED46;
122 DW12.P1U = P1U_UNNAMED66;
123
124 DW13.Value = 0xa38fec96;
125 DW13.P2U = P2U_UNNAMED150;
126 DW13.P3U = P3U_UNNAMED236;
127 DW13.B0U = B0U_UNNAMED143;
128 DW13.B1U = B1U_UNNAMED163;
129
130 DW14.Value = 0x00008cc8;
131 DW14.B2U = B2U_UNNAMED200;
132 DW14.B3U = B3U_UNNAMED140;
133
134 DW15.Value = 0x00000000;
135
136 DW16.Value = 0x00002000;
137 DW16.C0 = C0_UNNAMED1024;
138 DW16.C1 = C1_UNNAMED0;
139
140 DW17.Value = 0x00000000;
141 DW17.C2 = C2_UNNAMED0;
142 DW17.C3 = C3_UNNAMED0;
143
144 DW18.Value = 0x00000400;
145 DW18.C4 = C4_UNNAMED1024;
146 DW18.C5 = C5_UNNAMED0;
147
148 DW19.Value = 0x00000000;
149 DW19.C6 = C6_UNNAMED0;
150 DW19.C7 = C7_UNNAMED0;
151
152 DW20.Value = 0x00000400;
153 DW20.C8 = C8_UNNAMED1024;
154
155 DW21.Value = 0x00000000;
156 DW21.OffsetIn1 = OFFSET_IN_1_UNNAMED0;
157 DW21.OffsetOut1 = OFFSET_OUT_1_UNNAMED0;
158
159 DW22.Value = 0x00000000;
160 DW22.OffsetIn2 = OFFSET_IN_2_UNNAMED0;
161 DW22.OffsetOut2 = OFFSET_OUT_2_UNNAMED0;
162
163 DW23.Value = 0x00000000;
164 DW23.OffsetIn3 = OFFSET_IN_3_UNNAMED0;
165 DW23.OffsetOut3 = OFFSET_OUT_3_UNNAMED0;
166
167 }
168
SFC_FRAME_START_CMD()169 mhw_sfc_xe_xpm::SFC_FRAME_START_CMD::SFC_FRAME_START_CMD()
170 {
171 DW0.Value = 0x75040000;
172 DW0.DwordLength = GetOpLength(dwSize);
173 DW0.Subopcodeb = SUBOPCODEB_SFCFRAMESTART;
174 DW0.Subopcodea = SUBOPCODEA_COMMON;
175 DW0.MediaCommandOpcode = MEDIA_COMMAND_OPCODE_MEDIAMISC;
176 DW0.Pipeline = PIPELINE_MEDIA;
177 DW0.CommandType = COMMAND_TYPE_PARALLELVIDEOPIPE;
178
179 DW1.Value = 0x00000000;
180
181 }
182
SFC_LOCK_CMD()183 mhw_sfc_xe_xpm::SFC_LOCK_CMD::SFC_LOCK_CMD()
184 {
185 DW0.Value = 0x75000000;
186 DW0.DwordLength = GetOpLength(dwSize);
187 DW0.Subopcodeb = SUBOPCODEB_SFCLOCK;
188 DW0.Subopcodea = SUBOPCODEA_COMMON;
189 DW0.MediaCommandOpcode = MEDIA_COMMAND_OPCODE_MEDIAMISC;
190 DW0.Pipeline = PIPELINE_MEDIA;
191 DW0.CommandType = COMMAND_TYPE_PARALLELVIDEOPIPE;
192
193 DW1.Value = 0x00000000;
194
195 }
196
SFC_STATE_CMD()197 mhw_sfc_xe_xpm::SFC_STATE_CMD::SFC_STATE_CMD()
198 {
199 DW0.Value = 0x7501003b;
200 DW0.DwordLength = GetOpLength(dwSize);
201 DW0.Subopcodeb = SUBOPCODEB_SFCSTATE;
202 DW0.Subopcodea = SUBOPCODEA_COMMON;
203 DW0.MediaCommandOpcode = MEDIA_COMMAND_OPCODE_MEDIAMFXVEBOXSFCMODE;
204 DW0.Pipeline = PIPELINE_MEDIA;
205 DW0.CommandType = COMMAND_TYPE_PARALLELVIDEOPIPE;
206
207 DW1.Value = 0x00000000;
208 DW1.SfcPipeMode = SFC_PIPE_MODE_UNNAMED0;
209 DW1.SfcInputChromaSubSampling = SFC_INPUT_CHROMA_SUB_SAMPLING_400;
210 DW1.VdVeInputOrderingMode = VDVE_INPUT_ORDERING_MODE_UNNAMED0;
211
212 DW2.Value = 0x00000000;
213
214 DW3.Value = 0x00000000;
215 DW3.OutputSurfaceFormatType = OUTPUT_SURFACE_FORMAT_TYPE_AYUV;
216 DW3.OutputChromaDownsamplingCoSitingPositionVerticalDirection = OUTPUT_CHROMA_DOWNSAMPLING_CO_SITING_POSITION_VERTICAL_DIRECTION_08_LEFTFULLPIXEL;
217 DW3.OutputChromaDownsamplingCoSitingPositionHorizontalDirection = OUTPUT_CHROMA_DOWNSAMPLING_CO_SITING_POSITION_HORIZONTAL_DIRECTION_08_LEFTFULLPIXEL;
218 DW3.InputColorSpace0Yuv1Rgb = INPUT_COLOR_SPACE_0_YUV1_RGB_YUVCOLORSPACE;
219 DW3.OutputCompressionFormat = 0;
220
221 DW4.Value = 0x00000000;
222 DW4.IefEnable = IEF_ENABLE_DISABLE;
223 DW4.Ief4SmoothEnable = IEF4SMOOTH_ENABLE_UNNAMED0;
224 DW4.AvsFilterMode = AVS_FILTER_MODE_5X5POLY_PHASEFILTERBILINEAR_ADAPTIVE;
225 DW4.AdaptiveFilterForAllChannels = ADAPTIVE_FILTER_FOR_ALL_CHANNELS_DISABLEADAPTIVEFILTERONUVRBCHANNELS;
226 DW4.AvsScalingEnable = AVS_SCALING_ENABLE_DISABLE;
227 DW4.BypassYAdaptiveFiltering = BYPASS_Y_ADAPTIVE_FILTERING_ENABLEYADAPTIVEFILTERING;
228 DW4.BypassXAdaptiveFiltering = BYPASS_X_ADAPTIVE_FILTERING_ENABLEXADAPTIVEFILTERING;
229 DW4.RotationMode = ROTATION_MODE_0_DEGREES;
230 DW4.Bitdepth = BITDEPTH_10BITFORMAT;
231
232 DW5.Value = 0x00000000;
233
234 DW6.Value = 0x00000000;
235
236 DW7.Value = 0x00000000;
237
238 DW8.Value = 0x00000000;
239
240 DW9.Value = 0x00000000;
241
242 DW10.Value = 0x00000000;
243
244 DW11.Value = 0x00000000;
245
246 DW12.Value = 0x00000000;
247
248 DW13.Value = 0x00000000;
249
250 DW14.Value = 0x00000000;
251
252 DW15.Value = 0x00000000;
253
254 DW16.Value = 0x00000000;
255
256 DW17.Value = 0x00000000;
257
258 DW18.Value = 0x00000000;
259
260 DW19.Value = 0x00000000;
261 DW19.CompressionType = COMPRESSION_TYPE_MEDIACOMPRESSIONENABLED;
262 DW19.OutputFrameSurfaceBaseAddressRowStoreScratchBufferCacheSelect = OUTPUT_FRAME_SURFACE_BASE_ADDRESS_ROW_STORE_SCRATCH_BUFFER_CACHE_SELECT_DISABLE;
263
264 DW20.Value = 0x00000000;
265
266 DW21.Value = 0x00000000;
267
268 DW22.Value = 0x00000000;
269 DW22.AvsLineBufferBaseAddressMemoryCompressionEnable = AVS_LINE_BUFFER_BASE_ADDRESS_MEMORY_COMPRESSION_ENABLE_DISABLE;
270 DW22.AvsLineBufferBaseAddressMemoryCompressionMode = AVS_LINE_BUFFER_BASE_ADDRESS_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
271 DW22.AvsLineBufferBaseAddressRowStoreScratchBufferCacheSelect = AVS_LINE_BUFFER_BASE_ADDRESS_ROW_STORE_SCRATCH_BUFFER_CACHE_SELECT_LLC;
272 DW22.AvsLineBufferTiledMode = AVS_LINE_BUFFER_TILED_MODE_TRMODENONE;
273
274 DW23.Value = 0x00000000;
275
276 DW24.Value = 0x00000000;
277
278 DW25.Value = 0x00000000;
279 DW25.IefLineBufferBaseAddressMemoryCompressionEnable = IEF_LINE_BUFFER_BASE_ADDRESS_MEMORY_COMPRESSION_ENABLE_DISABLE;
280 DW25.IefLineBufferBaseAddressMemoryCompressionMode = IEF_LINE_BUFFER_BASE_ADDRESS_MEMORY_COMPRESSION_MODE_UNNAMED0;
281 DW25.IefLineBufferBaseAddressRowStoreScratchBufferCacheSelect = IEF_LINE_BUFFER_BASE_ADDRESS_ROW_STORE_SCRATCH_BUFFER_CACHE_SELECT_LLC;
282 DW25.IefLineBufferTiledMode = IEF_LINE_BUFFER_TILED_MODE_TRMODENONE;
283
284 DW26.Value = 0x00000000;
285
286 DW27.Value = 0x00000000;
287
288 DW28.Value = 0x00001000;
289 DW28.SfdLineBufferBaseAddressMemoryCompressionEnable = SFD_LINE_BUFFER_BASE_ADDRESS_MEMORY_COMPRESSION_ENABLE_DISABLE;
290 DW28.SfdLineBufferBaseAddressMemoryCompressionMode = SFD_LINE_BUFFER_BASE_ADDRESS_MEMORY_COMPRESSION_MODE_UNNAMED0;
291 DW28.SfdLineBufferBaseAddressRowStoreScratchBufferCacheSelect = SFD_LINE_BUFFER_BASE_ADDRESS_ROW_STORE_SCRATCH_BUFFER_CACHE_SELECT_MEDIASTORAGE;
292 DW28.SfdLineBufferTiledMode = SFD_LINE_BUFFER_TILED_MODE_TRMODENONE;
293
294 DW29.Value = 0x00000000;
295 DW29.OutputSurfaceTiledMode = OUTPUT_SURFACE_TILED_LINEAR;
296
297 DW30.Value = 0x00000000;
298
299 DW31.Value = 0x00000000;
300
301 DW32.Value = 0x00000000;
302
303 DW33.Value = 0x00000000;
304
305 DW34.Value = 0x00000000;
306
307 DW35.Value = 0x00000000;
308
309 DW36.Value = 0x00000000;
310
311 DW37.Value = 0x00000000;
312
313 DW38.Value = 0x00000000;
314
315 DW39.Value = 0x00000000;
316
317 DW40.Value = 0x00000000;
318 DW40.AvsLineTileBufferBaseAddressMemoryCompressionEnable = AVS_LINE_TILE_BUFFER_BASE_ADDRESS_MEMORY_COMPRESSION_ENABLE_DISABLE;
319 DW40.AvsLineTileBufferBaseAddressMemoryCompressionMode = AVS_LINE_TILE_BUFFER_BASE_ADDRESS_MEMORY_COMPRESSION_MODE_UNNAMED0;
320 DW40.AvsLineTileBufferBaseAddressRowStoreScratchBufferCacheSelect = AVS_LINE_TILE_BUFFER_BASE_ADDRESS_ROW_STORE_SCRATCH_BUFFER_CACHE_SELECT_LLC;
321 DW40.AvsLineTileBufferTiledMode = AVS_LINE_TILE_BUFFER_TILED_MODE_TRMODENONE;
322
323 DW41.Value = 0x00000000;
324
325 DW42.Value = 0x00000000;
326
327 DW43.Value = 0x00000000;
328 DW43.IefLineTileBufferBaseAddressMemoryCompressionEnable = IEF_LINE_TILE_BUFFER_BASE_ADDRESS_MEMORY_COMPRESSION_ENABLE_DISABLE;
329 DW43.IefLineTileBufferBaseAddressMemoryCompressionMode = IEF_LINE_TILE_BUFFER_BASE_ADDRESS_MEMORY_COMPRESSION_MODE_UNNAMED0;
330 DW43.IefLineTileBufferBaseAddressRowStoreScratchBufferCacheSelect = IEF_LINE_TILE_BUFFER_BASE_ADDRESS_ROW_STORE_SCRATCH_BUFFER_CACHE_SELECT_LLC;
331 DW43.IefLineTileBufferTiledMode = IEF_LINE_TILE_BUFFER_TILED_MODE_TRMODENONE;
332
333 DW44.Value = 0x00000000;
334
335 DW45.Value = 0x00000000;
336
337 DW46.Value = 0x00000000;
338 DW46.SfdLineTileBufferBaseAddressMemoryCompressionEnable = SFD_LINE_TILE_BUFFER_BASE_ADDRESS_MEMORY_COMPRESSION_ENABLE_DISABLE;
339 DW46.SfdLineTileBufferBaseAddressMemoryCompressionMode = SFD_LINE_TILE_BUFFER_BASE_ADDRESS_MEMORY_COMPRESSION_MODE_UNNAMED0;
340 DW46.SfdLineTileBufferBaseAddressRowStoreScratchBufferCacheSelect = SFD_LINE_TILE_BUFFER_BASE_ADDRESS_ROW_STORE_SCRATCH_BUFFER_CACHE_SELECT_LLC;
341 DW46.SfdLineTileBufferTiledMode = SFD_LINE_TILE_BUFFER_TILED_MODE_TRMODENONE;
342
343 DW47.Value = 0x00000000;
344
345 DW48.Value = 0x00000000;
346
347 DW49.Value = 0x00000000;
348 DW49.HistogramBaseAddressMemoryCompressionEnable = HISTOGRAM_BASE_ADDRESS_MEMORY_COMPRESSION_ENABLE_DISABLE;
349 DW49.HistogramBaseAddressMemoryCompressionType = HISTOGRAM_BASE_ADDRESS_MEMORY_COMPRESSION_TYPE_UNNAMED0;
350 DW49.HistogramBaseAddressCacheSelect = HISTOGRAM_BASE_ADDRESS_CACHE_SELECT_LLC;
351 DW49.HistogramTiledMode = HISTOGRAM_TILED_MODE_TRMODENONE;
352
353 DW50.Value = 0x00000000;
354
355 DW51.Value = 0x00000000;
356
357 DW52.Value = 0x00000000;
358
359 DW53.Value = 0x00000000;
360
361 DW54.Value = 0x00000000;
362
363 DW55.Value = 0x00000000;
364
365 DW56.Value = 0x00000000;
366
367 DW57.Value = 0x00000000;
368 DW57.BottomFiledSurfaceBaseAddressMemoryCompressionType = BOTTOM_FILED_SURFACE_BASE_ADDRESS_MEMORY_COMPRESSION_TYPE_MEDIACOMPRESSIONENABLED;
369 DW57.BottomFieldSurfaceTiledMode = BOTTOM_FIELD_SURFACE_TILED_MODE_TRMODENONE;
370
371 DW58.Value = 0x00000000;
372 DW58.BottomFieldSurfaceTileWalk = BOTTOM_FIELD_SURFACE_TILE_WALK_TILEWALKXMAJOR;
373 DW58.BottomFieldSurfaceTiled = BOTTOM_FIELD_SURFACE_TILED_FALSE;
374
375 DW59.Value = 0x00000000;
376
377 DW60.Value = 0x00000000;
378
379 }
380
SFC_AVS_LUMA_Coeff_Table_CMD()381 mhw_sfc_xe_xpm::SFC_AVS_LUMA_Coeff_Table_CMD::SFC_AVS_LUMA_Coeff_Table_CMD()
382 {
383 DW0.Value = 0x7505007f;
384 DW0.DwordLength = GetOpLength(dwSize);
385 DW0.Subopcodeb = SUBOPCODEB_SFCAVSLUMACOEFFTABLE;
386 DW0.Subopcodea = SUBOPCODEA_COMMON;
387 DW0.MediaCommandOpcode = MEDIA_COMMAND_OPCODE_MEDIAMISC;
388 DW0.Pipeline = PIPELINE_MEDIA;
389 DW0.CommandType = COMMAND_TYPE_PARALLELVIDEOPIPE;
390
391 DW1.Value = 0x00000000;
392
393 DW2.Value = 0x00000000;
394
395 DW3.Value = 0x00000000;
396
397 DW4.Value = 0x00000000;
398
399 MOS_ZeroMemory(&FilterCoefficients, sizeof(FilterCoefficients));
400 }
401
SFC_AVS_CHROMA_Coeff_Table_CMD()402 mhw_sfc_xe_xpm::SFC_AVS_CHROMA_Coeff_Table_CMD::SFC_AVS_CHROMA_Coeff_Table_CMD()
403 {
404 DW0.Value = 0x7506003f;
405 DW0.DwordLength = GetOpLength(dwSize);
406 DW0.Subopcodeb = SUBOPCODEB_SFCAVSCHROMACOEFFTABLE;
407 DW0.Subopcodea = SUBOPCODEA_COMMON;
408 DW0.MediaCommandOpcode = MEDIA_COMMAND_OPCODE_MEDIAMISC;
409 DW0.Pipeline = PIPELINE_MEDIA;
410 DW0.CommandType = COMMAND_TYPE_PARALLELVIDEOPIPE;
411
412 DW1.Value = 0x00000000;
413
414 DW2.Value = 0x00000000;
415
416 MOS_ZeroMemory(&FilterCoefficients, sizeof(FilterCoefficients));
417 }
418