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