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