intel/genxml: Media instructions and structures for gen9
authorToni Lönnberg <toni.lonnberg@intel.com>
Wed, 16 Jan 2019 11:54:46 +0000 (13:54 +0200)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 28 Mar 2019 04:26:30 +0000 (04:26 +0000)
v2: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
    - fix missing type
    - fix *_FQM_*/*_QM_* commands
    - shorten some media structs using groups
    - factor out memory attributes
    - switch MI_FLUSH_DW fields to bool

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
src/intel/genxml/gen9.xml

index 88fc2da7885d47420d69084d232c910db1237399..a90f48508a6e97225eae047a90806f984ecb9399 100644 (file)
   </struct>
 
   <struct name="SAMPLER_STATE_8X8_AVS_COEFFICIENTS" length="8">
-    <field name="Table 0Y Filter Coefficient[n,1]" start="24" end="31" type="s1.6"/>
-    <field name="Table 0X Filter Coefficient[n,1]" start="16" end="23" type="s1.6"/>
-    <field name="Table 0Y Filter Coefficient[n,0]" start="8" end="15" type="s1.6"/>
-    <field name="Table 0X Filter Coefficient[n,0]" start="0" end="7" type="s1.6"/>
-    <field name="Table 0Y Filter Coefficient[n,3]" start="56" end="63" type="s1.6"/>
-    <field name="Table 0X Filter Coefficient[n,3]" start="48" end="55" type="s1.6"/>
-    <field name="Table 0Y Filter Coefficient[n,2]" start="40" end="47" type="s1.6"/>
-    <field name="Table 0X Filter Coefficient[n,2]" start="32" end="39" type="s1.6"/>
-    <field name="Table 0Y Filter Coefficient[n,5]" start="88" end="95" type="s1.6"/>
-    <field name="Table 0X Filter Coefficient[n,5]" start="80" end="87" type="s1.6"/>
-    <field name="Table 0Y Filter Coefficient[n,4]" start="72" end="79" type="s1.6"/>
-    <field name="Table 0X Filter Coefficient[n,4]" start="64" end="71" type="s1.6"/>
-    <field name="Table 0Y Filter Coefficient[n,7]" start="120" end="127" type="s1.6"/>
-    <field name="Table 0X Filter Coefficient[n,7]" start="112" end="119" type="s1.6"/>
-    <field name="Table 0Y Filter Coefficient[n,6]" start="104" end="111" type="s1.6"/>
-    <field name="Table 0X Filter Coefficient[n,6]" start="96" end="103" type="s1.6"/>
-    <field name="Table 1X Filter Coefficient[n,3]" start="152" end="159" type="s1.6"/>
-    <field name="Table 1X Filter Coefficient[n,2]" start="144" end="151" type="s1.6"/>
-    <field name="Table 1X Filter Coefficient[n,5]" start="168" end="175" type="s1.6"/>
-    <field name="Table 1X Filter Coefficient[n,4]" start="160" end="167" type="s1.6"/>
-    <field name="Table 1Y Filter Coefficient[n,3]" start="216" end="223" type="s1.6"/>
-    <field name="Table 1Y Filter Coefficient[n,2]" start="208" end="215" type="s1.6"/>
-    <field name="Table 1Y Filter Coefficient[n,5]" start="232" end="239" type="s1.6"/>
-    <field name="Table 1Y Filter Coefficient[n,4]" start="224" end="231" type="s1.6"/>
+    <group count="4" start="0" size="8">
+      <field name="Table 0 Filter Coefficient" start="0" end="7" type="s1.6"/>
+    </group>
+    <group count="4" start="0" size="32">
+      <field name="Table 1 Filter Coefficient0" start="0" end="7" type="s1.6"/>
+      <field name="Table 1 Filter Coefficient1" start="8" end="15" type="s1.6"/>
+    </group>
   </struct>
 
   <struct name="MI_MATH_ALU_INSTRUCTION" length="1">
     </field>
   </struct>
 
+  <struct name="MEMORYADDRESSATTRIBUTES" length="1">
+    <field name="Tiled Resource Mode" start="13" end="14" type="uint">
+      <value name="TRMODE_NONE" value="0"/>
+      <value name="TRMODE_TILEYF" value="1"/>
+      <value name="TRMODE_TILEYS" value="2"/>
+    </field>
+    <field name="Row Store Scratch Buffer Cache Select" start="12" end="12" type="uint">
+      <value name="LLC" value="0"/>
+      <value name="Internal Media Storage" value="1"/>
+    </field>
+    <field name="Memory Compression Enable" start="9" end="9" type="bool"/>
+    <field name="Arbitration Priority Control" start="7" end="8" type="uint">
+      <value name="Highest priority" value="0"/>
+      <value name="Second highest priority" value="1"/>
+      <value name="Third highest priority" value="2"/>
+      <value name="Lowest priority" value="3"/>
+    </field>
+    <field name="MOCS" start="1" end="6" type="uint"/>
+  </struct>
+
+  <struct name="FRAMEDELTAQP" length="2">
+    <group count="8" start="0" size="8">
+      <field name="Frame Delta QP" start="0" end="7" type="int"/>
+    </group>
+  </struct>
+
+  <struct name="FRAMEDELTAQPRANGE" length="2">
+    <group count="8" start="0" size="8">
+      <field name="Frame Delta QP Range" start="0" end="7" type="uint"/>
+    </group>
+  </struct>
+
+  <struct name="HCP_REF_LIST_ENTRY" length="1">
+    <field name="Top Field" start="15" end="15" type="bool"/>
+    <field name="Field Pic" start="14" end="14" type="bool"/>
+    <field name="Long Term Reference" start="13" end="13" type="bool"/>
+    <field name="Luma Weighted Prediction" start="12" end="12" type="uint">
+      <value name="Default" value="0"/>
+      <value name="Explicit" value="1"/>
+    </field>
+    <field name="Chroma Weighted Prediction" start="11" end="11" type="uint">
+      <value name="Default" value="0"/>
+      <value name="Explicit" value="1"/>
+    </field>
+    <field name="List Entry" start="8" end="10" type="uint"/>
+    <field name="Reference Picture tb Value" start="0" end="7" type="uint"/>
+  </struct>
+
+  <struct name="HCP_TILE_POSITION_IN_CTB" length="1">
+    <field name="CtbPos3+i" start="24" end="31" type="uint"/>
+    <field name="CtbPos2+i" start="16" end="23" type="uint"/>
+    <field name="CtbPos1+i" start="8" end="15" type="uint"/>
+    <field name="CtbPos0+i" start="0" end="7" type="uint"/>
+  </struct>
+
+  <struct name="HCP_WEIGHTOFFSET_CHROMA_ENTRY" length="1">
+    <field name="Chroma Offset LX[1]" start="24" end="31" type="uint"/>
+    <field name="Delta Chroma Weight LX[1]" start="16" end="23" type="int"/>
+    <field name="Chroma Offset LX[0]" start="8" end="15" type="uint"/>
+    <field name="Delta Chroma Weight LX[0]" start="0" end="7" type="int"/>
+  </struct>
+
+  <struct name="HCP_WEIGHTOFFSET_LUMA_ENTRY" length="1">
+    <field name="Luma Offset LX" start="8" end="15" type="uint"/>
+    <field name="Delta Luma Weight LX" start="0" end="7" type="int"/>
+  </struct>
+
+  <struct name="HEVC_ARBITRATION_PRIORITY" length="1">
+    <field name="Priority" start="0" end="1" type="uint">
+      <value name="Highest priority" value="0"/>
+      <value name="Second highest priority" value="1"/>
+      <value name="Third highest priority" value="2"/>
+      <value name="Lowest priority" value="3"/>
+    </field>
+  </struct>
+
+  <struct name="HEVC_VP9_RDOQ_LAMBDA_FIELDS" length="1">
+    <field name="Lambda Value 1" start="16" end="31" type="uint"/>
+    <field name="Lambda Value 0" start="0" end="15" type="uint"/>
+  </struct>
+
+  <struct name="HUC_VIRTUAL_ADDR_REGION" length="3">
+    <field name="Memory Address Attributes" start="64" end="95" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="Address" start="0" end="63" type="address"/>
+  </struct>
+
+  <struct name="INLINE_DATA_DESCRIPTION_FOR_MFD_AVC_BSD_OBJECT" length="3">
+    <field name="Concealment Method" start="31" end="31" type="uint"/>
+    <field name="Init Current MB Number" start="30" end="30" type="bool"/>
+    <field name="Intra PredMode (4x4/8x8 Luma) Error Control" start="29" end="29" type="uint"/>
+    <field name="MB Error Concealment B Temporal Prediction Mode" start="27" end="28" type="uint" default="0"/>
+    <field name="MB Error Concealment B Temporal Motion Vectors Override Enable" start="25" end="25" type="bool"/>
+    <field name="MB Error Concealment B Temporal Weight Prediction Disable" start="24" end="24" type="bool"/>
+    <field name="Concealment Picture ID" start="16" end="21" type="uint"/>
+    <field name="BSD Premature Complete Error Handling" start="14" end="14" type="bool"/>
+    <field name="MPR Error Handling" start="12" end="12" type="bool"/>
+    <field name="Entropy Error Handling" start="10" end="10" type="bool"/>
+    <field name="MB Header Error Handling" start="8" end="8" type="bool"/>
+    <field name="MB Error Concealment B Spatial Prediction Mode" start="6" end="7" type="uint"/>
+    <field name="MB Error Concealment B Spatial Motion Vectors Override Disable" start="4" end="4" type="bool"/>
+    <field name="MB Error Concealment B Spatial Weight Prediction Disable" start="3" end="3" type="bool"/>
+    <field name="MB Error Concealment P Slice Motion Vectors Override Disable" start="1" end="1" type="bool"/>
+    <field name="MB Error Concealment P Slice Weight Prediction Disable" start="0" end="0" type="bool"/>
+    <field name="First MB Byte Offset of Slice Data or Slice Header" start="48" end="63" type="uint"/>
+    <field name="Fix Prev MB Skipped" start="39" end="39" type="bool"/>
+    <field name="Emulation Prevention Byte Present" start="36" end="36" type="bool"/>
+    <field name="Last Slice" start="35" end="35" type="bool"/>
+    <field name="First MB Bit Offset" start="32" end="34" type="uint"/>
+    <field name="I Slice Concealment Mode" start="95" end="95" type="uint">
+      <value name="Intra Concealment" value="1"/>
+      <value name="Inter Concealment" value="0"/>
+    </field>
+    <field name="Concealment Reference Picture + Field Bit" start="88" end="93" type="uint"/>
+    <field name="P Slice Concealment Mode" start="87" end="87" type="uint">
+      <value name="Intra Concealment" value="1"/>
+      <value name="Inter Concealment" value="0"/>
+    </field>
+    <field name="P Slice Inter Concealment Mode" start="80" end="82" type="uint"/>
+    <field name="B Slice Concealment Mode" start="79" end="79" type="uint">
+      <value name="Intra Concealment" value="1"/>
+      <value name="Inter Concealment" value="0"/>
+    </field>
+    <field name="B Slice Inter Direct Type Concealment Mode" start="76" end="77" type="uint"/>
+    <field name="B Slice Spatial Inter Concealment Mode" start="72" end="74" type="uint"/>
+    <field name="B Slice Temporal Inter Concealment Mode" start="68" end="70" type="uint"/>
+    <field name="Intra 8x8/4x4 Prediction Error Concealment Control" start="65" end="65" type="bool"/>
+    <field name="Intra Prediction Error Control" start="64" end="64" type="bool"/>
+  </struct>
+
+  <struct name="MFD_MPEG2_BSD_OBJECT_INLINE_DATA_DESCRIPTION" length="2">
+    <field name="Slice Horizontal Position" start="24" end="31" type="uint"/>
+    <field name="Slice Vertical Position" start="16" end="23" type="uint"/>
+    <field name="MB Count" start="8" end="15" type="uint"/>
+    <field name="Slice Concealment Override" start="7" end="7" type="uint"/>
+    <field name="Slice Concealment Type" start="6" end="6" type="uint"/>
+    <field name="Last Pic Slice" start="5" end="5" type="bool"/>
+    <field name="Last MB" start="3" end="3" type="bool"/>
+    <field name="First MB Bit Offset" start="0" end="2" type="uint"/>
+    <field name="Quantizer Scale Code" start="56" end="60" type="uint"/>
+    <field name="Next Slice Vertical Position" start="40" end="48" type="uint"/>
+    <field name="Next Slice Horizontal Position" start="32" end="39" type="uint"/>
+  </struct>
+
+  <struct name="SFC_AVS_CHROMA_COEFF_TABLE_BODY" length="64">
+    <field name="Table 1Y Filter Coefficient[[n],5]" start="56" end="63" type="s1.6"/>
+    <field name="Table 1X Filter Coefficient[[n],5]" start="48" end="55" type="s1.6"/>
+    <field name="Table 1Y Filter Coefficient[[n],4]" start="40" end="47" type="s1.6"/>
+    <field name="Table 1X Filter Coefficient[[n],4]" start="32" end="39" type="s1.6"/>
+    <field name="Table 1Y Filter Coefficient[[n],3]" start="24" end="31" type="s1.6"/>
+    <field name="Table 1X Filter Coefficient[[n],3]" start="16" end="23" type="s1.6"/>
+    <field name="Table 1Y Filter Coefficient[[n],2]" start="8" end="15" type="s1.6"/>
+    <field name="Table 1X Filter Coefficient[[n],2]" start="0" end="7" type="s1.6"/>
+    <group count="31" start="64" size="64">
+      <field name="Filter Coefficients" start="0" end="63" type="uint"/>
+    </group>
+  </struct>
+
+  <struct name="SFC_AVS_LUMA_COEFF_TABLE_BODY" length="128">
+    <field name="Table 0Y Filter Coefficient[[n],7]" start="120" end="127" type="s1.6"/>
+    <field name="Table 0X Filter Coefficient[[n],7]" start="112" end="119" type="s1.6"/>
+    <field name="Table 0Y Filter Coefficient[[n],6]" start="104" end="111" type="s1.6"/>
+    <field name="Table 0X Filter Coefficient[[n],6]" start="96" end="103" type="s1.6"/>
+    <field name="Table 0Y Filter Coefficient[[n],5]" start="88" end="95" type="s1.6"/>
+    <field name="Table 0X Filter Coefficient[[n],5]" start="80" end="87" type="s1.6"/>
+    <field name="Table 0Y Filter Coefficient[[n],4]" start="72" end="79" type="s1.6"/>
+    <field name="Table 0X Filter Coefficient[[n],4]" start="64" end="71" type="s1.6"/>
+    <field name="Table 0Y Filter Coefficient[[n],3]" start="56" end="63" type="s1.6"/>
+    <field name="Table 0X Filter Coefficient[[n],3]" start="48" end="55" type="s1.6"/>
+    <field name="Table 0Y Filter Coefficient[[n],2]" start="40" end="47" type="s1.6"/>
+    <field name="Table 0X Filter Coefficient[[n],2]" start="32" end="39" type="s1.6"/>
+    <field name="Table 0Y Filter Coefficient[[n],1]" start="24" end="31" type="s1.6"/>
+    <field name="Table 0X Filter Coefficient[[n],1]" start="16" end="23" type="s1.6"/>
+    <field name="Table 0Y Filter Coefficient[[n],0]" start="8" end="15" type="s1.6"/>
+    <field name="Table 0X Filter Coefficient[[n],0]" start="0" end="7" type="s1.6"/>
+    <group count="31" start="128" size="128">
+      <field name="Filter Coefficients" start="0" end="127" type="uint"/>
+    </group>
+  </struct>
+
+  <struct name="SFC_AVS_STATE_BODY" length="2">
+    <field name="Sharpness Level" start="24" end="31" type="uint"/>
+    <field name="Transition Area with 4 Pixels" start="4" end="6" type="uint"/>
+    <field name="Transition Area with 8 Pixels" start="0" end="2" type="uint"/>
+    <field name="Max Derivative 4 Pixels" start="48" end="55" type="uint"/>
+    <field name="Max Derivative 8 Pixels" start="32" end="39" type="uint"/>
+  </struct>
+
+  <struct name="SFC_IEF_STATE_BODY" length="23">
+    <field name="R3c Coefficient" start="23" end="27" type="u0.5" default="5"/>
+    <field name="R3x Coefficient" start="18" end="22" type="u0.5" default="5"/>
+    <field name="Strong Edge Threshold" start="12" end="17" type="uint" default="8"/>
+    <field name="Weak Edge Threshold" start="6" end="11" type="uint" default="1"/>
+    <field name="Gain Factor" start="0" end="5" type="uint" default="44"/>
+    <field name="R5c Coefficient" start="59" end="63" type="u0.5"/>
+    <field name="R5cx Coefficient" start="54" end="58" type="u0.5"/>
+    <field name="R5x Coefficient" start="49" end="53" type="u0.5"/>
+    <field name="Strong Edge Weight" start="46" end="48" type="uint"/>
+    <field name="Regular Weight" start="43" end="45" type="uint"/>
+    <field name="Non Edge Weight" start="40" end="42" type="uint"/>
+    <field name="Global Noise Estimation" start="32" end="39" type="uint"/>
+    <field name="Hue_Max" start="86" end="91" type="uint"/>
+    <field name="Sat_Max" start="80" end="85" type="uint"/>
+    <field name="STD Cos(alpha)" start="72" end="79" type="s0.7"/>
+    <field name="STD Sin(alpha)" start="64" end="71" type="s0.7"/>
+    <field name="V_Mid" start="120" end="127" type="uint"/>
+    <field name="U_Mid" start="112" end="119" type="uint"/>
+    <field name="VY_STD_Enable" start="111" end="111" type="bool"/>
+    <field name="Diamond Margin" start="108" end="110" type="uint"/>
+    <field name="S3U" start="96" end="106" type="s2.8"/>
+    <field name="Skin Detail Factor" start="159" end="159" type="uint">
+      <value name="Detail Revealed" value="0"/>
+      <value name="Not Detail Revealed" value="1"/>
+    </field>
+    <field name="Diamond_du" start="152" end="158" type="int"/>
+    <field name="HS_margin" start="149" end="151" type="uint"/>
+    <field name="Diamond_alpha" start="141" end="148" type="u2.6"/>
+    <field name="Diamond_Th" start="135" end="140" type="uint"/>
+    <field name="Diamond_dv" start="128" end="134" type="int"/>
+    <field name="Y_point_4" start="184" end="191" type="uint"/>
+    <field name="Y_point_3" start="176" end="183" type="uint"/>
+    <field name="Y_point_2" start="168" end="175" type="uint"/>
+    <field name="Y_point_1" start="160" end="167" type="uint"/>
+    <field name="INV_Margin_VYL" start="192" end="207" type="u0.16"/>
+    <field name="P1L" start="248" end="255" type="uint"/>
+    <field name="P0L" start="240" end="247" type="uint"/>
+    <field name="INV_Margin_VYU" start="224" end="239" type="u0.16"/>
+    <field name="B1L" start="280" end="287" type="uint"/>
+    <field name="B0L" start="272" end="279" type="uint"/>
+    <field name="P3L" start="264" end="271" type="uint"/>
+    <field name="P2L" start="256" end="263" type="uint"/>
+    <field name="Y_Slope_2" start="315" end="319" type="u2.3"/>
+    <field name="S0L" start="304" end="314" type="s2.8"/>
+    <field name="B3L" start="296" end="303" type="uint"/>
+    <field name="B2L" start="288" end="295" type="uint"/>
+    <field name="S2L" start="331" end="341" type="s2.8"/>
+    <field name="S1L" start="320" end="330" type="s2.8"/>
+    <field name="Y_Slope1" start="379" end="383" type="u2.3"/>
+    <field name="P1U" start="371" end="378" type="uint"/>
+    <field name="P0U" start="363" end="370" type="uint"/>
+    <field name="S3L" start="352" end="362" type="s2.8"/>
+    <field name="B1U" start="408" end="415" type="uint"/>
+    <field name="B0U" start="400" end="407" type="uint"/>
+    <field name="P3U" start="392" end="399" type="uint"/>
+    <field name="P2U" start="384" end="391" type="uint"/>
+    <field name="S0U" start="432" end="442" type="s2.8"/>
+    <field name="B3U" start="424" end="431" type="uint"/>
+    <field name="B2U" start="416" end="423" type="uint"/>
+    <field name="S2U" start="459" end="469" type="s2.8"/>
+    <field name="S1U" start="448" end="458" type="s2.8"/>
+    <field name="C1" start="496" end="508" type="s2.10"/>
+    <field name="C0" start="483" end="495" type="s2.10"/>
+    <field name="YUV Channel Swap" start="481" end="481" type="bool"/>
+    <field name="Transform Enable" start="480" end="480" type="bool"/>
+    <field name="C3" start="525" end="537" type="s2.10"/>
+    <field name="C2" start="512" end="524" type="s2.10"/>
+    <field name="C5" start="557" end="569" type="s2.10"/>
+    <field name="C4" start="544" end="556" type="s2.10"/>
+    <field name="C7" start="589" end="601" type="s2.10"/>
+    <field name="C6" start="576" end="588" type="s2.10"/>
+    <field name="C8" start="608" end="620" type="s2.10"/>
+    <field name="Offset Out 1" start="651" end="661" type="s2.8"/>
+    <field name="Offset In 1" start="640" end="650" type="s2.8"/>
+    <field name="Offset Out 2" start="683" end="693" type="s2.8"/>
+    <field name="Offset In 2" start="672" end="682" type="s2.8"/>
+    <field name="Offset Out 3" start="715" end="725" type="s2.8"/>
+    <field name="Offset In 3" start="704" end="714" type="s2.8"/>
+  </struct>
+
+  <struct name="SFC_LOCK_BODY" length="1">
+    <field name="Pre-Scaled Output Surface Output Enable" start="1" end="1" type="bool"/>
+    <field name="VE-SFC Pipe Select" start="0" end="0" type="uint"/>
+  </struct>
+
+  <struct name="VDENC_SURFACE_CONTROL_BITS" length="1">
+    <field name="Tiled Resource Mode" start="13" end="14" type="uint">
+      <value name="TRMODE_NONE" value="0"/>
+      <value name="TRMODE_TILEYF" value="1"/>
+      <value name="TRMODE_TILEYS" value="2"/>
+    </field>
+    <field name="Cache Select" start="12" end="12" type="uint"/>
+    <field name="Memory Compression Mode" start="10" end="10" type="uint"/>
+    <field name="Memory Compression Enable" start="9" end="9" type="bool"/>
+    <field name="Arbitration Priority Control" start="7" end="8" type="uint">
+      <value name="Highest priority" value="0"/>
+      <value name="Second highest priority" value="1"/>
+      <value name="Third highest priority" value="2"/>
+      <value name="Lowest priority" value="3"/>
+    </field>
+    <field name="MOCS" start="1" end="6" type="uint"/>
+  </struct>
+
+  <struct name="VDENC_PICTURE" length="3">
+    <field name="Address" start="0" end="63" type="address"/>
+    <field name="Picture Fields" start="64" end="95" type="VDENC_SURFACE_CONTROL_BITS"/>
+  </struct>
+
+  <struct name="VDENC_SURFACE_STATE_FIELDS" length="4">
+    <field name="Height" start="18" end="31" type="uint"/>
+    <field name="Width" start="4" end="17" type="uint"/>
+    <field name="Color space selection" start="3" end="3" type="uint"/>
+    <field name="Surface Format Byte Swizzle" start="2" end="2" type="bool"/>
+    <field name="Cr(V)/Cb(U) Pixel Offset V Direction" start="0" end="1" type="u0.2"/>
+    <field name="Surface Format" start="60" end="63" type="uint" prefix="VDENC">
+      <value name="YUV 4:2:2" value="0"/>
+      <value name="RGBA 4:4:4:4" value="1"/>
+      <value name="YUV 4:4:4" value="2"/>
+      <value name="Y8_UNORM" value="3"/>
+      <value name="PLANAR_420_8" value="4"/>
+    </field>
+    <field name="Format" start="59" end="63" type="uint"/>
+    <field name="Surface Pitch" start="35" end="51" type="uint"/>
+    <field name="Half Pitch for Chroma" start="34" end="34" type="bool"/>
+    <field name="Tiled Surface" start="33" end="33" type="uint"/>
+    <field name="Tile Walk" start="32" end="32" type="uint" prefix="TW">
+      <value name="XMAJOR" value="0"/>
+      <value name="YMAJOR" value="1"/>
+    </field>
+    <field name="X Offset for U(Cb)" start="80" end="94" type="uint"/>
+    <field name="Y Offset for U(Cb)" start="64" end="78" type="uint"/>
+    <field name="X Offset for V(Cr)" start="112" end="124" type="uint"/>
+    <field name="Y Offset for V(Cr)" start="96" end="111" type="uint"/>
+  </struct>
+
+  <struct name="HCP_PAK_INSERT_OBJECT_INDIRECT_PAYLOAD" length="4">
+    <field name="Indirect Payload Data Size in bits" start="0" end="31" type="uint"/>
+    <field name="Indirect Payload Base Address" start="32" end="95" type="address"/>
+    <field name="Indirect Payload Base Address2" start="96" end="128" type="MEMORYADDRESSATTRIBUTES"/>
+  </struct>
+
   <instruction name="3DPRIMITIVE" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="Bottom Execution Mask" start="448" end="479" type="uint"/>
   </instruction>
 
+  <instruction name="HCP_BSD_OBJECT" bias="2" length="3" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="7"/>
+    <field name="SubOpcode" start="16" end="22" type="uint" default="32"/>
+    <field name="DWord Length" start="0" end="11" type="uint"/>
+    <field name="Indirect BSD Data Length" start="32" end="63" type="uint"/>
+    <field name="Indirect BSD Data Start Address" start="64" end="92" type="offset"/>
+  </instruction>
+
+  <instruction name="HCP_FQM_STATE" bias="2" length="34" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="7"/>
+    <field name="SubOpcode" start="16" end="22" type="uint" default="5"/>
+    <field name="DWord Length" start="0" end="11" type="uint"/>
+    <field name="FQM DC Value" start="48" end="63" type="uint"/>
+    <field name="Color Component" start="35" end="36" type="uint">
+      <value name="Luma" value="0"/>
+      <value name="Chroma Cb" value="1"/>
+      <value name="Chroma Cr" value="2"/>
+    </field>
+    <field name="SizeID" start="33" end="34" type="uint">
+      <value name="4x4" value="0"/>
+      <value name="8x8" value="1"/>
+      <value name="16x16" value="2"/>
+      <value name="32x32" value="3"/>
+    </field>
+    <field name="Intra/Inter" start="32" end="32" type="uint">
+      <value name="Intra" value="0"/>
+      <value name="Inter" value="1"/>
+    </field>
+    <group count="64" start="64" size="8">
+      <field name="Quantizer Matrix 8x8" start="0" end="7" type="uint"/>
+    </group>
+  </instruction>
+
+  <instruction name="HCP_IND_OBJ_BASE_ADDR_STATE" bias="2" length="14" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="7"/>
+    <field name="SubOpcode" start="16" end="22" type="uint" default="3"/>
+    <field name="DWord Length" start="0" end="11" type="uint"/>
+    <field name="HCP Indirect Bitstream Object - Base Address" start="32" end="95" type="address"/>
+    <field name="HCP Indirect Bitstream Object - Memory Address Attributes" start="96" end="127" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="HCP Indirect Bitstream Object - Access Upper Bound" start="128" end="191" type="address"/>
+    <field name="HCP Indirect CU Object - Base Address" start="192" end="255" type="address"/>
+    <field name="HCP Indirect CU Object - Memory Address Attributes" start="256" end="287" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="HCP PAK-BSE Object - Base Address" start="288" end="351" type="address"/>
+    <field name="HCP PAK-BSE Object - Memory Address Attributes" start="352" end="383" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="HCP PAK-BSE Object - Access Upper Bound" start="384" end="447" type="address"/>
+  </instruction>
+
+  <instruction name="HCP_PAK_INSERT_OBJECT" bias="2" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="7"/>
+    <field name="SubOpcode" start="16" end="22" type="uint" default="34"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="0"/>
+    <field name="Indirect Payload Enable" start="63" end="63" type="bool"/>
+    <field name="Data Byte Offset" start="48" end="49" type="uint"/>
+    <field name="Header Length Excluded From Size" start="47" end="47" type="uint">
+      <value name="ACCUMULATE" value="0"/>
+      <value name="NO_ACCUMULATION" value="1"/>
+    </field>
+    <field name="Data Bits In Last DW" start="40" end="45" type="uint"/>
+    <field name="Skip Emulation Byte Count" start="36" end="39" type="uint"/>
+    <field name="Emulation Byte Bits Insert Enable" start="35" end="35" type="bool"/>
+    <field name="Last Header" start="34" end="34" type="bool"/>
+    <field name="End of Slice" start="33" end="33" type="bool"/>
+    <group count="0" start="64" size="128">
+      <field name="Indirect Payload" start="0" end="127" type="HCP_PAK_INSERT_OBJECT_INDIRECT_PAYLOAD"/>
+      <field name="Inline PayLoad" start="0" end="31" type="uint"/>
+    </group>
+  </instruction>
+
+  <instruction name="HCP_PAK_OBJECT" bias="2" length="2" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="7"/>
+    <field name="SubOpcode" start="16" end="22" type="uint" default="33"/>
+    <field name="DWord Length" start="0" end="11" type="uint"/>
+    <field name="Last LCU of Slice" start="63" end="63" type="bool"/>
+    <field name="Last LCU of Tile" start="62" end="62" type="bool"/>
+    <field name="CU Count" start="56" end="61" type="uint"/>
+    <field name="Split Level 0" start="52" end="52" type="uint"/>
+    <field name="Split Level 1" start="48" end="51" type="uint"/>
+    <field name="Split Level 2 Part 3" start="44" end="47" type="uint"/>
+    <field name="Split Level 2 Part 2" start="40" end="43" type="uint"/>
+    <field name="Split Level 2 Part 1" start="36" end="39" type="uint"/>
+    <field name="Split Level 2 Part 0" start="32" end="35" type="uint"/>
+    <field name="Current LCU Y Address" start="80" end="95" type="uint"/>
+    <field name="Current LCU X Address" start="64" end="79" type="uint"/>
+  </instruction>
+
+  <instruction name="HCP_PIC_STATE" bias="2" length="2" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="7"/>
+    <field name="SubOpcode" start="16" end="22" type="uint" default="16"/>
+    <field name="DWord Length" start="0" end="11" type="uint"/>
+    <field name="Frame Height In Minimum Coding Block Size" start="48" end="57" type="uint"/>
+    <field name="PAK Transform Skip Enable" start="47" end="47" type="bool"/>
+    <field name="Frame Width In Minimum Coding Block Size" start="32" end="41" type="uint"/>
+    <field name="Max PCM Size" start="74" end="75" type="uint" prefix="PCM">
+      <value name="32x32" value="2"/>
+      <value name="16x16" value="1"/>
+      <value name="8x8" value="0"/>
+    </field>
+    <field name="Min PCM Size" start="72" end="73" type="uint" prefix="PCM">
+      <value name="32x32" value="2"/>
+      <value name="16x16" value="1"/>
+      <value name="8x8" value="0"/>
+    </field>
+    <field name="Max TU Size" start="70" end="71" type="uint" prefix="TU">
+      <value name="32x32" value="3"/>
+      <value name="16x16" value="2"/>
+      <value name="8x8" value="1"/>
+      <value name="4x4" value="0"/>
+    </field>
+    <field name="Min TU Size" start="68" end="69" type="uint" prefix="TU">
+      <value name="32x32" value="3"/>
+      <value name="16x16" value="2"/>
+      <value name="8x8" value="1"/>
+      <value name="4x4" value="0"/>
+    </field>
+    <field name="LCU Size" start="66" end="67" type="uint" prefix="LCU">
+      <value name="64x64" value="3"/>
+      <value name="32x32" value="2"/>
+      <value name="16x16" value="1"/>
+      <value name="Illegal/reserved" value="0"/>
+    </field>
+    <field name="Min CU Size" start="64" end="65" type="uint" prefix="LCU">
+      <value name="64x64" value="3"/>
+      <value name="32x32" value="2"/>
+      <value name="16x16" value="1"/>
+      <value name="8x8" value="0"/>
+    </field>
+    <field name="CABAC Zero Word Insertion Test Enable" start="98" end="98" type="bool"/>
+    <field name="Current Picture Is I Slice" start="97" end="97" type="bool"/>
+    <field name="Collocated Picture Is I Slice" start="96" end="96" type="bool"/>
+    <field name="CU Packet Structure" start="155" end="155" type="uint">
+      <value name="VME" value="0"/>
+      <value name="ExtEnc" value="1"/>
+    </field>
+    <field name="Strong Intra Smoothing Enable" start="154" end="154" type="bool"/>
+    <field name="Transquant Bypass Enable" start="153" end="153" type="bool"/>
+    <field name="AMP Enable" start="151" end="151" type="bool"/>
+    <field name="Transform Skip Enable" start="150" end="150" type="bool"/>
+    <field name="Top Field" start="149" end="149" type="bool"/>
+    <field name="Field Pic" start="148" end="148" type="bool"/>
+    <field name="Weighted Predication Enable" start="147" end="147" type="bool"/>
+    <field name="Weighted BiPredication Enable" start="146" end="146" type="bool"/>
+    <field name="Tiling Enable" start="145" end="145" type="bool"/>
+    <field name="Entropy Coding Sync Enable" start="144" end="144" type="bool"/>
+    <field name="Loop Filter Enable" start="143" end="143" type="bool"/>
+    <field name="Sign Data Hiding" start="141" end="141" type="bool"/>
+    <field name="Log2 Parallel Merge Level" start="138" end="140" type="uint"/>
+    <field name="Constrained Intra Prediction" start="137" end="137" type="bool"/>
+    <field name="PCM Loop Filter Disable" start="136" end="136" type="bool"/>
+    <field name="Max DQP Depth" start="134" end="135" type="uint"/>
+    <field name="CU QP Delta Enable" start="133" end="133" type="bool"/>
+    <field name="PCM Enable" start="132" end="132" type="bool"/>
+    <field name="Sample Adaptive Offset Enable" start="131" end="131" type="bool"/>
+    <field name="Luma Bit Depth" start="187" end="189" type="uint">
+      <value name="8-bit" value="0"/>
+      <value name="9-bit" value="1"/>
+      <value name="10-bit" value="2"/>
+      <value name="11-bit" value="3"/>
+      <value name="12-bit" value="4"/>
+    </field>
+    <field name="Chroma Bit Depth" start="184" end="186" type="uint">
+      <value name="8-bit" value="0"/>
+      <value name="9-bit" value="1"/>
+      <value name="10-bit" value="2"/>
+      <value name="11-bit" value="3"/>
+      <value name="12-bit" value="4"/>
+    </field>
+    <field name="Luma PCM Sample Bit Depth" start="180" end="183" type="uint"/>
+    <field name="Chroma PCM Sample Bit Depth" start="176" end="179" type="uint"/>
+    <field name="Inter Max Transform Hierarchy Depth" start="173" end="175" type="uint"/>
+    <field name="Intra Max Transform Hierarchy Depth" start="170" end="172" type="uint"/>
+    <field name="Picture Cr QP Offset" start="165" end="169" type="int"/>
+    <field name="Picture Cb QP Offset" start="160" end="164" type="int"/>
+    <field name="Load Bitstream Pointer Per Slice" start="221" end="221" type="bool"/>
+    <field name="Frame Bitrate Min Report" start="218" end="218" type="bool"/>
+    <field name="Frame Bitrate Max Report" start="217" end="217" type="bool"/>
+    <field name="LCU Max Size Report" start="216" end="216" type="bool"/>
+    <field name="Non First Pass" start="208" end="208" type="bool"/>
+    <field name="LCU Max Bit Size Allowed" start="192" end="207" type="uint"/>
+    <field name="Frame Bitrate Max Unit" start="255" end="255" type="uint"/>
+    <field name="Frame Bitrate Max" start="224" end="237" type="uint"/>
+    <field name="Frame Bitrate Min Unit" start="287" end="287" type="uint"/>
+    <field name="Frame Bitrate Min" start="256" end="269" type="uint"/>
+    <field name="Frame Bitrate Max Delta" start="304" end="318" type="uint"/>
+    <field name="Frame Bitrate Min Delta" start="288" end="302" type="uint"/>
+    <field name="Frame Delta QP Max" start="320" end="383" type="FRAMEDELTAQP"/>
+    <field name="Frame Delta QP Min" start="384" end="447" type="FRAMEDELTAQP"/>
+    <field name="Frame Delta QP Max Range" start="448" end="511" type="FRAMEDELTAQPRANGE"/>
+    <field name="Frame Delta QP Min Range" start="512" end="575" type="FRAMEDELTAQPRANGE"/>
+    <field name="Minimum Frame Size Units" start="606" end="607" type="uint" prefix="HCP_MFSU">
+      <value name="4Kb" value="0"/>
+      <value name="16Kb" value="1"/>
+    </field>
+    <field name="Minimum Frame Size" start="576" end="591" type="uint"/>
+  </instruction>
+
+  <instruction name="HCP_PIPE_BUF_ADDR_STATE" bias="2" length="95" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="7"/>
+    <field name="SubOpcode" start="16" end="22" type="uint" default="2"/>
+    <field name="DWord Length" start="0" end="11" type="uint"/>
+    <field name="Decoded Picture - Address" start="32" end="95" type="address"/>
+    <field name="Decoded Picture - Memory Address Attributes" start="96" end="127" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="Deblocking Filter Line Buffer - Address" start="128" end="191" type="address"/>
+    <field name="Deblocking Filter Line Buffer - Memory Address Attributes" start="192" end="223" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="Deblocking Filter Tile Line Buffer - Address" start="224" end="287" type="address"/>
+    <field name="Deblocking Filter Tile Line Buffer - Memory Address Attributes" start="288" end="319" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="Deblocking Filter Tile Column Buffer - Address" start="320" end="383" type="address"/>
+    <field name="Deblocking Filter Tile Column Buffer - Memory Address Attributes" start="384" end="415" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="Metadata Line Buffer - Address" start="416" end="479" type="address"/>
+    <field name="Metadata Line Buffer - Memory Address Attributes" start="480" end="511" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="Metadata Tile Line Buffer - Address" start="512" end="575" type="address"/>
+    <field name="Metadata Tile Line Buffer - Memory Address Attributes" start="576" end="607" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="Metadata Tile Column Buffer - Address" start="608" end="671" type="address"/>
+    <field name="Metadata Tile Column Buffer - Memory Address Attributes" start="672" end="703" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="SAO Line Buffer - Address" start="704" end="767" type="address"/>
+    <field name="SAO Line Buffer - Memory Address Attributes" start="768" end="799" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="SAO Tile Line Buffer - Address" start="800" end="863" type="address"/>
+    <field name="SAO Tile Line Buffer - Memory Address Attributes" start="864" end="895" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="SAO Tile Column Buffer - Address" start="896" end="959" type="address"/>
+    <field name="SAO Tile Column Buffer - Memory Address Attributes" start="960" end="991" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="Current MV Temporal Buffer - Address" start="992" end="1055" type="address"/>
+    <field name="Current MV Temporal Buffer - Memory Address Attributes" start="1056" end="1087" type="MEMORYADDRESSATTRIBUTES"/>
+    <group count="8" start="1184" size="64">
+      <field name="Reference Picture - Address" start="0" end="63" type="address"/>
+    </group>
+    <field name="Reference Picture - Memory Address Attributes" start="1696" end="1727" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="Original Uncompressed Picture Source - Address" start="1728" end="1791" type="address"/>
+    <field name="Original Uncompressed Picture Source - Memory Address Attributes" start="1792" end="1823" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="Stream-Out Data Destination - Address" start="1824" end="1887" type="address"/>
+    <field name="Stream-Out Data Destination - Memory Address Attributes" start="1888" end="1919" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="Decoded Picture Status Buffer - Address" start="1920" end="1983" type="address"/>
+    <field name="Decoded Picture Status Buffer - Memory Address Attributes" start="1984" end="2015" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="LCU ILDB Stream-Out Buffer - Address" start="2016" end="2079" type="address"/>
+    <field name="LCU ILDB Stream-Out Buffer - Memory Address Attributes" start="2080" end="2111" type="MEMORYADDRESSATTRIBUTES"/>
+    <group count="8" start="2112" size="64">
+      <field name="Collocated MV Temporal Buffer - Address" start="0" end="63" type="address"/>
+    </group>
+    <field name="Collocated MV Temporal Buffer - Memory Address Attributes" start="2624" end="2655" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="VP9 Probability Buffer - Address" start="2656" end="2719" type="address"/>
+    <field name="VP9 Probability Buffer - Memory Address Attributes" start="2720" end="2751" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="VP9 Segment ID Buffer - Address" start="2752" end="2815" type="uint"/>
+    <field name="VP9 Segment ID Buffer - Memory Address Attributes" start="2816" end="2847" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="VP9 HVD Line Rowstore Buffer - Address" start="2848" end="2911" type="address"/>
+    <field name="VP9 HVD Line Rowstore Buffer - Memory Address Attributes" start="2912" end="2943" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="VP9 HVD Tile Rowstore Buffer - Address" start="2944" end="3007" type="address"/>
+    <field name="VP9 HVD Tile Rowstore Buffer - Memory Address Attributes" start="3008" end="3039" type="MEMORYADDRESSATTRIBUTES"/>
+  </instruction>
+
+  <instruction name="HCP_PIPE_MODE_SELECT" bias="2" length="4" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="7"/>
+    <field name="SubOpcode" start="16" end="22" type="uint" default="0"/>
+    <field name="DWord Length" start="0" end="11" type="uint"/>
+    <field name="PAK Frame Level Stream-Out Enable" start="44" end="44" type="bool"/>
+    <field name="Advanced Rate Control Enable" start="41" end="41" type="bool"/>
+    <field name="Codec Standard Select" start="37" end="39" type="uint">
+      <value name="HEVC" value="0"/>
+      <value name="VP9" value="1"/>
+    </field>
+    <field name="Pic Status/Error Report Enable" start="35" end="35" type="bool"/>
+    <field name="PAK Pipeline Stream-Out Enable" start="34" end="34" type="bool"/>
+    <field name="Deblocker Stream-Out Enable" start="33" end="33" type="bool"/>
+    <field name="Codec Select" start="32" end="32" type="uint">
+      <value name="Decode" value="0"/>
+      <value name="Encode" value="1"/>
+    </field>
+    <field name="Media Soft-Reset Counter" start="64" end="95" type="uint"/>
+    <field name="Pic Status/Error Report ID" start="96" end="127" type="uint"/>
+  </instruction>
+
+  <instruction name="HCP_QM_STATE" bias="2" length="34" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="7"/>
+    <field name="SubOpcode" start="16" end="22" type="uint" default="4"/>
+    <field name="DWord Length" start="0" end="11" type="uint"/>
+    <field name="DC Coefficient" start="37" end="44" type="uint"/>
+    <field name="Color Component" start="35" end="36" type="uint">
+      <value name="Luma" value="0"/>
+      <value name="Chroma Cb" value="1"/>
+      <value name="Chroma Cr" value="2"/>
+    </field>
+    <field name="SizeID" start="33" end="34" type="uint">
+      <value name="4x4" value="0"/>
+      <value name="8x8" value="1"/>
+      <value name="16x16" value="2"/>
+      <value name="32x32" value="3"/>
+    </field>
+    <field name="Prediction Type" start="32" end="32" type="uint">
+      <value name="Intra" value="0"/>
+      <value name="Inter" value="1"/>
+    </field>
+    <group count="64" start="64" size="8">
+      <field name="Quantizer Matrix 8x8" start="0" end="7" type="uint"/>
+    </group>
+  </instruction>
+
+  <instruction name="HCP_REF_IDX_STATE" bias="2" length="18" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="7"/>
+    <field name="SubOpcode" start="16" end="22" type="uint" default="18"/>
+    <field name="DWord Length" start="0" end="11" type="uint"/>
+    <field name="Number of Reference Indexes Active" start="33" end="36" type="uint"/>
+    <field name="Reference Picture List Select" start="32" end="32" type="uint"/>
+    <group count="16" start="64" size="32">
+      <field name="Reference List Entry" start="0" end="31" type="HCP_REF_LIST_ENTRY"/>
+    </group>
+  </instruction>
+
+  <instruction name="HCP_SLICE_STATE" bias="2" length="2" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="7"/>
+    <field name="SubOpcode" start="16" end="22" type="uint" default="20"/>
+    <field name="DWord Length" start="0" end="11" type="uint"/>
+    <field name="Slice Vertical Position" start="48" end="56" type="uint"/>
+    <field name="Slice Horizontal Position" start="32" end="40" type="uint"/>
+    <field name="Next Slice Vertical Position" start="80" end="88" type="uint"/>
+    <field name="Next Slice Horizontal Position" start="64" end="72" type="uint"/>
+    <field name="Last Slice of Tile" start="120" end="120" type="bool"/>
+    <field name="Slice Cr QP Offset" start="113" end="117" type="int">
+      <value name="-12" value="20"/>
+      <value name="-11" value="21"/>
+      <value name="-10" value="22"/>
+      <value name="-9" value="23"/>
+      <value name="-8" value="24"/>
+      <value name="-7" value="25"/>
+      <value name="-6" value="26"/>
+      <value name="-5" value="27"/>
+      <value name="-4" value="28"/>
+      <value name="-3" value="29"/>
+      <value name="-2" value="30"/>
+      <value name="-1" value="31"/>
+    </field>
+    <field name="Slice Cb QP Offset" start="108" end="112" type="int">
+      <value name="-12" value="20"/>
+      <value name="-11" value="21"/>
+      <value name="-10" value="22"/>
+      <value name="-9" value="23"/>
+      <value name="-8" value="24"/>
+      <value name="-7" value="25"/>
+      <value name="-6" value="26"/>
+      <value name="-5" value="27"/>
+      <value name="-4" value="28"/>
+      <value name="-3" value="29"/>
+      <value name="-2" value="30"/>
+      <value name="-1" value="31"/>
+    </field>
+    <field name="Slice QP" start="102" end="107" type="uint"/>
+    <field name="Slice Temporal MVP Enable" start="101" end="101" type="bool"/>
+    <field name="Dependent Slice" start="100" end="100" type="bool"/>
+    <field name="Slice QP Sign" start="99" end="99" type="uint"/>
+    <field name="Last Slice" start="98" end="98" type="bool"/>
+    <field name="Slice Type" start="96" end="97" type="uint" prefix="HCP_ST">
+      <value name="B Slice" value="0"/>
+      <value name="P Slice" value="1"/>
+      <value name="I Slice" value="2"/>
+    </field>
+    <field name="Collocated MV Temporal Buffer Index" start="154" end="156" type="uint"/>
+    <field name="Max Merge Index" start="151" end="153" type="uint"/>
+    <field name="CABAC Init" start="150" end="150" type="bool"/>
+    <field name="Log2 Weight Denominator Luma" start="147" end="149" type="uint"/>
+    <field name="Log2 Weight Denominator Chroma" start="144" end="146" type="uint"/>
+    <field name="Collocated From L0" start="143" end="143" type="bool"/>
+    <field name="Low Delay" start="142" end="142" type="bool"/>
+    <field name="MVD L1 Zero" start="141" end="141" type="bool"/>
+    <field name="Slice SAO Luma" start="140" end="140" type="bool"/>
+    <field name="Slice SAO Chroma" start="139" end="139" type="bool"/>
+    <field name="Slice Loop Filter Enable" start="138" end="138" type="bool"/>
+    <field name="Slice Beta Offset Div2" start="133" end="136" type="int"/>
+    <field name="Slice TC Offset Div2" start="129" end="132" type="int"/>
+    <field name="Slice Header Disable Deblocking Filter" start="128" end="128" type="bool"/>
+    <field name="Slice Header Length" start="160" end="175" type="uint"/>
+    <field name="Round Inter" start="218" end="221" type="uint">
+      <value name="+1/32" value="0"/>
+      <value name="+2/32" value="1"/>
+      <value name="+3/32" value="2"/>
+      <value name="+4/32" value="3"/>
+      <value name="+5/32" value="4"/>
+      <value name="+6/32" value="5"/>
+      <value name="+7/32" value="6"/>
+      <value name="+8/32" value="7"/>
+      <value name="+9/32" value="8"/>
+      <value name="+10/32" value="9"/>
+      <value name="+11/32" value="10"/>
+      <value name="+12/32" value="11"/>
+      <value name="+13/32" value="12"/>
+      <value name="+14/32" value="13"/>
+      <value name="+15/32" value="14"/>
+      <value name="+16/32" value="15"/>
+    </field>
+    <field name="Round Intra" start="212" end="215" type="uint">
+      <value name="+1/32" value="0"/>
+      <value name="+2/32" value="1"/>
+      <value name="+3/32" value="2"/>
+      <value name="+4/32" value="3"/>
+      <value name="+5/32" value="4"/>
+      <value name="+6/32" value="5"/>
+      <value name="+7/32" value="6"/>
+      <value name="+8/32" value="7"/>
+      <value name="+9/32" value="8"/>
+      <value name="+10/32" value="9"/>
+      <value name="+11/32" value="10"/>
+      <value name="+12/32" value="11"/>
+      <value name="+13/32" value="12"/>
+      <value name="+14/32" value="13"/>
+      <value name="+15/32" value="14"/>
+      <value name="+16/32" value="15"/>
+    </field>
+    <field name="Header Insertion Present" start="234" end="234" type="bool"/>
+    <field name="Slice Data Insertion Present" start="233" end="233" type="bool"/>
+    <field name="Tail Insertion Present" start="232" end="232" type="bool"/>
+    <field name="Emulation Byte Slice Insert Enable" start="226" end="226" type="bool"/>
+    <field name="CABAC Zero Word Insertion Enable" start="225" end="225" type="bool"/>
+    <field name="Indirect PAK-BSE Data Start Offset" start="262" end="284" type="offset"/>
+    <field name="Transform Skip Lambda" start="288" end="303" type="uint"/>
+    <field name="Transform Skip Number of Non-Zero Coeffs Factor1" start="344" end="351" type="uint"/>
+    <field name="Transform Skip Number of Zero Coeffs Factor1" start="336" end="343" type="uint"/>
+    <field name="Transform Skip Number of Non-Zero Coeffs Factor0" start="328" end="335" type="uint"/>
+    <field name="Transform Skip Number of Zero Coeffs Factor0" start="320" end="327" type="uint"/>
+  </instruction>
+
+  <instruction name="HCP_SURFACE_STATE" bias="2" length="3" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="7"/>
+    <field name="SubOpcode" start="16" end="22" type="uint" default="1"/>
+    <field name="DWord Length" start="0" end="11" type="uint"/>
+    <field name="Surface ID" start="60" end="63" type="uint" prefix="HCP">
+      <value name="Current Decoded Picture" value="0"/>
+      <value name="Source Input Picture" value="1"/>
+      <value name="Prev Reference Picture" value="2"/>
+      <value name="Golden Reference Picture" value="3"/>
+      <value name="AltRef Reference Picture" value="4"/>
+    </field>
+    <field name="Surface Pitch" start="32" end="48" type="uint"/>
+    <field name="Surface Format" start="92" end="95" type="uint">
+      <value name="PLANAR_420_8" value="4"/>
+      <value name="P010" value="13"/>
+    </field>
+    <field name="Y Offset for U(Cb)" start="64" end="78" type="uint"/>
+  </instruction>
+
+  <instruction name="HCP_TILE_CODING" bias="1" length="1" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="7"/>
+    <field name="SubOpcode" start="16" end="22" type="uint" default="21"/>
+    <field name="DWord Length" start="0" end="11" type="uint"/>
+    <field name="SAO Parameter Offset" start="128" end="159" type="uint"/>
+  </instruction>
+
+  <instruction name="HCP_TILE_STATE" bias="2" length="13" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="7"/>
+    <field name="Media Instruction Command" start="16" end="22" type="uint" default="17"/>
+    <field name="DWord Length" start="0" end="11" type="uint"/>
+    <field name="Number of Tile Columns" start="37" end="41" type="uint"/>
+    <field name="Number of Tile Rows" start="32" end="36" type="uint"/>
+    <group count="5" start="64" size="32">
+      <field name="Column Position" start="0" end="31" type="HCP_TILE_POSITION_IN_CTB"/>
+    </group>
+    <group count="6" start="224" size="32">
+      <field name="Row position" start="0" end="31" type="HCP_TILE_POSITION_IN_CTB"/>
+    </group>
+  </instruction>
+
+  <instruction name="HCP_VP9_PIC_STATE" bias="2" length="2" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="7"/>
+    <field name="SubOpcode" start="16" end="22" type="uint" default="48"/>
+    <field name="DWord Length" start="0" end="11" type="uint"/>
+    <field name="Frame Height" start="48" end="61" type="uint"/>
+    <field name="Frame Width" start="32" end="45" type="uint"/>
+    <field name="Segment ID Stream-In Enable" start="95" end="95" type="bool"/>
+    <field name="Segment ID Stream-Out Enable" start="94" end="94" type="bool"/>
+    <field name="Lossless Mode" start="93" end="93" type="bool"/>
+    <field name="Segmentation Temporal Update" start="92" end="92" type="bool"/>
+    <field name="Segmentation Update Map" start="91" end="91" type="bool"/>
+    <field name="Segmentation Enable" start="90" end="90" type="bool"/>
+    <field name="Sharpness Level" start="87" end="89" type="uint"/>
+    <field name="Filter Level" start="81" end="86" type="uint"/>
+    <field name="Frame Parallel Decoding Mode Enable" start="80" end="80" type="bool"/>
+    <field name="Error Resilient Mode Enable" start="79" end="79" type="bool"/>
+    <field name="Refresh Frame Context Enable" start="78" end="78" type="bool"/>
+    <field name="Last Frame Type" start="77" end="77" type="uint" prefix="VP9">
+      <value name="Key Frame" value="0"/>
+      <value name="Non Key Frame" value="1"/>
+    </field>
+    <field name="Selectable TX Mode" start="76" end="76" type="uint"/>
+    <field name="Hybrid Prediction Mode" start="75" end="75" type="uint"/>
+    <field name="Use Prev in Find MV References" start="74" end="74" type="bool"/>
+    <field name="Reference Frame Sign Bias" start="71" end="73" type="uint"/>
+    <field name="Motion Compensation Filter Type" start="68" end="70" type="uint">
+      <value name="Eight-tap" value="0"/>
+      <value name="Eight-tap-Smooth" value="1"/>
+      <value name="Eight-tap-Sharp" value="2"/>
+      <value name="Bilinear" value="3"/>
+      <value name="Switchable" value="4"/>
+    </field>
+    <field name="Allow Hi Precision MV" start="67" end="67" type="bool"/>
+    <field name="Intra Only" start="66" end="66" type="bool"/>
+    <field name="Adapt Probabilities" start="65" end="65" type="bool"/>
+    <field name="Frame Type" start="64" end="64" type="uint" prefix="VP9">
+      <value name="Key Frame" value="0"/>
+      <value name="Inter Frame" value="1"/>
+    </field>
+    <field name="Profile Level" start="124" end="127" type="uint">
+      <value name="Profile_0" value="0"/>
+      <value name="Profile_2" value="2"/>
+    </field>
+    <field name="Bit Depth" start="120" end="123" type="uint">
+      <value name="8-bit" value="0"/>
+      <value name="10-bit" value="2"/>
+      <value name="12-bit" value="4"/>
+    </field>
+    <field name="Chroma Sampling Format" start="118" end="119" type="uint">
+      <value name="Format_420" value="0"/>
+    </field>
+    <field name="Log2 Tile Row" start="104" end="105" type="uint">
+      <value name="1 Tile Row" value="0"/>
+      <value name="2 Tile Row" value="1"/>
+      <value name="4 Tile Row" value="2"/>
+    </field>
+    <field name="Log2 Tile Column" start="96" end="99" type="uint">
+      <value name="1 Tile Column" value="0"/>
+      <value name="2 Tile Column" value="1"/>
+      <value name="4 Tile Column" value="2"/>
+      <value name="8 Tile Column" value="3"/>
+      <value name="16 Tile Column" value="4"/>
+      <value name="32 Tile Column" value="5"/>
+      <value name="64 Tile Column" value="6"/>
+    </field>
+    <field name="Horizontal Scale Factor for LAST" start="144" end="159" type="u2.14"/>
+    <field name="Vertical Scale Factor for LAST" start="128" end="143" type="u2.14"/>
+    <field name="Horizontal Scale Factor for GOLDEN" start="176" end="191" type="u2.14"/>
+    <field name="Vertical Scale Factor for GOLDEN" start="160" end="175" type="u2.14"/>
+    <field name="Horizontal Scale Factor for ALTREF" start="208" end="223" type="u2.14"/>
+    <field name="Vertical Scale Factor for ALTREF" start="192" end="207" type="u2.14"/>
+    <field name="Last Frame Height" start="240" end="253" type="uint"/>
+    <field name="Last Frame Width" start="224" end="237" type="uint"/>
+    <field name="Golden Frame Height" start="272" end="285" type="uint"/>
+    <field name="Golden Frame Width" start="256" end="269" type="uint"/>
+    <field name="Altref Frame Height" start="304" end="317" type="uint"/>
+    <field name="Altref Frame Width" start="288" end="301" type="uint"/>
+    <field name="First Partition Size" start="336" end="351" type="uint"/>
+    <field name="Uncompressed Header Length" start="320" end="327" type="uint"/>
+    <field name="Motion Comp Scaling Enable" start="353" end="353" type="bool"/>
+    <field name="Luma AC Q Index Delta" start="432" end="439" type="uint"/>
+    <field name="Compressed Header BIN count" start="416" end="431" type="uint"/>
+    <field name="Luma DC Q Index Delta" start="464" end="468" type="int"/>
+    <field name="Chroma DC Q Index Delta" start="456" end="460" type="int"/>
+    <field name="Chroma AC Q Index Delta" start="448" end="452" type="int"/>
+    <field name="LF Ref Delta 3" start="504" end="510" type="int"/>
+    <field name="LF Ref Delta 2" start="496" end="502" type="int"/>
+    <field name="LF Ref Delta 1" start="488" end="494" type="int"/>
+    <field name="LF Ref Delta 0" start="480" end="486" type="int"/>
+    <field name="LF Mode Delta 1" start="520" end="526" type="int"/>
+    <field name="LF Mode Delta 0" start="512" end="518" type="int"/>
+    <field name="Bit Offset for LF Mode Delta" start="560" end="575" type="uint"/>
+    <field name="Bit Offset for LF Ref Delta" start="544" end="559" type="uint"/>
+    <field name="Bit Offset for LF Level" start="592" end="607" type="uint"/>
+    <field name="Bit Offset for Q index" start="576" end="591" type="uint"/>
+  </instruction>
+
+  <instruction name="HCP_VP9_SEGMENT_STATE" bias="2" length="8" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="7"/>
+    <field name="SubOpcode" start="16" end="22" type="uint" default="50"/>
+    <field name="DWord Length" start="0" end="11" type="uint"/>
+    <field name="Segment ID" start="32" end="34" type="uint"/>
+    <field name="Segment Reference Enable" start="67" end="67" type="bool"/>
+    <field name="Segment Reference" start="65" end="66" type="uint"/>
+    <field name="Segment Skipped" start="64" end="64" type="bool"/>
+    <field name="Filter Level Ref1 Mode 1" start="120" end="125" type="uint"/>
+    <field name="Filter Level Ref1 Mode 0" start="112" end="117" type="uint"/>
+    <field name="Filter Level Ref0 Mode 1" start="104" end="109" type="uint"/>
+    <field name="Filter Level Ref0 Mode 0" start="96" end="101" type="uint"/>
+    <field name="Filter Level Ref3 Mode 1" start="152" end="157" type="uint"/>
+    <field name="Filter Level Ref3 Mode 0" start="144" end="149" type="uint"/>
+    <field name="Filter Level Ref2 Mode 1" start="136" end="141" type="uint"/>
+    <field name="Filter Level Ref2 Mode 0" start="128" end="133" type="uint"/>
+    <field name="Luma AC Quant Scale" start="176" end="190" type="uint"/>
+    <field name="Luma DC Quant Scale" start="160" end="174" type="uint"/>
+    <field name="Chroma AC Quant Scale" start="208" end="222" type="uint"/>
+    <field name="Chroma DC Quant Scale" start="192" end="206" type="uint"/>
+  </instruction>
+
+  <instruction name="HCP_WEIGHTOFFSET_STATE" bias="2" length="34" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="7"/>
+    <field name="SubOpcode" start="16" end="22" type="uint" default="19"/>
+    <field name="DWord Length" start="0" end="11" type="uint"/>
+    <field name="Reference Picture List Select" start="32" end="32" type="uint"/>
+    <group count="16" start="64" size="32">
+      <field name="Luma Offsets" start="0" end="31" type="HCP_WEIGHTOFFSET_LUMA_ENTRY"/>
+    </group>
+    <group count="16" start="576" size="32">
+      <field name="Chroma Offsets" start="0" end="31" type="HCP_WEIGHTOFFSET_CHROMA_ENTRY"/>
+    </group>
+  </instruction>
+
+  <instruction name="HEVC_VP9_RDOQ_STATE" bias="2" length="62" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="7"/>
+    <field name="SubOpcode A" start="21" end="22" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="8"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="60"/>
+    <field name="HTQ Performance Fix 0 Disable" start="63" end="63" type="bool"/>
+    <field name="HTQ Performance Fix 1 Disable" start="62" end="62" type="bool"/>
+    <group count="32" start="64" size="32">
+      <field name="Intra Luma Lambda" start="0" end="31" type="HEVC_VP9_RDOQ_LAMBDA_FIELDS"/>
+    </group>
+    <group count="32" start="1088" size="32">
+      <field name="Intra Chroma Lambda" start="0" end="31" type="HEVC_VP9_RDOQ_LAMBDA_FIELDS"/>
+    </group>
+    <group count="32" start="2112" size="32">
+      <field name="Inter Luma Lambda" start="0" end="31" type="HEVC_VP9_RDOQ_LAMBDA_FIELDS"/>
+    </group>
+    <group count="32" start="3136" size="32">
+      <field name="Inter Chroma Lambda" start="0" end="31" type="HEVC_VP9_RDOQ_LAMBDA_FIELDS"/>
+    </group>
+  </instruction>
+
+  <instruction name="HUC_CFG_STATE" bias="2" length="2" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="11"/>
+    <field name="SubOpcode" start="16" end="22" type="uint" default="3"/>
+    <field name="DWord Length" start="0" end="11" type="uint"/>
+    <field name="P24C" start="32" end="32" type="uint">
+      <value name="Normal operation" value="0"/>
+      <value name="Force reset" value="1"/>
+    </field>
+  </instruction>
+
+  <instruction name="HUC_DMEM_STATE" bias="2" length="6" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="11"/>
+    <field name="SubOpcode" start="16" end="22" type="uint" default="2"/>
+    <field name="DWord Length" start="0" end="11" type="uint"/>
+    <field name="HUC Data Source - Address" start="32" end="95" type="address"/>
+    <field name="HUC Data Source - Memory Address Attributes" start="96" end="127" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="HUC Data Destination - Address" start="134" end="144" type="address"/>
+    <field name="HUC Data Length" start="166" end="176" type="uint"/>
+  </instruction>
+
+  <instruction name="HUC_IMEM_STATE" bias="2" length="5" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="11"/>
+    <field name="SubOpcode" start="16" end="22" type="uint" default="1"/>
+    <field name="DWord Length" start="0" end="11" type="uint"/>
+    <field name="HUC Firmware Descriptor" start="128" end="135" type="uint"/>
+  </instruction>
+
+  <instruction name="HUC_IND_OBJ_BASE_ADDR_STATE" bias="2" length="11" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="11"/>
+    <field name="SubOpcode" start="16" end="22" type="uint" default="5"/>
+    <field name="DWord Length" start="0" end="11" type="uint"/>
+    <field name="HUC Indirect Stream-In Object - Address" start="32" end="95" type="address"/>
+    <field name="HUC Indirect Stream-In Object - Memory Address Attributes" start="96" end="127" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="HUC Indirect Stream-In Object - Access Upper Bound" start="128" end="191" type="address"/>
+    <field name="HUC Indirect Stream-Out Object - Address" start="192" end="255" type="address"/>
+    <field name="HUC Indirect Stream-Out Object - Memory Address Attributes" start="256" end="287" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="HUC Indirect Stream-Out Object - Access Upper Bound" start="288" end="351" type="address"/>
+  </instruction>
+
+  <instruction name="HUC_PIPE_MODE_SELECT" bias="2" length="3" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="11"/>
+    <field name="SubOpcode" start="16" end="22" type="uint" default="0"/>
+    <field name="DWord Length" start="0" end="11" type="uint"/>
+    <field name="Indirect Stream-Out Enable" start="36" end="36" type="bool"/>
+    <field name="Media Soft-Reset Counter" start="64" end="95" type="uint"/>
+  </instruction>
+
+  <instruction name="HUC_START" bias="2" length="2" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="11"/>
+    <field name="SubOpcode" start="16" end="22" type="uint" default="33"/>
+    <field name="DWord Length" start="0" end="11" type="uint"/>
+    <field name="Last Stream Object" start="32" end="32" type="bool"/>
+  </instruction>
+
+  <instruction name="HUC_STREAM_OBJECT" bias="2" length="5" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="11"/>
+    <field name="SubOpcode" start="16" end="22" type="uint" default="32"/>
+    <field name="DWord Length" start="0" end="11" type="uint"/>
+    <field name="Indirect Stream-In Data Length" start="32" end="63" type="uint"/>
+    <field name="HUC Processing" start="95" end="95" type="bool"/>
+    <field name="Indirect Stream-In - Address" start="64" end="92" type="address"/>
+    <field name="Indirect Stream-Out - Address" start="96" end="124" type="address"/>
+    <field name="HUC Bitstream Enable" start="157" end="157" type="bool"/>
+    <field name="DRM Length Mode" start="155" end="156" type="uint">
+      <value name="Start Code Mode" value="0"/>
+      <value name="Length Mode" value="1"/>
+    </field>
+    <field name="Stream-Out" start="154" end="154" type="bool"/>
+    <field name="Emulation Prevention Byte Removal" start="153" end="153" type="bool"/>
+    <field name="Start Code Search Engine" start="152" end="152" type="bool"/>
+    <field name="Start Code Byte [2]" start="144" end="151" type="uint"/>
+    <field name="Start Code Byte [1]" start="136" end="143" type="uint"/>
+    <field name="Start Code Byte [0]" start="128" end="135" type="uint"/>
+  </instruction>
+
+  <instruction name="HUC_VIRTUAL_ADDR_STATE" bias="2" length="49" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="11"/>
+    <field name="SubOpcode" start="16" end="22" type="uint" default="4"/>
+    <field name="DWord Length" start="0" end="11" type="uint"/>
+    <group count="16" start="32" size="96">
+      <field name="HUC Virtual Address Region" start="0" end="95" type="HUC_VIRTUAL_ADDR_REGION"/>
+    </group>
+  </instruction>
+
   <instruction name="MEDIA_CURBE_LOAD" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Scoreboard 4 Delta X" start="256" end="259" type="int"/>
   </instruction>
 
+  <instruction name="MFC_AVC_PAK_OBJECT" bias="2" length="12" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="2"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="9"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="10"/>
+    <field name="Indirect PAK-MV Data Length" start="32" end="41" type="uint"/>
+    <field name="Indirect PAK-MV Data Start Address Offset" start="64" end="92" type="offset"/>
+    <group count="8" start="96" size="32">
+      <field name="Inline Data" start="0" end="31" type="uint"/>
+    </group>
+    <group count="12" start="384" size="32">
+      <field name="VDEnc Mode Inline Data" start="0" end="31" type="uint"/>
+    </group>
+  </instruction>
+
+  <instruction name="MFC_JPEG_HUFF_TABLE_STATE" bias="2" length="176" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="7"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="2"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="3"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="174"/>
+    <field name="Huff Table ID" start="32" end="32" type="uint"/>
+    <field name="DC_TABLE" start="64" end="447" type="uint"/>
+    <field name="AC_TABLE" start="448" end="5631" type="uint"/>
+  </instruction>
+
+  <instruction name="MFC_JPEG_SCAN_OBJECT" bias="2" length="3" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="7"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="2"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="9"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="1"/>
+    <field name="MCU Count" start="32" end="57" type="uint"/>
+    <field name="Huffman AC Table" start="86" end="88" type="uint"/>
+    <field name="Huffman DC Table" start="82" end="84" type="uint"/>
+    <field name="Head Present" start="81" end="81" type="bool"/>
+    <field name="Last Scan" start="80" end="80" type="bool"/>
+    <field name="Restart Interval" start="64" end="79" type="uint"/>
+  </instruction>
+
+  <instruction name="MFC_MPEG2_PAK_OBJECT" bias="2" length="9" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="3"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="2"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="9"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="7"/>
+    <group count="8" start="32" size="32">
+      <field name="Inline Data" start="0" end="31" type="uint"/>
+    </group>
+  </instruction>
+
+  <instruction name="MFC_MPEG2_SLICEGROUP_STATE" bias="2" length="8" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="3"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="2"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="3"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="6"/>
+    <field name="Rate Control Counter Enable" start="63" end="63" type="bool"/>
+    <field name="Reset Rate Control Counter" start="62" end="62" type="bool"/>
+    <field name="Rate Control Triggle Mode" start="60" end="61" type="uint">
+      <value name="Always Rate Control" value="0"/>
+      <value name="Gentle Rate Control" value="1"/>
+      <value name="Loose Rate Control" value="2"/>
+    </field>
+    <field name="Rate Control Stable Tolerance" start="56" end="59" type="uint"/>
+    <field name="Rate Control Panic Enable" start="55" end="55" type="bool"/>
+    <field name="Rate Control Panic Type" start="54" end="54" type="uint">
+      <value name="QP Panic" value="0"/>
+      <value name="CBP Panic" value="1"/>
+    </field>
+    <field name="MB Type Skip Conversion Disable" start="52" end="52" type="bool"/>
+    <field name="Last Slice" start="51" end="51" type="bool"/>
+    <field name="Compressed BitStream Output Disable" start="50" end="50" type="bool"/>
+    <field name="Header Insertion Present" start="49" end="49" type="bool"/>
+    <field name="Slice Data Insertion Present" start="48" end="48" type="bool"/>
+    <field name="Tail Insertion Present" start="47" end="47" type="bool"/>
+    <field name="First Slice Header Disable" start="46" end="46" type="bool"/>
+    <field name="Intra Slice" start="45" end="45" type="bool"/>
+    <field name="Intra Slice Flag" start="44" end="44" type="bool"/>
+    <field name="Slice ID" start="36" end="39" type="uint"/>
+    <field name="Stream ID" start="32" end="33" type="uint"/>
+    <field name="Next Slice Group MB Y Count" start="88" end="95" type="uint"/>
+    <field name="Next Slice Group MB X Count" start="80" end="87" type="uint"/>
+    <field name="First MB Y Count" start="72" end="79" type="uint"/>
+    <field name="First MB X Count" start="64" end="71" type="uint"/>
+    <field name="Slice Group Skip" start="104" end="104" type="bool"/>
+    <field name="Slice Group QP" start="96" end="101" type="uint"/>
+    <field name="Indirect PAK-BSE Data Start Address" start="128" end="156" type="offset"/>
+    <field name="QP Max Negative Modifier Magnitude" start="184" end="191" type="uint"/>
+    <field name="QP Max Positive Modifier Magnitude" start="176" end="183" type="uint"/>
+    <field name="Shrink Resistance" start="172" end="175" type="uint"/>
+    <field name="Shrink Init" start="168" end="171" type="uint"/>
+    <field name="Grow Resistance" start="164" end="167" type="uint"/>
+    <field name="Grow Init" start="160" end="163" type="uint"/>
+    <field name="Correct 6" start="212" end="215" type="uint"/>
+    <field name="Correct 5" start="208" end="211" type="uint"/>
+    <field name="Correct 4" start="204" end="207" type="uint"/>
+    <field name="Correct 3" start="200" end="203" type="uint"/>
+    <field name="Correct 2" start="196" end="199" type="uint"/>
+    <field name="Correct 1" start="192" end="195" type="uint"/>
+    <field name="CV7" start="252" end="255" type="uint"/>
+    <field name="CV6" start="248" end="251" type="uint"/>
+    <field name="CV5" start="244" end="247" type="uint"/>
+    <field name="CV4" start="240" end="243" type="uint"/>
+    <field name="CV3" start="236" end="239" type="uint"/>
+    <field name="CV2" start="232" end="235" type="uint"/>
+    <field name="CV1" start="228" end="231" type="uint"/>
+    <field name="CV0" start="224" end="227" type="uint"/>
+  </instruction>
+
+  <instruction name="MFD_AVC_BSD_OBJECT" bias="2" length="6" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="1"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="8"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="4"/>
+    <field name="Indirect BSD Data Length" start="32" end="63" type="uint"/>
+    <field name="Indirect BSD Data Start Address" start="64" end="92" type="address"/>
+    <field name="Inline Data" start="96" end="191" type="INLINE_DATA_DESCRIPTION_FOR_MFD_AVC_BSD_OBJECT"/>
+  </instruction>
+
+  <instruction name="MFD_AVC_DPB_STATE" bias="2" length="27" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="1"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="6"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="9"/>
+    <group count="16" start="48" size="1">
+        <field name="Long Term Frame" start="0" end="0" type="uint"/>
+    </group>
+    <group count="16" start="32" size="1">
+        <field name="Non-Existing Frame" start="0" end="0" type="uint">
+            <value name="INVALID" value="1"/>
+            <value name="VALID" value="0"/>
+        </field>
+    </group>
+    <group count="16" start="64" size="2">
+        <field name="Used for Reference" start="0" end="1" type="uint">
+            <value name="NOT_REFERENCE" value="0"/>
+            <value name="TOP_FIELD" value="1"/>
+            <value name="BOTTOM_FIELD" value="2"/>
+            <value name="FRAME" value="3"/>
+        </field>
+    </group>
+    <group count="16" start="96" size="16">
+        <field name="LTST Frame Number List" start="0" end="15" type="uint" prefix="LTST">
+            <value name="Long Term Frame" value="1"/>
+            <value name="Short Term Frame" value="0"/>
+        </field>
+    </group>
+    <group count="16" start="352" size="16">
+        <field name="View ID" start="0" end="15" type="uint"/>
+    </group>
+    <group count="16" start="608" size="8">
+        <field name="L0 View Order" start="0" end="7" type="uint"/>
+    </group>
+    <group count="16" start="736" size="8">
+        <field name="L1 View Order" start="0" end="7" type="uint"/>
+    </group>
+  </instruction>
+
+  <instruction name="MFD_AVC_PICID_STATE" bias="2" length="10" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="1"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="5"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="8"/>
+    <field name="PictureID Remapping Disable" start="32" end="32" type="uint">
+      <value name="Use 16 bits Picture ID" value="0"/>
+      <value name="Use 4 bits FrameStoreID" value="1"/>
+    </field>
+    <group count="16" start="64" size="16">
+      <field name="Picture ID" start="0" end="15" type="uint"/>
+    </group>
+  </instruction>
+
+  <instruction name="MFD_AVC_SLICEADDR" bias="2" length="3" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="1"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="7"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="1"/>
+    <field name="Indirect BSD Data Length" start="32" end="63" type="uint"/>
+    <field name="Indirect BSD Data Start Address" start="64" end="92" type="address"/>
+  </instruction>
+
+  <instruction name="MFD_IT_OBJECT" bias="2" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="1"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="9"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="6"/>
+    <field name="Indirect IT-MV Data Length" start="32" end="41" type="uint"/>
+    <field name="Indirect IT-MV Data Start Address Offset" start="64" end="92" type="offset"/>
+    <field name="Indirect IT-COEFF Data Length" start="96" end="107" type="uint"/>
+    <field name="Indirect IT-COEFF Data Start Address Offset" start="128" end="156" type="offset"/>
+    <field name="Indirect IT-DBLK Control Data Length" start="160" end="165" type="uint"/>
+    <field name="Indirect IT-DBLK Control Data Start Address Offset" start="192" end="220" type="offset"/>
+    <group count="0" start="224" size="32">
+      <field name="Inline Data" start="0" end="31" type="uint"/>
+    </group>
+  </instruction>
+
+  <instruction name="MFD_JPEG_BSD_OBJECT" bias="2" length="6" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="7"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="1"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="8"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="4"/>
+    <field name="Indirect Data Length" start="32" end="63" type="uint"/>
+    <field name="Indirect Data Start Address" start="64" end="92" type="offset"/>
+    <field name="Scan Horizontal Position" start="112" end="124" type="uint"/>
+    <field name="Scan Vertical Position" start="96" end="108" type="uint"/>
+    <field name="Interleaved" start="158" end="158" type="bool"/>
+    <field name="Scan Components" start="155" end="157" type="uint"/>
+    <field name="MCU Count" start="128" end="153" type="uint"/>
+    <field name="Restart Interval" start="160" end="175" type="uint"/>
+  </instruction>
+
+  <instruction name="MFD_MPEG2_BSD_OBJECT" bias="2" length="5" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="3"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="1"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="8"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="3"/>
+    <field name="Indirect BSD Data Length" start="32" end="63" type="uint"/>
+    <field name="Indirect BSD Data Start Address" start="64" end="92" type="offset"/>
+    <field name="Inline Data" start="96" end="159" type="MFD_MPEG2_BSD_OBJECT_INLINE_DATA_DESCRIPTION"/>
+  </instruction>
+
+  <instruction name="MFD_VC1_BSD_OBJECT" bias="2" length="5" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="2"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="1"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="8"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="3"/>
+    <field name="Indirect BSD Data Length" start="32" end="55" type="uint"/>
+    <field name="Indirect BSD Data Start Address" start="64" end="92" type="offset"/>
+    <field name="Slice Start Vertical Position" start="112" end="119" type="uint"/>
+    <field name="Next Slice Vertical Position" start="96" end="104" type="uint"/>
+    <field name="First MB Byte Offset of Slice Data or Slice Header" start="144" end="159" type="uint"/>
+    <field name="Emulation Prevention Byte Present" start="132" end="132" type="uint"/>
+    <field name="First MB Bit Offset" start="128" end="130" type="uint"/>
+  </instruction>
+
+  <instruction name="MFD_VC1_LONG_PIC_STATE" bias="2" length="6" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="2"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="1"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="1"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="4"/>
+    <field name="Picture Height In MBs" start="48" end="55" type="uint"/>
+    <field name="Picture Width In MBs" start="32" end="39" type="uint"/>
+    <field name="Bitplane Buffer Pitch" start="88" end="95" type="uint"/>
+    <field name="DMV Surface Valid" start="79" end="79" type="bool"/>
+    <field name="Implicit Quantizer" start="78" end="78" type="bool"/>
+    <field name="Interpolation Rounder Control" start="77" end="77" type="bool"/>
+    <field name="Sync Marker" start="76" end="76" type="bool"/>
+    <field name="MV Mode" start="72" end="75" type="uint"/>
+    <field name="Range Reduction Scale" start="71" end="71" type="uint"/>
+    <field name="Range Reduction Enable" start="70" end="70" type="bool"/>
+    <field name="Loop Filter Enable" start="69" end="69" type="bool"/>
+    <field name="Overlap Smoothing Enable" start="68" end="68" type="bool"/>
+    <field name="Second Field" start="67" end="67" type="bool"/>
+    <field name="VC1 Profile" start="64" end="64" type="uint">
+      <value name="Simple/Main Profile" value="0"/>
+      <value name="Advanced Profile" value="1"/>
+    </field>
+    <field name="CONDOVER" start="125" end="126" type="uint"/>
+    <field name="Picure Type" start="122" end="124" type="uint"/>
+    <field name="Frame Coding Mode" start="120" end="121" type="uint">
+      <value name="Progressive Frame Picture" value="0"/>
+      <value name="Interlaced Frame Picture" value="1"/>
+      <value name="Field Picture with Top Field First" value="2"/>
+      <value name="Field Picture with Bottom Field First" value="3"/>
+    </field>
+    <field name="Alternative PQ Value" start="112" end="116" type="uint"/>
+    <field name="PQ Value" start="104" end="108" type="uint"/>
+    <field name="B Scale Factor" start="96" end="103" type="uint"/>
+    <field name="Unified MV Mode" start="156" end="157" type="uint">
+      <value name="1-MV half-pel bilinear" value="3"/>
+      <value name="1-MV" value="1"/>
+      <value name="1-MV half-pel" value="2"/>
+      <value name="Mixed MV" value="0"/>
+    </field>
+    <field name="Four MV Switch" start="155" end="155" type="uint">
+      <value name="Only 1-MV" value="0"/>
+      <value name="1, 2, or 4 MVs" value="1"/>
+    </field>
+    <field name="Fast UV Motion Compensation" start="154" end="154" type="uint">
+      <value name="No Rounding" value="0"/>
+      <value name="Quarter-Pel offsets to Half/Full pel positions" value="1"/>
+    </field>
+    <field name="Reference Field Picture Polarity" start="153" end="153" type="uint">
+      <value name="Top (even) Field" value="0"/>
+      <value name="Bottom (odd) Field" value="1"/>
+    </field>
+    <field name="Number of References" start="152" end="152" type="uint">
+      <value name="One field referenced" value="0"/>
+      <value name="Two fields referenced" value="1"/>
+    </field>
+    <field name="Backward Reference Distance" start="148" end="151" type="uint"/>
+    <field name="Forward Reference Distance" start="144" end="147" type="uint"/>
+    <field name="Extended DMV Range" start="138" end="139" type="uint"/>
+    <field name="Extended MV Range" start="136" end="137" type="uint"/>
+    <field name="Alternative PQ Edge Mask" start="132" end="135" type="uint"/>
+    <field name="Alternative PQ Configuration" start="130" end="131" type="uint"/>
+    <field name="Half QP" start="129" end="129" type="bool"/>
+    <field name="PQ Uniform" start="128" end="128" type="bool"/>
+    <field name="Bitplane Buffer Present" start="191" end="191" type="bool"/>
+    <field name="FORWARDMB Raw" start="190" end="190" type="bool"/>
+    <field name="MVTYPEMB Raw" start="189" end="189" type="bool"/>
+    <field name="SKIPMB Raw" start="188" end="188" type="bool"/>
+    <field name="DIRECTMB Raw" start="187" end="187" type="bool"/>
+    <field name="OVERFLAGS Raw" start="186" end="186" type="bool"/>
+    <field name="ACPRED Raw" start="185" end="185" type="bool"/>
+    <field name="FIELDTX Raw" start="184" end="184" type="bool"/>
+    <field name="MV Table" start="180" end="182" type="uint"/>
+    <field name="4-MV Block Pattern Table" start="178" end="179" type="uint"/>
+    <field name="2-MV Block Pattern Table" start="176" end="177" type="uint"/>
+    <field name="Picture-level Transform Type" start="172" end="173" type="uint">
+      <value name="8x8 Transform" value="0"/>
+      <value name="8x4 Transform" value="1"/>
+      <value name="4x8 Transform" value="2"/>
+      <value name="4x4 Transform" value="3"/>
+    </field>
+    <field name="MB Transform Type" start="171" end="171" type="bool"/>
+    <field name="MB Mode Table" start="168" end="170" type="uint"/>
+    <field name="Picture-level Transform Luma AC Coding Set Index" start="166" end="167" type="uint"/>
+    <field name="Picture-level Transform Chroma AC Coding Set Index" start="164" end="165" type="uint"/>
+    <field name="Intra Transform DC Table" start="163" end="163" type="uint"/>
+    <field name="Coded Block Pattern Table" start="160" end="162" type="uint"/>
+  </instruction>
+
+  <instruction name="MFD_VC1_SHORT_PIC_STATE" bias="2" length="5" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="2"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="1"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="0"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="3"/>
+    <field name="Picture Height" start="48" end="55" type="uint"/>
+    <field name="Picture Width" start="32" end="39" type="uint"/>
+    <field name="Bitplane Buffer Pitch" start="88" end="95" type="uint"/>
+    <field name="Interpolation Rounder Control" start="87" end="87" type="bool"/>
+    <field name="MV Mode" start="80" end="83" type="uint"/>
+    <field name="DMV Surface Valid" start="79" end="79" type="bool"/>
+    <field name="VC1 Profile" start="75" end="75" type="uint">
+      <value name="Simple/Main Profile" value="0"/>
+      <value name="Advanced Profile" value="1"/>
+    </field>
+    <field name="Backward Prediction Present" start="69" end="69" type="bool"/>
+    <field name="Intra Picture" start="68" end="68" type="bool"/>
+    <field name="Second Field" start="67" end="67" type="bool"/>
+    <field name="Picture Structure" start="64" end="65" type="uint"/>
+    <field name="Overlap Smoothing Enable" start="126" end="126" type="bool"/>
+    <field name="Range Reduction Scale" start="125" end="125" type="uint"/>
+    <field name="Range Reduction Enable" start="124" end="124" type="uint"/>
+    <field name="Progressive Pic Type" start="118" end="119" type="uint"/>
+    <field name="P-Pic Ref Distance" start="112" end="116" type="uint"/>
+    <field name="QUANTIZER" start="110" end="111" type="uint"/>
+    <field name="MULTIRES Present" start="109" end="109" type="bool"/>
+    <field name="SYNCMARKER Present" start="108" end="108" type="bool"/>
+    <field name="RANGERED Present" start="107" end="107" type="bool"/>
+    <field name="MAXBFRAMES" start="104" end="106" type="uint"/>
+    <field name="PANSCAN Present" start="103" end="103" type="bool"/>
+    <field name="REFDIST_FLAG" start="102" end="102" type="bool"/>
+    <field name="Loop Filter Enable" start="101" end="101" type="bool"/>
+    <field name="Fast UV Motion Compensation" start="100" end="100" type="uint">
+      <value name="No Rounding" value="0"/>
+      <value name="Quarter-Pel offsets to Half/Full pel positions" value="1"/>
+    </field>
+    <field name="EXTENDED_MV Present" start="99" end="99" type="bool"/>
+    <field name="DQUANT" start="97" end="98" type="uint"/>
+    <field name="variable-sized transform coding" start="96" end="96" type="bool"/>
+    <field name="BFraction Enumeration" start="152" end="156" type="uint"/>
+    <field name="4-MV Allowed" start="136" end="136" type="bool"/>
+    <field name="POSTPROC" start="135" end="135" type="bool"/>
+    <field name="PULLDOWN" start="134" end="134" type="bool"/>
+    <field name="INTERLACE" start="133" end="133" type="bool"/>
+    <field name="TFCNTRFLAG" start="132" end="132" type="bool"/>
+    <field name="FINTERFLAG" start="131" end="131" type="bool"/>
+    <field name="REFPIC" start="130" end="130" type="bool"/>
+    <field name="PSF" start="129" end="129" type="bool"/>
+    <field name="EXTENDED_DMV Present" start="128" end="128" type="bool"/>
+  </instruction>
+
+  <instruction name="MFD_VP8_BSD_OBJECT" bias="2" length="22" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command OpCode" start="24" end="26" type="uint" default="4"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="1"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="8"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="20"/>
+    <field name="Partition0 CPBAC Entropy Count" start="48" end="52" type="uint"/>
+    <field name="Partition0 CPBAC Entropy Range" start="40" end="47" type="uint"/>
+    <field name="Coded Num of Coeff Token Partitions" start="36" end="37" type="uint"/>
+    <field name="Partition0 First MB Bit Offset from Frame Header" start="32" end="34" type="uint"/>
+    <field name="Partition0 CPBAC Entropy Value" start="88" end="95" type="uint"/>
+    <field name="Indirect Partition0 Data Length" start="96" end="119" type="uint"/>
+    <field name="Indirect Partition0 Data Start Offset" start="128" end="159" type="uint"/>
+    <field name="Indirect Partition1 Data Length" start="160" end="183" type="uint"/>
+    <field name="Indirect Partition1 Data Start Offset" start="192" end="223" type="uint"/>
+    <field name="Indirect Partition2 Data Length" start="224" end="247" type="uint"/>
+    <field name="Indirect Partition2 Data Start Offset" start="256" end="287" type="uint"/>
+    <field name="Indirect Partition3 Data Length" start="288" end="311" type="uint"/>
+    <field name="Indirect Partition3 Data Start Offset" start="320" end="351" type="uint"/>
+    <field name="Indirect Partition4 Data Length" start="352" end="375" type="uint"/>
+    <field name="Indirect Partition4 Data Start Offset" start="384" end="415" type="uint"/>
+    <field name="Indirect Partition5 Data Length" start="416" end="439" type="uint"/>
+    <field name="Indirect Partition5 Data Start Offset" start="448" end="479" type="uint"/>
+    <field name="Indirect Partition6 Data Length" start="480" end="503" type="uint"/>
+    <field name="Indirect Partition6 Data Start Offset" start="512" end="543" type="uint"/>
+    <field name="Indirect Partition7 Data Length" start="544" end="567" type="uint"/>
+    <field name="Indirect Partition7 Data Start Offset" start="576" end="607" type="uint"/>
+    <field name="Indirect Partition8 Data Length" start="608" end="631" type="uint"/>
+    <field name="Indirect Partition8 Data Start Offset" start="640" end="671" type="uint"/>
+    <field name="Concealment Method" start="703" end="703" type="uint">
+      <value name="Intra 16x16 Prediction" value="0"/>
+      <value name="Inter P Copy" value="1"/>
+    </field>
+    <field name="Concealment Picture ID" start="688" end="689" type="uint"/>
+    <field name="BSD Premature Complete Error Handling" start="686" end="686" type="uint"/>
+    <field name="MPR Error (MV out of range) Handling" start="684" end="684" type="uint"/>
+    <field name="Entropy Error Handling" start="682" end="682" type="uint"/>
+    <field name="MB Header Error Handling" start="680" end="680" type="uint"/>
+  </instruction>
+
+  <instruction name="MFX_AVC_DIRECTMODE_STATE" bias="2" length="71" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="2"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="69"/>
+    <group count="16" start="32" size="64">
+      <field name="Direct MV Buffer - Address" start="0" end="63" type="address"/>
+    </group>
+    <field name="Direct MV Buffer - Attributes" start="1056" end="1087" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="Direct MV Buffer (Write) - Address" start="1088" end="1151" type="address"/>
+    <field name="Direct MV Buffer (Write) - Attributes" start="1152" end="1183" type="MEMORYADDRESSATTRIBUTES"/>
+    <group count="34" start="1184" size="32">
+      <field name="POC List" start="0" end="31" type="uint"/>
+    </group>
+  </instruction>
+
+  <instruction name="MFX_AVC_IMG_STATE" bias="2" length="14" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="0"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="12"/>
+    <field name="Frame Size" start="32" end="47" type="uint"/>
+    <field name="Frame Height" start="80" end="87" type="uint"/>
+    <field name="Frame Width" start="64" end="71" type="uint"/>
+    <field name="Second Chroma QP Offset" start="120" end="124" type="uint"/>
+    <field name="First Chroma QP Offset" start="112" end="116" type="uint"/>
+    <field name="Rho Domain Rate Control Enable" start="109" end="109" type="bool"/>
+    <field name="Weighted Prediction Enable" start="108" end="108" type="bool"/>
+    <field name="Weighted BiPrediction IDC" start="106" end="107" type="uint">
+      <value name="DEFAULT" value="0"/>
+      <value name="EXPLICIT" value="1"/>
+      <value name="IMPLICIT" value="2"/>
+    </field>
+    <field name="Image Structure" start="104" end="105" type="uint">
+      <value name="Frame Picture" value="0"/>
+      <value name="Top Field Picture" value="1"/>
+      <value name="Bottom Field Picture" value="3"/>
+      <value name="Invalid, not allowed." value="2"/>
+    </field>
+    <field name="Minimum Frame Size" start="144" end="159" type="uint"/>
+    <field name="MB Status Read" start="143" end="143" type="bool"/>
+    <field name="Load Bitstream Pointer Per Slice" start="142" end="142" type="bool"/>
+    <field name="MV Unpacked Enable" start="140" end="140" type="bool"/>
+    <field name="Chroma Format IDC" start="138" end="139" type="uint">
+      <value name="Monochrome picture" value="0"/>
+      <value name="4:2:0 picture" value="1"/>
+      <value name="4:2:2 picture (not supported)" value="2"/>
+      <value name="4:4:4 picture (not supported)" value="3"/>
+    </field>
+    <field name="MB MV Format" start="136" end="136" type="uint">
+      <value name="IGNORE" value="0"/>
+      <value name="FOLLOW" value="1"/>
+    </field>
+    <field name="Entropy Coding Sync Enable" start="135" end="135" type="bool"/>
+    <field name="Non-Reference Picture" start="134" end="134" type="bool"/>
+    <field name="Constrained Intra Prediction" start="133" end="133" type="bool"/>
+    <field name="Direct 8x8 Inference" start="132" end="132" type="bool"/>
+    <field name="8x8 IDCT Transform Mode" start="131" end="131" type="bool"/>
+    <field name="Frame MB Only" start="130" end="130" type="bool"/>
+    <field name="MBAFF Mode" start="129" end="129" type="bool"/>
+    <field name="Field Picure" start="128" end="128" type="bool"/>
+    <field name="Trellis Quantization Enable" start="191" end="191" type="bool"/>
+    <field name="Trellis Quantization Rounding" start="188" end="190" type="uint"/>
+    <field name="Trellis Quantization Chroma Disable" start="187" end="187" type="bool"/>
+    <field name="Non First Pass" start="176" end="176" type="uint"/>
+    <field name="Minimum Frame Size Units" start="170" end="171" type="uint" prefix="AVC_MFSU">
+      <value name="Compatibility mode" value="0"/>
+      <value name="16 bytes" value="1"/>
+      <value name="4Kb" value="2"/>
+      <value name="16Kb" value="3"/>
+    </field>
+    <field name="MB Level Rate Control" start="169" end="169" type="bool"/>
+    <field name="Force IPCM Control" start="167" end="167" type="bool"/>
+    <field name="Frame Bitrate Min Report" start="163" end="163" type="bool"/>
+    <field name="Frame Bitrate Max Report" start="162" end="162" type="bool"/>
+    <field name="Inter MB Max Bit Control" start="161" end="161" type="bool"/>
+    <field name="Intra MB Max Bit Control" start="160" end="160" type="bool"/>
+    <field name="Inter MB Conformance Max Size" start="208" end="219" type="uint"/>
+    <field name="Intra MB Conformance Max Size" start="192" end="203" type="uint"/>
+    <field name="Slice Delta QP Max[3]" start="280" end="287" type="int"/>
+    <field name="Slice Delta QP Max[2]" start="272" end="279" type="uint"/>
+    <field name="Slice Delta QP Max[1]" start="264" end="271" type="int"/>
+    <field name="Slice Delta QP Max[0]" start="256" end="263" type="int"/>
+    <field name="Slice Delta QP Min[3]" start="312" end="319" type="int"/>
+    <field name="Slice Delta QP Min[2]" start="304" end="311" type="int"/>
+    <field name="Slice Delta QP Min[1]" start="296" end="303" type="int"/>
+    <field name="Slice Delta QP Min[0]" start="288" end="295" type="int"/>
+    <field name="Frame Bitrate Max Unit" start="351" end="351" type="uint"/>
+    <field name="Frame Bitrate Max Unit Mode" start="350" end="350" type="uint">
+      <value name="Compatibility mode" value="0"/>
+      <value name="New mode" value="1"/>
+    </field>
+    <field name="Frame Bitrate Max" start="336" end="349" type="uint"/>
+    <field name="Frame Bitrate Min Unit" start="335" end="335" type="uint"/>
+    <field name="Frame Bitrate Min Unit Mode" start="334" end="334" type="uint">
+      <value name="Compatibility mode" value="0"/>
+      <value name="New mode" value="1"/>
+    </field>
+    <field name="Frame Bitrate Min" start="320" end="333" type="uint"/>
+    <field name="Slice Stats Stream-Out Enable" start="383" end="383" type="bool"/>
+    <field name="Frame Bitrate Max Delta" start="368" end="382" type="uint"/>
+    <field name="Frame Bitrate Min Delta" start="352" end="366" type="uint"/>
+    <field name="Current Picture Has Performed MMCO5" start="445" end="445" type="bool"/>
+    <field name="Number of Reference Frames" start="440" end="444" type="uint"/>
+    <field name="Number of Active Reference Pictures from L1" start="432" end="437" type="uint"/>
+    <field name="Number of Active Reference Pictures from L0" start="424" end="429" type="uint"/>
+    <field name="Initial QP Value" start="416" end="423" type="int"/>
+    <field name="Log2 Max Pic Order Count LSB" start="472" end="479" type="uint"/>
+    <field name="Log2 Max Frame Number" start="464" end="471" type="uint"/>
+    <field name="Deblocking Filter Control Present" start="463" end="463" type="bool"/>
+    <field name="Number of Slice Groups" start="460" end="462" type="uint"/>
+    <field name="Redundant Pic Count Present" start="459" end="459" type="bool"/>
+    <field name="Slice Group Map Type" start="456" end="458" type="uint"/>
+    <field name="Pic Order Count Type" start="450" end="451" type="uint"/>
+    <field name="Delta Pic Order Always Zero" start="449" end="449" type="bool"/>
+    <field name="Pic Order Present" start="448" end="448" type="bool"/>
+    <field name="Current Picture Frame Number" start="496" end="511" type="uint"/>
+    <field name="Slice Group Change Rate" start="480" end="495" type="uint"/>
+    <field name="Inter View Order Disable" start="543" end="543" type="bool"/>
+    <field name="Max View IDXL1" start="530" end="533" type="uint"/>
+    <field name="Max View IDXL0" start="524" end="527" type="uint"/>
+    <field name="Current Frame View ID" start="512" end="521" type="uint"/>
+    <field name="Rho Domain Average MB QP" start="560" end="565" type="uint"/>
+    <field name="Threshold Size" start="608" end="639" type="uint"/>
+    <field name="Target Slice Size" start="640" end="671" type="uint"/>
+  </instruction>
+
+  <instruction name="MFX_AVC_REF_IDX_STATE" bias="2" length="10" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="4"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="8"/>
+    <field name="Reference Picture List Select" start="32" end="32" type="uint"/>
+    <group count="32" start="64" size="8">
+      <field name="Reference List Entry" start="0" end="7" type="uint"/>
+    </group>
+  </instruction>
+
+  <instruction name="MFX_AVC_SLICE_STATE" bias="2" length="10" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="3"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="8"/>
+    <field name="Slice Type" start="32" end="35" type="uint" prefix="AVC_ST">
+      <value name="P Slice" value="0"/>
+      <value name="B Slice" value="1"/>
+      <value name="I Slice" value="2"/>
+    </field>
+    <field name="Number of Reference Pictures in Inter-prediction List 1" start="88" end="93" type="uint"/>
+    <field name="Number of Reference Pictures in Inter-prediction List 0" start="80" end="85" type="uint"/>
+    <field name="Log2 Weight Denominator Chroma" start="72" end="74" type="uint"/>
+    <field name="Log2 Weight Denominator Luma" start="64" end="66" type="uint"/>
+    <field name="Weighted Prediction Indicator" start="126" end="127" type="uint"/>
+    <field name="Direct Prediction Type" start="125" end="125" type="uint">
+      <value name="Temporal" value="0"/>
+      <value name="Spatial" value="1"/>
+    </field>
+    <field name="Disable Deblocking Filter Indicator" start="123" end="124" type="uint"/>
+    <field name="CABAC Init IDC" start="120" end="121" type="uint"/>
+    <field name="Slice Quantization Parameter" start="112" end="117" type="uint"/>
+    <field name="Slice Beta Offset Div2" start="104" end="107" type="int"/>
+    <field name="Slice Alpha C0 Offset Div2" start="96" end="99" type="int"/>
+    <field name="Slice Vertical Position" start="152" end="159" type="uint"/>
+    <field name="Slice Horizontal Position" start="144" end="151" type="uint"/>
+    <field name="Slice Start MB Number" start="128" end="142" type="uint"/>
+    <field name="Next Slice Vertical Position" start="176" end="183" type="uint"/>
+    <field name="Next Slice Horizontal Position" start="160" end="167" type="uint"/>
+    <field name="Rate Control Counter Enable" start="223" end="223" type="uint"/>
+    <field name="Reset Rate Control Counter" start="222" end="222" type="bool"/>
+    <field name="Rate Control Triggle Mode" start="220" end="221" type="uint">
+      <value name="Always Rate Control" value="0"/>
+      <value name="Gentle Rate Control" value="1"/>
+      <value name="Loose Rate Control" value="2"/>
+    </field>
+    <field name="Rate Control Stable Tolerance" start="216" end="219" type="uint"/>
+    <field name="Rate Control Panic Enable" start="215" end="215" type="bool"/>
+    <field name="Rate Control Panic Type" start="214" end="214" type="uint">
+      <value name="QP Panic" value="0"/>
+      <value name="CBP Panic" value="1"/>
+    </field>
+    <field name="MB Type Direct Conversion Disable" start="213" end="213" type="bool"/>
+    <field name="MB Type Skip Conversion Disable" start="212" end="212" type="bool"/>
+    <field name="Last Slice Group" start="211" end="211" type="bool"/>
+    <field name="Header Insertion Present" start="209" end="209" type="bool"/>
+    <field name="Slice Data Insertion Present" start="208" end="208" type="bool"/>
+    <field name="Tail Insertion Present" start="207" end="207" type="bool"/>
+    <field name="Emulation Byte Slice Insert Enable" start="205" end="205" type="bool"/>
+    <field name="CABAC Zero Word Insertion Enable" start="204" end="204" type="bool"/>
+    <field name="Slice ID" start="196" end="199" type="uint"/>
+    <field name="Stream ID" start="192" end="193" type="uint"/>
+    <field name="Indirect PAK-BSE Data Start Address" start="224" end="252" type="offset"/>
+    <field name="QP Max Negative Modifier Magnitude" start="280" end="287" type="uint"/>
+    <field name="QP Max Positive Modifier Magnitude" start="272" end="279" type="uint"/>
+    <field name="Shrink Resistance" start="268" end="271" type="uint"/>
+    <field name="Shrink Init" start="264" end="267" type="uint"/>
+    <field name="Grow Resistance" start="260" end="263" type="uint"/>
+    <field name="Grow Init" start="256" end="259" type="uint"/>
+    <field name="Round Inter Enable" start="319" end="319" type="bool"/>
+    <field name="Round Inter" start="316" end="318" type="uint">
+      <value name="+1/16" value="0"/>
+      <value name="+2/16" value="1"/>
+      <value name="+3/16" value="2"/>
+      <value name="+4/16" value="3"/>
+      <value name="+5/16" value="4"/>
+      <value name="+6/16" value="5"/>
+      <value name="+7/16" value="6"/>
+      <value name="+8/16" value="7"/>
+    </field>
+    <field name="Round Intra Enable" start="315" end="315" type="bool"/>
+    <field name="Round Intra" start="312" end="314" type="uint">
+      <value name="+1/16" value="0"/>
+      <value name="+2/16" value="1"/>
+      <value name="+3/16" value="2"/>
+      <value name="+4/16" value="3"/>
+      <value name="+5/16" value="4"/>
+      <value name="+6/16" value="5"/>
+      <value name="+7/16" value="6"/>
+      <value name="+8/16" value="7"/>
+    </field>
+    <field name="Correct 6" start="308" end="311" type="uint"/>
+    <field name="Correct 5" start="304" end="307" type="uint"/>
+    <field name="Correct 4" start="300" end="303" type="uint"/>
+    <field name="Correct 3" start="296" end="299" type="uint"/>
+    <field name="Correct 2" start="292" end="295" type="uint"/>
+    <field name="Correct 1" start="288" end="291" type="uint"/>
+    <field name="CV7" start="348" end="351" type="uint"/>
+    <field name="CV6" start="344" end="347" type="uint"/>
+    <field name="CV5" start="340" end="343" type="uint"/>
+    <field name="CV4" start="336" end="339" type="uint"/>
+    <field name="CV3" start="332" end="335" type="uint"/>
+    <field name="CV2" start="328" end="331" type="uint"/>
+    <field name="CV1" start="324" end="327" type="uint"/>
+    <field name="CV0" start="320" end="323" type="uint"/>
+  </instruction>
+
+  <instruction name="MFX_AVC_WEIGHTOFFSET_STATE" bias="2" length="98" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="5"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="96"/>
+    <field name="Weight and Offset Select" start="32" end="32" type="uint">
+      <value name="L0 table" value="0"/>
+      <value name="L1 table" value="1"/>
+    </field>
+    <group count="96" start="64" size="32">
+      <field name="Weight Offset" start="0" end="31" type="uint"/>
+    </group>
+  </instruction>
+
+  <instruction name="MFX_BSP_BUF_BASE_ADDR_STATE" bias="2" length="10" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="4"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="8"/>
+    <field name="BSD/MPC Row Store Scratch Buffer - Address" start="38" end="79" type="address"/>
+    <field name="BSD/MPC Row Store Scratch Buffer - Attributes" start="96" end="127" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="MPR Row Store Scratch Buffer - Address" start="134" end="175" type="address"/>
+    <field name="MPR Row Store Scratch Buffer - Attributes" start="192" end="223" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="Bitplane Read Buffer - Address" start="230" end="271" type="address"/>
+    <field name="Bitplane Read Buffer - Attributes" start="288" end="319" type="MEMORYADDRESSATTRIBUTES"/>
+  </instruction>
+
+  <instruction name="MFX_DBK_OBJECT" bias="2" length="13" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="9"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="11"/>
+    <field name="Pre Deblocking Source - Address" start="38" end="79" type="address"/>
+    <field name="Pre Deblocking Source - Tiled Resource Mode" start="109" end="110" type="uint">
+      <value name="TRMODE_NONE" value="0"/>
+      <value name="TRMODE_TILEYF" value="1"/>
+      <value name="TRMODE_TILEYS" value="2"/>
+    </field>
+    <field name="Pre Deblocking Source - Memory Compression Mode" start="106" end="106" type="uint"/>
+    <field name="Pre Deblocking Source - Memory Compression Enable" start="105" end="105" type="bool"/>
+    <field name="Pre Deblocking Source - Arbitration Priority Control" start="103" end="104" type="uint">
+      <value name="Highest priority" value="0"/>
+      <value name="Second highest priority" value="1"/>
+      <value name="Third highest priority" value="2"/>
+      <value name="Lowest priority" value="3"/>
+    </field>
+    <field name="Pre Deblocking Source - MOCS" start="97" end="102" type="uint"/>
+    <field name="Deblocking Control - Address" start="134" end="175" type="address"/>
+    <field name="Deblocking Control - Tiled Resource Mode" start="205" end="206" type="uint">
+      <value name="TRMODE_NONE" value="0"/>
+      <value name="TRMODE_TILEYF" value="1"/>
+      <value name="TRMODE_TILEYS" value="2"/>
+    </field>
+    <field name="Deblocking Control - Memory Compression Mode" start="202" end="202" type="uint"/>
+    <field name="Deblocking Control - Memory Compression Enable" start="201" end="201" type="bool"/>
+    <field name="Deblocking Control - Arbitration Priority Control" start="199" end="200" type="uint">
+      <value name="Highest priority" value="0"/>
+      <value name="Second highest priority" value="1"/>
+      <value name="Third highest priority" value="2"/>
+      <value name="Lowest priority" value="3"/>
+    </field>
+    <field name="Deblocking Control - MOCS" start="193" end="198" type="uint"/>
+    <field name="Deblocking Destination - Address High" start="230" end="271" type="address"/>
+    <field name="Deblocking Destination - Tiled Resource Mode" start="301" end="302" type="uint">
+      <value name="TRMODE_NONE" value="0"/>
+      <value name="TRMODE_TILEYF" value="1"/>
+      <value name="TRMODE_TILEYS" value="2"/>
+    </field>
+    <field name="Deblocking Destination - Memory Compression Mode" start="298" end="298" type="uint"/>
+    <field name="Deblocking Destination - Memory Compression Enable" start="297" end="297" type="bool"/>
+    <field name="Deblocking Destination - Arbitration Priority Control" start="295" end="296" type="uint">
+      <value name="Highest priority" value="0"/>
+      <value name="Second highest priority" value="1"/>
+      <value name="Third highest priority" value="2"/>
+      <value name="Lowest priority" value="3"/>
+    </field>
+    <field name="Deblocking Destination - MOCS" start="289" end="294" type="uint"/>
+    <field name="Deblock Row Store - Address" start="326" end="367" type="address"/>
+    <field name="Deblock Row Store - Tiled Resource Mode" start="397" end="398" type="uint">
+      <value name="TRMODE_NONE" value="0"/>
+      <value name="TRMODE_TILEYF" value="1"/>
+      <value name="TRMODE_TILEYS" value="2"/>
+    </field>
+    <field name="Deblock Row Store - Memory Compression Mode" start="394" end="394" type="uint"/>
+    <field name="Deblock Row Store - Memory Compression Enable" start="393" end="393" type="bool"/>
+    <field name="Deblock Row Store - Arbitration Priority Control" start="391" end="392" type="uint">
+      <value name="Highest priority" value="0"/>
+      <value name="Second highest priority" value="1"/>
+      <value name="Third highest priority" value="2"/>
+      <value name="Lowest priority" value="3"/>
+    </field>
+    <field name="CoeffProbability Stream-In - MOCS" start="385" end="390" type="uint"/>
+  </instruction>
+
+  <instruction name="MFX_FQM_STATE" bias="2" length="34" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="8"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="32"/>
+    <field name="AVC" start="32" end="33" type="uint">
+      <value name="AVC_4x4_Intra_MATRIX" value="0"/>
+      <value name="AVC_4x4_Inter_MATRIX" value="1"/>
+      <value name="AVC_8x8_Intra_MATRIX" value="2"/>
+      <value name="AVC_8x8_Inter_MATRIX" value="3"/>
+    </field>
+    <field name="MPEG2" start="32" end="33" type="uint">
+      <value name="MPEG_INTRA_QUANTIZER_MATRIX" value="0"/>
+      <value name="MPEG_NON_INTRA_QUANTIZER_MATRIX" value="1"/>
+    </field>
+    <field name="JPEG" start="32" end="33" type="uint">
+      <value name="JPEG_Luma_Y_QUANTIZER_MATRIX (or R)" value="0"/>
+      <value name="JPEG_Chroma_Cb_QUANTIZER_MATRIX (or G)" value="1"/>
+      <value name="JPEG_Chroma_Cr_QUANTIZER_MATRIX (or B)" value="2"/>
+    </field>
+    <group count="64" start="64" size="8">
+      <field name="Quantizer Matrix 8x8" start="0" end="7" type="uint"/>
+    </group>
+  </instruction>
+
+  <instruction name="MFX_IND_OBJ_BASE_ADDR_STATE" bias="2" length="26" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="3"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="24"/>
+    <field name="MFX Indirect Bitstream Object - Address" start="32" end="95" type="address"/>
+    <field name="MFX Indirect Bitstream Object - Attributes" start="96" end="127" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="MFX Indirect Bitstream Object - Upper Bound" start="128" end="191" type="address"/>
+    <field name="MFX Indirect MV Object - Address" start="192" end="255" type="address"/>
+    <field name="MFX Indirect MV Object - Attributes" start="256" end="287" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="MFX Indirect MV Object - Upper Bound" start="288" end="351" type="address"/>
+    <field name="MFD Indirect IT-COEFF Object - Address" start="352" end="415" type="address"/>
+    <field name="MFD Indirect IT-COEFF Object - Attributes" start="416" end="447" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="MFD Indirect IT-COEFF Object - Upper Bound" start="448" end="511" type="address"/>
+    <field name="MFD Indirect IT-DBLK Object - Address" start="512" end="575" type="address"/>
+    <field name="MFD Indirect IT-DBLK Object - Attributes" start="576" end="607" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="MFD Indirect IT-DBLK Object - Upper Bound" start="608" end="671" type="address"/>
+    <field name="MFC Indirect PAK-BSE Object - Address" start="672" end="735" type="address"/>
+    <field name="MFC Indirect PAK-BSE Object - Attributes" start="736" end="767" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="MFC Indirect PAK-BSE Object - Upper Bound" start="768" end="831" type="address"/>
+  </instruction>
+
+  <instruction name="MFX_JPEG_HUFF_TABLE_STATE" bias="2" length="831" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="7"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="2"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="829"/>
+    <field name="Huffman Table ID" start="32" end="32" type="uint"/>
+    <group count="12" start="64" size="8">
+        <field name="DC_BITS" start="0" end="7" type="uint"/>
+    </group>
+    <group count="12" start="160" size="8">
+        <field name="DC_HUFFVAL" start="0" end="7" type="uint"/>
+    </group>
+    <group count="16" start="256" size="8">
+        <field name="AC_BITS" start="0" end="15" type="uint"/>
+    </group>
+    <group count="160" start="384" size="8">
+        <field name="AC_HUFFVAL" start="0" end="7" type="uint"/>
+    </group>
+    <group count="2" start="1664" size="8">
+        <field name="AC_HUFFVAL2" start="0" end="7" type="uint"/>
+    </group>
+  </instruction>
+
+  <instruction name="MFX_JPEG_PIC_STATE" bias="2" length="3" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="7"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="0"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="1"/>
+    <field name="Vertical Up-Sampling Enable" start="52" end="52" type="bool"/>
+    <field name="Horizontal Down-Sampling Enable" start="50" end="50" type="bool"/>
+    <field name="Vertical Down-Sampling Enable" start="49" end="49" type="bool"/>
+    <field name="Average Down Sampling" start="48" end="48" type="uint"/>
+    <field name="Output Format YUV" start="40" end="43" type="uint"/>
+    <field name="Rotation" start="36" end="37" type="uint"/>
+    <field name="Input Format YUV" start="32" end="34" type="uint"/>
+    <field name="Pixels In Horizontal Last MCU" start="58" end="62" type="uint"/>
+    <field name="Pixels In Vertical Last MCU" start="53" end="57" type="uint"/>
+    <field name="Input Surface Format YUV" start="40" end="43" type="uint" prefix="IS">
+      <value name="NV12" value="1"/>
+      <value name="UYVY" value="2"/>
+      <value name="YUY2" value="3"/>
+      <value name="Y8" value="4"/>
+      <value name="RGB" value="5"/>
+    </field>
+    <field name="Output MCU Structure" start="32" end="34" type="uint" prefix="MCU">
+      <value name="YUV400" value="0"/>
+      <value name="YUV420" value="1"/>
+      <value name="YUV422H_2Y" value="2"/>
+      <value name="RGB" value="3"/>
+    </field>
+    <field name="Output Pixel Normalize" start="93" end="93" type="uint"/>
+    <field name="Frame Height In Blocks" start="80" end="92" type="uint"/>
+    <field name="Frame Width In Blocks" start="64" end="76" type="uint"/>
+    <field name="Rounding Quant" start="77" end="79" type="uint"/>
+  </instruction>
+
+  <instruction name="MFX_MPEG2_PIC_STATE" bias="2" length="2" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="3"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="0"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="0"/>
+    <field name="F_code[1][1]" start="60" end="63" type="uint"/>
+    <field name="F_code[1][0]" start="56" end="59" type="uint"/>
+    <field name="F_code[0][1]" start="52" end="55" type="uint"/>
+    <field name="F_code[0][0]" start="48" end="51" type="uint"/>
+    <field name="Intra DC Precision" start="46" end="47" type="uint"/>
+    <field name="Picture Structure" start="44" end="45" type="uint">
+      <value name="MPEG_TOP_FIELD" value="1"/>
+      <value name="MPEG_BOTTOM_FIELD" value="2"/>
+      <value name="MPEG_FRAME" value="3"/>
+    </field>
+    <field name="Top Field First" start="43" end="43" type="bool"/>
+    <field name="Frame Prediction Frame DCT" start="42" end="42" type="uint"/>
+    <field name="Concealment MV" start="41" end="41" type="bool"/>
+    <field name="Quantizer Scale Type" start="40" end="40" type="uint">
+      <value name="MPEG_QSCALE_LINEAR" value="0"/>
+      <value name="MPEG_QSCALE_NONLINEAR" value="1"/>
+    </field>
+    <field name="Intra VLC Format" start="39" end="39" type="uint"/>
+    <field name="Scan Order" start="38" end="38" type="uint">
+      <value name="MPEG_ZIGZAG_SCAN" value="0"/>
+      <value name="MPEG_ALTERNATE_VERTICAL_SCAN" value="1"/>
+    </field>
+    <field name="I Slice Concealment Mode" start="95" end="95" type="uint" prefix="MPEG2_CM">
+      <value name="Intra Concealment" value="0"/>
+      <value name="Inter Concealment" value="1"/>
+    </field>
+    <field name="P/B Slice Concealment Mode" start="92" end="93" type="uint" prefix="MPEG2_CM">
+      <value name="INTER" value="0"/>
+      <value name="LEFT" value="1"/>
+      <value name="ZERO" value="2"/>
+      <value name="INTRA" value="3"/>
+    </field>
+    <field name="P/B Slice Predicted Bi-direction MV Type Override" start="89" end="90" type="uint" prefix="MPEG2_MVTO">
+      <value name="BID" value="0"/>
+      <value name="RESERVED" value="1"/>
+      <value name="FWD" value="2"/>
+      <value name="BWD" value="3"/>
+    </field>
+    <field name="P/B Slice Predicted MV Override" start="88" end="88" type="uint">
+      <value name="Predicted" value="0"/>
+      <value name="ZERO" value="1"/>
+    </field>
+    <field name="Load Bitstream Pointer Per Slice" start="78" end="78" type="bool"/>
+    <field name="Picture Coding Type" start="73" end="74" type="uint">
+      <value name="MPEG_I_PICTURE" value="1"/>
+      <value name="MPEG_P_PICTURE" value="2"/>
+      <value name="MPEG_B_PICTURE" value="3"/>
+    </field>
+    <field name="Mismatch Control Disable" start="65" end="65" type="bool"/>
+    <field name="Disable Mismatch" start="64" end="64" type="bool"/>
+    <field name="Slice Concealment Disable" start="127" end="127" type="bool"/>
+    <field name="Frame Height In MBs" start="112" end="119" type="uint"/>
+    <field name="Frame Width In MBs" start="96" end="103" type="uint"/>
+    <field name="Minimum Frame Size" start="144" end="159" type="uint"/>
+    <field name="Round Inter AC," start="140" end="142" type="uint"/>
+    <field name="Round Intra AC" start="136" end="138" type="uint"/>
+    <field name="Round Inter DC" start="132" end="134" type="uint"/>
+    <field name="Round Intra DC" start="129" end="130" type="uint"/>
+    <field name="Frame Size Control" start="176" end="176" type="uint"/>
+    <field name="Inter MB Force CBP to Zero Control" start="172" end="172" type="uint"/>
+    <field name="Minimum Frame Size Units" start="170" end="171" type="uint" prefix="MPEG2_MFSU">
+      <value name="Compatibility mode" value="0"/>
+      <value name="16 bytes" value="1"/>
+      <value name="4Kb" value="2"/>
+      <value name="16Kb" value="3"/>
+    </field>
+    <field name="MBRateControlMask" start="169" end="169" type="uint"/>
+    <field name="Frame Bitrate Min Report" start="163" end="163" type="uint"/>
+    <field name="Frame Bitrate Max Report" start="162" end="162" type="uint"/>
+    <field name="Inter MB Max Bit Control" start="161" end="161" type="uint"/>
+    <field name="Intra MB Max Bit Control" start="160" end="160" type="uint"/>
+    <field name="Inter MB Conformance Max Size" start="208" end="219" type="uint"/>
+    <field name="Intra MB Conformance Max Size" start="192" end="203" type="uint"/>
+    <field name="Slice Delta QP Max[3]" start="280" end="287" type="int"/>
+    <field name="Slice Delta QP Max[2]" start="272" end="279" type="int"/>
+    <field name="Slice Delta QP Max[1]" start="264" end="271" type="int"/>
+    <field name="Slice Delta QP Max[0]" start="256" end="263" type="int"/>
+    <field name="Slice Delta QP Min[3]" start="312" end="319" type="int"/>
+    <field name="Slice Delta QP Min[2]" start="304" end="311" type="int"/>
+    <field name="Slice Delta QP Min[1]" start="296" end="303" type="int"/>
+    <field name="Slice Delta QP Min[0]" start="288" end="295" type="int"/>
+    <field name="Frame Bitrate Max Unit" start="351" end="351" type="uint"/>
+    <field name="Frame Bitrate Max Unit Mode" start="350" end="350" type="uint">
+      <value name="Compatibility mode" value="0"/>
+      <value name="New mode" value="1"/>
+    </field>
+    <field name="Frame Bitrate Max" start="336" end="349" type="uint"/>
+    <field name="Frame Bitrate Min Unit" start="335" end="335" type="uint"/>
+    <field name="Frame Bitrate Min Unit Mode" start="334" end="334" type="uint">
+      <value name="Compatibility mode" value="0"/>
+      <value name="New Mode" value="1"/>
+    </field>
+    <field name="Frame Bitrate Min" start="320" end="333" type="uint"/>
+    <field name="Frame Bitrate Max Delta" start="368" end="382" type="uint"/>
+    <field name="Frame Bitrate Min Delta" start="352" end="366" type="uint"/>
+  </instruction>
+
+  <instruction name="MFX_MPEG_TS_CONTROL command" bias="2" length="5" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="2"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="11"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="3"/>
+    <field name="Payload Unit Start Indicator Control" start="61" end="61" type="uint"/>
+    <field name="Additional Copy Info Flag In PES Header" start="60" end="60" type="bool"/>
+    <field name="DSM Trick Mode Flag In PES Header" start="59" end="59" type="uint"/>
+    <field name="Original Or Flag In PES Header" start="58" end="58" type="uint"/>
+    <field name="Copy Right Flag In PES Header" start="57" end="57" type="uint"/>
+    <field name="Output TS Packet Grouping Select" start="56" end="56" type="uint"/>
+    <field name="StreamID Lower Nibble" start="52" end="55" type="uint"/>
+    <field name="Video PacketID Header Parameter" start="32" end="44" type="uint"/>
+    <field name="PCR 90 KHz Component Least Significant Bits" start="64" end="95" type="uint"/>
+    <field name="27MHz Counter" start="119" end="127" type="uint"/>
+    <field name="90KHz counter MSB" start="96" end="96" type="uint"/>
+    <field name="PTS Delta" start="128" end="159" type="uint"/>
+    <field name="Continuity Counter" start="188" end="191" type="uint"/>
+    <field name="MPEGTS Packet Count" start="160" end="175" type="uint"/>
+  </instruction>
+
+  <instruction name="MFX_PAK_INSERT_OBJECT" bias="2" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="2"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="8"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="0"/>
+    <field name="Data Byte Offset" start="48" end="49" type="uint"/>
+    <field name="Header Length Excluded From Size" start="47" end="47" type="uint">
+      <value name="NO_ACCUMULATION" value="1"/>
+      <value name="ACCUMULATE" value="0"/>
+    </field>
+    <field name="Slice Header Indicator" start="46" end="46" type="uint">
+      <value name="SLICE_HEADER" value="1"/>
+      <value name="LEGACY" value="0"/>
+    </field>
+    <field name="Data Bits In Last DW" start="40" end="45" type="uint"/>
+    <field name="Skip Emulation Byte Count" start="36" end="39" type="uint"/>
+    <field name="Emulation Byte Bits Insert Enable" start="35" end="35" type="bool"/>
+    <field name="Last Header" start="34" end="34" type="bool"/>
+    <field name="End of Slice" start="33" end="33" type="bool"/>
+    <field name="Bitstream Start Reset" start="32" end="32" type="bool"/>
+    <group count="0" start="64" size="32">
+      <field name="Insert Data PayLoad" start="0" end="31" type="uint"/>
+    </group>
+  </instruction>
+
+  <instruction name="MFX_PIPE_BUF_ADDR_STATE" bias="2" length="65" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="2"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="63"/>
+    <field name="Pre Deblocking Destination - Address" start="38" end="79" type="address"/>
+    <field name="Pre Deblocking Destination - Attributes" start="96" end="127" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="Post Deblocking Destination - Address" start="134" end="175" type="address"/>
+    <field name="Post Deblocking Destination - Attributes" start="192" end="223" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="Original Uncompressed Picture Source - Address" start="230" end="271" type="address"/>
+    <field name="Original Uncompressed Picture Source - Attributes" start="288" end="319" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="Stream-Out Data Destination - Address" start="326" end="367" type="address"/>
+    <field name="Stream-Out Data Destination - Attributes" start="384" end="415" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="Intra Row Store Scratch Buffer - Address" start="422" end="463" type="address"/>
+    <field name="Intra Row Store Scratch Buffer - Attributes" start="480" end="511" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="Deblocking Filter Row Store Scratch - Address" start="518" end="559" type="address"/>
+    <field name="Deblocking Filter Row Store Scratch - Attributes" start="576" end="607" type="MEMORYADDRESSATTRIBUTES"/>
+    <group count="16" start="608" size="64">
+      <field name="Reference Picture - Address" start="0" end="63" type="address"/>
+    </group>
+    <field name="Reference Picture - Attributes" start="1632" end="1663" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="MB Status Buffer - Address" start="1670" end="1711" type="address"/>
+    <field name="MB Status Buffer - Attributes" start="1728" end="1759" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="MB ILDB Stream-Out Buffer - Address" start="1766" end="1807" type="address"/>
+    <field name="MB ILDB Stream-Out Buffer - Attributes" start="1824" end="1855" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="Second MB ILDB Stream-Out Buffer - Address" start="1862" end="1903" type="address"/>
+    <field name="Second MB ILDB Stream-Out Buffer - Attributes" start="1920" end="1951" type="MEMORYADDRESSATTRIBUTES"/>
+    <group count="16" start="1952" size="2">
+      <field name="Reference Picture - Memory Compression Mode" start="1" end="1" type="uint"/>
+      <field name="Reference Picture - Memory Compression Enable" start="0" end="0" type="bool"/>
+    </group>
+    <field name="Scaled Reference Surface - Address" start="1990" end="2031" type="address"/>
+    <field name="Scaled Reference Surface - Attributes" start="2048" end="2079" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="SliceSize Stream-Out Data Destination - Address" start="2086" end="2127" type="address"/>
+    <field name="SliceSize Stream-Out Data Destination - Attributes" start="2144" end="2175" type="MEMORYADDRESSATTRIBUTES"/>
+  </instruction>
+
+  <instruction name="MFX_PIPE_MODE_SELECT" bias="2" length="5" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="0"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="3"/>
+    <field name="Extended Stream-Out Enable" start="50" end="50" type="bool"/>
+    <field name="Decoder Short Format Mode" start="49" end="49" type="uint">
+      <value name="Short Format Driver Interface" value="0"/>
+      <value name="Long Format Driver Interface" value="1"/>
+    </field>
+    <field name="Decoder Mode select" start="47" end="48" type="uint">
+      <value name="VLD Mode" value="0"/>
+      <value name="IT Mode" value="1"/>
+      <value name="Deblocker Mode" value="2"/>
+      <value name="Interlayer Mode" value="3"/>
+    </field>
+    <field name="Standalone VDEnc Mode Enable" start="46" end="46" type="bool"/>
+    <field name="VDEnc Mode" start="45" end="45" type="uint" prefix="VM">
+      <value name="MBEnc Mode" value="0"/>
+      <value name="VDEnc Mode" value="1"/>
+    </field>
+    <field name="Deblocker Stream-Out Enable" start="44" end="44" type="bool"/>
+    <field name="Pic Error/Status Report Enable" start="43" end="43" type="bool"/>
+    <field name="Stream-Out Enable" start="42" end="42" type="bool"/>
+    <field name="Post Deblocking Output Enable" start="41" end="41" type="bool"/>
+    <field name="Pre Deblocking Output Enable" start="40" end="40" type="bool"/>
+    <field name="Scaled Surface Enable" start="39" end="39" type="bool"/>
+    <field name="Frame Statistics Stream-Out Enable" start="38" end="38" type="bool"/>
+    <field name="Stitch Mode" start="37" end="37" type="bool"/>
+    <field name="Codec Select" start="36" end="36" type="uint">
+      <value name="Decode" value="0"/>
+      <value name="Encode" value="1"/>
+    </field>
+    <field name="Standard Select" start="32" end="35" type="uint" prefix="SS">
+      <value name="MPEG2" value="0"/>
+      <value name="VC1" value="1"/>
+      <value name="AVC" value="2"/>
+      <value name="JPEG" value="3"/>
+      <value name="VP8" value="5"/>
+      <value name="UVLD" value="15"/>
+    </field>
+    <field name="Pic Status/Error Report ID" start="96" end="127" type="uint"/>
+  </instruction>
+
+  <instruction name="MFX_QM_STATE" bias="2" length="34" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="7"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="32"/>
+    <field name="AVC" start="32" end="33" type="uint">
+      <value name="AVC_4x4_Intra_MATRIX" value="0"/>
+      <value name="AVC_4x4_Inter_MATRIX" value="1"/>
+      <value name="AVC_8x8_Intra_MATRIX" value="2"/>
+      <value name="AVC_8x8_Inter_MATRIX" value="3"/>
+    </field>
+    <field name="MPEG2" start="32" end="33" type="uint">
+      <value name="MPEG_INTRA_QUANTIZER_MATRIX" value="0"/>
+      <value name="MPEG_NON_INTRA_QUANTIZER_MATRIX" value="1"/>
+    </field>
+    <field name="JPEG" start="32" end="33" type="uint">
+      <value name="JPEG_Luma_Y_QUANTIZER_MATRIX (or R)" value="0"/>
+      <value name="JPEG_Chroma_Cb_QUANTIZER_MATRIX (or G)" value="1"/>
+      <value name="JPEG_Chroma_Cr_QUANTIZER_MATRIX (or B)" value="2"/>
+    </field>
+    <group count="64" start="64" size="8">
+      <field name="Forward Quantizer 8x8" start="0" end="7" type="uint"/>
+    </group>
+  </instruction>
+
+  <instruction name="MFX_STATE_POINTER" bias="2" length="2" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="6"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="0"/>
+    <field name="State Pointer" start="37" end="63" type="uint"/>
+    <field name="State Pointer Index" start="32" end="33" type="uint"/>
+  </instruction>
+
+  <instruction name="MFX_STITCH_OBJECT" bias="2" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="2"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="10"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="0"/>
+    <field name="Source Data Starting Byte Offset" start="48" end="49" type="uint"/>
+    <field name="Source Data Ending Bit Inclusion" start="40" end="45" type="uint"/>
+    <field name="Last Header" start="34" end="34" type="bool"/>
+    <field name="End of Slice" start="33" end="33" type="bool"/>
+    <field name="Indirect Data Length" start="64" end="82" type="uint"/>
+    <field name="Indirect Data Start Address" start="96" end="127" type="offset"/>
+    <group count="0" start="128" size="32">
+      <field name="Insert Data PayLoad" start="0" end="31" type="uint"/>
+    </group>
+  </instruction>
+
+  <instruction name="MFX_SURFACE_STATE" bias="2" length="6" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="1"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="4"/>
+    <field name="Surface ID" start="32" end="35" type="uint" prefix="MFX">
+      <value name="Source Input Picture" value="4"/>
+      <value name="Reconstructed Scaled Reference Picture" value="5"/>
+    </field>
+    <field name="Height" start="82" end="95" type="uint"/>
+    <field name="Width" start="68" end="81" type="uint"/>
+    <field name="Cr(V)/Cb(U) Pixel Offset V Direction" start="64" end="65" type="u0.2"/>
+    <field name="Surface Format" start="124" end="127" type="uint" prefix="MFX">
+      <value name="YCRCB_NORMAL" value="0"/>
+      <value name="YCRCB_SWAPUVY" value="1"/>
+      <value name="YCRCB_SWAPUV" value="2"/>
+      <value name="YCRCB_SWAPY" value="3"/>
+      <value name="PLANAR_420_8" value="4"/>
+      <value name="PLANAR_411_8" value="5"/>
+      <value name="PLANAR_422_8" value="6"/>
+      <value name="STMM_DN_STATISTICS" value="7"/>
+      <value name="R10G10B10A2_UNORM" value="8"/>
+      <value name="R8G8B8A8_UNORM" value="9"/>
+      <value name="R8B8_UNORM (CrCb)" value="10"/>
+      <value name="R8_UNORM (Cr/Cb)" value="11"/>
+      <value name="Y8_UNORM" value="12"/>
+    </field>
+    <field name="Interleave Chroma" start="123" end="123" type="bool"/>
+    <field name="Surface Pitch" start="99" end="115" type="uint"/>
+    <field name="Half Pitch for Chroma" start="98" end="98" type="bool"/>
+    <field name="Tiled Surface" start="97" end="97" type="bool"/>
+    <field name="Tile Walk" start="96" end="96" type="uint" prefix="TW">
+      <value name="XMAJOR" value="0"/>
+      <value name="YMAJOR" value="1"/>
+    </field>
+    <field name="X Offset for U(Cb)" start="144" end="158" type="uint"/>
+    <field name="Y Offset for U(Cb)" start="128" end="142" type="uint"/>
+    <field name="X Offset for V(Cr)" start="176" end="188" type="uint"/>
+    <field name="Y Offset for V(Cr)" start="160" end="175" type="uint"/>
+  </instruction>
+
+  <instruction name="MFX_VC1_DIRECTMODE_STATE" bias="2" length="7" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="2"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="2"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="5"/>
+    <field name="Direct MV Write Buffer - Address" start="32" end="95" type="address"/>
+    <field name="Direct MV Write Buffer - Attributes" start="96" end="127" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="Direct MV Read Buffer - Address" start="128" end="191" type="address"/>
+    <field name="Direct MV Read Buffer - Attributes" start="192" end="223" type="MEMORYADDRESSATTRIBUTES"/>
+  </instruction>
+
+  <instruction name="MFX_VC1_PRED_PIPE_STATE" bias="2" length="6" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="2"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="1"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="4"/>
+    <field name="Vin_intensitycomp_Double_FWDen" start="46" end="47" type="uint"/>
+    <field name="Vin_intensitycomp_Double_BWDen" start="44" end="45" type="uint"/>
+    <field name="Vin_intensitycomp_Single_FWDen" start="42" end="43" type="uint"/>
+    <field name="Vin_intensitycomp_Single_BWDen" start="40" end="41" type="uint"/>
+    <field name="Reference Frame Boundary Replication Mode" start="36" end="39" type="uint"/>
+    <field name="LumShift2 - single - FWD" start="88" end="93" type="uint"/>
+    <field name="LumShift1 - single - FWD" start="80" end="85" type="uint"/>
+    <field name="LumScale2 - single - FWD" start="72" end="77" type="uint"/>
+    <field name="LumScale1 - single - FWD" start="64" end="69" type="uint"/>
+    <field name="LumShift2 - double - FWD" start="120" end="125" type="uint"/>
+    <field name="LumShift1 - double - FWD" start="112" end="117" type="uint"/>
+    <field name="LumScale2 - double - FWD" start="104" end="109" type="uint"/>
+    <field name="LumScale1 - double - FWD" start="96" end="101" type="uint"/>
+    <field name="LumShift2 - single - BWD" start="152" end="157" type="uint"/>
+    <field name="LumShift1 - single - BWD" start="144" end="149" type="uint"/>
+    <field name="LumScale2 - single - BWD" start="136" end="141" type="uint"/>
+    <field name="LumScale1 - single - BWD" start="128" end="133" type="uint"/>
+    <field name="LumShift2 - double - BWD" start="184" end="189" type="uint"/>
+    <field name="LumShift1 - double - BWD" start="176" end="181" type="uint"/>
+    <field name="LumScale2 - double - BWD" start="168" end="173" type="uint"/>
+    <field name="LumScale1 - double - BWD" start="160" end="165" type="uint"/>
+  </instruction>
+
+  <instruction name="MFX_VP8_BSP_BUF_BASE_ADDR_STATE" bias="2" length="2" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="4"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="2"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="3"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="0"/>
+    <field name="Frame Header - Address" start="32" end="95" type="address"/>
+    <field name="Frame Header - Attributes" start="96" end="127" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="Intermediate Buffer - Address" start="128" end="191" type="address"/>
+    <field name="Intermediate Buffer - Attributes" start="192" end="223" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="Intermediate Buffer Partition Offset" start="224" end="479" type="uint"/>
+    <field name="Intermediate Buffer Max Size" start="480" end="511" type="uint"/>
+    <field name="Final Frame - Address" start="512" end="575" type="address"/>
+    <field name="Final Frame - Attributes" start="576" end="607" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="Final Frame Byte Offset" start="608" end="613" type="uint"/>
+    <field name="Stream-Out - Address" start="640" end="703" type="address"/>
+    <field name="Stream-Out - Attributes" start="704" end="735" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="Coeff Probs Stream-In Surface - Address" start="736" end="799" type="address"/>
+    <field name="Coeff Probs Stream-In Surface - Attributes" start="800" end="831" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="Token Statistics Surface - Address" start="832" end="895" type="address"/>
+    <field name="Token Statistics Surface - Attributes" start="896" end="927" type="MEMORYADDRESSATTRIBUTES"/>
+    <field name="MPC Row Store Surface - Address" start="928" end="991" type="address"/>
+    <field name="MPC Row Store Surface - Attributes" start="992" end="1023" type="MEMORYADDRESSATTRIBUTES"/>
+  </instruction>
+
+  <instruction name="MFX_VP8_ENCODER_CFG" bias="2" length="2" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="4"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="2"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="1"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="0"/>
+    <field name="VBSP Unit Power Clock Gating Disable" start="42" end="42" type="bool"/>
+    <field name="Compressed Bitstream Output Disable" start="41" end="41" type="bool"/>
+    <field name="Finer BRC Enable" start="40" end="40" type="bool"/>
+    <field name="Per Segment Delta Qindex / LoopFilter Disable" start="39" end="39" type="bool"/>
+    <field name="Rate Control Initial Pass" start="38" end="38" type="bool"/>
+    <field name="Skip Final Bitstream when Over/Underflow" start="37" end="37" type="bool"/>
+    <field name="Update Segment Feature Data Flag" start="36" end="36" type="bool"/>
+    <field name="Bitstream Statistics Output Enable" start="35" end="35" type="bool"/>
+    <field name="Token Statistics Output Enable" start="34" end="34" type="bool"/>
+    <field name="Final Bitstream Output Disable" start="33" end="33" type="bool"/>
+    <field name="Performance Counter Enable" start="32" end="32" type="bool"/>
+    <field name="QIndex Clamp High for Overflow" start="71" end="71" type="bool"/>
+    <field name="QIndex Clamp High for Underflow" start="70" end="70" type="bool"/>
+    <field name="Final Bistream Buffer Overrun Enable" start="69" end="69" type="bool"/>
+    <field name="Intermediate Bit Buffer Overrun Enable" start="68" end="68" type="bool"/>
+    <field name="Max Intra MB Bit Count Check Enable" start="67" end="67" type="bool"/>
+    <field name="Max Inter MB Bit Count Check Enable" start="66" end="66" type="bool"/>
+    <field name="Min Frame Bit Count Rate Control Enable" start="65" end="65" type="bool"/>
+    <field name="Max Frame Bit count Rate Control Enable" start="64" end="64" type="bool"/>
+    <field name="Max Intra MB Bit Count Limit" start="112" end="123" type="uint"/>
+    <field name="Max Inter MB Bit Count" start="96" end="107" type="uint"/>
+    <field name="Frame Bitrate Min Unit Mode" start="159" end="159" type="uint">
+      <value name="Compatibility Mode" value="0"/>
+      <value name="New Mode" value="1"/>
+    </field>
+    <field name="Frame Bitrate Min Unit" start="158" end="158" type="uint"/>
+    <field name="Frame Bitrate Min" start="144" end="157" type="uint"/>
+    <field name="Frame Bitrate Max Unit Mode" start="143" end="143" type="uint">
+      <value name="Compatibility Mode" value="0"/>
+      <value name="New Mode" value="1"/>
+    </field>
+    <field name="Frame Bitrate Max Unit" start="142" end="142" type="uint"/>
+    <field name="Frame Bitrate Max" start="128" end="141" type="uint"/>
+    <field name="Frame Delta QIndex Max[3]" start="184" end="191" type="uint"/>
+    <field name="Frame Delta QIndex Max[2]" start="176" end="183" type="uint"/>
+    <field name="Frame Delta QIndex Max[1]" start="168" end="175" type="uint"/>
+    <field name="Frame Delta QIndex Max[0]" start="160" end="167" type="uint"/>
+    <field name="Frame Delta QIndex Min[3]" start="216" end="223" type="uint"/>
+    <field name="Frame Delta QIndex Min[2]" start="208" end="215" type="uint"/>
+    <field name="Frame Delta QIndex Min[1]" start="200" end="207" type="uint"/>
+    <field name="Frame Delta QIndex Min[0]" start="192" end="199" type="uint"/>
+    <field name="Per Segment Frame Delta QIndex Max[1]" start="224" end="255" type="uint"/>
+    <field name="Per Segment Frame Delta QIndex Min[1]" start="256" end="287" type="uint"/>
+    <field name="Per Segment Frame Delta QIndex Max[2]" start="288" end="319" type="uint"/>
+    <field name="Per Segment Frame Delta QIndex Min[2]" start="320" end="351" type="uint"/>
+    <field name="Per Segment Frame Delta QIndex Max[3]" start="352" end="383" type="uint"/>
+    <field name="Per Segment Frame Delta QIndex Min[3]" start="384" end="415" type="uint"/>
+    <field name="Frame Delta Loop Filter Max[3]" start="440" end="447" type="uint"/>
+    <field name="Frame Delta Loop Filter Max[2]" start="432" end="439" type="uint"/>
+    <field name="Frame Delta Loop Filter Max[1]" start="424" end="431" type="uint"/>
+    <field name="Frame Delta Loop Filter Max[0]" start="416" end="423" type="uint"/>
+    <field name="Frame Delta Loop Filter Min[3]" start="472" end="479" type="uint"/>
+    <field name="Frame Delta Loop Filter Min[2]" start="464" end="471" type="uint"/>
+    <field name="Frame Delta Loop Filter Min[1]" start="456" end="463" type="uint"/>
+    <field name="Frame Delta Loop Filter Min[0]" start="448" end="455" type="uint"/>
+    <field name="Per Segment Frame Delta Loop Filter Max[1]" start="480" end="511" type="uint"/>
+    <field name="Per Segment Frame Delta Loop Filter Min[1]" start="512" end="543" type="uint"/>
+    <field name="Per Segment Frame Delta Loop Filter Max[2]" start="544" end="575" type="uint"/>
+    <field name="Per Segment Frame Delta Loop Filter Min[2]" start="576" end="607" type="uint"/>
+    <field name="Per Segment Frame Delta Loop Filter Max[3]" start="608" end="639" type="uint"/>
+    <field name="Per Segment Frame Delta Loop Filter Min[3]" start="640" end="671" type="uint"/>
+    <field name="Frame Bitrate Min Delta" start="688" end="702" type="uint"/>
+    <field name="Frame Bitrate Max Delta" start="672" end="686" type="uint"/>
+    <field name="Show Frame" start="727" end="727" type="uint"/>
+    <field name="Bitstream Format Version" start="724" end="726" type="uint"/>
+    <field name="Minimum Frame Size Unit" start="720" end="721" type="uint">
+      <value name="Compatibility Mode" value="0"/>
+      <value name="New Mode" value="1"/>
+    </field>
+    <field name="Minimum Frame Size" start="704" end="719" type="uint"/>
+    <field name="Vertical_Size_Code" start="752" end="767" type="uint"/>
+    <field name="Horizontal_Size_Code" start="736" end="751" type="uint"/>
+    <field name="Frame Header Bit Count" start="768" end="799" type="uint"/>
+    <field name="Frame Header Bin Buffer QIndex Update Pointer" start="800" end="831" type="uint"/>
+    <field name="Frame Header Bin Buffer Loop Filter Update Pointer" start="832" end="863" type="uint"/>
+    <field name="Frame Header Bin Buffer Token Update Pointer" start="864" end="895" type="uint"/>
+    <field name="Frame Header Bin Buffer MV Update Pointer" start="896" end="927" type="uint"/>
+    <field name="CV7" start="956" end="959" type="uint"/>
+    <field name="CV6" start="952" end="955" type="uint"/>
+    <field name="CV5" start="948" end="951" type="uint"/>
+    <field name="CV4" start="944" end="947" type="uint"/>
+    <field name="CV3" start="940" end="943" type="uint"/>
+    <field name="CV2" start="936" end="939" type="uint"/>
+    <field name="CV1" start="932" end="935" type="uint"/>
+    <field name="CV0" start="928" end="931" type="uint"/>
+  </instruction>
+
+   <instruction name="MFX_VP8_PAK_OBJECT" bias="2" length="7" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="24" end="26" type="uint" default="4"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="2"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="9"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="5"/>
+    <field name="Enable Inline MV data" start="61" end="61" type="bool"/>
+    <field name="Indirect PAK-MV Data Length" start="32" end="41" type="uint"/>
+    <field name="Indirect PAK-MV Data Start Address Offset" start="64" end="92" type="offset"/>
+    <field name="Inline Data" start="96" end="223" type="uint"/>
+  </instruction>
+
+  <instruction name="MFX_VP8_PIC_STATE" bias="2" length="2" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command OpCode" start="24" end="26" type="uint" default="4"/>
+    <field name="SubOpcode A" start="21" end="23" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="0"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="0"/>
+    <field name="Frame Height" start="48" end="55" type="uint"/>
+    <field name="Frame Width" start="32" end="39" type="uint"/>
+    <field name="Log2 Num of Partition" start="88" end="89" type="uint">
+      <value name="1 Token partition" value="0"/>
+      <value name="2 Token partition" value="1"/>
+      <value name="4 Token partition" value="2"/>
+      <value name="8 Token partition" value="3"/>
+    </field>
+    <field name="Deblock Sharpness Level" start="80" end="82" type="uint"/>
+    <field name="Alternate Ref Pic MV Sign Bias" start="77" end="77" type="bool"/>
+    <field name="Golden Ref Picture MV Sign Bias" start="76" end="76" type="bool"/>
+    <field name="Mode Reference Loop Filter Delta Enable" start="75" end="75" type="bool"/>
+    <field name="MB NoCoeff Skip" start="74" end="74" type="bool"/>
+    <field name="Update MB Segment Map" start="73" end="73" type="bool"/>
+    <field name="Segment Enable" start="72" end="72" type="bool"/>
+    <field name="Segmentation ID Stream-In Enable" start="71" end="71" type="bool"/>
+    <field name="Segmentation ID Stream-Out Enable" start="70" end="70" type="bool"/>
+    <field name="Key Frame" start="69" end="69" type="bool"/>
+    <field name="DBLK Filter Type" start="68" end="68" type="uint"/>
+    <field name="Chroma Full Pixel MC Filter Mode" start="65" end="65" type="uint"/>
+    <field name="MC Filter Select" start="64" end="64" type="uint"/>
+    <field name="DBLK Filter Level for Segment3" start="120" end="125" type="uint"/>
+    <field name="DBLK Filter Level for Segment2" start="112" end="117" type="uint"/>
+    <field name="DBLK Filter Level for Segment1" start="104" end="109" type="uint"/>
+    <field name="DBLK Filter Level for Segment0" start="96" end="101" type="uint"/>
+    <field name="Segment3 QIndex" start="152" end="158" type="uint"/>
+    <field name="Segment2 QIndex" start="144" end="150" type="uint"/>
+    <field name="Segment1 QIndex" start="136" end="142" type="uint"/>
+    <field name="Segment0 QIndex" start="128" end="134" type="uint"/>
+    <field name="UVAC QIndex Delta Sign" start="188" end="188" type="uint"/>
+    <field name="UVAC QIndex Delta" start="184" end="187" type="uint"/>
+    <field name="UVDC QIndex Delta Sign" start="180" end="180" type="uint"/>
+    <field name="UVDC QIndex Delta" start="176" end="179" type="uint"/>
+    <field name="Y2AC QIndex Sign" start="172" end="172" type="uint"/>
+    <field name="Y2AC QIndex Delta" start="168" end="171" type="uint"/>
+    <field name="Y2AC QIndex Delta Sign" start="164" end="164" type="uint"/>
+    <field name="Y2DC QIndex Delta" start="160" end="163" type="uint"/>
+    <field name="Y1DC QIndex Delta Sign" start="196" end="196" type="uint"/>
+    <field name="Y1DC QIndex Delta" start="192" end="195" type="uint"/>
+    <field name="Clamp QIndex High" start="232" end="238" type="uint"/>
+    <field name="Clamp QIndex Low" start="224" end="230" type="uint"/>
+    <field name="Quantizer Value [1][UVAC]" start="272" end="280" type="uint"/>
+    <field name="Quantizer Value [1][UVDC]" start="256" end="264" type="uint"/>
+    <field name="Quantizer Value [1][Y2AC]" start="304" end="312" type="uint"/>
+    <field name="Quantizer Value [1][Y2DC]" start="288" end="296" type="uint"/>
+    <field name="Quantizer Value [2][Y1AC]" start="336" end="344" type="uint"/>
+    <field name="Quantizer Value [2][Y1DC]" start="320" end="328" type="uint"/>
+    <field name="Quantizer Value [2][UVAC]" start="368" end="376" type="uint"/>
+    <field name="Quantizer Value [2][UVDC]" start="352" end="360" type="uint"/>
+    <field name="Quantizer Value [2][Y2AC]" start="400" end="408" type="uint"/>
+    <field name="Quantizer Value [2][Y2DC]" start="384" end="392" type="uint"/>
+    <field name="Quantizer Value [3][Y1AC]" start="432" end="440" type="uint"/>
+    <field name="Quantizer Value [3][Y1DC]" start="416" end="424" type="uint"/>
+    <field name="Quantizer Value [3][UVAC]" start="464" end="472" type="uint"/>
+    <field name="Quantizer Value [3][UVDC]" start="448" end="456" type="uint"/>
+    <field name="Quantizer Value [3][Y2AC]" start="496" end="504" type="uint"/>
+    <field name="Quantizer Value [3][Y2DC]" start="480" end="488" type="uint"/>
+    <field name="CoeffProbability Stream-In - Address" start="518" end="559" type="uint"/>
+    <field name="CoeffProbability Stream-In - MOCS (Encoder only)" start="577" end="582" type="uint"/>
+    <field name="CoeffProbability Stream-In - Tiled Resource Mode" start="589" end="590" type="uint">
+      <value name="TRMODE_NONE" value="0"/>
+      <value name="TRMODE_TILEYF" value="1"/>
+      <value name="TRMODE_TILEYS" value="2"/>
+    </field>
+    <field name="CoeffProbability Stream-In - Memory Compression Mode" start="586" end="586" type="uint"/>
+    <field name="CoeffProbability Stream-In - Memory Compression Enable" start="585" end="585" type="bool"/>
+    <field name="CoeffProbability Stream-In - Arbitration Priority Control" start="583" end="584" type="uint">
+      <value name="Highest priority" value="0"/>
+      <value name="Second highest priority" value="1"/>
+      <value name="Third highest priority" value="2"/>
+      <value name="Lowest priority" value="3"/>
+    </field>
+    <field name="MBSegmentIDTreeProbs[2]" start="624" end="631" type="uint"/>
+    <field name="MBSegmentIDTreeProbs[1]" start="616" end="623" type="uint"/>
+    <field name="MBSegmentIDTreeProbs[0]" start="608" end="615" type="uint"/>
+    <field name="MBNoCoeffSkipFalseProb" start="664" end="671" type="uint"/>
+    <field name="IntraMBProb" start="656" end="663" type="uint"/>
+    <field name="InterPredFromLastRefProb" start="648" end="655" type="uint"/>
+    <field name="InterPredFromGRefRefProb" start="640" end="647" type="uint"/>
+    <field name="YModeProb[3]" start="696" end="703" type="uint"/>
+    <field name="YModeProb[2]" start="688" end="695" type="uint"/>
+    <field name="YModeProb[1]" start="680" end="687" type="uint"/>
+    <field name="YModeProb[0]" start="672" end="679" type="uint"/>
+    <field name="UVModeProb[2]" start="720" end="727" type="uint"/>
+    <field name="UVModeProb[1]" start="712" end="719" type="uint"/>
+    <field name="UVModeProb[0]" start="704" end="711" type="uint"/>
+    <field name="MVUpdateProbs[0][3]" start="760" end="767" type="uint"/>
+    <field name="MVUpdateProbs[0][2]" start="752" end="759" type="uint"/>
+    <field name="MVUpdateProbs[0][1]" start="744" end="751" type="uint"/>
+    <field name="MVUpdateProbs[0][0]" start="736" end="743" type="uint"/>
+    <field name="MVUpdateProbs[0][7]" start="792" end="799" type="uint"/>
+    <field name="MVUpdateProbs[0][6]" start="784" end="791" type="uint"/>
+    <field name="MVUpdateProbs[0][5]" start="776" end="783" type="uint"/>
+    <field name="MVUpdateProbs[0][4]" start="768" end="775" type="uint"/>
+    <field name="MVUpdateProbs[0][11]" start="824" end="831" type="uint"/>
+    <field name="MVUpdateProbs[0][10]" start="816" end="823" type="uint"/>
+    <field name="MVUpdateProbs[0][9]" start="808" end="815" type="uint"/>
+    <field name="MVUpdateProbs[0][8]" start="800" end="807" type="uint"/>
+    <field name="MVUpdateProbs[0][15]" start="856" end="863" type="uint"/>
+    <field name="MVUpdateProbs[0][14]" start="848" end="855" type="uint"/>
+    <field name="MVUpdateProbs[0][13]" start="840" end="847" type="uint"/>
+    <field name="MVUpdateProbs[0][12]" start="832" end="839" type="uint"/>
+    <field name="MVUpdateProbs[0][18]" start="880" end="887" type="uint"/>
+    <field name="MVUpdateProbs[0][17]" start="872" end="879" type="uint"/>
+    <field name="MVUpdateProbs[0][16]" start="864" end="871" type="uint"/>
+    <field name="MVUpdateProbs[1][3]" start="920" end="927" type="uint"/>
+    <field name="MVUpdateProbs[1][2]" start="912" end="919" type="uint"/>
+    <field name="MVUpdateProbs[1][1]" start="904" end="911" type="uint"/>
+    <field name="MVUpdateProbs[1][0]" start="896" end="903" type="uint"/>
+    <field name="MVUpdateProbs[1][7]" start="952" end="959" type="uint"/>
+    <field name="MVUpdateProbs[1][6]" start="944" end="951" type="uint"/>
+    <field name="MVUpdateProbs[1][5]" start="936" end="943" type="uint"/>
+    <field name="MVUpdateProbs[1][4]" start="928" end="935" type="uint"/>
+    <field name="MVUpdateProbs[1][11]" start="984" end="991" type="uint"/>
+    <field name="MVUpdateProbs[1][10]" start="976" end="983" type="uint"/>
+    <field name="MVUpdateProbs[1][9]" start="968" end="975" type="uint"/>
+    <field name="MVUpdateProbs[1][8]" start="960" end="967" type="uint"/>
+    <field name="MVUpdateProbs[1][15]" start="1016" end="1023" type="uint"/>
+    <field name="MVUpdateProbs[1][14]" start="1008" end="1015" type="uint"/>
+    <field name="MVUpdateProbs[1][13]" start="1000" end="1007" type="uint"/>
+    <field name="MVUpdateProbs[1][12]" start="992" end="999" type="uint"/>
+    <field name="MVUpdateProbs[1][18]" start="1040" end="1047" type="uint"/>
+    <field name="MVUpdateProbs[1][17]" start="1032" end="1039" type="uint"/>
+    <field name="MVUpdateProbs[1][16]" start="1024" end="1031" type="uint"/>
+    <field name="RefLFDelta3" start="1080" end="1086" type="int"/>
+    <field name="RefLFDelta2" start="1072" end="1078" type="int"/>
+    <field name="RefLFDelta1" start="1064" end="1070" type="int"/>
+    <field name="RefLFDelta0" start="1056" end="1062" type="int"/>
+    <field name="ModeLFDelta3" start="1112" end="1118" type="int"/>
+    <field name="ModeLFDelta2" start="1104" end="1110" type="int"/>
+    <field name="ModeLFDelta1" start="1096" end="1102" type="int"/>
+    <field name="ModeLFDelta0" start="1088" end="1094" type="int"/>
+    <field name="Segmentation ID Stream - Address" start="1120" end="1167" type="uint"/>
+    <field name="Segmentation ID Stream - Tiled Resource Mode" start="1197" end="1198" type="uint">
+      <value name="TRMODE_NONE" value="0"/>
+      <value name="TRMODE_TILEYF" value="1"/>
+      <value name="TRMODE_TILEYS" value="2"/>
+    </field>
+    <field name="Segmentation ID Stream - Memory Compression Mode" start="1194" end="1194" type="uint"/>
+    <field name="Segmentation ID Stream - Memory Compression Enable" start="1193" end="1193" type="bool"/>
+    <field name="Segmentation ID Stream - Arbitration Priority Control" start="1191" end="1192" type="uint">
+      <value name="Highest priority" value="0"/>
+      <value name="Second highest priority" value="1"/>
+      <value name="Third highest priority" value="2"/>
+      <value name="Lowest priority" value="3"/>
+    </field>
+    <field name="CoeffProbability Stream-In - MOCS" start="1185" end="1190" type="uint"/>
+  </instruction>
+
+  <instruction name="MFX_WAIT" bias="1" length="1" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Command Subtype" start="27" end="28" type="uint" default="1"/>
+    <field name="SubOpcode" start="16" end="26" type="uint" default="0"/>
+    <field name="MFX Sync Control Flag" start="8" end="8" type="uint"/>
+    <field name="DWord Length" start="0" end="5" type="uint" default="0"/>
+  </instruction>
+
   <instruction name="MI_ARB_CHECK" bias="1" length="1">
     <field name="Command Type" start="29" end="31" type="uint" default="0"/>
     <field name="MI Command Opcode" start="23" end="28" type="uint" default="5"/>
     <field name="Left Eye Display Buffer Base Address" start="108" end="127" type="address"/>
   </instruction>
 
+  <instruction name="MI_FLUSH_DW" bias="2" length="5" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="0"/>
+    <field name="MI Command Opcode" start="23" end="28" type="uint" default="38"/>
+    <field name="Store Data Index" start="21" end="21" type="uint"/>
+    <field name="TLB Invalidate" start="18" end="18" type="bool"/>
+    <field name="Post-Sync Operation" start="14" end="15" type="uint"/>
+    <field name="Flush LLC" start="9" end="9" type="bool"/>
+    <field name="Notify Enable" start="8" end="8" type="bool"/>
+    <field name="Video Pipeline Cache Invalidate" start="7" end="7" type="bool"/>
+    <field name="DWord Length" start="0" end="5" type="uint"/>
+    <field name="Address" start="35" end="79" type="address"/>
+    <field name="Destination Address Type" start="34" end="34" type="uint" prefix="DAT">
+      <value name="PPGTT" value="0"/>
+      <value name="GGTT" value="1"/>
+    </field>
+    <field name="Immediate Data" start="96" end="159" type="uint"/>
+  </instruction>
+
   <instruction name="MI_FORCE_WAKEUP" bias="2" length="2">
     <field name="Command Type" start="29" end="31" type="uint" default="0"/>
     <field name="MI Command Opcode" start="23" end="28" type="uint" default="29"/>
     <field name="Immediate Data" start="128" end="191" type="uint"/>
   </instruction>
 
+  <instruction name="SFC_AVS_CHROMA_COEFF_TABLE" bias="2" length="65" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="10"/>
+    <field name="SubOpcode A" start="21" end="22" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="6"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="63"/>
+    <field name="AVS CHROMA Coefficient Table Body" start="32" end="2079" type="SFC_AVS_CHROMA_COEFF_TABLE_BODY"/>
+  </instruction>
+
+  <instruction name="SFC_AVS_LUMA_COEFF_TABLE" bias="2" length="129" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="10"/>
+    <field name="SubOpcode A" start="21" end="22" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="5"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="127"/>
+    <field name="AVS LUMA Coefficient Table Body" start="32" end="4255" type="SFC_AVS_LUMA_COEFF_TABLE_BODY"/>
+  </instruction>
+
+  <instruction name="SFC_AVS_STATE" bias="2" length="3" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="10"/>
+    <field name="SubOpcode A" start="21" end="22" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="2"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="1"/>
+    <field name="AVS State Body" start="32" end="1567" type="SFC_AVS_STATE_BODY"/>
+  </instruction>
+
+  <instruction name="SFC_FRAME_START" bias="2" length="2" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="10"/>
+    <field name="SubOpcode A" start="21" end="22" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="4"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="0"/>
+    <field name="Frame Start Body" start="32" end="63" type="uint"/>
+  </instruction>
+
+  <instruction name="SFC_IEF_STATE" bias="2" length="24" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="10"/>
+    <field name="SubOpcode A" start="21" end="22" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="3"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="22"/>
+    <field name="SFC IEF State Body" start="32" end="767" type="SFC_IEF_STATE_BODY"/>
+  </instruction>
+
+  <instruction name="SFC_LOCK" bias="2" length="2" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="10"/>
+    <field name="SubOpcode A" start="21" end="22" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="0"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="0"/>
+    <field name="SFC Lock Body" start="32" end="63" type="SFC_LOCK_BODY"/>
+  </instruction>
+
+  <instruction name="SFC_STATE" bias="2" length="32" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="10"/>
+    <field name="SubOpcode A" start="21" end="22" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="1"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="30"/>
+    <field name="VD/VE Input Ordering Mode" start="40" end="42" type="uint"/>
+    <field name="SFC Input Chroma Sub-Sampling" start="36" end="39" type="uint">
+      <value name="4:0:0" value="0"/>
+      <value name="4:2:0" value="1"/>
+      <value name="4:2:2 Horizonatal" value="2"/>
+      <value name="4:4:4 Progressive/Interleaved" value="4"/>
+    </field>
+    <field name="SFC Pipe Mode" start="32" end="35" type="uint"/>
+    <field name="Input Frame Resolution Height" start="80" end="91" type="uint"/>
+    <field name="Input Frame Resolution Width" start="64" end="75" type="uint"/>
+    <field name="Pre-AVS Chroma Downsampling Co-siting Position Horizontal Direction" start="108" end="110" type="uint"/>
+    <field name="Pre-AVS Chroma Downsampling Co-siting Position Vertical Direction" start="104" end="106" type="uint"/>
+    <field name="Pre-AVS Chroma Downsampling Enable" start="102" end="103" type="uint"/>
+    <field name="RGBA Channel Swap Enable" start="101" end="101" type="bool"/>
+    <field name="Output Surface Format Type" start="96" end="99" type="uint"/>
+    <field name="CSC Enable" start="147" end="147" type="bool"/>
+    <field name="Color Fill Enable" start="146" end="146" type="bool"/>
+    <field name="Rotation Mode" start="144" end="145" type="uint">
+      <value name="0" value="0"/>
+      <value name="90 CW" value="1"/>
+      <value name="180 CW" value="2"/>
+      <value name="270 CW" value="3"/>
+    </field>
+    <field name="Chroma Upsampling Enable" start="140" end="140" type="bool"/>
+    <field name="Bypass X Adaptive Filtering" start="137" end="137" type="bool"/>
+    <field name="Bypass Y Adaptive Filtering" start="136" end="136" type="bool"/>
+    <field name="AVS Scaling Enable" start="135" end="135" type="bool"/>
+    <field name="Adaptive Filter for all Channels" start="134" end="134" type="bool"/>
+    <field name="AVS Filter Mode" start="132" end="133" type="uint">
+      <value name="5x5 Poly-phase filter + Bilinear" value="0"/>
+      <value name="8x8 poly-phase filter + Bilinear" value="1"/>
+      <value name="Bilinear filter only" value="2"/>
+    </field>
+    <field name="IEF4 Smooth Enable" start="130" end="130" type="bool"/>
+    <field name="Skin Tone Tuned IEF_Enable" start="129" end="129" type="bool"/>
+    <field name="IEF Enable" start="128" end="128" type="bool"/>
+    <field name="Source Region Height" start="176" end="187" type="uint"/>
+    <field name="Source Region Width" start="160" end="171" type="uint"/>
+    <field name="Source Region Vertical Offset" start="208" end="219" type="uint"/>
+    <field name="Source Region Horizontal Offset" start="192" end="203" type="uint"/>
+    <field name="Output Frame Height" start="240" end="251" type="uint"/>
+    <field name="Output Frame Width" start="224" end="235" type="uint"/>
+    <field name="Scaled Region Size Height" start="272" end="283" type="uint"/>
+    <field name="Scaled Region Size Width" start="256" end="267" type="uint"/>
+    <field name="Scaled Region Vertical Offset" start="304" end="316" type="int"/>
+    <field name="Scaled Region Horizontal Offset" start="288" end="300" type="int"/>
+    <field name="Gray Bar Pixel - Y/R" start="336" end="345" type="uint"/>
+    <field name="Gray Bar Pixel - U/G" start="320" end="329" type="uint"/>
+    <field name="Gray Bar Pixel - V/B" start="368" end="377" type="uint"/>
+    <field name="Gray Bar Pixel - A" start="352" end="361" type="uint"/>
+    <field name="UV Default value for V channel" start="400" end="409" type="uint"/>
+    <field name="UV Default value for U channel" start="384" end="393" type="uint"/>
+    <field name="Alpha Default Value" start="416" end="425" type="uint"/>
+    <field name="Scaling Factor Height" start="448" end="468" type="u4.17"/>
+    <field name="Scaling Factor Width" start="480" end="500" type="u4.17"/>
+    <field name="Output Frame - Address" start="556" end="591" type="uint"/>
+    <field name="Output Frame - Tiled Mode" start="621" end="622" type="uint">
+      <value name="TRMODE_NONE" value="0"/>
+      <value name="TRMODE_TILEYF" value="1"/>
+      <value name="TRMODE_TILEYS" value="2"/>
+    </field>
+    <field name="Output Frame - Cache Select" start="620" end="620" type="bool"/>
+    <field name="Output Frame - Memory Compression Mode" start="618" end="618" type="uint"/>
+    <field name="Output Frame - Memory Compression Enable" start="617" end="617" type="bool"/>
+    <field name="Output Frame - Arbitration Priority Control" start="615" end="616" type="HEVC_ARBITRATION_PRIORITY"/>
+    <field name="Output Frame - MOCS" start="609" end="614" type="uint"/>
+    <field name="AVS Line Buffer - Address" start="652" end="687" type="uint"/>
+    <field name="AVS Line Buffer - Tiled Mode" start="717" end="718" type="uint">
+      <value name="TRMODE_NONE" value="0"/>
+      <value name="TRMODE_TILEYF" value="1"/>
+      <value name="TRMODE_TILEYS" value="2"/>
+    </field>
+    <field name="AVS Line Buffer - Cache Select" start="716" end="716" type="uint">
+      <value name="LLC" value="0"/>
+    </field>
+    <field name="AVS Line Buffer - Memory Compression Mode" start="714" end="714" type="uint">
+      <value name="Horizontal Compression Mode" value="0"/>
+    </field>
+    <field name="AVS Line Buffer - Memory Compression Enable" start="713" end="713" type="bool"/>
+    <field name="AVS Line Buffer - Arbitration Priority Control" start="711" end="712" type="HEVC_ARBITRATION_PRIORITY"/>
+    <field name="AVS Line Buffer - MOCS" start="705" end="710" type="uint"/>
+    <field name="IEF Line Buffer - Address" start="748" end="783" type="uint"/>
+    <field name="IEF Line Buffer - Tiled Mode" start="813" end="814" type="uint">
+      <value name="TRMODE_NONE" value="0"/>
+      <value name="TRMODE_TILEYF" value="1"/>
+      <value name="TRMODE_TILEYS" value="2"/>
+    </field>
+    <field name="IEF Line Buffer - Cache Select" start="812" end="812" type="uint"/>
+    <field name="IEF Line Buffer - Memory Compression Mode" start="810" end="810" type="uint"/>
+    <field name="IEF Line Buffer - Memory Compression Enable" start="809" end="809" type="bool"/>
+    <field name="IEF Line Buffer - Arbitration Priority Control" start="807" end="808" type="HEVC_ARBITRATION_PRIORITY"/>
+    <field name="IEF Line Buffer - MOCS" start="801" end="806" type="uint"/>
+    <field name="Output Surface Format" start="956" end="959" type="uint"/>
+    <field name="Output Surface Interleave Chroma Enable" start="955" end="955" type="bool"/>
+    <field name="Output Surface Pitch" start="931" end="947" type="uint"/>
+    <field name="Output Surface Half Pitch for Chroma" start="930" end="930" type="bool"/>
+    <field name="Output Surface Tiled" start="929" end="929" type="bool"/>
+    <field name="Output Surface Tile Walk" start="928" end="928" type="uint" prefix="TW">
+      <value name="XMAJOR" value="0"/>
+      <value name="YMAJOR" value="1"/>
+    </field>
+    <field name="Output Surface X Offset for U" start="976" end="989" type="uint"/>
+    <field name="Output Surface Y Offset for U" start="960" end="973" type="uint"/>
+    <field name="Output Surface X Offset for V" start="1008" end="1021" type="uint"/>
+    <field name="Output Surface Y Offset for V" start="992" end="1005" type="uint"/>
+  </instruction>
+
   <instruction name="STATE_BASE_ADDRESS" bias="2" length="19" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="System Instruction Pointer" start="36" end="95" type="offset"/>
   </instruction>
 
+  <instruction name="VDENC_CONST_QPT_STATE" bias="2" length="62" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="1"/>
+    <field name="SubOpcode A" start="21" end="22" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="6"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="60"/>
+    <field name="QP Lambda Array Index[n]" start="32" end="39" type="uint"/>
+    <field name="Skip Threshold Array Index[n]" start="384" end="399" type="uint"/>
+    <field name="SIC Forward Transform Coeff Threshold Matrix0 Array Index[n]" start="832" end="847" type="uint"/>
+    <field name="SIC Forward Transform Coeff Threshold Matrix1/3/5 Array Index[n]" start="1280" end="1287" type="uint"/>
+    <field name="SIC Forward Transform Coeff Threshold Matrix2 Array Index[n]" start="1504" end="1511" type="uint"/>
+    <field name="SIC Forward Transform Coeff Threshold Matrix4/6 Array Index[n]" start="1728" end="1735" type="uint"/>
+  </instruction>
+
+  <instruction name="VDENC_DS_REF_SURFACE_STATE" bias="2" length="6" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="1"/>
+    <field name="SubOpcode A" start="21" end="22" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="3"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="4"/>
+    <field name="8X Surface State" start="64" end="191" type="VDENC_SURFACE_STATE_FIELDS"/>
+  </instruction>
+
+  <instruction name="VDENC_IMG_STATE" bias="2" length="36" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="1"/>
+    <field name="SubOpcode A" start="21" end="22" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="5"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="34"/>
+    <field name="Lambda Value for Trellis" start="48" end="63" type="uint"/>
+    <field name="VDEnc L1 Cache Priority" start="40" end="41" type="uint"/>
+    <field name="Transform 8x8" start="39" end="39" type="bool"/>
+    <field name="VDEnc Extended PAK_OBJ_ Command Enable" start="38" end="38" type="bool"/>
+    <field name="Bidirectional Mix Disable" start="34" end="34" type="bool"/>
+    <field name="Unidirectional Mix Disable" start="92" end="92" type="bool"/>
+    <field name="Picture Width" start="112" end="127" type="uint"/>
+    <field name="Block-Based Skip Type" start="159" end="159" type="uint"/>
+    <field name="Sub-MB Sub-Partition Mask" start="152" end="158" type="uint"/>
+    <field name="Intra SAD Measure Adjustment" start="150" end="151" type="uint">
+      <value name="None" value="0"/>
+      <value name="Haar Transform Adjusted" value="2"/>
+    </field>
+    <field name="Inter SAD Measure Adjustment" start="148" end="149" type="uint">
+      <value name="None" value="0"/>
+      <value name="Haar Transform Adjusted" value="2"/>
+    </field>
+    <field name="Block-Based Skip Enable" start="147" end="147" type="bool"/>
+    <field name="Forward Transform Skip Check Enable" start="145" end="145" type="bool"/>
+    <field name="Sub-Pel Mode" start="140" end="141" type="uint"/>
+    <field name="Picture Type" start="189" end="190" type="uint">
+      <value name="I" value="0"/>
+      <value name="P" value="1"/>
+    </field>
+    <field name="Constrained Intra Prediction" start="186" end="186" type="bool"/>
+    <field name="MB Slice Threshold Value" start="178" end="181" type="uint"/>
+    <field name="HME Ref1 Disable" start="177" end="177" type="bool"/>
+    <field name="CRE Prefetch Enable" start="176" end="176" type="bool"/>
+    <field name="Picture Height" start="160" end="175" type="uint"/>
+    <field name="Slice MB Height" start="192" end="207" type="uint"/>
+    <field name="HME1 Y Offset" start="248" end="255" type="int"/>
+    <field name="RefID Cost Mode Select" start="278" end="278" type="uint"/>
+    <field name="BiLinear Filter Enable" start="274" end="274" type="bool"/>
+    <field name="MV Cost Scaling Factor" start="272" end="273" type="uint">
+      <value name="Qpel" value="0"/>
+      <value name="Hpel" value="1"/>
+      <value name="Pel" value="2"/>
+      <value name="2pel" value="3"/>
+    </field>
+    <field name="Non Skip MB Mode Cost Added" start="262" end="262" type="uint"/>
+    <field name="Non Skip Zero MV Cost Added" start="261" end="261" type="uint"/>
+    <field name="Luma Intra Partition Mask" start="256" end="260" type="uint"/>
+    <field name="Mode 3 Cost" start="312" end="319" type="uint"/>
+    <field name="Mode 2 Cost" start="304" end="311" type="uint"/>
+    <field name="Mode 1 Cost" start="296" end="303" type="uint"/>
+    <field name="Mode 0 Cost" start="288" end="295" type="uint"/>
+    <field name="Mode 7 Cost" start="344" end="351" type="uint"/>
+    <field name="Mode 6 Cost" start="336" end="343" type="uint"/>
+    <field name="Mode 5 Cost" start="328" end="335" type="uint"/>
+    <field name="Mode 4 Cost" start="320" end="327" type="uint"/>
+    <field name="Chroma Intra Mode Cost" start="376" end="383" type="uint"/>
+    <field name="RefID Cost" start="368" end="375" type="uint"/>
+    <field name="Mode 9 Cost" start="360" end="367" type="uint"/>
+    <field name="Mode 8 Cost" start="352" end="359" type="uint"/>
+    <field name="MV Cost" start="384" end="447" type="uint"/>
+    <field name="TargetSizeInWord" start="472" end="479" type="uint"/>
+    <field name="QpPrimeY" start="448" end="455" type="uint"/>
+    <field name="AVC Intra 8x8 Mode Mask" start="560" end="568" type="uint"/>
+    <field name="AVC Intra 4x4 Mode Mask" start="544" end="552" type="uint"/>
+    <field name="Intra Compute Type" start="584" end="585" type="uint"/>
+    <field name="AVC Intra Chroma Mode Mask" start="580" end="583" type="uint"/>
+    <field name="AVC Intra 16x16 Mode Mask" start="576" end="579" type="uint"/>
+    <field name="Penalty for Intra 4x4 Non-DC Prediction" start="656" end="663" type="uint"/>
+    <field name="Penalty for Intra 8x8 Non-DC Prediction" start="648" end="655" type="uint"/>
+    <field name="Penalty for Intra 16x16 Non-DC Prediction" start="640" end="647" type="uint"/>
+    <field name="QP Adjustment for Rolling-I" start="696" end="703" type="int"/>
+    <field name="Intra Refresh Mode" start="689" end="689" type="uint">
+      <value name="Row Based" value="0"/>
+      <value name="Column Based" value="1"/>
+    </field>
+    <field name="Intra Refresh Enable (Rolling-I Enable)" start="688" end="688" type="bool"/>
+    <field name="Intra Refresh MB Size" start="680" end="687" type="uint"/>
+    <field name="Intra Refresh MB Position" start="672" end="679" type="uint"/>
+    <field name="LargeMbSizeInWord" start="728" end="735" type="uint"/>
+    <field name="SmallMbSizeInWord" start="720" end="727" type="uint"/>
+    <field name="PanicModeMBThreshold" start="704" end="719" type="uint"/>
+    <field name="L1 Number of References" start="752" end="759" type="int"/>
+    <field name="L0 Number of References" start="736" end="743" type="int"/>
+    <field name="HME Ref Windows Combining Threshold" start="840" end="847" type="uint"/>
+    <field name="Max Vertical MV Range" start="880" end="895" type="uint"/>
+    <field name="Max Horizontal MV Range" start="864" end="879" type="uint"/>
+    <field name="HME MV Cost" start="896" end="959" type="uint"/>
+    <field name="QP Adjustment for Shape Best Intra 16x16 Winner" start="984" end="987" type="int"/>
+    <field name="QP Adjustment for Shape Best Intra 8x8 Winner" start="980" end="983" type="int"/>
+    <field name="QP Adjustment for Shape Best Intra 4x4 Winner" start="976" end="979" type="int"/>
+    <field name="ROI QP Adjustment for Zone3" start="972" end="975" type="int"/>
+    <field name="ROI QP Adjustment for Zone2" start="968" end="971" type="int"/>
+    <field name="ROI QP Adjustment for Zone1" start="964" end="967" type="int"/>
+    <field name="ROI QP Adjustment for Zone0" start="960" end="963" type="int"/>
+    <field name="Sad/Haar Threshold 0" start="1008" end="1023" type="uint"/>
+    <field name="Best Distortion QP Adjustment for Zone3" start="1004" end="1007" type="int"/>
+    <field name="Best Distortion QP Adjustment for Zone2" start="1000" end="1003" type="int"/>
+    <field name="Best Distortion QP Adjustment for Zone1" start="996" end="999" type="int"/>
+    <field name="Best Distortion QP Adjustment for Zone0" start="992" end="995" type="int"/>
+    <field name="Sad/Haar Threshold 2" start="1040" end="1055" type="uint"/>
+    <field name="Sad/Haar Threshold 1" start="1024" end="1039" type="uint"/>
+    <field name="Max Delta QP" start="1080" end="1083" type="uint"/>
+    <field name="Max QP" start="1064" end="1071" type="uint"/>
+    <field name="Min QP" start="1056" end="1063" type="uint"/>
+    <field name="Midpoint Sad/Haar" start="1104" end="1119" type="uint"/>
+    <field name="Long Term Reference Frame Fwd Ref0 Indicator" start="1101" end="1101" type="bool"/>
+    <field name="Long Term Reference Frame Fwd Ref1 Indicator" start="1100" end="1100" type="bool"/>
+    <field name="Long Term Reference Frame Fwd Ref2 Indicator" start="1099" end="1099" type="bool"/>
+    <field name="Long Term Reference Frame Bwd Ref0 Indicator" start="1098" end="1098" type="bool"/>
+    <field name="Coefficient Clamp Enable" start="1097" end="1097" type="bool"/>
+    <field name="PPMV Disable" start="1096" end="1096" type="bool"/>
+    <field name="TargetSizeinWordsMB/MaxSizeinWordsMB Enable" start="1092" end="1092" type="bool"/>
+    <field name="MB Level QP Enable" start="1091" end="1091" type="bool"/>
+    <field name="Bwd/Predictor1 MV Enable" start="1090" end="1090" type="bool"/>
+    <field name="Fwd/Predictor0 MV Enable" start="1089" end="1089" type="bool"/>
+    <field name="ROI Enable" start="1088" end="1088" type="bool"/>
+  </instruction>
+
+  <instruction name="VDENC_PIPE_BUF_ADDR_STATE" bias="2" length="38" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="1"/>
+    <field name="SubOpcode A" start="21" end="22" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="4"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="36"/>
+
+    <field name="DS FWD REF0" start="32" end="127" type="VDENC_PICTURE"/>
+    <field name="DS FWD REF1" start="128" end="223" type="VDENC_PICTURE"/>
+    <field name="Original Uncompressed Picture" start="320" end="415" type="VDENC_PICTURE"/>
+    <field name="Stream-In Data Picture" start="416" end="511" type="VDENC_PICTURE"/>
+    <field name="Row Store Scratch Buffer" start="512" end="607" type="VDENC_PICTURE"/>
+    <field name="Colocated MV Read Buffer" start="608" end="703" type="VDENC_PICTURE"/>
+    <field name="FWD REF0" start="704" end="799" type="VDENC_PICTURE"/>
+    <field name="FWD REF1" start="800" end="895" type="VDENC_PICTURE"/>
+    <field name="FWD REF2" start="896" end="991" type="VDENC_PICTURE"/>
+    <field name="BWD REF0" start="992" end="1087" type="VDENC_PICTURE"/>
+    <field name="VDEnc Statistics Stream-Out" start="1088" end="1183" type="VDENC_PICTURE"/>
+  </instruction>
+
+  <instruction name="VDENC_PIPE_MODE_SELECT" bias="2" length="2" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="1"/>
+    <field name="SubOpcode A" start="21" end="22" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="0"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="0"/>
+    <field name="Output Range Control After Color Space Conversion" start="49" end="49" type="bool"/>
+    <field name="PAK Chroma Sub-Sampling Type" start="47" end="48" type="uint">
+      <value name="4:2:0" value="1"/>
+      <value name="4:4:4" value="3"/>
+    </field>
+    <field name="VDEnc Stream-In Enable" start="41" end="41" type="bool"/>
+    <field name="PAK Threshold Check Enable" start="40" end="40" type="bool"/>
+    <field name="TLB Prefetch Enable" start="39" end="39" type="bool"/>
+    <field name="Frame Statistics Stream-Out Enable" start="37" end="37" type="bool"/>
+    <field name="Standard Select" start="32" end="35" type="uint">
+      <value name="AVC" value="2"/>
+    </field>
+  </instruction>
+
+  <instruction name="VDENC_REF_SURFACE_STATE" bias="2" length="6" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="1"/>
+    <field name="SubOpcode A" start="21" end="22" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="2"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="4"/>
+    <field name="Surface State" start="64" end="191" type="VDENC_SURFACE_STATE_FIELDS"/>
+  </instruction>
+
+  <instruction name="VDENC_SRC_SURFACE_STATE" bias="2" length="6" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="1"/>
+    <field name="SubOpcode A" start="21" end="22" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="1"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="4"/>
+    <field name="Surface State" start="64" end="191" type="VDENC_SURFACE_STATE_FIELDS"/>
+  </instruction>
+
+  <instruction name="VDENC_WALKER_STATE" bias="2" length="2" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="1"/>
+    <field name="SubOpcode A" start="21" end="22" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="7"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="0"/>
+    <field name="First Super Slice" start="60" end="60" type="bool"/>
+    <field name="MB/LCU Start X Position" start="48" end="56" type="uint"/>
+    <field name="MB/LCU Start Y Position" start="32" end="40" type="uint"/>
+    <field name="Tile Stream-In Offset" start="198" end="223" type="uint"/>
+    <field name="Tile Stream-In Offset Enable" start="192" end="192" type="bool"/>
+    <field name="Tile Row Store Offset" start="230" end="255" type="uint"/>
+    <field name="Tile Row Store Offset Enable" start="224" end="224" type="bool"/>
+    <field name="Tile Stream-Out Offset" start="262" end="287" type="uint"/>
+    <field name="Tile Stream-Out Offset Enable" start="256" end="256" type="bool"/>
+    <field name="Tile LCU Stream-Out Offset" start="294" end="319" type="uint"/>
+    <field name="Tile LCU Stream-Out Offset Enable" start="288" end="288" type="bool"/>
+  </instruction>
+
+  <instruction name="VD_PIPELINE_FLUSH" bias="2" length="2" engine="video">
+    <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+    <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+    <field name="Media Command Opcode" start="23" end="26" type="uint" default="15"/>
+    <field name="SubOpcode A" start="21" end="22" type="uint" default="0"/>
+    <field name="SubOpcode B" start="16" end="20" type="uint" default="0"/>
+    <field name="DWord Length" start="0" end="11" type="uint" default="0"/>
+    <field name="MFX Pipeline Command Flush" start="51" end="51" type="bool"/>
+    <field name="VD-ENC Pipeline Command Flush" start="49" end="49" type="bool"/>
+    <field name="HEVC Pipeline Command Flush" start="48" end="48" type="bool"/>
+    <field name="VD Command/Message Parser Done" start="36" end="36" type="bool"/>
+    <field name="MFX Pipeline Done" start="35" end="35" type="bool"/>
+    <field name="VD-ENC Pipeline Done" start="33" end="33" type="bool"/>
+    <field name="HEVC Pipeline Done" start="32" end="32" type="bool"/>
+  </instruction>
+
   <register name="IA_VERTICES_COUNT" length="2" num="0x2310">
     <field name="IA Vertices Count Report" start="0" end="63" type="uint"/>
   </register>