intel/genxml: Media instructions and structures for gen7.5
authorToni Lönnberg <toni.lonnberg@intel.com>
Wed, 16 Jan 2019 11:54:02 +0000 (13:54 +0200)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 28 Mar 2019 04:26:30 +0000 (04:26 +0000)
v2: Fixed MI_WAIT_FOR_EVENT to be for video also

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

index 95b306139eb0cb9368425694c4e49b4b6a99248c..109e8af9a6506a1cef69d82ece11546758e98a9f 100644 (file)
     </field>
   </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="uint"/>
+    <field name="Intra PredMode (4x4/8x8 Luma) Error Control" start="29" end="29" type="bool"/>
+    <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>
+
   <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="Scoreboard 4 Delta X" start="224" end="227" 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>
+  </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="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="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="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="Inter MB Force CBP to Zero Control" start="172" end="172" type="bool"/>
+    <field name="Minimum Frame Size Units" start="170" end="171" type="uint">
+      <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"/>
+  </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">
+      <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="63" type="uint"/>
+    <field name="BSD/MPC Row Store Scratch Buffer - Arbitration Priority Control" start="36" end="37" 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="BSD/MPC Row Store Scratch Buffer - MOCS" start="32" end="35" type="uint"/>
+    <field name="MPR Row Store Scratch Buffer - Address" start="134" end="159" type="uint"/>
+    <field name="MPR Row Store Scratch Buffer - Arbitration Priority Control" start="132" end="133" 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="MPR Row Store Scratch Buffer - MOCS" start="128" end="131" type="uint"/>
+    <field name="Bitplane Read Buffer - Address" start="230" end="255" type="uint"/>
+    <field name="Bitplane Read Buffer - Arbitration Priority Control" start="228" end="229" 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="Bitplane Read Buffer - MOCS" start="224" end="227" type="uint"/>
+  </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="63" type="address"/>
+    <field name="Pre Deblocking Source - Arbitration Priority Control" start="36" end="37" 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="32" end="35" type="uint"/>
+    <field name="Deblocking Control - Address" start="134" end="159" type="address"/>
+    <field name="Deblocking Control - Arbitration Priority Control" start="132" end="133" 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="128" end="131" type="uint"/>
+    <field name="Deblocking Destination - Address" start="230" end="255" type="address"/>
+    <field name="Deblocking Destination - Arbitration Priority Control" start="228" end="229" 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="224" end="227" type="uint"/>
+    <field name="Deblock Row Store - Address" start="326" end="351" type="address"/>
+    <field name="Deblock Row Store - Arbitration Priority Control" start="324" end="325" 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="Deblock Row Store - MOCS" start="320" end="323" 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="Forward Quantizer Matrix" start="64" end="1087" type="uint"/>
+  </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="44" end="63" type="address"/>
+    <field name="MFX Indirect Bitstream Object - Arbitration Priority Control" start="36" end="37" 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="MFX Indirect Bitstream Object - MOCS" start="32" end="35" type="uint"/>
+    <field name="MFX Indirect Bitstream Object - Access Upper Bound" start="140" end="159" type="address"/>
+    <field name="MFX Indirect MV Object - Address" start="204" end="223" type="address"/>
+    <field name="MFX Indirect MV Object - Arbitration Priority Control" start="196" end="197" 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="MFX Indirect MV Object - MOCS" start="192" end="195" type="uint"/>
+    <field name="MFX Indirect MV Object - Access Upper Bound" start="300" end="319" type="address"/>
+    <field name="MFD Indirect IT-COEFF Object - Address" start="364" end="383" type="address"/>
+    <field name="MFD Indirect IT-COEFF Object - Arbitration Priority Control" start="356" end="357" 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="MFD Indirect IT-COEFF Object - MOCS" start="352" end="355" type="uint"/>
+    <field name="MFD Indirect IT-COEFF Object - Access Upper Bound" start="460" end="479" type="address"/>
+    <field name="MFD Indirect IT-DBLK Object - Address" start="524" end="543" type="address"/>
+    <field name="MFD Indirect IT-DBLK Object - Arbitration Priority Control" start="516" end="517" 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="MFD Indirect IT-DBLK Object - MOCS" start="512" end="515" type="uint"/>
+    <field name="MFD Indirect IT-DBLK Object - Access Upper Bound" start="620" end="639" type="address"/>
+    <field name="MFC Indirect PAK-BSE Object - Address" start="684" end="703" type="address"/>
+    <field name="MFC Indirect PAK-BSE Object - Arbitration Priority Control" start="676" end="677" 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="MFC Indirect PAK-BSE Object - MOCS" start="672" end="675" type="uint"/>
+  </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="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="Frame Height In Blocks" start="80" end="92" type="uint"/>
+    <field name="Frame Width In Blocks" start="64" end="76" 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">
+      <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_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="61" 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="59"/>
+    <field name="Pre Deblocking Destination - Address" start="38" end="63" type="address"/>
+    <field name="Pre Deblocking Destination - Arbitration Priority Control" start="36" end="37" 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 Destination - MOCS" start="32" end="35" type="uint"/>
+    <field name="Post Deblocking Destination - Address" start="134" end="159" type="address"/>
+    <field name="Post Deblocking Destination - Arbitration Priority Control" start="132" end="133" 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="Post Deblocking Destination - MOCS" start="128" end="131" type="uint"/>
+    <field name="Original Uncompressed Picture Source - Address" start="230" end="255" type="address"/>
+    <field name="Original Uncompressed Picture Source - Arbitration Priority Control" start="228" end="229" 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="Original Uncompressed Picture Source - MOCS" start="224" end="227" type="uint"/>
+    <field name="Stream-Out Data Destination - Address" start="326" end="351" type="address"/>
+    <field name="Stream-Out Data Destination - Arbitration Priority Control" start="324" end="325" 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="Stream-Out Data Destination - MOCS" start="320" end="323" type="uint"/>
+    <field name="Intra Row Store Scratch Buffer - Address" start="422" end="447" type="address"/>
+    <field name="Intra Row Store Scratch Buffer - Arbitration Priority Control" start="420" end="421" 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="Intra Row Store Scratch Buffer - MOCS" start="416" end="419" type="uint"/>
+    <field name="Deblocking Filter Row Store Scratch - Address" start="518" end="543" type="address"/>
+    <field name="Deblocking Filter Row Store Scratch - Arbitration Priority Control" start="516" end="517" 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 Filter Row Store Scratch - MOCS" start="512" end="515" type="uint"/>
+    <group count="16" start="608" size="64">
+      <field name="Reference Picture - Address" start="0" end="63" type="address"/>
+    </group>
+    <field name="MB Status Buffer - Address" start="1670" end="1695" type="address"/>
+    <field name="MB Status Buffer - Arbitration Priority Control" start="1668" end="1669" 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="MB Status Buffer - MOCS" start="1664" end="1667" type="uint"/>
+    <field name="MB ILDB Stream-Out Buffer - Address" start="1766" end="1791" type="address"/>
+    <field name="MB ILDB Stream-Out Buffer - Arbitration Priority Control" start="1764" end="1765" 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="MB ILDB Stream-Out Buffer - MOCS" start="1760" end="1763" type="uint"/>
+    <field name="Second MB ILDB Stream-Out Buffer - Address" start="1862" end="1887" type="address"/>
+    <field name="Second MB ILDB Stream-Out Buffer - Arbitration Priority Control" start="1860" end="1861" 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>
+  </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="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="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"/>
+    </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="Forward Quantizer Matrix" start="64" end="1087" type="uint"/>
+  </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="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="uint"/>
+    <field name="Surface Format" start="124" end="127" type="uint">
+      <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="38" end="63" type="address"/>
+    <field name="Direct MV Write Buffer - Arbitration Priority Control" start="36" end="37" 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="Direct MV Write Buffer - MOCS" start="32" end="35" type="uint"/>
+    <field name="Direct MV Read Buffer - Address" start="134" end="159" type="address"/>
+    <field name="Direct MV Read Buffer - Arbitration Priority Control" start="132" end="133" 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="Direct MV Read Buffer - MOCS" start="128" end="131" type="uint"/>
+  </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_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>
   </instruction>
 
+  <instruction name="MI_FLUSH_DW" bias="2" length="4" 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="bool"/>
+    <field name="TLB Invalidate" start="18" end="18" type="bool"/>
+    <field name="Synchronize GFDT Surface" start="17" end="17" type="bool"/>
+    <field name="Post-Sync Operation" start="14" end="15" type="uint"/>
+    <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="63" 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>
+    <group count="2" start="64" size="32">
+      <field name="Immediate Data" start="0" end="31" type="uint"/>
+    </group>
+  </instruction>
+
   <instruction name="MI_LOAD_REGISTER_IMM" bias="2" length="3">
     <field name="Command Type" start="29" end="31" type="uint" default="0"/>
     <field name="MI Command Opcode" start="23" end="28" type="uint" default="34"/>
     <field name="MI Command Opcode" start="23" end="28" type="uint" default="2"/>
   </instruction>
 
-  <instruction name="MI_WAIT_FOR_EVENT" bias="1" length="1" engine="render|blitter">
+  <instruction name="MI_WAIT_FOR_EVENT" bias="1" length="1" engine="render|blitter|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="3"/>
     <field name="Display Pipe C Horizontal Blank Wait Enable" start="22" end="22" type="bool"/>