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_vdbox_mfx_hwcmd_g9_skl.cpp
24 //! \brief  Auto-generated definitions for MHW commands and states.
25 //!
26 
27 #include "mhw_vdbox_mfx_hwcmd_g9_skl.h"
28 #include "mos_utilities.h"
29 
MFX_QM_STATE_CMD()30 mhw_vdbox_mfx_g9_skl::MFX_QM_STATE_CMD::MFX_QM_STATE_CMD()
31 {
32     DW0.Value                                        = 0;
33     DW0.DwordLength                                  = GetOpLength(dwSize);
34     DW0.SubopcodeB                                   = SUBOPCODE_B_UNNAMED7;
35     DW0.SubopcodeA                                   = SUBOPCODE_A_UNNAMED0;
36     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_MFXCOMMONSTATE;
37     DW0.Pipeline                                     = PIPELINE_MFXMULTIDW;
38     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
39 
40     DW1.Value                                        = 0;
41     DW1.Obj0.Avc                                     = AVC_AVC_4X_4INTRAMATRIX_Y_4DWS_CB_4DWS_CR_4DWS_RESERVED_4DWS;
42     DW1.Obj1.Mpeg2                                   = MPEG2_MPEGINTRAQUANTIZERMATRIX;
43     DW1.Obj2.Jpeg                                    = JPEG_JPEGLUMAYQUANTIZERMATRIXORR;
44 
45     MOS_ZeroMemory(&ForwardQuantizerMatrix, sizeof(ForwardQuantizerMatrix));
46 }
47 
MFX_FQM_STATE_CMD()48 mhw_vdbox_mfx_g9_skl::MFX_FQM_STATE_CMD::MFX_FQM_STATE_CMD()
49 {
50     DW0.Value                                        = 0;
51     DW0.DwordLength                                  = GetOpLength(dwSize);
52     DW0.SubopcodeB                                   = SUBOPCODE_B_UNNAMED8;
53     DW0.SubopcodeA                                   = SUBOPCODE_A_UNNAMED0;
54     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_MFXCOMMONSTATE;
55     DW0.Pipeline                                     = PIPELINE_MFXMULTIDW;
56     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
57 
58     DW1.Value                                        = 0;
59     DW1.Obj0.Avc                                     = AVC_AVC_4X_4INTRAMATRIX_Y_4DWS_CB_4DWS_CR_4DWS_RESERVED_4DWS;
60     DW1.Obj1.Mpeg2                                   = MPEG2_MPEGINTRAQUANTIZERMATRIX;
61     DW1.Obj2.Jpeg                                    = JPEG_JPEGLUMAYQUANTIZERMATRIXORR;
62 
63     MOS_ZeroMemory(&ForwardQuantizerMatrix, sizeof(ForwardQuantizerMatrix));
64 }
65 
MFX_PIPE_MODE_SELECT_CMD()66 mhw_vdbox_mfx_g9_skl::MFX_PIPE_MODE_SELECT_CMD::MFX_PIPE_MODE_SELECT_CMD()
67 {
68     DW0.Value                                        = 0;
69     DW0.DwordLength                                  = GetOpLength(dwSize);
70     DW0.Subopb                                       = SUBOPB_MFXPIPEMODESELECT;
71     DW0.Subopa                                       = SUBOPA_UNNAMED0;
72     DW0.Opcode                                       = OPCODE_MFXCOMMONSTATE;
73     DW0.Pipeline                                     = PIPELINE_MFXCOMMON;
74     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
75 
76     DW1.Value                                        = 0;
77     DW1.StandardSelect                               = STANDARD_SELECT_MPEG2;
78     DW1.CodecSelect                                  = CODEC_SELECT_DECODE;
79     DW1.StitchMode                                   = STITCH_MODE_NOTINSTITCHMODE;
80     DW1.FrameStatisticsStreamoutEnable               = FRAME_STATISTICS_STREAMOUT_ENABLE_DISABLE;
81     DW1.ScaledSurfaceEnable                          = SCALED_SURFACE_ENABLE_DISABLE;
82     DW1.PreDeblockingOutputEnablePredeblockoutenable = PRE_DEBLOCKING_OUTPUT_ENABLE_PREDEBLOCKOUTENABLE_DISABLE;
83     DW1.PostDeblockingOutputEnablePostdeblockoutenable = POST_DEBLOCKING_OUTPUT_ENABLE_POSTDEBLOCKOUTENABLE_DISABLE;
84     DW1.StreamOutEnable                              = STREAM_OUT_ENABLE_DISABLE;
85     DW1.PicErrorStatusReportEnable                   = PIC_ERRORSTATUS_REPORT_ENABLE_DISABLE;
86     DW1.DeblockerStreamOutEnable                     = DEBLOCKER_STREAM_OUT_ENABLE_DISABLE;
87     DW1.VdencMode                                    = VDENC_MODE_MBENCMODE;
88     DW1.StandaloneVdencModeEnable                    = STANDALONE_VDENC_MODE_ENABLE_VDENCPAK;
89     DW1.DecoderModeSelect                            = DECODER_MODE_SELECT_VLDMODE;
90     DW1.DecoderShortFormatMode                       = DECODER_SHORT_FORMAT_MODE_SHORTFORMATDRIVERINTERFACE;
91 
92     DW2.Value                                        = 0;
93     DW2.VdsIldbCalculation                           = VDS_ILDB_CALCULATION_DISABLE;
94     DW2.ClockGateEnableAtSliceLevel                  = CLOCK_GATE_ENABLE_AT_SLICE_LEVEL_DISABLE;
95     DW2.MpcPref08X8DisableFlagDefault0               = MPC_PREF08X8_DISABLE_FLAG_DEFAULT_0_DISABLE;
96     DW2.Vlf720IOddHeightInVc1Mode                    = VLF_720I_ODD_HEIGHT_IN_VC1_MODE_DISABLE;
97     DW2.VmbSvcTlbDummyFetchDisableForPerformance     = VMB_SVC_TLB_DUMMY_FETCH_DISABLE_FOR_PERFORMANCE_ENABLE;
98     DW2.VmbSvcMvReplicationFor8X8EnableErrorHandling = VMB_SVC_MV_REPLICATION_FOR_8X8_ENABLE_ERROR_HANDLING_DISABLE;
99 
100     DW3.Value                                        = 0;
101     DW3.PicStatusErrorReportId                       = PIC_STATUSERROR_REPORT_ID_32_BITUNSIGNED;
102 
103     DW4.Value                                        = 0;
104 
105 }
106 
MFX_SURFACE_STATE_CMD()107 mhw_vdbox_mfx_g9_skl::MFX_SURFACE_STATE_CMD::MFX_SURFACE_STATE_CMD()
108 {
109     DW0.Value                                        = 0;
110     DW0.DwordLength                                  = GetOpLength(dwSize);
111     DW0.Subopb                                       = SUBOPB_UNNAMED1;
112     DW0.Subopa                                       = SUBOPA_UNNAMED0;
113     DW0.Opcode                                       = OPCODE_MFXCOMMONSTATE;
114     DW0.Pipeline                                     = PIPELINE_MFXCOMMON;
115     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
116 
117     DW1.Value                                        = 0;
118     DW1.SurfaceId                                    = SURFACE_ID_DECODEDPICTUREANDREFERENCEPICTURES_SVCUPSAMPLINGSTREAMOUTRECONSTRUCTEDPIXELSCOEFFPREDUPPERLAYERSIZE;
119 
120     DW2.Value                                        = 0;
121 
122     DW3.Value                                        = 0;
123     DW3.TileWalk                                     = TILE_WALK_XMAJOR;
124     DW3.TiledSurface                                 = TILED_SURFACE_FALSE;
125     DW3.InterleaveChroma                             = INTERLEAVE_CHROMA_DISABLE;
126     DW3.SurfaceFormat                                = SURFACE_FORMAT_YCRCBNORMAL;
127 
128     DW4.Value                                        = 0;
129 
130     DW5.Value                                        = 0;
131 
132 }
133 
MFX_IND_OBJ_BASE_ADDR_STATE_CMD()134 mhw_vdbox_mfx_g9_skl::MFX_IND_OBJ_BASE_ADDR_STATE_CMD::MFX_IND_OBJ_BASE_ADDR_STATE_CMD()
135 {
136     DW0.Value                                        = 0;
137     DW0.DwordLength                                  = GetOpLength(dwSize);
138     DW0.Subopcodeb                                   = SUBOPCODEB_MFXINDOBJBASEADDRSTATE;
139     DW0.SubOpcodea                                   = SUB_OPCODEA_MFXINDOBJBASEADDRSTATE;
140     DW0.CommonOpcode                                 = COMMON_OPCODE_MFXINDOBJBASEADDRSTATE;
141     DW0.Pipeline                                     = PIPELINE_MFXINDOBJBASEADDRSTATE;
142     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
143 
144     DW1.Value                                        = 0;
145 
146     DW2.Value                                        = 0;
147 
148     DW3.Value                                        = 0;
149     DW3.MfxIndirectBitstreamObjectbaseArbitrationPriorityControl = MFX_INDIRECT_BITSTREAM_OBJECTBASE_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
150     DW3.MfxIndirectBitstreamObjectTiledResourceMode  = MFX_INDIRECT_BITSTREAM_OBJECT_TILED_RESOURCE_MODE_TRMODENONE;
151 
152     DW4.Value                                        = 0;
153 
154     DW5.Value                                        = 0;
155 
156     DW6.Value                                        = 0;
157 
158     DW7.Value                                        = 0;
159 
160     DW8.Value                                        = 0;
161     DW8.MfxIndirectMvObjectArbitrationPriorityControl = MFX_INDIRECT_MV_OBJECT_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
162     DW8.MfxIndirectMvObjectDestinationTiledResourceMode = MFX_INDIRECT_MV_OBJECT_DESTINATION_TILED_RESOURCE_MODE_TRMODENONE;
163 
164     DW9.Value                                        = 0;
165 
166     DW10.Value                                       = 0;
167 
168     DW11.Value                                       = 0;
169 
170     DW12.Value                                       = 0;
171 
172     DW13.Value                                       = 0;
173     DW13.MfdIndirectItCoeffObjectDesitnationArbitrationPriorityControl = MFD_INDIRECT_IT_COEFF_OBJECT_DESITNATION_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
174     DW13.MfdIndirectItCoeffTiledResourceMode         = MFD_INDIRECT_IT_COEFF_TILED_RESOURCE_MODE_TRMODENONE;
175 
176     DW14.Value                                       = 0;
177 
178     DW15.Value                                       = 0;
179 
180     DW16.Value                                       = 0;
181 
182     DW17.Value                                       = 0;
183 
184     DW18.Value                                       = 0;
185     DW18.MfdIndirectItDblkObjectArbitrationPriorityControl = MFD_INDIRECT_IT_DBLK_OBJECT_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
186     DW18.MfdIndirectItDblkObjectDestinationTiledResourceMode = MFD_INDIRECT_IT_DBLK_OBJECT_DESTINATION_TILED_RESOURCE_MODE_TRMODENONE;
187 
188     DW19.Value                                       = 0;
189 
190     DW20.Value                                       = 0;
191 
192     DW21.Value                                       = 0;
193 
194     DW22.Value                                       = 0;
195 
196     DW23.Value                                       = 0;
197     DW23.MfcIndirectPakBseObjectDesitnationArbitrationPriorityControl = MFC_INDIRECT_PAK_BSE_OBJECT_DESITNATION_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
198     DW23.MfcIndirectPakBseObjectDestinationTiledResourceMode = MFC_INDIRECT_PAK_BSE_OBJECT_DESTINATION_TILED_RESOURCE_MODE_TRMODENONE;
199 
200     DW24.Value                                       = 0;
201 
202     DW25.Value                                       = 0;
203 
204 }
205 
MFX_BSP_BUF_BASE_ADDR_STATE_CMD()206 mhw_vdbox_mfx_g9_skl::MFX_BSP_BUF_BASE_ADDR_STATE_CMD::MFX_BSP_BUF_BASE_ADDR_STATE_CMD()
207 {
208     DW0.Value                                        = 0;
209     DW0.DwordLength                                  = GetOpLength(dwSize);
210     DW0.SubopcodeB                                   = SUBOPCODE_B_UNNAMED_4;
211     DW0.SubopcodeA                                   = SUBOPCODE_A_UNNAMED0;
212     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_MFXCOMMONSTATE;
213     DW0.Pipeline                                     = PIPELINE_PIPELINE;
214     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
215 
216     DW1.Value                                        = 0;
217 
218     DW2.Value                                        = 0;
219 
220     DW3.Value                                        = 0;
221     DW3.BsdMpcRowStoreScratchBufferArbitrationPriorityControl = BSDMPC_ROW_STORE_SCRATCH_BUFFER_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
222     DW3.BsdMpcRowStoreScratchBufferCacheSelect       = BSDMPC_ROW_STORE_SCRATCH_BUFFER_CACHE_SELECT_UNNAMED0;
223     DW3.BsdMpcRowStoreScratchBufferTiledResourceMode = BSDMPC_ROW_STORE_SCRATCH_BUFFER_TILED_RESOURCE_MODE_TRMODENONE;
224 
225     DW4.Value                                        = 0;
226 
227     DW5.Value                                        = 0;
228 
229     DW6.Value                                        = 0;
230     DW6.MprRowStoreScratchBufferArbitrationPriorityControl = MPR_ROW_STORE_SCRATCH_BUFFER_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
231     DW6.MprRowStoreScratchBufferCacheSelect          = MPR_ROW_STORE_SCRATCH_BUFFER_CACHE_SELECT_UNNAMED0;
232     DW6.MprRowStoreScratchBufferTiledResourceMode    = MPR_ROW_STORE_SCRATCH_BUFFER_TILED_RESOURCE_MODE_TRMODENONE;
233 
234     DW7.Value                                        = 0;
235 
236     DW8.Value                                        = 0;
237 
238     DW9.Value                                        = 0;
239     DW9.BitplaneReadBufferArbitrationPriorityControl = BITPLANE_READ_BUFFER_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
240     DW9.BitplaneReadBufferTiledResourceMode          = BITPLANE_READ_BUFFER_TILED_RESOURCE_MODE_TRMODENONE;
241 
242 }
243 
MFD_AVC_PICID_STATE_CMD()244 mhw_vdbox_mfx_g9_skl::MFD_AVC_PICID_STATE_CMD::MFD_AVC_PICID_STATE_CMD()
245 {
246     DW0.Value                                        = 0;
247     DW0.DwordLength                                  = GetOpLength(dwSize);
248     DW0.SubopcodeB                                   = SUBOPCODE_B_MEDIA;
249     DW0.SubopcodeA                                   = SUBOPCODE_A_DEC;
250     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_MFDAVCDPBSTATE;
251     DW0.Pipeline                                     = PIPELINE_MFXMULTIDW;
252     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
253 
254     DW1.Value                                        = 0;
255     DW1.PictureidRemappingDisable                    = PICTUREID_REMAPPING_DISABLE_AVCDECODERWILLUSE16BITSPICTUREIDTOHANDLEDMVANDIDENTIFYTHEREFERENCEPICTURE;
256 
257     MOS_ZeroMemory(&Pictureidlist1616Bits, sizeof(Pictureidlist1616Bits));
258 }
259 
MFX_AVC_IMG_STATE_CMD()260 mhw_vdbox_mfx_g9_skl::MFX_AVC_IMG_STATE_CMD::MFX_AVC_IMG_STATE_CMD()
261 {
262     DW0.Value                                        = 0;
263     DW0.DwordLength                                  = GetOpLength(dwSize);
264     DW0.SubopcodeB                                   = SUBOPCODE_B_UNNAMED0;
265     DW0.SubopcodeA                                   = SUBOPCODE_A_UNNAMED0;
266     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_AVCCOMMON;
267     DW0.Pipeline                                     = PIPELINE_MFXAVCIMGSTATE;
268     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
269 
270     DW1.Value                                        = 0;
271 
272     DW2.Value                                        = 0;
273 
274     DW3.Value                                        = 0;
275     DW3.ImgstructImageStructureImgStructure10        = IMGSTRUCT_IMAGE_STRUCTURE_IMG_STRUCTURE10_FRAMEPICTURE;
276     DW3.WeightedBipredIdc                            = WEIGHTED_BIPRED_IDC_DEFAULT;
277     DW3.WeightedPredFlag                             = WEIGHTED_PRED_FLAG_DISABLE;
278     DW3.RhodomainRateControlEnable                   = RHODOMAIN_RATE_CONTROL_ENABLE_DISABLE;
279 
280     DW4.Value                                        = 0;
281     DW4.Fieldpicflag                                 = FIELDPICFLAG_FRAME;
282     DW4.Mbaffflameflag                               = MBAFFFLAMEFLAG_FALSE;
283     DW4.Framembonlyflag                              = FRAMEMBONLYFLAG_FALSE;
284     DW4.Transform8X8Flag                             = TRANSFORM8X8FLAG_4X_4;
285     DW4.Direct8X8Infflag                             = DIRECT8X8INFFLAG_SUBBLOCK;
286     DW4.Constrainedipredflag                         = CONSTRAINEDIPREDFLAG_INTRAANDINTER;
287     DW4.Imgdisposableflag                            = IMGDISPOSABLEFLAG_REFERENCE;
288     DW4.Entropycodingflag                            = ENTROPYCODINGFLAG_CAVLCBIT_SERIALENCODINGMODE;
289     DW4.Mbmvformatflag                               = MBMVFORMATFLAG_IGNORE;
290     DW4.Chromaformatidc                              = CHROMAFORMATIDC_MONOCHROMEPICTURE;
291     DW4.Mvunpackedflag                               = MVUNPACKEDFLAG_PACKED;
292     DW4.Loadslicepointerflag                         = LOADSLICEPOINTERFLAG_DISABLE;
293     DW4.Mbstatenabled                                = MBSTATENABLED_DISABLE;
294     DW4.Minframewsize                                = MINFRAMEWSIZE_UNNAMED0;
295 
296     DW5.Value                                        = 0;
297     DW5.IntrambmaxbitflagIntrambmaxsizereportmask    = INTRAMBMAXBITFLAG_INTRAMBMAXSIZEREPORTMASK_DISABLE;
298     DW5.IntermbmaxbitflagIntermbmaxsizereportmask    = INTERMBMAXBITFLAG_INTERMBMAXSIZEREPORTMASK_DISABLE;
299     DW5.FrameszoverflagFramebitratemaxreportmask     = FRAMESZOVERFLAG_FRAMEBITRATEMAXREPORTMASK_DISABLE;
300     DW5.FrameszunderflagFramebitrateminreportmask    = FRAMESZUNDERFLAG_FRAMEBITRATEMINREPORTMASK_DISABLE;
301     DW5.IntraIntermbipcmflagForceipcmcontrolmask     = INTRAINTERMBIPCMFLAG_FORCEIPCMCONTROLMASK_DISABLE;
302     DW5.MbratectrlflagMbLevelRateControlEnablingFlag = MBRATECTRLFLAG_MB_LEVEL_RATE_CONTROL_ENABLING_FLAG_DISABLE;
303     DW5.Minframewsizeunits                           = MINFRAMEWSIZEUNITS_COMPATIBILITYMODE;
304     DW5.Nonfirstpassflag                             = NONFIRSTPASSFLAG_DISABLE;
305     DW5.TrellisQuantizationChromaDisableTqchromadisable = TRELLIS_QUANTIZATION_CHROMA_DISABLE_TQCHROMADISABLE_UNNAMED0;
306     DW5.TrellisQuantizationRoundingTqr               = TRELLIS_QUANTIZATION_ROUNDING_TQR_UNNAMED0;
307     DW5.TrellisQuantizationEnabledTqenb              = TRELLIS_QUANTIZATION_ENABLED_TQENB_DISABLE;
308 
309     DW6.Value                                        = 0;
310 
311     DW7.Value                                        = 0;
312     DW7.VslTopMbTrans8X8Flag                         = VSL_TOP_MB_TRANS8X8FLAG_DISABLE;
313     DW7.BspEncoderEcoEnable                          = BSP_ENCODER_ECO_ENABLE_DISABLE;
314 
315     DW8.Value                                        = 0;
316 
317     DW9.Value                                        = 0;
318 
319     DW10.Value                                       = 0;
320     DW10.Framebitrateminunitmode                     = FRAMEBITRATEMINUNITMODE_COMPATIBILITYMODE;
321     DW10.Framebitrateminunit                         = FRAMEBITRATEMINUNIT_BYTE;
322     DW10.Framebitratemaxunitmode                     = FRAMEBITRATEMAXUNITMODE_COMPATIBILITYMODE;
323     DW10.Framebitratemaxunit                         = FRAMEBITRATEMAXUNIT_BYTE;
324 
325     DW11.Value                                       = 0;
326     DW11.Framebitratemaxdelta                        = FRAMEBITRATEMAXDELTA_UNNAMED0;
327 
328     DW12.Value                                       = 0;
329 
330     DW13.Value                                       = 0;
331 
332     DW14.Value                                       = 0;
333 
334     DW15.Value                                       = 0;
335 
336     DW16_17.Value[0] = DW16_17.Value[1]              = 0;
337     DW16_17.InterViewOrderDisable                    = INTER_VIEW_ORDER_DISABLE_DEFAULT;
338 
339     DW18.Value                                       = 0;
340 
341     DW19.Value                                       = 0;
342 
343     DW20.Value                                       = 0;
344 
345 }
346 
MFX_AVC_REF_IDX_STATE_CMD()347 mhw_vdbox_mfx_g9_skl::MFX_AVC_REF_IDX_STATE_CMD::MFX_AVC_REF_IDX_STATE_CMD()
348 {
349     DW0.Value                                        = 0;
350     DW0.DwordLength                                  = GetOpLength(dwSize);
351     DW0.Subopcodeb                                   = SUBOPCODEB_MFXAVCREFIDXSTATE;
352     DW0.Subopcodea                                   = SUBOPCODEA_MFXAVCREFIDXSTATE;
353     DW0.CommandOpcode                                = COMMAND_OPCODE_AVC;
354     DW0.Pipeline                                     = PIPELINE_MFXAVCREFIDXSTATE;
355     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
356 
357     DW1.Value                                        = 0;
358     DW1.RefpiclistSelect                             = REFPICLIST_SELECT_REFPICLIST0;
359 
360     MOS_ZeroMemory(&ReferenceListEntry, sizeof(ReferenceListEntry));
361 }
362 
MFX_AVC_WEIGHTOFFSET_STATE_CMD()363 mhw_vdbox_mfx_g9_skl::MFX_AVC_WEIGHTOFFSET_STATE_CMD::MFX_AVC_WEIGHTOFFSET_STATE_CMD()
364 {
365     DW0.Value                                        = 0;
366     DW0.DwordLength                                  = GetOpLength(dwSize);
367     DW0.SubopcodeB                                   = SUBOPCODE_B_UNNAMED5;
368     DW0.SubopcodeA                                   = SUBOPCODE_A_UNNAMED0;
369     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_AVCCOMMON;
370     DW0.Pipeline                                     = PIPELINE_MFXAVCWEIGHTOFFSETSTATE;
371     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
372 
373     DW1.Value                                        = 0;
374     DW1.WeightAndOffsetSelect                        = WEIGHT_AND_OFFSET_SELECT_WEIGHTANDOFFSETL0TABLE;
375 
376     MOS_ZeroMemory(&Weightoffset, sizeof(Weightoffset));
377 }
378 
MFX_AVC_SLICE_STATE_CMD()379 mhw_vdbox_mfx_g9_skl::MFX_AVC_SLICE_STATE_CMD::MFX_AVC_SLICE_STATE_CMD()
380 {
381     DW0.Value                                        = 0;
382     DW0.DwordLength                                  = GetOpLength(dwSize);
383     DW0.CommandSubopcodeb                            = COMMAND_SUBOPCODEB_MFXAVCSLICESTATE;
384     DW0.Subopcodea                                   = SUBOPCODEA_MFXAVCSLICESTATE;
385     DW0.CommandOpcode                                = COMMAND_OPCODE_AVC;
386     DW0.Pipeline                                     = PIPELINE_MFXAVCSLICESTATE;
387     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
388 
389     DW1.Value                                        = 0;
390     DW1.SliceType                                    = SLICE_TYPE_PSLICE;
391 
392     DW2.Value                                        = 0;
393 
394     DW3.Value                                        = 0;
395     DW3.DisableDeblockingFilterIndicator             = DISABLE_DEBLOCKING_FILTER_INDICATOR_UNNAMED0;
396     DW3.DirectPredictionType                         = DIRECT_PREDICTION_TYPE_TEMPORAL;
397 
398     DW4.Value                                        = 0;
399 
400     DW5.Value                                        = 0;
401 
402     DW6.Value                                        = 0;
403     DW6.Cabaczerowordinsertionenable                 = CABACZEROWORDINSERTIONENABLE_UNNAMED0;
404     DW6.Emulationbytesliceinsertenable               = EMULATIONBYTESLICEINSERTENABLE_UNNAMED0;
405     DW6.TailInsertionPresentInBitstream              = TAIL_INSERTION_PRESENT_IN_BITSTREAM_UNNAMED0;
406     DW6.SlicedataInsertionPresentInBitstream         = SLICEDATA_INSERTION_PRESENT_IN_BITSTREAM_UNNAMED0;
407     DW6.HeaderInsertionPresentInBitstream            = HEADER_INSERTION_PRESENT_IN_BITSTREAM_UNNAMED0;
408     DW6.IsLastSlice                                  = IS_LAST_SLICE_UNNAMED0;
409     DW6.MbTypeSkipConversionDisable                  = MB_TYPE_SKIP_CONVERSION_DISABLE_ENABLESKIPTYPECONVERSION;
410     DW6.MbTypeDirectConversionDisable                = MB_TYPE_DIRECT_CONVERSION_DISABLE_ENABLEDIRECTMODECONVERSION;
411     DW6.RcPanicType                                  = RC_PANIC_TYPE_QPPANIC;
412     DW6.RcPanicEnable                                = RC_PANIC_ENABLE_DISABLE;
413     DW6.RcTriggleMode                                = RC_TRIGGLE_MODE_ALWAYSRATECONTROL;
414     DW6.Resetratecontrolcounter                      = RESETRATECONTROLCOUNTER_NOTRESET;
415     DW6.RateControlCounterEnable                     = RATE_CONTROL_COUNTER_ENABLE_DISABLE;
416 
417     DW7.Value                                        = 0;
418 
419     DW8.Value                                        = 0;
420 
421     DW9.Value                                        = 0;
422     DW9.Roundintra                                   = ROUNDINTRA_116;
423     DW9.Roundinter                                   = ROUNDINTER_116;
424 
425     DW10.Value                                       = 0;
426 
427 }
428 
MFD_AVC_DPB_STATE_CMD()429 mhw_vdbox_mfx_g9_skl::MFD_AVC_DPB_STATE_CMD::MFD_AVC_DPB_STATE_CMD()
430 {
431     DW0.Value                                        = 0;
432     DW0.DwordLength                                  = GetOpLength(dwSize);
433     DW0.SubopcodeB                                   = SUBOPCODE_B_UNNAMED6;
434     DW0.SubopcodeA                                   = SUBOPCODE_A_UNNAMED1;
435     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_AVCDEC;
436     DW0.Pipeline                                     = PIPELINE_MFXMULTIDW;
437     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
438 
439     DW1.Value                                        = 0;
440     DW1.NonExistingframeFlag161Bit                   = NON_EXISTINGFRAME_FLAG161_BIT_VALID;
441     DW1.LongtermframeFlag161Bit                      = LONGTERMFRAME_FLAG161_BIT_THEPICTUREISASHORTTERMREFERENCEPICTURE;
442 
443     DW2.Value                                        = 0;
444     DW2.UsedforreferenceFlag162Bits                  = USEDFORREFERENCE_FLAG162_BITS_NOTREFERENCE;
445 
446     MOS_ZeroMemory(&Ltstframenumlist1616Bits, sizeof(Ltstframenumlist1616Bits));
447     MOS_ZeroMemory(&Viewidlist1616Bits, sizeof(Viewidlist1616Bits));
448     MOS_ZeroMemory(&Vieworderlistl0168Bits, sizeof(Vieworderlistl0168Bits));
449     MOS_ZeroMemory(&Vieworderlistl1168Bits, sizeof(Vieworderlistl1168Bits));
450 }
451 
MFD_AVC_SLICEADDR_CMD()452 mhw_vdbox_mfx_g9_skl::MFD_AVC_SLICEADDR_CMD::MFD_AVC_SLICEADDR_CMD()
453 {
454     DW0.Value                                        = 0;
455     DW0.DwordLength                                  = GetOpLength(dwSize);
456     DW0.SubopcodeB                                   = SUBOPCODE_B_UNNAMED7;
457     DW0.SubopcodeA                                   = SUBOPCODE_A_UNNAMED1;
458     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_AVCDEC;
459     DW0.Pipeline                                     = PIPELINE_MFDAVCSLICEADDR;
460     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
461 
462     DW1.Value                                        = 0;
463 
464     DW2.Value                                        = 0;
465 
466 }
467 
MFD_AVC_BSD_OBJECT_CMD()468 mhw_vdbox_mfx_g9_skl::MFD_AVC_BSD_OBJECT_CMD::MFD_AVC_BSD_OBJECT_CMD()
469 {
470     DW0.Value                                        = 0;
471     DW0.DwordLength                                  = GetOpLength(dwSize);
472     DW0.SubopcodeB                                   = SUBOPCODE_B_UNNAMED8;
473     DW0.SubopcodeA                                   = SUBOPCODE_A_UNNAMED1;
474     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_AVCDEC;
475     DW0.Pipeline                                     = PIPELINE_MFDAVCBSDOBJECT;
476     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
477 
478     DW1.Value                                        = 0;
479 
480     DW2.Value                                        = 0;
481 
482     DW3.Value                                        = 0;
483     DW3.MbErrorConcealmentPSliceWeightPredictionDisableFlag = MB_ERROR_CONCEALMENT_P_SLICE_WEIGHT_PREDICTION_DISABLE_FLAG_UNNAMED0;
484     DW3.MbErrorConcealmentPSliceMotionVectorsOverrideDisableFlag = MB_ERROR_CONCEALMENT_P_SLICE_MOTION_VECTORS_OVERRIDE_DISABLE_FLAG_UNNAMED0;
485     DW3.MbErrorConcealmentBSpatialWeightPredictionDisableFlag = MB_ERROR_CONCEALMENT_B_SPATIAL_WEIGHT_PREDICTION_DISABLE_FLAG_UNNAMED0;
486     DW3.MbErrorConcealmentBSpatialMotionVectorsOverrideDisableFlag = MB_ERROR_CONCEALMENT_B_SPATIAL_MOTION_VECTORS_OVERRIDE_DISABLE_FLAG_UNNAMED0;
487     DW3.MbErrorConcealmentBSpatialPredictionMode     = MB_ERROR_CONCEALMENT_B_SPATIAL_PREDICTION_MODE_UNNAMED0;
488     DW3.MbHeaderErrorHandling                        = MB_HEADER_ERROR_HANDLING_UNNAMED0;
489     DW3.EntropyErrorHandling                         = ENTROPY_ERROR_HANDLING_UNNAMED0;
490     DW3.MprErrorMvOutOfRangeHandling                 = MPR_ERROR_MV_OUT_OF_RANGE_HANDLING_UNNAMED0;
491     DW3.BsdPrematureCompleteErrorHandling            = BSD_PREMATURE_COMPLETE_ERROR_HANDLING_UNNAMED0;
492     DW3.MbErrorConcealmentBTemporalWeightPredictionDisableFlag = MB_ERROR_CONCEALMENT_B_TEMPORAL_WEIGHT_PREDICTION_DISABLE_FLAG_UNNAMED0;
493     DW3.MbErrorConcealmentBTemporalMotionVectorsOverrideEnableFlag = MB_ERROR_CONCEALMENT_B_TEMPORAL_MOTION_VECTORS_OVERRIDE_ENABLE_FLAG_UNNAMED0;
494     DW3.MbErrorConcealmentBTemporalPredictionMode    = MB_ERROR_CONCEALMENT_B_TEMPORAL_PREDICTION_MODE_UNNAMED0;
495     DW3.IntraPredmode4X48X8LumaErrorControlBit       = INTRA_PREDMODE_4X48X8_LUMA_ERROR_CONTROL_BIT_UNNAMED0;
496     DW3.ConcealmentMethod                            = CONCEALMENT_METHOD_UNNAMED0;
497 
498     DW4.Value                                        = 0;
499     DW4.LastsliceFlag                                = LASTSLICE_FLAG_UNNAMED0;
500     DW4.EmulationPreventionBytePresent               = EMULATION_PREVENTION_BYTE_PRESENT_UNNAMED0;
501 
502     DW5.Value                                        = 0;
503     DW5.IntraPredictionErrorControlBitAppliedToIntra16X16Intra8X8Intra4X4LumaAndChroma = INTRA_PREDICTION_ERROR_CONTROL_BIT_APPLIED_TO_INTRA16X16INTRA8X8INTRA4X4_LUMA_AND_CHROMA_UNNAMED0;
504     DW5.Intra8X84X4PredictionErrorConcealmentControlBit = INTRA_8X84X4_PREDICTION_ERROR_CONCEALMENT_CONTROL_BIT_UNNAMED0;
505     DW5.BSliceTemporalInterConcealmentMode           = B_SLICE_TEMPORAL_INTER_CONCEALMENT_MODE_UNNAMED0;
506     DW5.BSliceSpatialInterConcealmentMode            = B_SLICE_SPATIAL_INTER_CONCEALMENT_MODE_UNNAMED0;
507     DW5.BSliceInterDirectTypeConcealmentMode         = B_SLICE_INTER_DIRECT_TYPE_CONCEALMENT_MODE_UNNAMED0;
508     DW5.BSliceConcealmentMode                        = B_SLICE_CONCEALMENT_MODE_INTERCONCEALMENT;
509     DW5.PSliceInterConcealmentMode                   = P_SLICE_INTER_CONCEALMENT_MODE_UNNAMED0;
510     DW5.PSliceConcealmentMode                        = P_SLICE_CONCEALMENT_MODE_INTERCONCEALMENT;
511     DW5.ISliceConcealmentMode                        = I_SLICE_CONCEALMENT_MODE_INTRACONCEALMENT;
512 
513 }
514 
MFX_PAK_INSERT_OBJECT_CMD()515 mhw_vdbox_mfx_g9_skl::MFX_PAK_INSERT_OBJECT_CMD::MFX_PAK_INSERT_OBJECT_CMD()
516 {
517     DW0.Value                                        = 0;
518     DW0.DwordLength                                  = GetOpLength(dwSize);
519     DW0.SubopcodeB                                   = SUBOPCODE_B_UNNAMED8;
520     DW0.SubopcodeA                                   = SUBOPCODE_A_UNNAMED2;
521     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_MFXCOMMON;
522     DW0.Pipeline                                     = PIPELINE_MFXPAKINSERTOBJECT;
523     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
524 
525     DW1.Value                                        = 0;
526     DW1.BitstreamstartresetResetbitstreamstartingpos = BITSTREAMSTARTRESET_RESETBITSTREAMSTARTINGPOS_INSERT;
527     DW1.EmulationflagEmulationbytebitsinsertenable   = EMULATIONFLAG_EMULATIONBYTEBITSINSERTENABLE_NONE;
528     DW1.SliceHeaderIndicator                         = SLICE_HEADER_INDICATOR_LEGACY;
529     DW1.Headerlengthexcludefrmsize                   = HEADERLENGTHEXCLUDEFRMSIZE_ACCUMULATE;
530 
531 }
532 
MFX_MPEG2_PIC_STATE_CMD()533 mhw_vdbox_mfx_g9_skl::MFX_MPEG2_PIC_STATE_CMD::MFX_MPEG2_PIC_STATE_CMD()
534 {
535     DW0.Value                                        = 0;
536     DW0.DwordLength                                  = GetOpLength(dwSize);
537     DW0.SubopcodeB                                   = SUBOPCODE_B_UNNAMED0;
538     DW0.SubopcodeA                                   = SUBOPCODE_A_UNNAMED0;
539     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_MPEG2COMMON;
540     DW0.Pipeline                                     = PIPELINE_MFXMPEG2PICSTATE;
541     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
542 
543     DW1.Value                                        = 0;
544     DW1.ScanOrder                                    = SCAN_ORDER_UNNAMED0;
545     DW1.QuantizerScaleType                           = QUANTIZER_SCALE_TYPE_UNNAMED0;
546 
547     DW2.Value                                        = 0;
548     DW2.Mismatchcontroldisabled                      = MISMATCHCONTROLDISABLED_UNNAMED0;
549     DW2.PictureCodingType                            = PICTURE_CODING_TYPE_MPEGIPICTURE;
550     DW2.LoadslicepointerflagLoadbitstreampointerperslice = LOADSLICEPOINTERFLAG_LOADBITSTREAMPOINTERPERSLICE_UNNAMED0;
551     DW2.PBSlicePredictedMotionVectorOverrideFinalMvValueOverride = PB_SLICE_PREDICTED_MOTION_VECTOR_OVERRIDE_FINAL_MV_VALUE_OVERRIDE_PREDICTED;
552     DW2.PBSlicePredictedBidirMotionTypeOverrideBiDirectionMvTypeOverride = PB_SLICE_PREDICTED_BIDIR_MOTION_TYPE_OVERRIDE_BI_DIRECTION_MV_TYPE_OVERRIDE_BID;
553     DW2.PBSliceConcealmentMode                       = PB_SLICE_CONCEALMENT_MODE_INTER;
554     DW2.ISliceConcealmentMode                        = I_SLICE_CONCEALMENT_MODE_INTRACONCEALMENT;
555 
556     DW3.Value                                        = 0;
557     DW3.SliceConcealmentDisableBit                   = SLICE_CONCEALMENT_DISABLE_BIT_ENABLE;
558 
559     DW4.Value                                        = 0;
560     DW4.Minframewsize                                = MINFRAMEWSIZE_UNNAMED0;
561 
562     DW5.Value                                        = 0;
563     DW5.Intrambmaxsizereportmask                     = INTRAMBMAXSIZEREPORTMASK_UNNAMED0;
564     DW5.Intermbmaxsizereportmask                     = INTERMBMAXSIZEREPORTMASK_UNNAMED0;
565     DW5.Framebitratemaxreportmask                    = FRAMEBITRATEMAXREPORTMASK_DISABLE;
566     DW5.Framebitrateminreportmask                    = FRAMEBITRATEMINREPORTMASK_DISABLE;
567     DW5.Mbratecontrolmask                            = MBRATECONTROLMASK_UNNAMED0;
568     DW5.Minframewsizeunits                           = MINFRAMEWSIZEUNITS_COMPATIBILITYMODE;
569     DW5.Intermbforcecbpzerocontrolmask               = INTERMBFORCECBPZEROCONTROLMASK_UNNAMED0;
570     DW5.Framesizecontrolmask                         = FRAMESIZECONTROLMASK_UNNAMED0;
571 
572     DW6.Value                                        = 0;
573     DW6.Intrambmaxsize                               = INTRAMBMAXSIZE_UNNAMED_4095;
574     DW6.Intermbmaxsize                               = INTERMBMAXSIZE_UNNAMED_4095;
575 
576     DW7.Value                                        = 0;
577     DW7.VslTopMbTrans8X8Flag                         = VSL_TOP_MB_TRANS8X8FLAG_DISABLE;
578 
579     DW8.Value                                        = 0;
580     DW8.Slicedeltaqpmax3                             = SLICEDELTAQPMAX3_DISABLE;
581 
582     DW9.Value                                        = 0;
583 
584     DW10.Value                                       = 0;
585     DW10.Framebitrateminunitmode                     = FRAMEBITRATEMINUNITMODE_COMPATIBILITYMODE;
586     DW10.Framebitrateminunit                         = FRAMEBITRATEMINUNIT_BYTE;
587     DW10.Framebitratemaxunitmode                     = FRAMEBITRATEMAXUNITMODE_COMPATIBILITYMODE;
588     DW10.Framebitratemaxunit                         = FRAMEBITRATEMAXUNIT_BYTE;
589 
590     DW11.Value                                       = 0;
591     DW11.Framebitratemaxdelta                        = FRAMEBITRATEMAXDELTA_UNNAMED0;
592 
593     DW12.Value                                       = 0;
594 
595 }
596 
MFD_MPEG2_BSD_OBJECT_CMD()597 mhw_vdbox_mfx_g9_skl::MFD_MPEG2_BSD_OBJECT_CMD::MFD_MPEG2_BSD_OBJECT_CMD()
598 {
599     DW0.Value                                        = 0;
600     DW0.DwordLength                                  = GetOpLength(dwSize);
601     DW0.SubopcodeB                                   = SUBOPCODE_B_UNNAMED8;
602     DW0.SubopcodeA                                   = SUBOPCODE_A_UNNAMED1;
603     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_MPEG2DEC;
604     DW0.Pipeline                                     = PIPELINE_MFDMPEG2BSDOBJECT;
605     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
606 
607     DW1.Value                                        = 0;
608 
609     DW2.Value                                        = 0;
610 
611     DW3.Value                                        = 0;
612     DW3.IsLastMb                                     = IS_LAST_MB_UNNAMED0;
613     DW3.LastPicSlice                                 = LAST_PIC_SLICE_UNNAMED0;
614     DW3.SliceConcealmentTypeBit                      = SLICE_CONCEALMENT_TYPE_BIT_UNNAMED0;
615     DW3.SliceConcealmentOverrideBit                  = SLICE_CONCEALMENT_OVERRIDE_BIT_UNNAMED0;
616 
617     DW4.Value                                        = 0;
618 
619 }
620 
MFD_IT_OBJECT_MPEG2_INLINE_DATA_CMD()621 mhw_vdbox_mfx_g9_skl::MFD_IT_OBJECT_MPEG2_INLINE_DATA_CMD::MFD_IT_OBJECT_MPEG2_INLINE_DATA_CMD()
622 {
623     DW0.Value                                        = 0;
624     DW0.MacroblockIntraType                          = MACROBLOCK_INTRA_TYPE_NON_INTRAMACROBLOCK;
625     DW0.MacroblockMotionForward                      = MACROBLOCK_MOTION_FORWARD_NOFORWARDMOTIONVECTOR;
626     DW0.MacroblockMotionBackward                     = MACROBLOCK_MOTION_BACKWARD_NOBACKWARDMOTIONVECTOR;
627     DW0.DctType                                      = DCT_TYPE_MCFRAMEDCT;
628     DW0.MotionVerticalFieldSelect                    = MOTION_VERTICAL_FIELD_SELECT_TOPFIELD;
629 
630     DW1.Value                                        = 0;
631 
632     DW2.Value                                        = 0;
633 
634     DW3.Value                                        = 0;
635 
636     DW4.Value                                        = 0;
637 
638     DW5.Value                                        = 0;
639 
640 }
641 
MFD_IT_OBJECT_VC1_INLINE_DATA_CMD()642 mhw_vdbox_mfx_g9_skl::MFD_IT_OBJECT_VC1_INLINE_DATA_CMD::MFD_IT_OBJECT_VC1_INLINE_DATA_CMD()
643 {
644     DW0.Value                                        = 0;
645     DW0.MacroblockIntraType                          = MACROBLOCK_INTRA_TYPE_NON_INTRAMACROBLOCK;
646     DW0.MacroblockMotionForward                      = MACROBLOCK_MOTION_FORWARD_NOFORWARDMOTIONVECTOR;
647     DW0.MacroblockMotionBackward                     = MACROBLOCK_MOTION_BACKWARD_NOBACKWARDMOTIONVECTOR;
648     DW0.Motion4Mv                                    = MOTION4MV_1MV_MODE;
649     DW0.Overlaptransform                             = OVERLAPTRANSFORM_NOOVERLAPSMOOTHINGFILTER;
650     DW0.DctType                                      = DCT_TYPE_MCFRAMEDCT;
651     DW0.MotionVerticalFieldSelect                    = MOTION_VERTICAL_FIELD_SELECT_TOPFIELD;
652 
653     DW1.Value                                        = 0;
654 
655     DW2.Value                                        = 0;
656 
657     DW3.Value                                        = 0;
658 
659     DW4.Value                                        = 0;
660 
661     DW5.Value                                        = 0;
662 
663     DW6.Value                                        = 0;
664 
665     DW7.Value                                        = 0;
666 
667     DW8.Value                                        = 0;
668 
669     DW9.Value                                        = 0;
670 
671     DW10.Value                                       = 0;
672 
673 }
674 
MFD_IT_OBJECT_CMD()675 mhw_vdbox_mfx_g9_skl::MFD_IT_OBJECT_CMD::MFD_IT_OBJECT_CMD()
676 {
677     DW0.Value                                        = 0;
678     DW0.DwordLength                                  = GetOpLength(dwSize);
679     DW0.SubopcodeB                                   = SUBOPCODE_B_UNNAMED9;
680     DW0.SubopcodeA                                   = SUBOPCODE_A_UNNAMED1;
681     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_MFXCOMMONDEC;
682     DW0.Pipeline                                     = PIPELINE_MFDITOBJECT;
683     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
684 
685     DW1.Value                                        = 0;
686 
687     DW2.Value                                        = 0;
688 
689     DW3.Value                                        = 0;
690 
691     DW4.Value                                        = 0;
692 
693     DW5.Value                                        = 0;
694 
695     DW6.Value                                        = 0;
696 
697 }
698 
MFC_MPEG2_SLICEGROUP_STATE_CMD()699 mhw_vdbox_mfx_g9_skl::MFC_MPEG2_SLICEGROUP_STATE_CMD::MFC_MPEG2_SLICEGROUP_STATE_CMD()
700 {
701     DW0.Value                                        = 0;
702     DW0.DwordLength                                  = GetOpLength(dwSize);
703     DW0.SubopcodeB                                   = SUBOPCODE_B_MEDIA;
704     DW0.SubopcodeA                                   = SUBOPCODE_A_MEDIA;
705     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_MPEG2;
706     DW0.Pipeline                                     = PIPELINE_MFXMPEG2SLICEGROUPSTATE;
707     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
708 
709     DW1.Value                                        = 0;
710     DW1.TailpresentflagTailInsertionPresentInBitstreamEncoderOnly = TAILPRESENTFLAG_TAIL_INSERTION_PRESENT_IN_BITSTREAM_ENCODER_ONLY_UNNAMED0;
711     DW1.SlicedataPresentflagSlicedataInsertionPresentInBitstreamEncoderOnly = SLICEDATA_PRESENTFLAG_SLICEDATA_INSERTION_PRESENT_IN_BITSTREAM_ENCODER_ONLY_DISABLE;
712     DW1.HeaderpresentflagHeaderInsertionPresentInBitstreamEncoderOnly = HEADERPRESENTFLAG_HEADER_INSERTION_PRESENT_IN_BITSTREAM_ENCODER_ONLY_DISABLE;
713     DW1.BitstreamoutputflagCompressedBitstreamOutputDisableFlagEncoderOnly = BITSTREAMOUTPUTFLAG_COMPRESSED_BITSTREAM_OUTPUT_DISABLE_FLAG_ENCODER_ONLY_ENABLE;
714     DW1.SkipconvdisabledMbTypeSkipConversionDisableEncoderOnly = SKIPCONVDISABLED_MB_TYPE_SKIP_CONVERSION_DISABLE_ENCODER_ONLY_ENABLE;
715     DW1.RatectrlpanictypeRcPanicTypeEncoderOnly      = RATECTRLPANICTYPE_RC_PANIC_TYPE_ENCODER_ONLY_UNNAMED0;
716     DW1.RatectrlpanicflagRcPanicEnableEncoderOnly    = RATECTRLPANICFLAG_RC_PANIC_ENABLE_ENCODER_ONLY_DISABLE;
717     DW1.MbratectrlmodeRcTriggleModeEncoderOnly       = MBRATECTRLMODE_RC_TRIGGLE_MODE_ENCODER_ONLY_UNNAMED0;
718     DW1.MbratectrlresetResetratecontrolcounterEncoderOnly = MBRATECTRLRESET_RESETRATECONTROLCOUNTER_ENCODER_ONLY_DISABLE;
719     DW1.MbratectrlflagRatecontrolcounterenableEncoderOnly = MBRATECTRLFLAG_RATECONTROLCOUNTERENABLE_ENCODER_ONLY_DISABLE;
720 
721     DW2.Value                                        = 0;
722 
723     DW3.Value                                        = 0;
724 
725     DW4.Value                                        = 0;
726 
727     DW5.Value                                        = 0;
728 
729     DW6.Value                                        = 0;
730 
731     DW7.Value                                        = 0;
732 
733 }
734 
MFX_VC1_PRED_PIPE_STATE_CMD()735 mhw_vdbox_mfx_g9_skl::MFX_VC1_PRED_PIPE_STATE_CMD::MFX_VC1_PRED_PIPE_STATE_CMD()
736 {
737     DW0.Value                                        = 0;
738     DW0.DwordLength                                  = GetOpLength(dwSize);
739     DW0.SubopcodeB                                   = SUBOPCODE_B_UNNAMED1;
740     DW0.SubopcodeA                                   = SUBOPCODE_A_UNNAMED0;
741     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_VC1COMMON;
742     DW0.Pipeline                                     = PIPELINE_MFXVC1PREDPIPESTATE;
743     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
744 
745     DW1.Value                                        = 0;
746 
747     DW2.Value                                        = 0;
748 
749     DW3.Value                                        = 0;
750 
751     DW4.Value                                        = 0;
752 
753     DW5.Value                                        = 0;
754 
755 }
756 
MFD_VC1_LONG_PIC_STATE_CMD()757 mhw_vdbox_mfx_g9_skl::MFD_VC1_LONG_PIC_STATE_CMD::MFD_VC1_LONG_PIC_STATE_CMD()
758 {
759     DW0.Value                                        = 0;
760     DW0.DwordLength                                  = GetOpLength(dwSize);
761     DW0.SubopcodeB                                   = SUBOPCODE_B_UNNAMED1;
762     DW0.SubopcodeA                                   = SUBOPCODE_A_UNNAMED1;
763     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_VC1DEC;
764     DW0.Pipeline                                     = PIPELINE_MFDVC1LONGPICSTATE;
765     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
766 
767     DW1.Value                                        = 0;
768 
769     DW2.Value                                        = 0;
770     DW2.Vc1Profile                                   = VC1_PROFILE_DISABLE;
771     DW2.OverlapSmoothingEnableFlag                   = OVERLAP_SMOOTHING_ENABLE_FLAG_DISABLE;
772     DW2.LoopfilterEnableFlag                         = LOOPFILTER_ENABLE_FLAG_DISABLE;
773     DW2.RangereductionEnable                         = RANGEREDUCTION_ENABLE_DISABLE;
774     DW2.Rangereductionscale                          = RANGEREDUCTIONSCALE_UNNAMED0;
775     DW2.MotionVectorMode                             = MOTION_VECTOR_MODE_UNNAMED0;
776     DW2.Syncmarker                                   = SYNCMARKER_NOTPRESENT;
777 
778     DW3.Value                                        = 0;
779     DW3.FcmFrameCodingMode                           = FCM_FRAME_CODING_MODE_DISABLE;
780     DW3.Condover                                     = CONDOVER_UNNAMED0;
781 
782     DW4.Value                                        = 0;
783     DW4.Pquantuniform                                = PQUANTUNIFORM_UNNAMED0;
784     DW4.AltpquantconfigAlternativePictureQuantizationConfiguration = ALTPQUANTCONFIG_ALTERNATIVE_PICTURE_QUANTIZATION_CONFIGURATION_UNNAMED0;
785     DW4.ExtendedmvrangeExtendedMotionVectorRangeFlag = EXTENDEDMVRANGE_EXTENDED_MOTION_VECTOR_RANGE_FLAG_UNNAMED0;
786     DW4.ExtendeddmvrangeExtendedDifferentialMotionVectorRangeFlag = EXTENDEDDMVRANGE_EXTENDED_DIFFERENTIAL_MOTION_VECTOR_RANGE_FLAG_UNNAMED0;
787     DW4.NumrefNumberOfReferences                     = NUMREF_NUMBER_OF_REFERENCES_UNNAMED0;
788     DW4.ReffieldpicpolarityReferenceFieldPicturePolarity = REFFIELDPICPOLARITY_REFERENCE_FIELD_PICTURE_POLARITY_UNNAMED0;
789     DW4.FastuvmcflagFastUvMotionCompensationFlag     = FASTUVMCFLAG_FAST_UV_MOTION_COMPENSATION_FLAG_UNNAMED0;
790     DW4.FourmvswitchFourMotionVectorSwitch           = FOURMVSWITCH_FOUR_MOTION_VECTOR_SWITCH_DISABLE;
791     DW4.UnifiedmvmodeUnifiedMotionVectorMode         = UNIFIEDMVMODE_UNIFIED_MOTION_VECTOR_MODE_UNNAMED0;
792 
793     DW5.Value                                        = 0;
794     DW5.TransdctabIntraTransformDcTable              = TRANSDCTAB_INTRA_TRANSFORM_DC_TABLE_UNNAMED0;
795     DW5.TranstypembflagMacroblockTransformTypeFlag   = TRANSTYPEMBFLAG_MACROBLOCK_TRANSFORM_TYPE_FLAG_UNNAMED0;
796     DW5.Fieldtxraw                                   = FIELDTXRAW_DISABLE;
797     DW5.Acpredraw                                    = ACPREDRAW_DISABLE;
798     DW5.Overflagsraw                                 = OVERFLAGSRAW_UNNAMED0;
799     DW5.Directmbraw                                  = DIRECTMBRAW_UNNAMED0;
800     DW5.Skipmbraw                                    = SKIPMBRAW_DISABLE;
801     DW5.Mvtypembraw                                  = MVTYPEMBRAW_UNNAMED0;
802     DW5.Forwardmbraw                                 = FORWARDMBRAW_UNNAMED0;
803     DW5.BitplanepresentflagBitplaneBufferPresentFlag = BITPLANEPRESENTFLAG_BITPLANE_BUFFER_PRESENT_FLAG_UNNAMED0;
804 
805 }
806 
MFD_VC1_SHORT_PIC_STATE_CMD()807 mhw_vdbox_mfx_g9_skl::MFD_VC1_SHORT_PIC_STATE_CMD::MFD_VC1_SHORT_PIC_STATE_CMD()
808 {
809     DW0.Value                                        = 0;
810     DW0.DwordLength                                  = GetOpLength(dwSize);
811     DW0.SubopcodeB                                   = SUBOPCODE_B_UNNAMED0;
812     DW0.SubopcodeA                                   = SUBOPCODE_A_UNNAMED1;
813     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_VC1DEC;
814     DW0.Pipeline                                     = PIPELINE_MFDVC1SHORTPICSTATE;
815     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
816 
817     DW1.Value                                        = 0;
818 
819     DW2.Value                                        = 0;
820     DW2.PictureStructure                             = PICTURE_STRUCTURE_UNNAMED0;
821     DW2.IntraPictureFlag                             = INTRA_PICTURE_FLAG_UNNAMED0;
822     DW2.Vc1Profile                                   = VC1_PROFILE_UNNAMED0;
823 
824     DW3.Value                                        = 0;
825     DW3.VstransformFlag                              = VSTRANSFORM_FLAG_DISABLE;
826     DW3.Dquant                                       = DQUANT_UNNAMED0;
827     DW3.ExtendedMvPresentFlag                        = EXTENDED_MV_PRESENT_FLAG_UNNAMED0;
828     DW3.FastuvmcflagFastUvMotionCompensationFlag     = FASTUVMCFLAG_FAST_UV_MOTION_COMPENSATION_FLAG_UNNAMED0;
829     DW3.LoopfilterEnableFlag                         = LOOPFILTER_ENABLE_FLAG_UNNAMED0;
830     DW3.PanscanPresentFlag                           = PANSCAN_PRESENT_FLAG_UNNAMED0;
831     DW3.RangeredPresentFlagForSimpleMainProfileOnly  = RANGERED_PRESENT_FLAG_FOR_SIMPLEMAIN_PROFILE_ONLY_UNNAMED0;
832     DW3.SyncmarkerPresentFlagForSimpleMainProfileOnly = SYNCMARKER_PRESENT_FLAG_FOR_SIMPLEMAIN_PROFILE_ONLY_UNNAMED0;
833     DW3.MultiresPresentFlagForSimpleMainProfileOnly  = MULTIRES_PRESENT_FLAG_FOR_SIMPLEMAIN_PROFILE_ONLY_UNNAMED0;
834     DW3.Quantizer                                    = QUANTIZER_UNNAMED0;
835     DW3.PPicRefDistance                              = P_PIC_REF_DISTANCE_UNNAMED0;
836     DW3.ProgressivePicType                           = PROGRESSIVE_PIC_TYPE_UNNAMED0;
837     DW3.RangeReductionEnable                         = RANGE_REDUCTION_ENABLE_DISABLE;
838     DW3.RangeReductionScale                          = RANGE_REDUCTION_SCALE_DISABLE;
839     DW3.OverlapSmoothingEnableFlag                   = OVERLAP_SMOOTHING_ENABLE_FLAG_DISABLE;
840 
841     DW4.Value                                        = 0;
842     DW4.ExtendedDmvPresentFlag                       = EXTENDED_DMV_PRESENT_FLAG_UNNAMED0;
843     DW4.RefpicFlag                                   = REFPIC_FLAG_UNNAMED0;
844 
845 }
846 
MFX_VC1_DIRECTMODE_STATE_CMD()847 mhw_vdbox_mfx_g9_skl::MFX_VC1_DIRECTMODE_STATE_CMD::MFX_VC1_DIRECTMODE_STATE_CMD()
848 {
849     DW0.Value                                        = 0;
850     DW0.DwordLength                                  = GetOpLength(dwSize);
851     DW0.SubopcodeB                                   = SUBOPCODE_B_UNNAMED2;
852     DW0.SubopcodeA                                   = SUBOPCODE_A_UNNAMED0;
853     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_VC1COMMON;
854     DW0.Pipeline                                     = PIPELINE_MFXVC1DIRECTMODESTATE;
855     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
856 
857     DW1.Value                                        = 0;
858 
859     DW2.Value                                        = 0;
860 
861     DW3.Value                                        = 0;
862     DW3.DirectMvWriteBufferBaseAddressForTheCurrentPictureArbitrationPriorityControl = DIRECT_MV_WRITE_BUFFER_BASE_ADDRESS_FOR_THE_CURRENT_PICTURE_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
863     DW3.DirectMvWriteBufferMemoryCompressionMode     = DIRECT_MV_WRITE_BUFFER_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
864     DW3.DirectMvWriteBufferTiledResourceMode         = DIRECT_MV_WRITE_BUFFER_TILED_RESOURCE_MODE_TRMODENONE;
865 
866     DW4.Value                                        = 0;
867 
868     DW5.Value                                        = 0;
869 
870     DW6.Value                                        = 0;
871     DW6.DirectMvReadBufferBaseAddressForTheCurrentPictureArbitrationPriorityControl = DIRECT_MV_READ_BUFFER_BASE_ADDRESS_FOR_THE_CURRENT_PICTURE_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
872     DW6.DirectMvReadBufferMemoryCompressionMode      = DIRECT_MV_READ_BUFFER_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
873     DW6.DirectMvReadBufferTiledResourceMode          = DIRECT_MV_READ_BUFFER_TILED_RESOURCE_MODE_TRMODENONE;
874 
875 }
876 
MFD_VC1_BSD_OBJECT_CMD()877 mhw_vdbox_mfx_g9_skl::MFD_VC1_BSD_OBJECT_CMD::MFD_VC1_BSD_OBJECT_CMD()
878 {
879     DW0.Value                                        = 0;
880     DW0.DwordLength                                  = GetOpLength(dwSize);
881     DW0.SubopcodeB                                   = SUBOPCODE_B_UNNAMED8;
882     DW0.SubopcodeA                                   = SUBOPCODE_A_UNNAMED1;
883     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_VC1DEC;
884     DW0.Pipeline                                     = PIPELINE_MFXMULTIDW;
885     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
886 
887     DW1.Value                                        = 0;
888 
889     DW2.Value                                        = 0;
890 
891     DW3.Value                                        = 0;
892 
893     DW4.Value                                        = 0;
894     DW4.EmulationPreventionBytePresent               = EMULATION_PREVENTION_BYTE_PRESENT_UNNAMED0;
895 
896 }
897 
MFX_JPEG_PIC_STATE_CMD()898 mhw_vdbox_mfx_g9_skl::MFX_JPEG_PIC_STATE_CMD::MFX_JPEG_PIC_STATE_CMD()
899 {
900     DW0.Value                                        = 0;
901     DW0.DwordLength                                  = GetOpLength(dwSize);
902     DW0.SubopcodeB                                   = SUBOPCODE_B_MEDIA;
903     DW0.SubopcodeA                                   = SUBOPCODE_A_COMMON;
904     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_JPEG;
905     DW0.Pipeline                                     = PIPELINE_MFXMULTIDW;
906     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
907 
908     DW1.Value                                        = 0;
909     DW1.Obj0.OutputMcuStructure                      = OUTPUT_MCU_STRUCTURE_YUV_400;
910     DW1.Obj0.InputSurfaceFormatYuv                   = INPUT_SURFACE_FORMAT_YUV_UNNAMED0;
911     DW1.Obj1.InputFormatYuv                          = INPUT_FORMAT_YUV_UNNAMED0;
912     DW1.Obj1.Rotation                                = ROTATION_UNNAMED0;
913     DW1.Obj1.OutputFormatYuv                         = OUTPUT_FORMAT_YUV_UNNAMED0;
914     DW1.Obj1.AverageDownSampling                     = AVERAGE_DOWN_SAMPLING_UNNAMED0;
915     DW1.Obj1.VerticalDownSamplingEnable              = VERTICAL_DOWN_SAMPLING_ENABLE_UNNAMED0;
916     DW1.Obj1.HorizontalDownSamplingEnable            = HORIZONTAL_DOWN_SAMPLING_ENABLE_UNNAMED0;
917     DW1.Obj1.VerticalUpSamplingEnable                = VERTICAL_UP_SAMPLING_ENABLE_UNNAMED0;
918 
919     DW2.Value                                        = 0;
920     DW2.Obj0.OutputPixelNormalize                    = OUTPUT_PIXEL_NORMALIZE_UNNAMED0;
921     DW2.Obj1.Roundingquant                           = ROUNDINGQUANT_UNNAMED0;
922 
923 }
924 
MFC_JPEG_HUFF_TABLE_STATE_CMD()925 mhw_vdbox_mfx_g9_skl::MFC_JPEG_HUFF_TABLE_STATE_CMD::MFC_JPEG_HUFF_TABLE_STATE_CMD()
926 {
927     DW0.Value                                        = 0;
928     DW0.DwordLength                                  = GetOpLength(dwSize);
929     DW0.SubopcodeB                                   = SUBOPCODE_B_MEDIA;
930     DW0.SubopcodeA                                   = SUBOPCODE_A_COMMON;
931     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_JPEG;
932     DW0.Pipeline                                     = PIPELINE_MFCJPEGHUFFTABLESTATE;
933     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
934 
935     DW1.Value                                        = 0;
936     DW1.HuffTableId                                  = HUFF_TABLE_ID_UNNAMED0;
937 
938     MOS_ZeroMemory(&DcTable, sizeof(DcTable));
939     MOS_ZeroMemory(&AcTable, sizeof(AcTable));
940 }
941 
MFD_JPEG_BSD_OBJECT_CMD()942 mhw_vdbox_mfx_g9_skl::MFD_JPEG_BSD_OBJECT_CMD::MFD_JPEG_BSD_OBJECT_CMD()
943 {
944     DW0.Value                                        = 0;
945     DW0.DwordLength                                  = GetOpLength(dwSize);
946     DW0.SubopcodeB                                   = SUBOPCODE_B_UNNAMED8;
947     DW0.SubopcodeA                                   = SUBOPCODE_A_UNNAMED1;
948     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_JPEGDEC;
949     DW0.Pipeline                                     = PIPELINE_MFDJPEGBSDOBJECT;
950     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
951 
952     DW1.Value                                        = 0;
953 
954     DW2.Value                                        = 0;
955 
956     DW3.Value                                        = 0;
957 
958     DW4.Value                                        = 0;
959     DW4.Interleaved                                  = INTERLEAVED_NON_INTERLEAVED;
960 
961     DW5.Value                                        = 0;
962 
963 }
964 
MFC_JPEG_SCAN_OBJECT_CMD()965 mhw_vdbox_mfx_g9_skl::MFC_JPEG_SCAN_OBJECT_CMD::MFC_JPEG_SCAN_OBJECT_CMD()
966 {
967     DW0.Value                                        = 0;
968     DW0.DwordLength                                  = GetOpLength(dwSize);
969     DW0.SubopcodeB                                   = SUBOPCODE_B_UNNAMED9;
970     DW0.SubopcodeA                                   = SUBOPCODE_A_UNNAMED2;
971     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_JPEGENC;
972     DW0.Pipeline                                     = PIPELINE_MFCJPEGSCANOBJECT;
973     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
974 
975     DW1.Value                                        = 0;
976 
977     DW2.Value                                        = 0;
978     DW2.IsLastScan                                   = IS_LAST_SCAN_UNNAMED0;
979     DW2.HeadPresentFlag                              = HEAD_PRESENT_FLAG_UNNAMED0;
980     DW2.HuffmanDcTable                               = HUFFMAN_DC_TABLE_BIT20V0;
981     DW2.HuffmanAcTable                               = HUFFMAN_AC_TABLE_BIT2_4V0;
982 
983 }
984 
MFX_VP8_Encoder_CFG_CMD()985 mhw_vdbox_mfx_g9_skl::MFX_VP8_Encoder_CFG_CMD::MFX_VP8_Encoder_CFG_CMD()
986 {
987     DW0.Value                                        = 0;
988     DW0.DwordLength                                  = GetOpLength(dwSize);
989     DW0.SubOpcodeB                                   = SUB_OPCODE_B_MFXVP8ENCODERCFG;
990     DW0.SubOpcodeA                                   = SUB_OPCODE_A_VP8COMMON;
991     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_VP8;
992     DW0.Pipeline                                     = PIPELINE_VIDEOCODEC;
993     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
994 
995     DW1.Value                                        = 0;
996     DW1.RateControlInitialPass                       = RATE_CONTROL_INITIAL_PASS_SUBSEQUENCEPASSES;
997 
998     DW2.Value                                        = 0;
999     DW2.MaxFrameBitCountRateControlEnableMask        = MAX_FRAME_BIT_COUNT_RATE_CONTROL_ENABLE_MASK_UNNAMED0;
1000     DW2.MinFrameBitCountRateControlEnableMask        = MIN_FRAME_BIT_COUNT_RATE_CONTROL_ENABLE_MASK_UNNAMED0;
1001 
1002     DW3.Value                                        = 0;
1003 
1004     DW4.Value                                        = 0;
1005     DW4.FrameBitRateMaxUnit                          = FRAME_BIT_RATE_MAX_UNIT_32_B;
1006     DW4.FrameBitrateMaxUnitMode                      = FRAME_BITRATE_MAX_UNIT_MODE_COMPATIBILITYMODE;
1007     DW4.FrameBitRateMinUnit                          = FRAME_BIT_RATE_MIN_UNIT_32_B;
1008     DW4.FrameBitrateMinUnitMode                      = FRAME_BITRATE_MIN_UNIT_MODE_COMPATIBILITYMODE;
1009 
1010     DW5.Value                                        = 0;
1011 
1012     DW6.Value                                        = 0;
1013 
1014     DW7.Value                                        = 0;
1015 
1016     DW8.Value                                        = 0;
1017 
1018     DW9.Value                                        = 0;
1019 
1020     DW10.Value                                       = 0;
1021 
1022     DW11.Value                                       = 0;
1023 
1024     DW12.Value                                       = 0;
1025 
1026     DW13.Value                                       = 0;
1027 
1028     DW14.Value                                       = 0;
1029 
1030     DW15.Value                                       = 0;
1031 
1032     DW16.Value                                       = 0;
1033 
1034     DW17.Value                                       = 0;
1035 
1036     DW18.Value                                       = 0;
1037 
1038     DW19.Value                                       = 0;
1039 
1040     DW20.Value                                       = 0;
1041 
1042     DW21.Value                                       = 0;
1043 
1044     DW22.Value                                       = 0;
1045     DW22.MinFrameWsizeUnit                           = MIN_FRAME_WSIZE_UNIT_COMPATIBILITYMODE;
1046 
1047     DW23.Value                                       = 0;
1048 
1049     DW24.Value                                       = 0;
1050 
1051     DW25.Value                                       = 0;
1052 
1053     DW26.Value                                       = 0;
1054 
1055     DW27.Value                                       = 0;
1056 
1057     DW28.Value                                       = 0;
1058 
1059     DW29.Value                                       = 0;
1060 
1061 }
1062 
MFX_VP8_BSP_BUF_BASE_ADDR_STATE_CMD()1063 mhw_vdbox_mfx_g9_skl::MFX_VP8_BSP_BUF_BASE_ADDR_STATE_CMD::MFX_VP8_BSP_BUF_BASE_ADDR_STATE_CMD()
1064 {
1065     DW0.Value                                        = 0;
1066     DW0.DwordLength                                  = GetOpLength(dwSize);
1067     DW0.SubOpcodeB                                   = SUB_OPCODE_B_MFXVP8BSPBUFBASEADDRSTATE;
1068     DW0.SubOpcodeA                                   = SUB_OPCODE_A_VP8COMMON;
1069     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_VP8;
1070     DW0.Pipeline                                     = PIPELINE_VIDEOCODEC;
1071     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
1072 
1073     DW1.Value                                        = 0;
1074 
1075     DW2.Value                                        = 0;
1076 
1077     DW3.Value                                        = 0;
1078     DW3.FrameHeaderBaseAddrAgeForQuadlruAge          = FRAME_HEADER_BASE_ADDR_AGE_FOR_QUADLRU_AGE_GOODCHANCEOFGENERATINGHITS;
1079     DW3.FrameHeaderBaseAddrTargetCacheTc             = FRAME_HEADER_BASE_ADDR_TARGET_CACHE_TC_ELLCONLY_NOTSNOOPEDINGT;
1080     DW3.ForFrameheaderbaseaddrLlcEllcCacheabilityControlLellccc = FOR_FRAMEHEADERBASEADDR_LLCELLC_CACHEABILITY_CONTROL_LELLCCC_CACHEABLE;
1081     DW3.FrameHeaderBaseAddrArbitrationPriorityControl = FRAME_HEADER_BASE_ADDR_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
1082 
1083     DW4.Value                                        = 0;
1084 
1085     DW5.Value                                        = 0;
1086 
1087     DW6.Value                                        = 0;
1088     DW6.IntermediateBufferBaseAddrAgeForQuadlruAge   = INTERMEDIATE_BUFFER_BASE_ADDR_AGE_FOR_QUADLRU_AGE_GOODCHANCEOFGENERATINGHITS;
1089     DW6.IntermediateBufferBaseAddrTargetCacheTc      = INTERMEDIATE_BUFFER_BASE_ADDR_TARGET_CACHE_TC_ELLCONLY_NOTSNOOPEDINGT;
1090     DW6.IntermediateBufferBaseAddrLlcEllcCacheabilityControlLellccc = INTERMEDIATE_BUFFER_BASE_ADDR_LLCELLC_CACHEABILITY_CONTROL_LELLCCC_CACHEABLE;
1091     DW6.IntermediateBufferBaseAddrArbitrationPriorityControl = INTERMEDIATE_BUFFER_BASE_ADDR_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
1092 
1093     DW7.Value                                        = 0;
1094 
1095     DW8.Value                                        = 0;
1096 
1097     DW9.Value                                        = 0;
1098 
1099     DW10.Value                                       = 0;
1100 
1101     DW11.Value                                       = 0;
1102 
1103     DW12.Value                                       = 0;
1104 
1105     DW13.Value                                       = 0;
1106 
1107     DW14.Value                                       = 0;
1108 
1109     DW15.Value                                       = 0;
1110 
1111     DW16.Value                                       = 0;
1112 
1113     DW17.Value                                       = 0;
1114 
1115     DW18.Value                                       = 0;
1116     DW18.FinalFrameBaseAddrAgeForQuadlruAge          = FINAL_FRAME_BASE_ADDR_AGE_FOR_QUADLRU_AGE_GOODCHANCEOFGENERATINGHITS;
1117     DW18.FinalFrameBaseAddrTargetCacheTc             = FINAL_FRAME_BASE_ADDR_TARGET_CACHE_TC_ELLCONLY_NOTSNOOPEDINGT;
1118     DW18.FinalFrameBaseAddrLlcEllcCacheabilityControlLellccc = FINAL_FRAME_BASE_ADDR_LLCELLC_CACHEABILITY_CONTROL_LELLCCC_CACHEABLE;
1119     DW18.FinalFrameBaseAddrArbitrationPriorityControl = FINAL_FRAME_BASE_ADDR_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
1120 
1121     DW19.Value                                       = 0;
1122 
1123     DW20.Value                                       = 0;
1124     DW20.StreamoutBaseAddrCacheabilityControl        = STREAMOUT_BASE_ADDR_CACHEABILITY_CONTROL_GTTENTRY;
1125     DW20.StreamoutBaseAddrArbitrationPriorityControl = STREAMOUT_BASE_ADDR_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
1126 
1127     DW21.Value                                       = 0;
1128 
1129     DW22.Value                                       = 0;
1130     DW22.StreamoutBaseAddrAgeForQuadlruAge           = STREAMOUT_BASE_ADDR_AGE_FOR_QUADLRU_AGE_GOODCHANCEOFGENERATINGHITS;
1131     DW22.StreamoutBaseAddrTargetCacheTc              = STREAMOUT_BASE_ADDR_TARGET_CACHE_TC_ELLCONLY_NOTSNOOPEDINGT;
1132     DW22.StreamoutBaseAddrLlcEllcCacheabilityControlLellccc = STREAMOUT_BASE_ADDR_LLCELLC_CACHEABILITY_CONTROL_LELLCCC_CACHEABLE;
1133     DW22.StreamoutBaseAddrArbitrationPriorityControl = STREAMOUT_BASE_ADDR_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
1134 
1135     DW23.Value                                       = 0;
1136     DW23.CoeffProbsStreaminSurfaceCacheabilityControl = COEFF_PROBS_STREAMIN_SURFACE_CACHEABILITY_CONTROL_GTTENTRY;
1137     DW23.CoeffProbsStreaminSurfaceArbitrationPriorityControl = COEFF_PROBS_STREAMIN_SURFACE_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
1138 
1139     DW24.Value                                       = 0;
1140 
1141     DW25.Value                                       = 0;
1142     DW25.CoeffProbsStreaminSurfaceAgeForQuadlruAge   = COEFF_PROBS_STREAMIN_SURFACE_AGE_FOR_QUADLRU_AGE_GOODCHANCEOFGENERATINGHITS;
1143     DW25.CoeffProbsStreaminSurfaceTargetCacheTc      = COEFF_PROBS_STREAMIN_SURFACE_TARGET_CACHE_TC_ELLCONLY_NOTSNOOPEDINGT;
1144     DW25.CoeffProbsStreaminSurfaceLlcEllcCacheabilityControlLellccc = COEFF_PROBS_STREAMIN_SURFACE_LLCELLC_CACHEABILITY_CONTROL_LELLCCC_CACHEABLE;
1145     DW25.CoeffProbsStreaminSurfaceArbitrationPriorityControl = COEFF_PROBS_STREAMIN_SURFACE_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
1146 
1147     DW26.Value                                       = 0;
1148     DW26.TokenStatisticsSurfaceCacheabilityControl   = TOKEN_STATISTICS_SURFACE_CACHEABILITY_CONTROL_GTTENTRY;
1149     DW26.FrameHeaderBaseAddrArbitrationPriorityControl = FRAME_HEADER_BASE_ADDR_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
1150 
1151     DW27.Value                                       = 0;
1152 
1153     DW28.Value                                       = 0;
1154     DW28.TokenStatisticsSurfaceAgeForQuadlruAge      = TOKEN_STATISTICS_SURFACE_AGE_FOR_QUADLRU_AGE_POORCHANCEOFGENERATINGHITS;
1155     DW28.TokenStatisticsSurfaceTargetCacheTc         = TOKEN_STATISTICS_SURFACE_TARGET_CACHE_TC_ELLCONLY_NOTSNOOPEDINGTBDW;
1156     DW28.MemoryTypeLlcEllcCacheabilityControlLellcccForCoeffprobsStreaminSurface = MEMORY_TYPE_LLCELLC_CACHEABILITY_CONTROL_LELLCCC_FOR_COEFFPROBS_STREAMIN_SURFACE_USECACHEABILITYCONTROLSFROMPAGETABLEUCWITHFENCEIFCOHERENTCYCLE;
1157     DW28.TokenStatisticsSurfaceArbitrationPriorityControl = TOKEN_STATISTICS_SURFACE_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
1158 
1159     DW29_30.Value[0] = DW29_30.Value[1]              = 0;
1160     DW29_30.MpcRowstoreSurfaceCacheabilityControl    = MPC_ROWSTORE_SURFACE_CACHEABILITY_CONTROL_GTTENTRY;
1161     DW31.Value                                       = 0;
1162     DW31.MpcRowstoreSurfaceAgeForQuadlruAge          = MPC_ROWSTORE_SURFACE_AGE_FOR_QUADLRU_AGE_POORCHANCEOFGENERATINGHITS;
1163     DW31.MpcRowstoreTargetCache                      = MPC_ROWSTORE_TARGET_CACHE_ELLCONLY;
1164     DW31.MpcRowstoreMemoryTypeLlcEllcCacheabilityControl = MPC_ROWSTORE_MEMORY_TYPE_LLCELLC_CACHEABILITY_CONTROL_USECACHEABILITYCONTROLSFROMPAGETABLEUCWITHFENCEIFCOHERENTCYCLE;
1165     DW31.MpcRowstoreArbitrationPriorityControl       = MPC_ROWSTORE_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
1166 
1167 }
1168 
MFD_VP8_BSD_OBJECT_CMD()1169 mhw_vdbox_mfx_g9_skl::MFD_VP8_BSD_OBJECT_CMD::MFD_VP8_BSD_OBJECT_CMD()
1170 {
1171     DW0.Value                                        = 0;
1172     DW0.DwordLength                                  = GetOpLength(dwSize);
1173     DW0.Subopcodeb                                   = SUBOPCODEB_UNNAMED8;
1174     DW0.Subopcodea                                   = SUBOPCODEA_UNNAMED1;
1175     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_VP8DEC;
1176     DW0.Pipeline                                     = PIPELINE_MFDVP8BSDOBJECT;
1177     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
1178 
1179     DW1.Value                                        = 0;
1180 
1181     DW2.Value                                        = 0;
1182 
1183     DW3.Value                                        = 0;
1184 
1185     DW4.Value                                        = 0;
1186 
1187     DW5.Value                                        = 0;
1188 
1189     DW6.Value                                        = 0;
1190 
1191     DW7.Value                                        = 0;
1192 
1193     DW8.Value                                        = 0;
1194 
1195     DW9.Value                                        = 0;
1196 
1197     DW10.Value                                       = 0;
1198 
1199     DW11.Value                                       = 0;
1200 
1201     DW12.Value                                       = 0;
1202 
1203     DW13.Value                                       = 0;
1204 
1205     DW14.Value                                       = 0;
1206 
1207     DW15.Value                                       = 0;
1208 
1209     DW16.Value                                       = 0;
1210 
1211     DW17.Value                                       = 0;
1212 
1213     DW18.Value                                       = 0;
1214 
1215     DW19.Value                                       = 0;
1216 
1217     DW20.Value                                       = 0;
1218 
1219     DW21.Value                                       = 0;
1220     DW21.MbHeaderErrorHandling                       = MB_HEADER_ERROR_HANDLING_IGNORETHEERRORANDCONTINUEMASKEDTHEINTERRUPT_ASSUMETHEHARDWAREAUTOMATICALLYPERFORMTHEERRORHANDLING;
1221     DW21.EntropyErrorHandling                        = ENTROPY_ERROR_HANDLING_IGNORETHEERRORANDCONTINUEMASKEDTHEINTERRUPT_ASSUMETHEHARDWAREAUTOMATICALLYPERFORMTHEERRORHANDLING;
1222     DW21.MprErrorMvOutOfRangeHandling                = MPR_ERROR_MV_OUT_OF_RANGE_HANDLING_IGNORETHEERRORANDCONTINUEMASKEDTHEINTERRUPT_ASSUMETHEHARDWAREAUTOMATICALLYPERFORMTHEERRORHANDLING;
1223     DW21.BsdprematurecompleteErrorHandling           = BSDPREMATURECOMPLETE_ERROR_HANDLING_IGNORETHEERRORANDCONTINUEMASKEDTHEINTERRUPT_ASSUMETHEHARDWAREAUTOMATICALLYPERFORMTHEERRORHANDLING;
1224     DW21.ConcealmentMethod                           = CONCEALMENT_METHOD_INTRA16X16PREDICTION;
1225 
1226 }
1227 
MFX_VP8_PIC_STATE_CMD()1228 mhw_vdbox_mfx_g9_skl::MFX_VP8_PIC_STATE_CMD::MFX_VP8_PIC_STATE_CMD()
1229 {
1230     DW0.Value                                        = 0;
1231     DW0.DwordLength                                  = GetOpLength(dwSize);
1232     DW0.SubOpcodeB                                   = SUB_OPCODE_B_MFXVP8PICSTATE;
1233     DW0.SubOpcodeA                                   = SUB_OPCODE_A_VP8COMMON;
1234     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_VP8;
1235     DW0.Pipeline                                     = PIPELINE_VIDEOCODEC;
1236     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
1237 
1238     DW1.Value                                        = 0;
1239 
1240     DW2.Value                                        = 0;
1241     DW2.McFilterSelect                               = MC_FILTER_SELECT_UNNAMED0;
1242     DW2.ChromaFullPixelMcFilterMode                  = CHROMA_FULL_PIXEL_MC_FILTER_MODE_UNNAMED0;
1243     DW2.Dblkfiltertype                               = DBLKFILTERTYPE_UNNAMED0;
1244     DW2.Skeyframeflag                                = SKEYFRAMEFLAG_NON_KEYFRAMEP_FRAME;
1245     DW2.SegmentationIdStreamoutEnable                = SEGMENTATION_ID_STREAMOUT_ENABLE_STREAMOUTDISABLED;
1246     DW2.SegmentationIdStreaminEnable                 = SEGMENTATION_ID_STREAMIN_ENABLE_STREAMINDISABLED;
1247     DW2.SegmentEnableFlag                            = SEGMENT_ENABLE_FLAG_UNNAMED0;
1248     DW2.UpdateMbsegmentMapFlag                       = UPDATE_MBSEGMENT_MAP_FLAG_UNNAMED0;
1249     DW2.MbNocoeffSkipflag                            = MB_NOCOEFF_SKIPFLAG_UNNAMED0;
1250     DW2.ModeReferenceLoopFilterDeltaEnabled          = MODE_REFERENCE_LOOP_FILTER_DELTA_ENABLED_UNNAMED0;
1251     DW2.Log2NumOfPartition                           = LOG2_NUM_OF_PARTITION_1TOKENPARTITION;
1252 
1253     DW3.Value                                        = 0;
1254     DW3.DblkfilterlevelForSegment0                   = DBLKFILTERLEVEL_FOR_SEGMENT0_SIGNIFIESDISABLEINLOOPDEBLOCKINGOPERATION;
1255     DW3.DblkfilterlevelForSegment1                   = DBLKFILTERLEVEL_FOR_SEGMENT1_SIGNIFIESDISABLEINLOOPDEBLOCKINGOPERATION;
1256     DW3.DblkfilterlevelForSegment2                   = DBLKFILTERLEVEL_FOR_SEGMENT2_SIGNIFIESDISABLEINLOOPDEBLOCKINGOPERATION;
1257     DW3.DblkfilterlevelForSegment3                   = DBLKFILTERLEVEL_FOR_SEGMENT3_SIGNIFIESDISABLEINLOOPDEBLOCKINGOPERATION;
1258 
1259     DW4.Value                                        = 0;
1260 
1261     DW5.Value                                        = 0;
1262 
1263     DW6.Value                                        = 0;
1264 
1265     DW7.Value                                        = 0;
1266 
1267     DW8.Value                                        = 0;
1268 
1269     DW9.Value                                        = 0;
1270 
1271     DW10.Value                                       = 0;
1272 
1273     DW11.Value                                       = 0;
1274 
1275     DW12.Value                                       = 0;
1276 
1277     DW13.Value                                       = 0;
1278 
1279     DW14.Value                                       = 0;
1280 
1281     DW15.Value                                       = 0;
1282 
1283     DW16.Value                                       = 0;
1284 
1285     DW17.Value                                       = 0;
1286 
1287     DW18.Value                                       = 0;
1288     DW18.CoeffprobabilityStreaminArbitrationPriorityControl = COEFFPROBABILITY_STREAMIN_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
1289     DW18.CoeffprobabilityStreaminMemoryCompressionMode = COEFFPROBABILITY_STREAMIN_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1290     DW18.CoeffprobabilityStreaminTiledResourceMode   = COEFFPROBABILITY_STREAMIN_TILED_RESOURCE_MODE_TRMODENONE;
1291 
1292     DW19.Value                                       = 0;
1293 
1294     DW20.Value                                       = 0;
1295 
1296     DW21.Value                                       = 0;
1297 
1298     DW22.Value                                       = 0;
1299 
1300     DW23.Value                                       = 0;
1301 
1302     DW24.Value                                       = 0;
1303 
1304     DW25.Value                                       = 0;
1305 
1306     DW26.Value                                       = 0;
1307 
1308     DW27.Value                                       = 0;
1309 
1310     DW28.Value                                       = 0;
1311 
1312     DW29.Value                                       = 0;
1313 
1314     DW30.Value                                       = 0;
1315 
1316     DW31.Value                                       = 0;
1317 
1318     DW32.Value                                       = 0;
1319 
1320     DW33.Value                                       = 0;
1321 
1322     DW34.Value                                       = 0;
1323 
1324     DW35.Value                                       = 0;
1325 
1326     DW36.Value                                       = 0;
1327 
1328     DW37.Value                                       = 0;
1329     DW37.SegmentationIdStreamArbitrationPriorityControl = SEGMENTATION_ID_STREAM_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
1330     DW37.SegmentationIdStreamMemoryCompressionMode   = SEGMENTATION_ID_STREAM_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1331     DW37.SegmentationIdStreamTiledResourceMode       = SEGMENTATION_ID_STREAM_TILED_RESOURCE_MODE_TRMODENONE;
1332 
1333 }
1334 
MFX_JPEG_HUFF_TABLE_STATE_CMD()1335 mhw_vdbox_mfx_g9_skl::MFX_JPEG_HUFF_TABLE_STATE_CMD::MFX_JPEG_HUFF_TABLE_STATE_CMD()
1336 {
1337     DW0.Value                                        = 0;
1338     DW0.DwordLength                                  = GetOpLength(dwSize);
1339     DW0.SubopcodeB                                   = SUBOPCODE_B_UNNAMED2;
1340     DW0.SubopcodeA                                   = SUBOPCODE_A_UNNAMED0;
1341     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_JPEGCOMMON;
1342     DW0.Pipeline                                     = PIPELINE_MFXMULTIDW;
1343     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
1344 
1345     DW1.Value                                        = 0;
1346     DW1.Hufftableid1Bit                              = HUFFTABLEID_1_BIT_Y;
1347 
1348     MOS_ZeroMemory(&DcBits128BitArray, sizeof(DcBits128BitArray));
1349     MOS_ZeroMemory(&DcHuffval128BitArray, sizeof(DcHuffval128BitArray));
1350     MOS_ZeroMemory(&AcBits168BitArray, sizeof(AcBits168BitArray));
1351     MOS_ZeroMemory(&AcHuffval1608BitArray, sizeof(AcHuffval1608BitArray));
1352     DW52.Value                                       = 0;
1353 
1354 }
1355 
GRAPHICSADDRESS63_6_CMD()1356 mhw_vdbox_mfx_g9_skl::GRAPHICSADDRESS63_6_CMD::GRAPHICSADDRESS63_6_CMD()
1357 {
1358     DW0_1.Value[0] = DW0_1.Value[1]                  = 0;
1359 
1360 }
1361 
MFX_PIPE_BUF_ADDR_STATE_CMD()1362 mhw_vdbox_mfx_g9_skl::MFX_PIPE_BUF_ADDR_STATE_CMD::MFX_PIPE_BUF_ADDR_STATE_CMD()
1363 {
1364     DW0.Value                                        = 0;
1365     DW0.DwordLength                                  = GetOpLength(dwSize);
1366     DW0.SubopcodeB                                   = SUBOPCODE_B_UNNAMED2;
1367     DW0.SubopcodeA                                   = SUBOPCODE_A_UNNAMED0;
1368     DW0.CommonOpcode                                 = COMMON_OPCODE_MFXCOMMONSTATE;
1369     DW0.Pipeline                                     = PIPELINE_MFXPIPEBUFADDRSTATE;
1370     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
1371 
1372     DW1.Value                                        = 0;
1373 
1374     DW2.Value                                        = 0;
1375 
1376     DW3.Value                                        = 0;
1377     DW3.PreDeblockingArbitrationPriorityControl      = PRE_DEBLOCKING_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
1378     DW3.PreDeblockingMemoryCompressionEnable         = PRE_DEBLOCKING_MEMORY_COMPRESSION_ENABLE_COMPRESSIONDISABLE;
1379     DW3.PreDeblockingTiledResourceMode               = PRE_DEBLOCKING_TILED_RESOURCE_MODE_TRMODENONE;
1380 
1381     DW4.Value                                        = 0;
1382 
1383     DW5.Value                                        = 0;
1384 
1385     DW6.Value                                        = 0;
1386     DW6.PostDeblockingArbitrationPriorityControl     = POST_DEBLOCKING_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
1387     DW6.PostDeblockingMemoryCompressionEnable        = POST_DEBLOCKING_MEMORY_COMPRESSION_ENABLE_COMPRESSIONDISABLE;
1388     DW6.PostDeblockingMemoryCompressionMode          = POST_DEBLOCKING_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1389     DW6.PostDeblockingTiledResourceMode              = POST_DEBLOCKING_TILED_RESOURCE_MODE_TRMODENONE;
1390 
1391     DW7.Value                                        = 0;
1392 
1393     DW8.Value                                        = 0;
1394 
1395     DW9.Value                                        = 0;
1396     DW9.OriginalUncompressedPictureSourceArbitrationPriorityControl = ORIGINAL_UNCOMPRESSED_PICTURE_SOURCE_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
1397     DW9.OriginalUncompressedPictureMemoryCompressionEnable = ORIGINAL_UNCOMPRESSED_PICTURE_MEMORY_COMPRESSION_ENABLE_COMPRESSIONDISABLE;
1398     DW9.OriginalUncompressedPictureMemoryCompressionMode = ORIGINAL_UNCOMPRESSED_PICTURE_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1399     DW9.OriginalUncompressedPictureTiledResourceMode = ORIGINAL_UNCOMPRESSED_PICTURE_TILED_RESOURCE_MODE_TRMODENONE;
1400 
1401     DW10.Value                                       = 0;
1402 
1403     DW11.Value                                       = 0;
1404 
1405     DW12.Value                                       = 0;
1406     DW12.StreamoutDataDestinationArbitrationPriorityControl = STREAMOUT_DATA_DESTINATION_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
1407     DW12.StreamoutDataDestinationMemoryCompressionEnable = STREAMOUT_DATA_DESTINATION_MEMORY_COMPRESSION_ENABLE_COMPRESSIONDISABLE;
1408     DW12.StreamoutDataDestinationMemoryCompressionMode = STREAMOUT_DATA_DESTINATION_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1409     DW12.StreamoutDataDestinationTiledResourceMode   = STREAMOUT_DATA_DESTINATION_TILED_RESOURCE_MODE_TRMODENONE;
1410 
1411     DW13.Value                                       = 0;
1412 
1413     DW14.Value                                       = 0;
1414 
1415     DW15.Value                                       = 0;
1416     DW15.IntraRowStoreScratchBufferArbitrationPriorityControl = INTRA_ROW_STORE_SCRATCH_BUFFER_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
1417     DW15.IntraRowStoreScratchBufferMemoryCompressionEnable = INTRA_ROW_STORE_SCRATCH_BUFFER_MEMORY_COMPRESSION_ENABLE_COMPRESSIONDISABLE;
1418     DW15.IntraRowStoreScratchBufferMemoryCompressionMode = INTRA_ROW_STORE_SCRATCH_BUFFER_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1419     DW15.IntraRowStoreScratchBufferCacheSelect       = INTRA_ROW_STORE_SCRATCH_BUFFER_CACHE_SELECT_UNNAMED0;
1420     DW15.IntraRowStoreScratchBufferTiledResourceMode = INTRA_ROW_STORE_SCRATCH_BUFFER_TILED_RESOURCE_MODE_TRMODENONE;
1421 
1422     DW16.Value                                       = 0;
1423 
1424     DW17.Value                                       = 0;
1425 
1426     DW18.Value                                       = 0;
1427     DW18.DeblockingFilterRowStoreScratchArbitrationPriorityControl = DEBLOCKING_FILTER_ROW_STORE_SCRATCH_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
1428     DW18.DeblockingFilterRowStoreScratchMemoryCompressionEnable = DEBLOCKING_FILTER_ROW_STORE_SCRATCH_MEMORY_COMPRESSION_ENABLE_COMPRESSIONDISABLE;
1429     DW18.DeblockingFilterRowStoreScratchMemoryCompressionMode = DEBLOCKING_FILTER_ROW_STORE_SCRATCH_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1430     DW18.DeblockingFilterRowStoreScratchBufferCacheSelect = DEBLOCKING_FILTER_ROW_STORE_SCRATCH_BUFFER_CACHE_SELECT_UNNAMED0;
1431     DW18.DeblockingFilterRowStoreTiledResourceMode   = DEBLOCKING_FILTER_ROW_STORE_TILED_RESOURCE_MODE_TRMODENONE;
1432 
1433     DW51.Value                                       = 0;
1434     DW51.ReferencePictureArbitrationPriorityControl  = REFERENCE_PICTURE_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
1435     DW51.ReferencePictureTiledResourceMode           = REFERENCE_PICTURE_TILED_RESOURCE_MODE_TRMODENONE;
1436 
1437     DW52.Value                                       = 0;
1438 
1439     DW53.Value                                       = 0;
1440 
1441     DW54.Value                                       = 0;
1442     DW54.MacroblockStatusBufferArbitrationPriorityControl = MACROBLOCK_STATUS_BUFFER_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
1443     DW54.MacroblockStatusBufferMemoryCompressionEnable = MACROBLOCK_STATUS_BUFFER_MEMORY_COMPRESSION_ENABLE_COMPRESSIONDISABLE;
1444     DW54.MacroblockStatusBufferMemoryCompressionMode = MACROBLOCK_STATUS_BUFFER_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1445     DW54.MacroblockStatusBufferTiledResourceMode     = MACROBLOCK_STATUS_BUFFER_TILED_RESOURCE_MODE_TRMODENONE;
1446 
1447     DW55.Value                                       = 0;
1448 
1449     DW56.Value                                       = 0;
1450 
1451     DW57.Value                                       = 0;
1452     DW57.MacroblockIldbStreamoutBufferArbitrationPriorityControl = MACROBLOCK_ILDB_STREAMOUT_BUFFER_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
1453     DW57.MacroblockIldbStreamoutBufferMemoryCompressionEnable = MACROBLOCK_ILDB_STREAMOUT_BUFFER_MEMORY_COMPRESSION_ENABLE_COMPRESSIONDISABLE;
1454     DW57.MacroblockIldbStreamoutBufferMemoryCompressionMode = MACROBLOCK_ILDB_STREAMOUT_BUFFER_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1455     DW57.MacroblockIldbStreamoutTiledResourceMode    = MACROBLOCK_ILDB_STREAMOUT_TILED_RESOURCE_MODE_TRMODENONE;
1456 
1457     DW58.Value                                       = 0;
1458 
1459     DW59.Value                                       = 0;
1460 
1461     DW60.Value                                       = 0;
1462     DW60.SecondMacroblockIldbStreamoutBufferMemoryCompressionEnable = SECOND_MACROBLOCK_ILDB_STREAMOUT_BUFFER_MEMORY_COMPRESSION_ENABLE_COMPRESSIONDISABLE;
1463     DW60.SecondMacroblockIldbStreamoutBufferMemoryCompressionMode = SECOND_MACROBLOCK_ILDB_STREAMOUT_BUFFER_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1464     DW60.SecondMacroblockIldbStreamoutBufferTiledResourceMode = SECOND_MACROBLOCK_ILDB_STREAMOUT_BUFFER_TILED_RESOURCE_MODE_TRMODENONE;
1465 
1466     DW61.Value                                       = 0;
1467     DW61.ReferencePicture0MemoryCompressionEnable    = REFERENCE_PICTURE_0_MEMORY_COMPRESSION_ENABLE_COMPRESSIONDISABLE;
1468     DW61.ReferencePicture0MemoryCompressionMode      = REFERENCE_PICTURE_0_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1469     DW61.ReferencePicture1MemoryCompressionEnable    = REFERENCE_PICTURE_1_MEMORY_COMPRESSION_ENABLE_COMPRESSIONDISABLE;
1470     DW61.ReferencePicture1MemoryCompressionMode      = REFERENCE_PICTURE_1_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1471     DW61.ReferencePicture2MemoryCompressionEnable    = REFERENCE_PICTURE_2_MEMORY_COMPRESSION_ENABLE_COMPRESSIONDISABLE;
1472     DW61.ReferencePicture2MemoryCompressionMode      = REFERENCE_PICTURE_2_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1473     DW61.ReferencePicture3MemoryCompressionEnable    = REFERENCE_PICTURE_3_MEMORY_COMPRESSION_ENABLE_COMPRESSIONDISABLE;
1474     DW61.ReferencePicture3MemoryCompressionMode      = REFERENCE_PICTURE_3_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1475     DW61.ReferencePicture4MemoryCompressionEnable    = REFERENCE_PICTURE_4_MEMORY_COMPRESSION_ENABLE_COMPRESSIONDISABLE;
1476     DW61.ReferencePicture4MemoryCompressionMode      = REFERENCE_PICTURE_4_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1477     DW61.ReferencePicture5MemoryCompressionEnable    = REFERENCE_PICTURE_5_MEMORY_COMPRESSION_ENABLE_COMPRESSIONDISABLE;
1478     DW61.ReferencePicture5MemoryCompressionMode      = REFERENCE_PICTURE_5_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1479     DW61.ReferencePicture6MemoryCompressionEnable    = REFERENCE_PICTURE_6_MEMORY_COMPRESSION_ENABLE_COMPRESSIONDISABLE;
1480     DW61.ReferencePicture6MemoryCompressionMode      = REFERENCE_PICTURE_6_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1481     DW61.ReferencePicture7MemoryCompressionEnable    = REFERENCE_PICTURE_7_MEMORY_COMPRESSION_ENABLE_COMPRESSIONDISABLE;
1482     DW61.ReferencePicture7MemoryCompressionMode      = REFERENCE_PICTURE_7_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1483     DW61.ReferencePicture8MemoryCompressionEnable    = REFERENCE_PICTURE_8_MEMORY_COMPRESSION_ENABLE_COMPRESSIONDISABLE;
1484     DW61.ReferencePicture8MemoryCompressionMode      = REFERENCE_PICTURE_8_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1485     DW61.ReferencePicture9MemoryCompressionEnable    = REFERENCE_PICTURE_9_MEMORY_COMPRESSION_ENABLE_COMPRESSIONDISABLE;
1486     DW61.ReferencePicture9MemoryCompressionMode      = REFERENCE_PICTURE_9_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1487     DW61.ReferencePicture10MemoryCompressionEnable   = REFERENCE_PICTURE_10_MEMORY_COMPRESSION_ENABLE_COMPRESSIONDISABLE;
1488     DW61.ReferencePicture10MemoryCompressionMode     = REFERENCE_PICTURE_10_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1489     DW61.ReferencePicture11MemoryCompressionEnable   = REFERENCE_PICTURE_11_MEMORY_COMPRESSION_ENABLE_COMPRESSIONDISABLE;
1490     DW61.ReferencePicture11MemoryCompressionMode     = REFERENCE_PICTURE_11_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1491     DW61.ReferencePicture12MemoryCompressionEnable   = REFERENCE_PICTURE_12_MEMORY_COMPRESSION_ENABLE_COMPRESSIONDISABLE;
1492     DW61.ReferencePicture12MemoryCompressionMode     = REFERENCE_PICTURE_12_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1493     DW61.ReferencePicture13MemoryCompressionEnable   = REFERENCE_PICTURE_13_MEMORY_COMPRESSION_ENABLE_COMPRESSIONDISABLE;
1494     DW61.ReferencePicture13MemoryCompressionMode     = REFERENCE_PICTURE_13_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1495     DW61.ReferencePicture14MemoryCompressionEnable   = REFERENCE_PICTURE_14_MEMORY_COMPRESSION_ENABLE_COMPRESSIONDISABLE;
1496     DW61.ReferencePicture14MemoryCompressionMode     = REFERENCE_PICTURE_14_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1497     DW61.ReferencePicture15MemoryCompressionEnable   = REFERENCE_PICTURE_15_MEMORY_COMPRESSION_ENABLE_COMPRESSIONDISABLE;
1498     DW61.ReferencePicture15MemoryCompressionMode     = REFERENCE_PICTURE_15_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1499 
1500     DW62.Value                                       = 0;
1501 
1502     DW63.Value                                       = 0;
1503 
1504     DW64.Value                                       = 0;
1505     DW64.ScaleReferenceSurfaceArbitrationPriorityControl = SCALE_REFERENCE_SURFACE_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
1506     DW64.ScaledReferenceSurfaceMemoryCompressionMode = SCALED_REFERENCE_SURFACE_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1507     DW64.ScaledReferenceSurfaceTiledResourceMode     = SCALED_REFERENCE_SURFACE_TILED_RESOURCE_MODE_TRMODENONE;
1508 
1509 }
1510 
MFX_AVC_DIRECTMODE_STATE_CMD()1511 mhw_vdbox_mfx_g9_skl::MFX_AVC_DIRECTMODE_STATE_CMD::MFX_AVC_DIRECTMODE_STATE_CMD()
1512 {
1513     DW0.Value                                        = 0;
1514     DW0.DwordLength                                  = GetOpLength(dwSize);
1515     DW0.Subopcodeb                                   = SUBOPCODEB_UNNAMED2;
1516     DW0.Subopcodea                                   = SUBOPCODEA_UNNAMED0;
1517     DW0.MediaCommandOpcode                           = MEDIA_COMMAND_OPCODE_AVCCOMMON;
1518     DW0.Pipeline                                     = PIPELINE_MFXSINGLEDW;
1519     DW0.CommandType                                  = COMMAND_TYPE_PARALLELVIDEOPIPE;
1520 
1521     DW33.Value                                       = 0;
1522     DW33.DirectMvBufferBaseAddressForReferenceFrameArbitrationPriorityControl = DIRECT_MV_BUFFER_BASE_ADDRESS_FOR_REFERENCE_FRAME_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
1523     DW33.DirectMvBufferBaseAddressForReferenceFrameMemoryCompressionEnable = DIRECT_MV_BUFFER_BASE_ADDRESS_FOR_REFERENCE_FRAME_MEMORY_COMPRESSION_ENABLE_COMPRESSIONDISABLE;
1524     DW33.DirectMvBufferBaseAddressForReferenceFrameMemoryCompressionMode = DIRECT_MV_BUFFER_BASE_ADDRESS_FOR_REFERENCE_FRAME_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1525     DW33.DirectMvBufferBaseAddressForReferenceFrameTiledResourceMode = DIRECT_MV_BUFFER_BASE_ADDRESS_FOR_REFERENCE_FRAME_TILED_RESOURCE_MODE_TRMODENONE;
1526 
1527     DW36.Value                                       = 0;
1528     DW36.DirectMvBufferBaseAddressForWriteArbitrationPriorityControl = DIRECT_MV_BUFFER_BASE_ADDRESS_FOR_WRITE_ARBITRATION_PRIORITY_CONTROL_HIGHESTPRIORITY;
1529     DW36.DirectMvBufferBaseAddressForWriteMemoryCompressionEnable = DIRECT_MV_BUFFER_BASE_ADDRESS_FOR_WRITE_MEMORY_COMPRESSION_ENABLE_COMPRESSIONDISABLE;
1530     DW36.DirectMvBufferBaseAddressForWriteMemoryCompressionMode = DIRECT_MV_BUFFER_BASE_ADDRESS_FOR_WRITE_MEMORY_COMPRESSION_MODE_HORIZONTALCOMPRESSIONMODE;
1531     DW36.DirectMvBufferBaseAddressForWriteTiledResourceMode = DIRECT_MV_BUFFER_BASE_ADDRESS_FOR_WRITE_TILED_RESOURCE_MODE_TRMODENONE;
1532 
1533     MOS_ZeroMemory(&PocList, sizeof(PocList));
1534 }
1535 
1536