+ <instruction name="MEDIA_CURBE_LOAD" bias="2" length="4" engine="render">
+ <field name="DWord Length" start="0" end="15" type="uint" default="2"/>
+ <field name="SubOpcode" start="16" end="23" type="uint" default="1"/>
+ <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
+ <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+ <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+ <field name="CURBE Total Data Length" start="64" end="80" type="uint"/>
+ <field name="CURBE Data Start Address" start="96" end="127" type="uint"/>
+ </instruction>
+
+ <instruction name="MEDIA_INTERFACE_DESCRIPTOR_LOAD" bias="2" length="4" engine="render">
+ <field name="DWord Length" start="0" end="15" type="uint" default="2"/>
+ <field name="SubOpcode" start="16" end="23" type="uint" default="2"/>
+ <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
+ <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+ <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+ <field name="Interface Descriptor Total Length" start="64" end="80" type="uint"/>
+ <field name="Interface Descriptor Data Start Address" start="96" end="127" type="offset"/>
+ </instruction>
+
+ <instruction name="MEDIA_OBJECT" bias="2" engine="render">
+ <field name="DWord Length" start="0" end="15" type="uint" default="4"/>
+ <field name="Media Command Sub-Opcode" start="16" end="23" type="uint" default="0"/>
+ <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
+ <field name="Media Command Pipeline" start="27" end="28" type="uint" default="2"/>
+ <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+ <field name="Interface Descriptor Offset" start="32" end="36" type="uint"/>
+ <field name="Indirect Data Length" start="64" end="80" type="uint"/>
+ <field name="Half-Slice Destination Select" start="81" end="82" type="uint">
+ <value name="Half-Slice 1" value="2"/>
+ <value name="Half-Slice 0" value="1"/>
+ <value name="Either half-slice" value="0"/>
+ </field>
+ <field name="Use Scoreboard" start="85" end="85" type="uint">
+ <value name="Not using scoreboard" value="0"/>
+ <value name="Using scoreboard" value="1"/>
+ </field>
+ <field name="Thread Synchronization" start="88" end="88" type="uint">
+ <value name="No thread synchronization" value="0"/>
+ <value name="Thread dispatch is synchronized by the 'spawn root thread' message" value="1"/>
+ </field>
+ <field name="Children Present" start="95" end="95" type="bool"/>
+ <field name="Indirect Data Start Address" start="96" end="127" type="address"/>
+ <field name="Scoreboard X" start="128" end="136" type="uint"/>
+ <field name="Scoredboard Y" start="144" end="152" type="uint"/>
+ <field name="Scoreboard Mask" start="160" end="167" type="uint"/>
+ <field name="Scoreboard Color" start="176" end="179" type="uint"/>
+ <group count="0" start="192" size="32">
+ <field name="Inline Data" start="0" end="31" type="uint"/>
+ </group>
+ </instruction>
+
+ <instruction name="MEDIA_OBJECT_PRT" bias="2" length="16" engine="render">
+ <field name="DWord Length" start="0" end="15" type="uint" default="14"/>
+ <field name="SubOpcode" start="16" end="23" type="uint" default="2"/>
+ <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
+ <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+ <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+ <field name="Interface Descriptor Offset" start="32" end="36" type="uint"/>
+ <field name="PRT_FenceType" start="86" end="86" type="uint">
+ <value name="Root thread queue" value="0"/>
+ <value name="VFE state flush" value="1"/>
+ </field>
+ <field name="PRT_Fence Needed" start="87" end="87" type="bool"/>
+ <field name="Children Present" start="95" end="95" type="bool"/>
+ <group count="12" start="128" size="32">
+ <field name="Inline Data" start="0" end="31" type="uint"/>
+ </group>
+ </instruction>
+
+ <instruction name="MEDIA_OBJECT_WALKER" bias="2" engine="render">
+ <field name="DWord Length" start="0" end="15" type="uint" default="15"/>
+ <field name="SubOpcode" start="16" end="23" type="uint" default="3"/>
+ <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
+ <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+ <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+ <field name="Interface Descriptor Offset" start="32" end="36" type="uint"/>
+ <field name="Indirect Data Length" start="64" end="80" type="uint"/>
+ <field name="Use Scoreboard" start="85" end="85" type="uint">
+ <value name="Not using scoreboard" value="0"/>
+ <value name="Using scoreboard" value="1"/>
+ </field>
+ <field name="Thread Synchronization" start="88" end="88" type="uint">
+ <value name="No thread synchronization" value="0"/>
+ <value name="Thread dispatch is synchronized by the 'spawn root thread' message" value="1"/>
+ </field>
+ <field name="Children Present" start="95" end="95" type="uint"/>
+ <field name="Indirect Data Start Address" start="96" end="127" type="offset"/>
+ <field name="Scoreboard Mask" start="160" end="167" type="uint"/>
+ <field name="Mid-Loop Unit X" start="200" end="201" type="int"/>
+ <field name="Local Mid-Loop Unit Y" start="204" end="205" type="int"/>
+ <field name="Middle Loop Extra Steps" start="208" end="212" type="uint"/>
+ <field name="Color Count Minus One" start="216" end="219" type="uint"/>
+ <field name="Repel" start="222" end="222" type="uint"/>
+ <field name="Dual Mode" start="223" end="223" type="uint"/>
+ <field name="Local Loop Exec Count" start="224" end="233" type="uint"/>
+ <field name="Global Loop Exec Count" start="240" end="249" type="uint"/>
+ <field name="Block Resolution X" start="256" end="264" type="uint"/>
+ <field name="Block Resolution Y" start="272" end="280" type="uint"/>
+ <field name="Local Start X" start="288" end="296" type="uint"/>
+ <field name="Local Start Y" start="304" end="312" type="uint"/>
+ <field name="Local End X" start="320" end="328" type="uint"/>
+ <field name="Local End Y" start="336" end="344" type="uint"/>
+ <field name="Local Outer Loop Stride X" start="352" end="361" type="int"/>
+ <field name="Local Outer Loop Stride Y" start="368" end="377" type="int"/>
+ <field name="Local Inner Loop Unit X" start="384" end="393" type="int"/>
+ <field name="Local Inner Loop Unit Y" start="400" end="409" type="int"/>
+ <field name="Global Resolution X" start="416" end="424" type="uint"/>
+ <field name="Global Resolution Y" start="432" end="440" type="uint"/>
+ <field name="Global Start X" start="448" end="457" type="int"/>
+ <field name="Global Start Y" start="464" end="473" type="int"/>
+ <field name="Global Outer Loop Stride X" start="480" end="489" type="int"/>
+ <field name="Global Outer Loop Stride Y" start="496" end="505" type="int"/>
+ <field name="Global Inner Loop Unit X" start="512" end="521" type="int"/>
+ <field name="Global Inner Loop Unit Y" start="528" end="537" type="int"/>
+ <group count="0" start="544" size="32">
+ <field name="Inline Data" start="0" end="31" type="uint"/>
+ </group>
+ </instruction>
+
+ <instruction name="MEDIA_STATE_FLUSH" bias="2" length="2" engine="render">
+ <field name="DWord Length" start="0" end="15" type="uint" default="0"/>
+ <field name="SubOpcode" start="16" end="23" type="uint" default="4"/>
+ <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
+ <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+ <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+ <field name="Interface Descriptor Offset" start="32" end="37" type="uint"/>
+ <field name="Watermark Required" start="38" end="38" type="uint"/>
+ </instruction>
+
+ <instruction name="MEDIA_VFE_STATE" bias="2" length="8" engine="render">
+ <field name="DWord Length" start="0" end="15" type="uint" default="6"/>
+ <field name="SubOpcode" start="16" end="23" type="uint" default="0"/>
+ <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
+ <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+ <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+ <field name="Per Thread Scratch Space" start="32" end="35" type="uint"/>
+ <field name="Scratch Space Base Pointer" start="42" end="63" type="address"/>
+ <field name="GPGPU Mode" start="66" end="66" type="uint"/>
+ <field name="Gateway MMIO Access Control" start="67" end="68" type="uint">
+ <value name="No MMIO read/write allowed" value="0"/>
+ <value name="MMIO read/write to any address" value="2"/>
+ </field>
+ <field name="Bypass Gateway Control" start="70" end="70" type="uint">
+ <value name="Maintaining OpenGateway/ForwardMsg/CloseGateway protocol (legacy mode)" value="0"/>
+ <value name="Bypassing OpenGateway/CloseGateway protocol" value="1"/>
+ </field>
+ <field name="Reset Gateway Timer" start="71" end="71" type="uint">
+ <value name="Maintaining the existing timestamp state" value="0"/>
+ <value name="Resetting relative timer and latching the global timestamp" value="1"/>
+ </field>
+ <field name="Number of URB Entries" start="72" end="79" type="uint"/>
+ <field name="Maximum Number of Threads" start="80" end="95" type="uint"/>
+ <field name="CURBE Allocation Size" start="128" end="143" type="uint"/>
+ <field name="URB Entry Allocation Size" start="144" end="159" type="uint"/>
+ <field name="Scoreboard Mask" start="160" end="167" type="uint"/>
+ <field name="Scoreboard Type" start="190" end="190" type="uint">
+ <value name="Stalling Scoreboard" value="0"/>
+ <value name="Non-Stalling Scoreboard" value="1"/>
+ </field>
+ <field name="Scoreboard Enable" start="191" end="191" type="uint">
+ <value name="Scoreboard disabled" value="0"/>
+ <value name="Scoreboard enabled" value="1"/>
+ </field>
+ <field name="Scoreboard 0 Delta X" start="192" end="195" type="int"/>
+ <field name="Scoreboard 0 Delta Y" start="196" end="199" type="int"/>
+ <field name="Scoreboard 1 Delta X" start="200" end="203" type="int"/>
+ <field name="Scoreboard 1 Delta Y" start="204" end="207" type="int"/>
+ <field name="Scoreboard 2 Delta X" start="208" end="211" type="int"/>
+ <field name="Scoreboard 2 Delta Y" start="212" end="215" type="int"/>
+ <field name="Scoreboard 3 Delta X" start="216" end="219" type="int"/>
+ <field name="Scoreboard 3 Delta Y" start="220" end="223" type="int"/>
+ <field name="Scoreboard 4 Delta X" start="224" end="227" type="int"/>
+ <field name="Scoreboard 4 Delta Y" start="228" end="231" type="int"/>
+ <field name="Scoreboard 5 Delta X" start="232" end="235" type="int"/>
+ <field name="Scoreboard 5 Delta Y" start="236" end="239" type="int"/>
+ <field name="Scoreboard 6 Delta X" start="240" end="243" type="int"/>
+ <field name="Scoreboard 6 Delta Y" start="244" end="247" type="int"/>
+ <field name="Scoreboard 7 Delta X" start="248" end="251" type="int"/>
+ <field name="Scoreboard 7 Delta Y" start="252" end="255" type="int"/>
+ </instruction>
+
+ <instruction name="MFC_AVC_PAK_OBJECT" bias="2" length="11" engine="video">
+ <field name="DWord Length" start="0" end="11" type="uint" default="9"/>
+ <field name="SubOpcode B" start="16" end="20" type="uint" default="9"/>
+ <field name="SubOpcode A" start="21" end="23" type="uint" default="2"/>
+ <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
+ <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+ <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+ <field name="Indirect PAK-MV Data Length" start="32" end="41" type="uint"/>
+ <field name="Indirect PAK-MV Data Start Address Offset" start="64" end="92" type="offset"/>
+ <group count="8" start="96" size="32">
+ <field name="Inline Data" start="0" end="31" type="uint"/>
+ </group>
+ <group count="12" start="352" size="32">
+ <field name="VDEnc Mode Inline Data" start="0" end="31" type="uint"/>
+ </group>
+ </instruction>
+
+ <instruction name="MFC_MPEG2_PAK_OBJECT" bias="2" length="9" engine="video">
+ <field name="DWord Length" start="0" end="11" type="uint" default="7"/>
+ <field name="SubOpcode B" start="16" end="20" type="uint" default="9"/>
+ <field name="SubOpcode A" start="21" end="23" type="uint" default="2"/>
+ <field name="Media Command Opcode" start="24" end="26" type="uint" default="3"/>
+ <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+ <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+ <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="DWord Length" start="0" end="11" type="uint" default="6"/>
+ <field name="SubOpcode B" start="16" end="20" type="uint" default="3"/>
+ <field name="SubOpcode A" start="21" end="23" type="uint" default="2"/>
+ <field name="Media Command Opcode" start="24" end="26" type="uint" default="3"/>
+ <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+ <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+ <field name="Stream ID" start="32" end="33" type="uint"/>
+ <field name="Slice ID" start="36" end="39" type="uint"/>
+ <field name="Intra Slice Flag" start="44" end="44" type="bool"/>
+ <field name="Intra Slice" start="45" end="45" type="bool"/>
+ <field name="First Slice Header Disable" start="46" end="46" type="bool"/>
+ <field name="Tail Insertion Present" start="47" end="47" type="bool"/>
+ <field name="Slice Data Insertion Present" start="48" end="48" type="bool"/>
+ <field name="Header Insertion Present" start="49" end="49" type="bool"/>
+ <field name="Compressed BitStream Output Disable" start="50" end="50" type="bool"/>
+ <field name="Last Slice" start="51" end="51" type="bool"/>
+ <field name="MB Type Skip Conversion Disable" start="52" end="52" 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="Rate Control Panic Enable" start="55" end="55" type="bool"/>
+ <field name="Rate Control Stable Tolerance" start="56" end="59" type="uint"/>
+ <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="Reset Rate Control Counter" start="62" end="62" type="bool"/>
+ <field name="Rate Control Counter Enable" start="63" end="63" type="bool"/>
+ <field name="First MB X Count" start="64" end="71" type="uint"/>
+ <field name="First MB Y Count" start="72" end="79" type="uint"/>
+ <field name="Next Slice Group MB X Count" start="80" end="87" type="uint"/>
+ <field name="Next Slice Group MB Y Count" start="88" end="95" type="uint"/>
+ <field name="Slice Group QP" start="96" end="101" type="uint"/>
+ <field name="Slice Group Skip" start="104" end="104" type="bool"/>
+ <field name="Indirect PAK-BSE Data Start Address" start="128" end="156" type="offset"/>
+ <field name="Grow Init" start="160" end="163" type="uint"/>
+ <field name="Grow Resistance" start="164" end="167" type="uint"/>
+ <field name="Shrink Init" start="168" end="171" type="uint"/>
+ <field name="Shrink Resistance" start="172" end="175" type="uint"/>
+ <field name="QP Max Positive Modifier Magnitude" start="176" end="183" type="uint"/>
+ <field name="QP Max Negative Modifier Magnitude" start="184" end="191" type="uint"/>
+ <field name="Correct 1" start="192" end="195" type="uint"/>
+ <field name="Correct 2" start="196" end="199" type="uint"/>
+ <field name="Correct 3" start="200" end="203" type="uint"/>
+ <field name="Correct 4" start="204" end="207" type="uint"/>
+ <field name="Correct 5" start="208" end="211" type="uint"/>
+ <field name="Correct 6" start="212" end="215" type="uint"/>
+ <field name="CV0" start="224" end="227" type="uint"/>
+ <field name="CV1" start="228" end="231" type="uint"/>
+ <field name="CV2" start="232" end="235" type="uint"/>
+ <field name="CV3" start="236" end="239" type="uint"/>
+ <field name="CV4" start="240" end="243" type="uint"/>
+ <field name="CV5" start="244" end="247" type="uint"/>
+ <field name="CV6" start="248" end="251" type="uint"/>
+ <field name="CV7" start="252" end="255" type="uint"/>
+ </instruction>
+
+ <instruction name="MFD_AVC_BSD_OBJECT" bias="2" length="6" engine="video">
+ <field name="DWord Length" start="0" end="11" type="uint" default="4"/>
+ <field name="SubOpcode B" start="16" end="20" type="uint" default="8"/>
+ <field name="SubOpcode A" start="21" end="23" type="uint" default="1"/>
+ <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
+ <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+ <field name="Command Type" start="29" end="31" 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="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="11" engine="video">
+ <field name="DWord Length" start="0" end="11" type="uint" default="9"/>
+ <field name="SubOpcode B" start="16" end="20" type="uint" default="6"/>
+ <field name="SubOpcode A" start="21" end="23" type="uint" default="1"/>
+ <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
+ <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+ <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+ <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="48" size="1">
+ <field name="Long Term Frame" start="0" end="0" type="uint"/>
+ </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>
+ </instruction>
+
+ <instruction name="MFD_AVC_SLICEADDR" bias="2" length="3" engine="video">
+ <field name="DWord Length" start="0" end="11" type="uint" default="1"/>
+ <field name="SubOpcode B" start="16" end="20" type="uint" default="7"/>
+ <field name="SubOpcode A" start="21" end="23" type="uint" default="1"/>
+ <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
+ <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+ <field name="Command Type" start="29" end="31" 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="address"/>
+ </instruction>
+
+ <instruction name="MFD_IT_OBJECT" bias="2" engine="video">
+ <field name="DWord Length" start="0" end="11" type="uint" default="6"/>
+ <field name="SubOpcode B" start="16" end="20" type="uint" default="9"/>
+ <field name="SubOpcode A" start="21" end="23" type="uint" default="1"/>
+ <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
+ <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+ <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+ <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="DWord Length" start="0" end="11" type="uint" default="4"/>
+ <field name="SubOpcode B" start="16" end="20" type="uint" default="8"/>
+ <field name="SubOpcode A" start="21" end="23" type="uint" default="1"/>
+ <field name="Media Command Opcode" start="24" end="26" type="uint" default="7"/>
+ <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+ <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+ <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 Vertical Position" start="96" end="108" type="uint"/>
+ <field name="Scan Horizontal Position" start="112" end="124" type="uint"/>
+ <field name="MCU Count" start="128" end="153" type="uint"/>
+ <field name="Scan Components" start="155" end="157" type="uint"/>
+ <field name="Interleaved" start="158" end="158" type="bool"/>
+ <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="DWord Length" start="0" end="11" type="uint" default="3"/>
+ <field name="SubOpcode B" start="16" end="20" type="uint" default="8"/>
+ <field name="SubOpcode A" start="21" end="23" type="uint" default="1"/>
+ <field name="Media Command Opcode" start="24" end="26" type="uint" default="3"/>
+ <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+ <field name="Command Type" start="29" end="31" 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="DWord Length" start="0" end="11" type="uint" default="3"/>
+ <field name="SubOpcode B" start="16" end="20" type="uint" default="8"/>
+ <field name="SubOpcode A" start="21" end="23" type="uint" default="1"/>
+ <field name="Media Command Opcode" start="24" end="26" type="uint" default="2"/>
+ <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+ <field name="Command Type" start="29" end="31" 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="Next Slice Vertical Position" start="96" end="104" type="uint"/>
+ <field name="Slice Start Vertical Position" start="112" end="119" type="uint"/>
+ <field name="First MB Bit Offset" start="128" end="130" type="uint"/>
+ <field name="Emulation Prevention Byte Present" start="132" end="132" type="bool"/>
+ <field name="First MB Byte Offset of Slice Data or Slice Header" start="144" end="159" type="uint"/>
+ </instruction>
+
+ <instruction name="MFD_VC1_LONG_PIC_STATE" bias="2" length="6" engine="video">
+ <field name="DWord Length" start="0" end="11" type="uint" default="4"/>
+ <field name="SubOpcode B" start="16" end="20" type="uint" default="1"/>
+ <field name="SubOpcode A" start="21" end="23" type="uint" default="1"/>
+ <field name="Media Command Opcode" start="24" end="26" type="uint" default="2"/>
+ <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+ <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+ <field name="Picture Width In MBs" start="32" end="39" type="uint"/>
+ <field name="Picture Height In MBs" start="48" end="55" type="uint"/>
+ <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="Second Field" start="67" end="67" type="bool"/>
+ <field name="Overlap Smoothing Enable" start="68" end="68" type="bool"/>
+ <field name="Loop Filter Enable" start="69" end="69" type="bool"/>
+ <field name="Range Reduction Enable" start="70" end="70" type="bool"/>
+ <field name="Range Reduction Scale" start="71" end="71" type="uint"/>
+ <field name="MV Mode" start="72" end="75" type="uint"/>
+ <field name="Sync Marker" start="76" end="76" type="bool"/>
+ <field name="Interpolation Rounder Control" start="77" end="77" type="bool"/>
+ <field name="Implicit Quantizer" start="78" end="78" type="bool"/>
+ <field name="DMV Surface Valid" start="79" end="79" type="bool"/>
+ <field name="Bitplane Buffer Pitch" start="88" end="95" type="uint"/>
+ <field name="B Scale Factor" start="96" end="103" type="uint"/>
+ <field name="PQ Value" start="104" end="108" type="uint"/>
+ <field name="Alternative PQ Value" start="112" end="116" 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="Picure Type" start="122" end="124" type="uint"/>
+ <field name="CONDOVER" start="125" end="126" type="uint"/>
+ <field name="PQ Uniform" start="128" end="128" type="bool"/>
+ <field name="Half QP" start="129" end="129" type="bool"/>
+ <field name="Alternative PQ Configuration" start="130" end="131" type="uint"/>
+ <field name="Alternative PQ Edge Mask" start="132" end="135" type="uint"/>
+ <field name="Extended MV Range" start="136" end="137" type="uint"/>
+ <field name="Extended DMV Range" start="138" end="139" type="uint"/>
+ <field name="Forward Reference Distance" start="144" end="147" type="uint"/>
+ <field name="Backward Reference Distance" start="148" end="151" type="uint"/>
+ <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="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="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="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="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="Coded Block Pattern Table" start="160" end="162" type="uint"/>
+ <field name="Intra Transform DC Table" start="163" end="163" type="uint"/>
+ <field name="Picture-level Transform Chroma AC Coding Set Index" start="164" end="165" type="uint"/>
+ <field name="Picture-level Transform Luma AC Coding Set Index" start="166" end="167" type="uint"/>
+ <field name="MB Mode Table" start="168" end="170" type="uint"/>
+ <field name="MB Transform Type" start="171" end="171" type="bool"/>
+ <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="2-MV Block Pattern Table" start="176" end="177" type="uint"/>
+ <field name="4-MV Block Pattern Table" start="178" end="179" type="uint"/>
+ <field name="MV Table" start="180" end="182" type="uint"/>
+ <field name="FIELDTX Raw" start="184" end="184" type="bool"/>
+ <field name="ACPRED Raw" start="185" end="185" type="bool"/>
+ <field name="OVERFLAGS Raw" start="186" end="186" type="bool"/>
+ <field name="DIRECTMB Raw" start="187" end="187" type="bool"/>
+ <field name="SKIPMB Raw" start="188" end="188" type="bool"/>
+ <field name="MVTYPEMB Raw" start="189" end="189" type="bool"/>
+ <field name="FORWARDMB Raw" start="190" end="190" type="bool"/>
+ <field name="Bitplane Buffer Present" start="191" end="191" type="bool"/>
+ </instruction>
+
+ <instruction name="MFD_VC1_SHORT_PIC_STATE" bias="2" length="5" engine="video">
+ <field name="DWord Length" start="0" end="11" type="uint" default="3"/>
+ <field name="SubOpcode B" start="16" end="20" type="uint" default="0"/>
+ <field name="SubOpcode A" start="21" end="23" type="uint" default="1"/>
+ <field name="Media Command Opcode" start="24" end="26" type="uint" default="2"/>
+ <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+ <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+ <field name="Picture Width" start="32" end="39" type="uint"/>
+ <field name="Picture Height" start="48" end="55" type="uint"/>
+ <field name="Picture Structure" start="64" end="65" type="uint"/>
+ <field name="Second Field" start="67" end="67" type="bool"/>
+ <field name="Intra Picture" start="68" end="68" type="bool"/>
+ <field name="Backward Prediction Present" start="69" end="69" 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="DMV Surface Valid" start="79" end="79" type="bool"/>
+ <field name="MV Mode" start="80" end="83" type="uint"/>
+ <field name="Interpolation Rounder Control" start="87" end="87" type="bool"/>
+ <field name="Bitplane Buffer Pitch" start="88" end="95" type="uint"/>
+ <field name="variable-sized transform coding" start="96" end="96" type="bool"/>
+ <field name="DQUANT" start="97" end="98" type="uint"/>
+ <field name="EXTENDED_MV Present" start="99" end="99" 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="Loop Filter Enable" start="101" end="101" type="bool"/>
+ <field name="REFDIST_FLAG" start="102" end="102" type="bool"/>
+ <field name="PANSCAN Present" start="103" end="103" type="bool"/>
+ <field name="MAXBFRAMES" start="104" end="106" type="uint"/>
+ <field name="RANGERED Present" start="107" end="107" type="bool"/>
+ <field name="SYNCMARKER Present" start="108" end="108" type="bool"/>
+ <field name="MULTIRES Present" start="109" end="109" type="bool"/>
+ <field name="QUANTIZER" start="110" end="111" type="uint"/>
+ <field name="P-Pic Ref Distance" start="112" end="116" type="uint"/>
+ <field name="Progressive Pic Type" start="118" end="119" type="uint"/>
+ <field name="Range Reduction Enable" start="124" end="124" type="uint"/>
+ <field name="Range Reduction Scale" start="125" end="125" type="uint"/>
+ <field name="Overlap Smoothing Enable" start="126" end="126" type="bool"/>
+ <field name="EXTENDED_DMV Present" start="128" end="128" type="bool"/>
+ <field name="PSF" start="129" end="129" type="bool"/>
+ <field name="REFPIC" start="130" end="130" type="bool"/>
+ <field name="FINTERFLAG" start="131" end="131" type="bool"/>
+ <field name="TFCNTRFLAG" start="132" end="132" type="bool"/>
+ <field name="INTERLACE" start="133" end="133" type="bool"/>
+ <field name="PULLDOWN" start="134" end="134" type="bool"/>
+ <field name="POSTPROC" start="135" end="135" type="bool"/>
+ <field name="4-MV Allowed" start="136" end="136" type="bool"/>
+ <field name="BFraction Enumeration" start="152" end="156" type="uint"/>
+ </instruction>
+
+ <instruction name="MFX_AVC_DIRECTMODE_STATE" bias="2" length="69" engine="video">
+ <field name="DWord Length" start="0" end="11" type="uint" default="67"/>
+ <field name="SubOpcode B" start="16" end="20" type="uint" default="2"/>
+ <field name="SubOpcode A" start="21" end="23" type="uint" default="0"/>
+ <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
+ <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
+ <field name="Command Type" start="29" end="31" type="uint" default="3"/>
+ <group count="32" start="1056" size="32">
+ <field name="Direct MV Buffer - Address" start="6" end="31" type="address"/>
+ <field name="Direct MV Buffer - Arbitration Priority Control" start="4" end="5" type="uint">
+ <value name="Highest priority" value="0"/>
+ <value name="Second highest priority" value="1"/>
+ <value name="Third highest priority" value="2"/>
+ <value name="Lowest priority" value="3"/>
+ </field>
+ <field name="Direct MV Buffer - Graphics Data Type" start="2" end="2" type="uint"/>
+ <field name="Direct MV Buffer - Cacheability Control" start="0" end="1" type="uint">
+ <value name="GTT entry" value="0"/>
+ <value name="Not in LLC or MLC" value="1"/>
+ <value name="In LLC but not MLC" value="2"/>
+ <value name="Both LLC and MLC" value="3"/>
+ </field>
+ </group>
+ <group count="2" start="1056" size="32">
+ <field name="Direct MV Buffer (Write) - Address" start="6" end="31" type="address"/>
+ <field name="Direct MV Buffer (Write) - Arbitration Priority Control" start="4" end="5" type="uint">
+ <value name="Highest priority" value="0"/>
+ <value name="Second highest priority" value="1"/>
+ <value name="Third highest priority" value="2"/>
+ <value name="Lowest priority" value="3"/>
+ </field>
+ <field name="Direct MV Buffer (Write) - Graphics Data Type" start="2" end="2" type="uint"/>
+ <field name="Direct MV Buffer (Write) - Cacheability Control" start="0" end="1" type="uint">
+ <value name="GTT entry" value="0"/>
+ <value name="Not in LLC or MLC" value="1"/>
+ <value name="In LLC but not MLC" value="2"/>
+ <value name="Both LLC and MLC" value="3"/>
+ </field>
+ </group>
+ <group count="34" start="1120" 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="DWord Length" start="0" end="11" type="uint" default="12"/>
+ <field name="SubOpcode B" start="16" end="20" type="uint" default="0"/>
+ <field name="SubOpcode A" start="21" end="23" type="uint" default="0"/>
+ <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
+ <field name="Pipeline" start="27" end="28" type="uint" default="2"/>