OSDN Git Service

intel/genxml: Media instructions and structures for gen8
authorToni Lönnberg <toni.lonnberg@intel.com>
Wed, 16 Jan 2019 11:54:25 +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>
    - switch MI_FLUSH_DW fields to bool

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

index 0226d7c..e6555f1 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="bool"/>
+    <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"/>
+    <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="MEMORYADDRESSATTRIBUTES" length="1">
+    <field name="Arbitration Priority Control" start="7" end="8" type="uint"/>
+    <field name="Target Cache" start="3" end="4" type="uint">
+      <value name="eLLC Only" value="0"/>
+      <value name="LLC Only" value="1"/>
+      <value name="LLC/eLLC" value="2"/>
+      <value name="L3, LLC, eLLC" value="3"/>
+    </field>
+    <field name="Age for QUADLRU" start="0" end="1" 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="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>
+  </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="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">
+      <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="79" type="address"/>
+    <field name="BSD/MPC Row Store Scratch Buffer - 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="BSD/MPC Row Store Scratch Buffer - Cacheability Control" start="101" end="102" type="uint">
+      <value name="Use Cacheability Controls From Page Table / UC with Fence" value="0"/>
+      <value name="Uncacheable" value="1"/>
+      <value name="Writethrough" value="2"/>
+      <value name="Writeback" value="3"/>
+    </field>
+    <field name="BSD/MPC Row Store Scratch Buffer - Target Cache" start="99" end="100" type="uint">
+      <value name="eLLC Only" value="0"/>
+      <value name="LLC Only" value="1"/>
+      <value name="LLC/eLLC" value="2"/>
+      <value name="L3, LLC, eLLC" value="3"/>
+    </field>
+    <field name="BSD/MPC Row Store Scratch Buffer - Age for QUADLRU" start="96" end="97" type="uint"/>
+    <field name="MPR Row Store Scratch Buffer - Address" start="134" end="175" type="address"/>
+    <field name="MPR Row Store Scratch Buffer - 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="MPR Row Store Scratch Buffer - Cacheability Control" start="197" end="198" type="uint">
+      <value name="Use Cacheability Controls From Page Table / UC with Fence" value="0"/>
+      <value name="Uncacheable" value="1"/>
+      <value name="Writethrough" value="2"/>
+      <value name="Writeback" value="3"/>
+    </field>
+    <field name="MPR Row Store Scratch Buffer - Target Cache" start="195" end="196" type="uint">
+      <value name="eLLC Only" value="0"/>
+      <value name="LLC Only" value="1"/>
+      <value name="LLC/eLLC" value="2"/>
+      <value name="L3, LLC, eLLC" value="3"/>
+    </field>
+    <field name="MPR Row Store Scratch Buffer - Age for QUADLRU" start="192" end="193" type="uint"/>
+    <field name="Bitplane Read Buffer - Address" start="230" end="271" type="uint"/>
+    <field name="Bitplane Read Buffer - 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="Bitplane Read Buffer - Cacheability Control" start="293" end="294" type="uint">
+      <value name="Use Cacheability Controls From Page Table / UC with Fence (if coherent cycle)" value="0"/>
+      <value name="Uncacheable" value="1"/>
+      <value name="Writethrough" value="2"/>
+      <value name="Writeback" value="3"/>
+    </field>
+    <field name="Bitplane Read Buffer - Target Cache" start="291" end="292" type="uint">
+      <value name="eLLC Only" value="0"/>
+      <value name="LLC Only" value="1"/>
+      <value name="LLC/eLLC" value="2"/>
+      <value name="L3, LLC, eLLC" value="3"/>
+    </field>
+    <field name="Bitplane Read Buffer - Age for QUADLRU" start="288" end="289" 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="79" type="address"/>
+    <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 - Cacheability Control" start="101" end="102" type="uint">
+      <value name="Use Cacheability Controls From Page Table / UC with Fence" value="0"/>
+      <value name="Uncacheable" value="1"/>
+      <value name="Writethrough" value="2"/>
+      <value name="Writeback" value="3"/>
+    </field>
+    <field name="Pre Deblocking Source - Target Cache" start="99" end="100" type="uint">
+      <value name="eLLC Only" value="0"/>
+      <value name="LLC Only" value="1"/>
+      <value name="LLC/eLLC" value="2"/>
+      <value name="L3, LLC, eLLC" value="3"/>
+    </field>
+    <field name="Pre Deblocking Source - Age for QUADLRU" start="96" end="97" type="uint"/>
+    <field name="Deblocking Control - Address" start="134" end="175" type="address"/>
+    <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 - Cacheability Control" start="197" end="198" type="uint">
+      <value name="Use Cacheability Controls From Page Table / UC with Fence" value="0"/>
+      <value name="Uncacheable" value="1"/>
+      <value name="Writethrough" value="2"/>
+      <value name="Writeback" value="3"/>
+    </field>
+    <field name="Deblocking Control - Target Cache" start="195" end="196" type="uint">
+      <value name="eLLC Only" value="0"/>
+      <value name="LLC Only" value="1"/>
+      <value name="LLC/eLLC" value="2"/>
+      <value name="L3, LLC, eLLC" value="3"/>
+    </field>
+    <field name="Deblocking Control - Age for QUADLRU" start="192" end="193" type="uint"/>
+    <field name="Deblocking Destination - Address" start="230" end="271" type="address"/>
+    <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 - Cacheability Control" start="293" end="294" type="uint">
+      <value name="Use Cacheability Controls From Page Table / UC with Fence" value="0"/>
+      <value name="Uncacheable" value="1"/>
+      <value name="Writethrough" value="2"/>
+      <value name="Writeback" value="3"/>
+    </field>
+    <field name="Deblocking Destination - Target Cache" start="291" end="292" type="uint">
+      <value name="eLLC Only" value="0"/>
+      <value name="LLC Only" value="1"/>
+      <value name="LLC/eLLC" value="2"/>
+      <value name="L3, LLC, eLLC" value="3"/>
+    </field>
+    <field name="Deblocking Destination - Age for QUADLRU" start="288" end="289" type="uint"/>
+    <field name="Deblock Row Store - Address" start="326" end="367" type="address"/>
+    <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="Deblock Row Store - Cacheability Control" start="389" end="390" type="uint">
+      <value name="Use Cacheability Controls From Page Table / UC with Fence" value="0"/>
+      <value name="Uncacheable" value="1"/>
+      <value name="Writethrough" value="2"/>
+      <value name="Writeback" value="3"/>
+    </field>
+    <field name="Deblock Row Store - Target Cache" start="387" end="388" type="uint">
+      <value name="eLLC Only" value="0"/>
+      <value name="LLC Only" value="1"/>
+      <value name="LLC/eLLC" value="2"/>
+      <value name="L3, LLC, eLLC" value="3"/>
+    </field>
+    <field name="Deblock Row Store - Age for QUADLRU" start="384" end="385" 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="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="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="79" type="address"/>
+    <field name="Pre Deblocking Destination - 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 Destination - MOCS" start="96" end="102" type="uint"/>
+    <field name="Post Deblocking Destination - Address" start="134" end="175" type="address"/>
+    <field name="Post Deblocking Destination - 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="Post Deblocking Destination - MOCS" start="192" end="198" type="uint"/>
+    <field name="Original Uncompressed Picture Source - Address" start="230" end="271" type="address"/>
+    <field name="Original Uncompressed Picture Source - 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="Original Uncompressed Picture Source - MOCS" start="288" end="294" type="uint"/>
+    <field name="Stream-Out Data Destination - Address" start="326" end="367" type="address"/>
+    <field name="Stream-Out Data Destination - 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="Stream-Out Data Destination - MOCS" start="384" end="390" type="uint"/>
+    <field name="Intra Row Store Scratch Buffer - Address High" start="422" end="463" type="address"/>
+    <field name="Intra Row Store Scratch Buffer - Arbitration Priority Control" start="487" end="488" 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="480" end="486" type="uint"/>
+    <field name="Deblocking Filter Row Store Scratch - Address High" start="518" end="559" type="address"/>
+    <field name="Deblocking Filter Row Store Scratch - 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="Deblocking Filter Row Store Scratch - MOCS" start="576" end="582" type="uint"/>
+    <group count="16" start="608" size="64">
+      <field name="Reference Picture - Address" start="0" end="63" type="address"/>
+    </group>
+    <field name="Reference Picture - Arbitration Priority Control" start="1639" end="1640" 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="Reference Picture - MOCS" start="1632" end="1638" type="uint"/>
+    <field name="MB Status Buffer - Address" start="1670" end="1711" type="address"/>
+    <field name="MB Status Buffer - Arbitration Priority Control" start="1735" end="1736" 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="1728" end="1734" type="uint"/>
+    <field name="MB ILDB Stream-Out Buffer - Address" start="1766" end="1807" type="address"/>
+    <field name="MB ILDB Stream-Out Buffer - Arbitration Priority Control" start="1831" end="1832" 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="1824" end="1830" type="uint"/>
+    <field name="Second MB ILDB Stream-Out Buffer - Address High" start="1862" end="1903" type="address"/>
+    <field name="Second MB ILDB Stream-Out Buffer - Arbitration Priority Control" start="1927" end="1928" 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="Second MB ILDB Stream-Out Buffer - MOCS" start="1920" end="1926" type="uint"/>
+  </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"/>
+      <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="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="Surface ID" start="32" end="35" type="uint">
+      <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">
+      <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_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="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="Quantizer Value [0][Y1AC]" start="144" end="152" type="uint"/>
+    <field name="Quantizer Value [0][Y1DC]" start="128" end="136" type="uint"/>
+    <field name="Quantizer Value [0][UVAC]" start="176" end="184" type="uint"/>
+    <field name="Quantizer Value [0][UVDC]" start="160" end="168" type="uint"/>
+    <field name="Quantizer Value [0][Y2AC]" start="208" end="216" type="uint"/>
+    <field name="Quantizer Value [0][Y2DC]" start="192" end="200" type="uint"/>
+    <field name="Quantizer Value [1][Y1AC]" start="240" end="248" type="uint"/>
+    <field name="Quantizer Value [1][Y1DC]" start="224" end="232" 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="address"/>
+    <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="CoeffProbability Stream-In - Cacheability Control" start="581" end="582" type="uint">
+      <value name="Use Cacheability Controls From Page Table / UC with Fence" value="0"/>
+      <value name="Uncacheable" value="1"/>
+      <value name="Writethrough" value="2"/>
+      <value name="Writeback" value="3"/>
+    </field>
+    <field name="CoeffProbability Stream-In - Target Cache" start="579" end="580" type="uint">
+      <value name="eLLC Only" value="0"/>
+      <value name="LLC Only" value="1"/>
+      <value name="LLC/eLLC" value="2"/>
+      <value name="L3, LLC, eLLC" value="3"/>
+    </field>
+    <field name="CoeffProbability Stream-In - Age for QUADLRU" start="576" end="577" type="uint"/>
+    <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 - 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="Segmentation ID Stream - Cacheability Control" start="1189" end="1190" type="uint">
+      <value name="Use Cacheability Controls From Page Table / UC with Fence" value="0"/>
+      <value name="Uncacheable" value="1"/>
+      <value name="Writethrough" value="2"/>
+      <value name="Writeback" value="3"/>
+    </field>
+    <field name="Segmentation ID Stream - Target Cache" start="1187" end="1188" type="uint">
+      <value name="Use Cacheability Controls From Page Table / UC with Fence" value="0"/>
+      <value name="Uncacheable" value="1"/>
+      <value name="Writethrough" value="2"/>
+      <value name="Writeback" value="3"/>
+    </field>
+    <field name="Segmentation ID Stream - Age for QUADLRU" start="1184" end="1185" 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="Source Memory Address" start="98" end="159" 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="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_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"/>