summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZou Nan hai <nanhai.zou@intel.com>2008-09-23 17:15:42 +0800
committerZou Nan hai <nanhai.zou@intel.com>2008-09-23 17:15:42 +0800
commit3c2f7d84785954eb91341f85abb175f299b2797d (patch)
tree5c581ce89716c422da434a325415859d3fa0ee8a
parent08ab23bb87563517d5653bddf82763b5ef641bed (diff)
[965-xvmc] IGD support
-rw-r--r--src/i965_hwmc.c1
-rw-r--r--src/i965_hwmc.h1
-rw-r--r--src/xvmc/Makefile.am32
-rw-r--r--src/xvmc/dual_prime_igd.g4a242
-rw-r--r--src/xvmc/dual_prime_igd.g4b1027
-rw-r--r--src/xvmc/field_backward_igd.g4a124
-rw-r--r--src/xvmc/field_backward_igd.g4b619
-rw-r--r--src/xvmc/field_f_b_igd.g4a223
-rw-r--r--src/xvmc/field_f_b_igd.g4b1092
-rw-r--r--src/xvmc/field_forward_igd.g4a121
-rw-r--r--src/xvmc/field_forward_igd.g4b618
-rw-r--r--src/xvmc/frame_backward_igd.g4a69
-rw-r--r--src/xvmc/frame_backward_igd.g4b324
-rw-r--r--src/xvmc/frame_f_b_igd.g4a131
-rw-r--r--src/xvmc/frame_f_b_igd.g4b523
-rw-r--r--src/xvmc/frame_forward_igd.g4a65
-rw-r--r--src/xvmc/frame_forward_igd.g4b323
-rw-r--r--src/xvmc/i965_xvmc.c132
-rw-r--r--src/xvmc/motion_field_uv_igd.g4i46
-rw-r--r--src/xvmc/motion_field_y_igd.g4i45
-rw-r--r--src/xvmc/motion_frame_uv_igd.g4i29
-rw-r--r--src/xvmc/motion_frame_y_igd.g4i57
-rw-r--r--src/xvmc/read_field_x0y0_uv_igd.g4i40
-rw-r--r--src/xvmc/read_field_x0y0_y_igd.g4i48
-rw-r--r--src/xvmc/read_field_x0y1_uv_igd.g4i43
-rw-r--r--src/xvmc/read_field_x0y1_y_igd.g4i51
-rw-r--r--src/xvmc/read_field_x1y0_uv_igd.g4i40
-rw-r--r--src/xvmc/read_field_x1y0_y_igd.g4i48
-rw-r--r--src/xvmc/read_field_x1y1_uv_igd.g4i75
-rw-r--r--src/xvmc/read_field_x1y1_y_igd.g4i78
-rw-r--r--src/xvmc/read_frame_x0y0_uv_igd.g4i39
-rw-r--r--src/xvmc/read_frame_x0y0_y_igd.g4i50
-rw-r--r--src/xvmc/read_frame_x0y1_uv_igd.g4i44
-rw-r--r--src/xvmc/read_frame_x0y1_y_igd.g4i54
-rw-r--r--src/xvmc/read_frame_x1y0_uv_igd.g4i41
-rw-r--r--src/xvmc/read_frame_x1y0_y_igd.g4i51
-rw-r--r--src/xvmc/read_frame_x1y1_uv_igd.g4i71
-rw-r--r--src/xvmc/read_frame_x1y1_y_igd.g4i105
38 files changed, 6688 insertions, 34 deletions
diff --git a/src/i965_hwmc.c b/src/i965_hwmc.c
index 2d732db3..9352690c 100644
--- a/src/i965_hwmc.c
+++ b/src/i965_hwmc.c
@@ -124,6 +124,7 @@ static int create_context(ScrnInfoPtr pScrn,
return BadAlloc;
}
+ private_context->is_igd_gm = IS_IGD_GM(I830);
private_context->comm.type = xvmc_driver->flag;
private_context->comm.sarea_size = driinfo->SAREASize;
private_context->comm.batchbuffer.offset = xvmc_driver->batch->offset;
diff --git a/src/i965_hwmc.h b/src/i965_hwmc.h
index bedc747c..1208daa5 100644
--- a/src/i965_hwmc.h
+++ b/src/i965_hwmc.h
@@ -20,4 +20,5 @@ struct i965_xvmc_context {
struct drm_memory_block static_buffer;
struct drm_memory_block blocks;
struct i965_xvmc_surface *surfaces[I965_MAX_SURFACES];
+ unsigned int is_igd_gm:1;
};
diff --git a/src/xvmc/Makefile.am b/src/xvmc/Makefile.am
index e3a6f7d0..9d3e6229 100644
--- a/src/xvmc/Makefile.am
+++ b/src/xvmc/Makefile.am
@@ -29,6 +29,13 @@ libIntelXvMC_la_LDFLAGS = -version-number 1:0:0
libIntelXvMC_la_LIBADD = @DRI_LIBS@
INTEL_G4A = \
+ dual_prime_igd.g4a \
+ field_backward_igd.g4a \
+ field_f_b_igd.g4a \
+ field_forward_igd.g4a \
+ frame_backward_igd.g4a \
+ frame_f_b_igd.g4a \
+ frame_forward_igd.g4a \
dual_prime.g4a \
field_backward.g4a \
field_f_b.g4a \
@@ -41,7 +48,7 @@ INTEL_G4A = \
INTEL_G4I = \
addidct.g4i \
- block_clear.g4i \
+ block_clear.g4i \
read_frame_x0y0_y.g4i \
read_frame_x0y1_y.g4i \
read_frame_x1y0_y.g4i \
@@ -50,6 +57,14 @@ INTEL_G4I = \
read_frame_x0y1_uv.g4i \
read_frame_x1y0_uv.g4i \
read_frame_x1y1_uv.g4i \
+ read_frame_x0y0_y_igd.g4i \
+ read_frame_x0y1_y_igd.g4i \
+ read_frame_x1y0_y_igd.g4i \
+ read_frame_x1y1_y_igd.g4i \
+ read_frame_x0y0_uv_igd.g4i \
+ read_frame_x0y1_uv_igd.g4i \
+ read_frame_x1y0_uv_igd.g4i \
+ read_frame_x1y1_uv_igd.g4i \
motion_frame_y.g4i \
motion_frame_uv.g4i \
read_field_x0y0_y.g4i \
@@ -60,6 +75,14 @@ INTEL_G4I = \
read_field_x0y1_uv.g4i \
read_field_x1y0_uv.g4i \
read_field_x1y1_uv.g4i \
+ read_field_x0y0_y_igd.g4i \
+ read_field_x0y1_y_igd.g4i \
+ read_field_x1y0_y_igd.g4i \
+ read_field_x1y1_y_igd.g4i \
+ read_field_x0y0_uv_igd.g4i \
+ read_field_x0y1_uv_igd.g4i \
+ read_field_x1y0_uv_igd.g4i \
+ read_field_x1y1_uv_igd.g4i \
motion_field_y.g4i \
motion_field_uv.g4i
@@ -71,6 +94,13 @@ INTEL_G4B = \
frame_backward.g4b \
frame_f_b.g4b \
frame_forward.g4b \
+ dual_prime_igd.g4b \
+ field_backward_igd.g4b \
+ field_f_b_igd.g4b \
+ field_forward_igd.g4b \
+ frame_backward_igd.g4b \
+ frame_f_b_igd.g4b \
+ frame_forward_igd.g4b \
ipicture.g4b \
null.g4b
diff --git a/src/xvmc/dual_prime_igd.g4a b/src/xvmc/dual_prime_igd.g4a
new file mode 100644
index 00000000..4a59cadd
--- /dev/null
+++ b/src/xvmc/dual_prime_igd.g4a
@@ -0,0 +1,242 @@
+/*
+ * Copyright © 2008 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDINg BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINgEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIgHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAgES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISINg FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINgS IN THE
+ * SOFTWARE.
+ *
+ * Author:
+ * Zou Nan hai <nanhai.zou@intel.com>
+ * Zhang Hua jun <huajun.zhang@intel.com>
+ * Xing Dong sheng <dongsheng.xing@intel.com>
+ *
+ */
+
+//and (1) g1.4<1>UD g1.4<1,1,1>UD 0xFFFFFFFEUD {align1};
+mov (8) g76.0<1>UD g1.0<8,8,1>UD {align1};
+mov (8) g115.0<1>UD g1.0<8,8,1>UD {align1};
+mov (8) g116.0<1>UD g1.0<8,8,1>UD {align1};
+mov(1) g115.8<1>UD 0x007001fUD { align1 };
+//mov(1) g1.8<1>UD 0x007000fUD { align1 };
+
+/*first vector---Y---top*/
+//and.nz (1) null g1.31<1,1,1>UB 1UW {align1};
+asr (2) g115.14<1>W g1.14<2,2,1>W 1W {align1};
+add (2) g115.0<1>D g116.0<2,2,1>D g115.14<2,2,1>W {align1};
+and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
+//and.nz (1) null g1.31<1,1,1>UB 1UW {align1};
+//(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
+//add (1) g115.4<1>UD g115.4<1,1,1>UD 0UD {align1};
+mov(1) g115.8<1>UD 0x1fUD { align1 }; //read 1 line, 32 columns.
+define(`surface',`4')
+define(`mv1',`g1.14')
+define(`mv2',`g1.16')
+include(`motion_field_y_igd.g4i')
+mov (8) g52.0<1>UD g96.0<8,8,1>UD {align1};
+mov (8) g54.0<1>UD g97.0<8,8,1>UD {align1};
+mov (8) g56.0<1>UD g98.0<8,8,1>UD {align1};
+mov (8) g58.0<1>UD g99.0<8,8,1>UD {align1};
+mov (8) g60.0<1>UD g100.0<8,8,1>UD {align1};
+mov (8) g62.0<1>UD g101.0<8,8,1>UD {align1};
+mov (8) g64.0<1>UD g102.0<8,8,1>UD {align1};
+mov (8) g66.0<1>UD g103.0<8,8,1>UD {align1};
+
+/*first vector---Y---bottom*/
+asr (2) g115.14<1>W g1.18<2,2,1>W 1W {align1};
+add (2) g115.0<1>UD g116.0<2,2,1>UD g115.14<2,2,1>W {align1};
+and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
+//and.nz (1) null g1.31<1,1,1>UB 1UW {align1};
+//(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
+add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
+mov(1) g115.8<1>UD 0x1fUD { align1 }; //read 1 line, 32 columns.
+define(`surface',`4')
+define(`mv1',`g1.18')
+define(`mv2',`g1.20')
+include(`motion_field_y_igd.g4i')
+mov (8) g53.0<1>UD g96.0<8,8,1>UD {align1};
+mov (8) g55.0<1>UD g97.0<8,8,1>UD {align1};
+mov (8) g57.0<1>UD g98.0<8,8,1>UD {align1};
+mov (8) g59.0<1>UD g99.0<8,8,1>UD {align1};
+mov (8) g61.0<1>UD g100.0<8,8,1>UD {align1};
+mov (8) g63.0<1>UD g101.0<8,8,1>UD {align1};
+mov (8) g65.0<1>UD g102.0<8,8,1>UD {align1};
+mov (8) g67.0<1>UD g103.0<8,8,1>UD {align1};
+
+/*first vector---UV---top*/
+mov(1) g115.8<1>UD 0x007000fUD { align1 };
+asr (2) g115.0<1>UD g116.0<1,1,1>UD 1UD {align1}; // x/=2 y/=2
+asr (2) g115.14<1>W g1.14<2,2,1>W 2W {align1}; // vector/=4
+add (2) g115.0<1>UD g115.0<2,2,1>UD g115.14<2,2,1>W {align1}; // (x,y)+=vector
+and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1}; // cut y
+//and.nz (1) null g1.31<1,1,1>UB 1UW {align1};
+//(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
+define(`surface_u',`5')
+define(`surface_v',`6')
+define(`mv1',`g1.14')
+define(`mv2',`g1.16')
+include(`motion_field_uv_igd.g4i')
+mov (8) g68.0<1>UW g78.0<8,8,1>UW {align1};
+mov (8) g69.0<1>UW g79.0<8,8,1>UW {align1};
+mov (8) g70.0<1>UW g80.0<8,8,1>UW {align1};
+mov (8) g71.0<1>UW g81.0<8,8,1>UW {align1};
+mov (8) g72.0<1>UW g82.0<8,8,1>UW {align1};
+mov (8) g73.0<1>UW g83.0<8,8,1>UW {align1};
+mov (8) g74.0<1>UW g84.0<8,8,1>UW {align1};
+mov (8) g75.0<1>UW g85.0<8,8,1>UW {align1};
+
+
+/*first vector---UV---bottom*/
+asr (2) g115.0<1>UD g116.0<1,1,1>UD 1UD {align1}; // x/=2 y/=2
+asr (2) g115.14<1>W g1.18<2,2,1>W 2W {align1}; // vector/=4
+add (2) g115.0<1>UD g115.0<2,2,1>UD g115.14<2,2,1>W {align1}; // (x,y)+=vector
+and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1}; // cut y
+//and.nz (1) null g1.31<1,1,1>UB 1UW {align1};
+//(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
+add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
+define(`surface_u',`5')
+define(`surface_v',`6')
+define(`mv1',`g1.18')
+define(`mv2',`g1.20')
+include(`motion_field_uv_igd.g4i')
+mov (8) g68.16<1>UW g78.0<8,8,1>UW {align1};
+mov (8) g69.16<1>UW g79.0<8,8,1>UW {align1};
+mov (8) g70.16<1>UW g80.0<8,8,1>UW {align1};
+mov (8) g71.16<1>UW g81.0<8,8,1>UW {align1};
+mov (8) g72.16<1>UW g82.0<8,8,1>UW {align1};
+mov (8) g73.16<1>UW g83.0<8,8,1>UW {align1};
+mov (8) g74.16<1>UW g84.0<8,8,1>UW {align1};
+mov (8) g75.16<1>UW g85.0<8,8,1>UW {align1};
+
+
+
+/*second vector---Y---top*/
+//mov(1) g115.8<1>UD 0x007001fUD { align1 };
+//mov(1) g1.8<1>UD 0x007000fUD { align1 };
+//cmp.g (1) null g1.14<1,1,1>W 0W {align1};
+//(f0) add (1) g1.22<1>W g1.22<1,1,1>W 1W {align1};
+//cmp.g (1) null g1.16<1,1,1>W 0W {align1};
+//(f0) add (1) g1.24<1>W g1.24<1,1,1>W 10W {align1};
+asr (2) g115.14<1>W g1.22<2,2,1>W 1W {align1};
+add (2) g115.0<1>UD g116.0<2,2,1>UD g115.14<2,2,1>W {align1};
+and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
+//and.nz (1) null g1.31<1,1,1>UB 4UW {align1};
+//(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
+add (1) g115.4<1>UD g115.4<1,1,1>UD 1D {align1};
+mov(1) g115.8<1>UD 0x1fUD { align1 }; //read 1 line, 32 columns.
+define(`surface',`4')
+define(`mv1',`g1.22')
+define(`mv2',`g1.24')
+include(`motion_field_y_igd.g4i')
+mov (8) g28.0<1>UD g96.0<8,8,1>UD {align1};
+mov (8) g30.0<1>UD g97.0<8,8,1>UD {align1};
+mov (8) g32.0<1>UD g98.0<8,8,1>UD {align1};
+mov (8) g34.0<1>UD g99.0<8,8,1>UD {align1};
+mov (8) g36.0<1>UD g100.0<8,8,1>UD {align1};
+mov (8) g38.0<1>UD g101.0<8,8,1>UD {align1};
+mov (8) g40.0<1>UD g102.0<8,8,1>UD {align1};
+mov (8) g42.0<1>UD g103.0<8,8,1>UD {align1};
+
+/*second vector---Y---bottom*/
+//cmp.g (1) null g1.18<1,1,1>W 0W {align1};
+//(f0) add (1) g1.26<1>W g1.26<1,1,1>W 1W {align1};
+cmp.g (1) null g1.20<1,1,1>W 0W {align1};
+(f0) add (1) g1.28<1>W g1.28<1,1,1>W 5W {align1};
+asr (2) g115.14<1>W g1.26<2,2,1>W 1W {align1};
+add (2) g115.0<1>UD g116.0<2,2,1>UD g115.14<2,2,1>W {align1};
+and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
+//and.nz (1)null g1.31<1,1,1>UB 4UW {align1};
+//(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
+mov(1) g115.8<1>UD 0x1fUD { align1 }; //read 1 line, 32 columns.
+define(`surface',`4')
+define(`mv1',`g1.26')
+define(`mv2',`g1.28')
+include(`motion_field_y_igd.g4i')
+
+avg.sat (16) g28.0<1>UW g52.0<16,16,1>UW g28.0<16,16,1>UW {align1};
+avg.sat (16) g29.0<1>UW g53.0<16,16,1>UW g96.0<16,16,1>UW {align1};
+avg.sat (16) g30.0<1>UW g54.0<16,16,1>UW g30.0<16,16,1>UW {align1};
+avg.sat (16) g31.0<1>UW g55.0<16,16,1>UW g97.0<16,16,1>UW {align1};
+avg.sat (16) g32.0<1>UW g56.0<16,16,1>UW g32.0<16,16,1>UW {align1};
+avg.sat (16) g33.0<1>UW g57.0<16,16,1>UW g98.0<16,16,1>UW {align1};
+avg.sat (16) g34.0<1>UW g58.0<16,16,1>UW g34.0<16,16,1>UW {align1};
+avg.sat (16) g35.0<1>UW g59.0<16,16,1>UW g99.0<16,16,1>UW {align1};
+avg.sat (16) g36.0<1>UW g60.0<16,16,1>UW g36.0<16,16,1>UW {align1};
+avg.sat (16) g37.0<1>UW g61.0<16,16,1>UW g100.0<16,16,1>UW {align1};
+avg.sat (16) g38.0<1>UW g62.0<16,16,1>UW g38.0<16,16,1>UW {align1};
+avg.sat (16) g39.0<1>UW g63.0<16,16,1>UW g101.0<16,16,1>UW {align1};
+avg.sat (16) g40.0<1>UW g64.0<16,16,1>UW g40.0<16,16,1>UW {align1};
+avg.sat (16) g41.0<1>UW g65.0<16,16,1>UW g102.0<16,16,1>UW {align1};
+avg.sat (16) g42.0<1>UW g66.0<16,16,1>UW g42.0<16,16,1>UW {align1};
+avg.sat (16) g43.0<1>UW g67.0<16,16,1>UW g103.0<16,16,1>UW {align1};
+
+/*second vector---UV---top*/
+mov(1) g115.8<1>UD 0x007000fUD { align1 };
+asr (2) g115.0<1>UD g116.0<1,1,1>UD 1UD {align1}; // x/=2 y/=2
+asr (2) g115.14<1>W g1.22<2,2,1>W 2W {align1}; // vector/=4
+add (2) g115.0<1>UD g115.0<2,2,1>UD g115.14<2,2,1>W {align1}; // (x,y)+=vector
+and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1}; // cut y
+//and.nz (1) null g1.31<1,1,1>UB 4UW {align1};
+//(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
+add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
+define(`surface_u',`5')
+define(`surface_v',`6')
+define(`mv1',`g1.22')
+define(`mv2',`g1.24')
+include(`motion_field_uv_igd.g4i')
+mov (8) g44.0<1>UW g78.0<8,8,1>UW {align1};
+mov (8) g45.0<1>UW g79.0<8,8,1>UW {align1};
+mov (8) g46.0<1>UW g80.0<8,8,1>UW {align1};
+mov (8) g47.0<1>UW g81.0<8,8,1>UW {align1};
+mov (8) g48.0<1>UW g82.0<8,8,1>UW {align1};
+mov (8) g49.0<1>UW g83.0<8,8,1>UW {align1};
+mov (8) g50.0<1>UW g84.0<8,8,1>UW {align1};
+mov (8) g51.0<1>UW g85.0<8,8,1>UW {align1};
+
+/*second vector---UV---bottom*/
+asr (2) g115.0<1>UD g116.0<1,1,1>UD 1UD {align1}; // x/=2 y/=2
+asr (2) g115.14<1>W g1.26<2,2,1>W 2W {align1}; // vector/=4
+add (2) g115.0<1>UD g115.0<2,2,1>UD g115.14<2,2,1>W {align1}; // (x,y)+=vector
+and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1}; // cut y
+//and.nz (1) null g1.31<1,1,1>UB 4UW {align1};
+//(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
+define(`surface_u',`5')
+define(`surface_v',`6')
+define(`mv1',`g1.26')
+define(`mv2',`g1.28')
+include(`motion_field_uv_igd.g4i')
+mov (8) g44.16<1>UW g78.0<8,8,1>UW {align1};
+mov (8) g45.16<1>UW g79.0<8,8,1>UW {align1};
+mov (8) g46.16<1>UW g80.0<8,8,1>UW {align1};
+mov (8) g47.16<1>UW g81.0<8,8,1>UW {align1};
+mov (8) g48.16<1>UW g82.0<8,8,1>UW {align1};
+mov (8) g49.16<1>UW g83.0<8,8,1>UW {align1};
+mov (8) g50.16<1>UW g84.0<8,8,1>UW {align1};
+mov (8) g51.16<1>UW g85.0<8,8,1>UW {align1};
+
+avg.sat (16) g44.0<1>UW g68.0<16,16,1>UW g44.0<16,16,1>UW {align1};
+avg.sat (16) g45.0<1>UW g69.0<16,16,1>UW g45.0<16,16,1>UW {align1};
+avg.sat (16) g46.0<1>UW g70.0<16,16,1>UW g46.0<16,16,1>UW {align1};
+avg.sat (16) g47.0<1>UW g71.0<16,16,1>UW g47.0<16,16,1>UW {align1};
+avg.sat (16) g48.0<1>UW g72.0<16,16,1>UW g48.0<16,16,1>UW {align1};
+avg.sat (16) g49.0<1>UW g73.0<16,16,1>UW g49.0<16,16,1>UW {align1};
+avg.sat (16) g50.0<1>UW g74.0<16,16,1>UW g50.0<16,16,1>UW {align1};
+avg.sat (16) g51.0<1>UW g75.0<16,16,1>UW g51.0<16,16,1>UW {align1};
+include(`addidct.g4i')
+
+//send (16) 0 acc0<1>UW g0<8,8,1>UW
+// thread_spawner(0, 0, 0) mlen 1 rlen 0 { align1 EOT};
diff --git a/src/xvmc/dual_prime_igd.g4b b/src/xvmc/dual_prime_igd.g4b
new file mode 100644
index 00000000..a4114325
--- /dev/null
+++ b/src/xvmc/dual_prime_igd.g4b
@@ -0,0 +1,1027 @@
+ { 0x00600001, 0x29800021, 0x008d0020, 0x00000000 },
+ { 0x00600001, 0x2e600021, 0x008d0020, 0x00000000 },
+ { 0x00600001, 0x2e800021, 0x008d0020, 0x00000000 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x0020000c, 0x2e6e3dad, 0x0045002e, 0x00010001 },
+ { 0x00200040, 0x2e6034a5, 0x00450e80, 0x00450e6e },
+ { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x01000005, 0x20002d3c, 0x0021002e, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000045 },
+ { 0x01000005, 0x20002d3c, 0x00210030, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x0000002f },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2bc01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00800040, 0x2c004629, 0x00b109c0, 0x00b10a00 },
+ { 0x00800040, 0x2c204629, 0x00b10a00, 0x00b10a40 },
+ { 0x00800040, 0x2c404629, 0x00b10a40, 0x00b10a80 },
+ { 0x00800040, 0x2c604629, 0x00b10a80, 0x00b10ac0 },
+ { 0x00800040, 0x2c804629, 0x00b10ac0, 0x00b10b00 },
+ { 0x00800040, 0x2ca04629, 0x00b10b00, 0x00b10b40 },
+ { 0x00800040, 0x2cc04629, 0x00b10b40, 0x00b10b80 },
+ { 0x00800040, 0x2ce04629, 0x00b10b80, 0x00b10bc0 },
+ { 0x00800040, 0x2c004529, 0x00b10c00, 0x00b109c1 },
+ { 0x00800040, 0x2c204529, 0x00b10c20, 0x00b10a01 },
+ { 0x00800040, 0x2c404529, 0x00b10c40, 0x00b10a41 },
+ { 0x00800040, 0x2c604529, 0x00b10c60, 0x00b10a81 },
+ { 0x00800040, 0x2c804529, 0x00b10c80, 0x00b10ac1 },
+ { 0x00800040, 0x2ca04529, 0x00b10ca0, 0x00b10b01 },
+ { 0x00800040, 0x2cc04529, 0x00b10cc0, 0x00b10b41 },
+ { 0x00800040, 0x2ce04529, 0x00b10ce0, 0x00b10b81 },
+ { 0x00800040, 0x2c004529, 0x00b10c00, 0x00b10a01 },
+ { 0x00800040, 0x2c204529, 0x00b10c20, 0x00b10a41 },
+ { 0x00800040, 0x2c404529, 0x00b10c40, 0x00b10a81 },
+ { 0x00800040, 0x2c604529, 0x00b10c60, 0x00b10ac1 },
+ { 0x00800040, 0x2c804529, 0x00b10c80, 0x00b10b01 },
+ { 0x00800040, 0x2ca04529, 0x00b10ca0, 0x00b10b41 },
+ { 0x00800040, 0x2cc04529, 0x00b10cc0, 0x00b10b81 },
+ { 0x00800040, 0x2ce04529, 0x00b10ce0, 0x00b10bc1 },
+ { 0x00800008, 0x2c002d29, 0x00b10c00, 0x00020002 },
+ { 0x00800008, 0x2c202d29, 0x00b10c20, 0x00020002 },
+ { 0x00800008, 0x2c402d29, 0x00b10c40, 0x00020002 },
+ { 0x00800008, 0x2c602d29, 0x00b10c60, 0x00020002 },
+ { 0x00800008, 0x2c802d29, 0x00b10c80, 0x00020002 },
+ { 0x00800008, 0x2ca02d29, 0x00b10ca0, 0x00020002 },
+ { 0x00800008, 0x2cc02d29, 0x00b10cc0, 0x00020002 },
+ { 0x00800008, 0x2ce02d29, 0x00b10ce0, 0x00020002 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000040 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x80800042, 0x2c004629, 0x00b109c0, 0x00b109c1 },
+ { 0x80800042, 0x2c204629, 0x00b10a00, 0x00b10a01 },
+ { 0x80800042, 0x2c404629, 0x00b10a40, 0x00b10a41 },
+ { 0x80800042, 0x2c604629, 0x00b10a80, 0x00b10a81 },
+ { 0x80800042, 0x2c804629, 0x00b10ac0, 0x00b10ac1 },
+ { 0x80800042, 0x2ca04629, 0x00b10b00, 0x00b10b01 },
+ { 0x80800042, 0x2cc04629, 0x00b10b40, 0x00b10b41 },
+ { 0x80800042, 0x2ce04629, 0x00b10b80, 0x00b10b81 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000002c },
+ { 0x01000005, 0x20002d3c, 0x00210030, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000017 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2bc01d29, 0x008d0e60, 0x0411a004 },
+ { 0x80800042, 0x2c004629, 0x00b109c0, 0x00b10a00 },
+ { 0x80800042, 0x2c204629, 0x00b10a00, 0x00b10a40 },
+ { 0x80800042, 0x2c404629, 0x00b10a40, 0x00b10a80 },
+ { 0x80800042, 0x2c604629, 0x00b10a80, 0x00b10ac0 },
+ { 0x80800042, 0x2c804629, 0x00b10ac0, 0x00b10b00 },
+ { 0x80800042, 0x2ca04629, 0x00b10b00, 0x00b10b40 },
+ { 0x80800042, 0x2cc04629, 0x00b10b40, 0x00b10b80 },
+ { 0x80800042, 0x2ce04629, 0x00b10b80, 0x00b10bc0 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000013 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x00800001, 0x2c000229, 0x00b109c0, 0x00000000 },
+ { 0x00800001, 0x2c200229, 0x00b10a00, 0x00000000 },
+ { 0x00800001, 0x2c400229, 0x00b10a40, 0x00000000 },
+ { 0x00800001, 0x2c600229, 0x00b10a80, 0x00000000 },
+ { 0x00800001, 0x2c800229, 0x00b10ac0, 0x00000000 },
+ { 0x00800001, 0x2ca00229, 0x00b10b00, 0x00000000 },
+ { 0x00800001, 0x2cc00229, 0x00b10b40, 0x00000000 },
+ { 0x00800001, 0x2ce00229, 0x00b10b80, 0x00000000 },
+ { 0x00600001, 0x26800021, 0x008d0c00, 0x00000000 },
+ { 0x00600001, 0x26c00021, 0x008d0c20, 0x00000000 },
+ { 0x00600001, 0x27000021, 0x008d0c40, 0x00000000 },
+ { 0x00600001, 0x27400021, 0x008d0c60, 0x00000000 },
+ { 0x00600001, 0x27800021, 0x008d0c80, 0x00000000 },
+ { 0x00600001, 0x27c00021, 0x008d0ca0, 0x00000000 },
+ { 0x00600001, 0x28000021, 0x008d0cc0, 0x00000000 },
+ { 0x00600001, 0x28400021, 0x008d0ce0, 0x00000000 },
+ { 0x0020000c, 0x2e6e3dad, 0x00450032, 0x00010001 },
+ { 0x00200040, 0x2e603421, 0x00450e80, 0x00450e6e },
+ { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000001 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x01000005, 0x20002d3c, 0x00210032, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000045 },
+ { 0x01000005, 0x20002d3c, 0x00210034, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x0000002f },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2bc01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00800040, 0x2c004629, 0x00b109c0, 0x00b10a00 },
+ { 0x00800040, 0x2c204629, 0x00b10a00, 0x00b10a40 },
+ { 0x00800040, 0x2c404629, 0x00b10a40, 0x00b10a80 },
+ { 0x00800040, 0x2c604629, 0x00b10a80, 0x00b10ac0 },
+ { 0x00800040, 0x2c804629, 0x00b10ac0, 0x00b10b00 },
+ { 0x00800040, 0x2ca04629, 0x00b10b00, 0x00b10b40 },
+ { 0x00800040, 0x2cc04629, 0x00b10b40, 0x00b10b80 },
+ { 0x00800040, 0x2ce04629, 0x00b10b80, 0x00b10bc0 },
+ { 0x00800040, 0x2c004529, 0x00b10c00, 0x00b109c1 },
+ { 0x00800040, 0x2c204529, 0x00b10c20, 0x00b10a01 },
+ { 0x00800040, 0x2c404529, 0x00b10c40, 0x00b10a41 },
+ { 0x00800040, 0x2c604529, 0x00b10c60, 0x00b10a81 },
+ { 0x00800040, 0x2c804529, 0x00b10c80, 0x00b10ac1 },
+ { 0x00800040, 0x2ca04529, 0x00b10ca0, 0x00b10b01 },
+ { 0x00800040, 0x2cc04529, 0x00b10cc0, 0x00b10b41 },
+ { 0x00800040, 0x2ce04529, 0x00b10ce0, 0x00b10b81 },
+ { 0x00800040, 0x2c004529, 0x00b10c00, 0x00b10a01 },
+ { 0x00800040, 0x2c204529, 0x00b10c20, 0x00b10a41 },
+ { 0x00800040, 0x2c404529, 0x00b10c40, 0x00b10a81 },
+ { 0x00800040, 0x2c604529, 0x00b10c60, 0x00b10ac1 },
+ { 0x00800040, 0x2c804529, 0x00b10c80, 0x00b10b01 },
+ { 0x00800040, 0x2ca04529, 0x00b10ca0, 0x00b10b41 },
+ { 0x00800040, 0x2cc04529, 0x00b10cc0, 0x00b10b81 },
+ { 0x00800040, 0x2ce04529, 0x00b10ce0, 0x00b10bc1 },
+ { 0x00800008, 0x2c002d29, 0x00b10c00, 0x00020002 },
+ { 0x00800008, 0x2c202d29, 0x00b10c20, 0x00020002 },
+ { 0x00800008, 0x2c402d29, 0x00b10c40, 0x00020002 },
+ { 0x00800008, 0x2c602d29, 0x00b10c60, 0x00020002 },
+ { 0x00800008, 0x2c802d29, 0x00b10c80, 0x00020002 },
+ { 0x00800008, 0x2ca02d29, 0x00b10ca0, 0x00020002 },
+ { 0x00800008, 0x2cc02d29, 0x00b10cc0, 0x00020002 },
+ { 0x00800008, 0x2ce02d29, 0x00b10ce0, 0x00020002 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000040 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x80800042, 0x2c004629, 0x00b109c0, 0x00b109c1 },
+ { 0x80800042, 0x2c204629, 0x00b10a00, 0x00b10a01 },
+ { 0x80800042, 0x2c404629, 0x00b10a40, 0x00b10a41 },
+ { 0x80800042, 0x2c604629, 0x00b10a80, 0x00b10a81 },
+ { 0x80800042, 0x2c804629, 0x00b10ac0, 0x00b10ac1 },
+ { 0x80800042, 0x2ca04629, 0x00b10b00, 0x00b10b01 },
+ { 0x80800042, 0x2cc04629, 0x00b10b40, 0x00b10b41 },
+ { 0x80800042, 0x2ce04629, 0x00b10b80, 0x00b10b81 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000002c },
+ { 0x01000005, 0x20002d3c, 0x00210034, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000017 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2bc01d29, 0x008d0e60, 0x0411a004 },
+ { 0x80800042, 0x2c004629, 0x00b109c0, 0x00b10a00 },
+ { 0x80800042, 0x2c204629, 0x00b10a00, 0x00b10a40 },
+ { 0x80800042, 0x2c404629, 0x00b10a40, 0x00b10a80 },
+ { 0x80800042, 0x2c604629, 0x00b10a80, 0x00b10ac0 },
+ { 0x80800042, 0x2c804629, 0x00b10ac0, 0x00b10b00 },
+ { 0x80800042, 0x2ca04629, 0x00b10b00, 0x00b10b40 },
+ { 0x80800042, 0x2cc04629, 0x00b10b40, 0x00b10b80 },
+ { 0x80800042, 0x2ce04629, 0x00b10b80, 0x00b10bc0 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000013 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x00800001, 0x2c000229, 0x00b109c0, 0x00000000 },
+ { 0x00800001, 0x2c200229, 0x00b10a00, 0x00000000 },
+ { 0x00800001, 0x2c400229, 0x00b10a40, 0x00000000 },
+ { 0x00800001, 0x2c600229, 0x00b10a80, 0x00000000 },
+ { 0x00800001, 0x2c800229, 0x00b10ac0, 0x00000000 },
+ { 0x00800001, 0x2ca00229, 0x00b10b00, 0x00000000 },
+ { 0x00800001, 0x2cc00229, 0x00b10b40, 0x00000000 },
+ { 0x00800001, 0x2ce00229, 0x00b10b80, 0x00000000 },
+ { 0x00600001, 0x26a00021, 0x008d0c00, 0x00000000 },
+ { 0x00600001, 0x26e00021, 0x008d0c20, 0x00000000 },
+ { 0x00600001, 0x27200021, 0x008d0c40, 0x00000000 },
+ { 0x00600001, 0x27600021, 0x008d0c60, 0x00000000 },
+ { 0x00600001, 0x27a00021, 0x008d0c80, 0x00000000 },
+ { 0x00600001, 0x27e00021, 0x008d0ca0, 0x00000000 },
+ { 0x00600001, 0x28200021, 0x008d0cc0, 0x00000000 },
+ { 0x00600001, 0x28600021, 0x008d0ce0, 0x00000000 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x0020000c, 0x2e600c21, 0x00210e80, 0x00000001 },
+ { 0x0020000c, 0x2e6e3dad, 0x0045002e, 0x00020002 },
+ { 0x00200040, 0x2e603421, 0x00450e60, 0x00450e6e },
+ { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
+ { 0x01000005, 0x20002d3c, 0x0021002e, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000036 },
+ { 0x01000005, 0x20002d3c, 0x00210030, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000028 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0001000f },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00800031, 0x2b401d29, 0x00ad0e60, 0x0411a005 },
+ { 0x00800031, 0x2be01d29, 0x00ad0e60, 0x0411a006 },
+ { 0x00800040, 0x29c04629, 0x00ad0ac0, 0x00ad0ae0 },
+ { 0x00800040, 0x29e04629, 0x00ad0ae0, 0x00ad0b00 },
+ { 0x00800040, 0x2a004629, 0x00ad0b00, 0x00ad0b20 },
+ { 0x00800040, 0x2a204629, 0x00ad0b20, 0x00ad0b40 },
+ { 0x00800040, 0x29c04529, 0x00ad09c0, 0x00ad0ac1 },
+ { 0x00800040, 0x29e04529, 0x00ad09e0, 0x00ad0ae1 },
+ { 0x00800040, 0x2a004529, 0x00ad0a00, 0x00ad0b01 },
+ { 0x00800040, 0x2a204529, 0x00ad0a20, 0x00ad0b21 },
+ { 0x00800040, 0x29c04529, 0x00ad09c0, 0x00ad0ae1 },
+ { 0x00800040, 0x29e04529, 0x00ad09e0, 0x00ad0b01 },
+ { 0x00800040, 0x2a004529, 0x00ad0a00, 0x00ad0b21 },
+ { 0x00800040, 0x2a204529, 0x00ad0a20, 0x00ad0b41 },
+ { 0x00800040, 0x2a404629, 0x00ad0b60, 0x00ad0b80 },
+ { 0x00800040, 0x2a604629, 0x00ad0b80, 0x00ad0ba0 },
+ { 0x00800040, 0x2a804629, 0x00ad0ba0, 0x00ad0bc0 },
+ { 0x00800040, 0x2aa04629, 0x00ad0bc0, 0x00ad0be0 },
+ { 0x00800040, 0x2a404529, 0x00ad0a40, 0x00ad0b61 },
+ { 0x00800040, 0x2a604529, 0x00ad0a60, 0x00ad0b81 },
+ { 0x00800040, 0x2a804529, 0x00ad0a80, 0x00ad0ba1 },
+ { 0x00800040, 0x2aa04529, 0x00ad0aa0, 0x00ad0bc1 },
+ { 0x00800040, 0x2a404529, 0x00ad0a40, 0x00ad0b81 },
+ { 0x00800040, 0x2a604529, 0x00ad0a60, 0x00ad0ba1 },
+ { 0x00800040, 0x2a804529, 0x00ad0a80, 0x00ad0bc1 },
+ { 0x00800040, 0x2aa04529, 0x00ad0aa0, 0x00ad0be1 },
+ { 0x80800008, 0x29c02d29, 0x00b109c0, 0x00020002 },
+ { 0x80800008, 0x29e02d29, 0x00b109e0, 0x00020002 },
+ { 0x80800008, 0x2a002d29, 0x00b10a00, 0x00020002 },
+ { 0x80800008, 0x2a202d29, 0x00b10a20, 0x00020002 },
+ { 0x80800008, 0x2a402d29, 0x00b10a40, 0x00020002 },
+ { 0x80800008, 0x2a602d29, 0x00b10a60, 0x00020002 },
+ { 0x80800008, 0x2a802d29, 0x00b10a80, 0x00020002 },
+ { 0x80800008, 0x2aa02d29, 0x00b10aa0, 0x00020002 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000028 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x80800042, 0x29c04629, 0x00ad0ac0, 0x00ad0ac1 },
+ { 0x80800042, 0x29e04629, 0x00ad0ae0, 0x00ad0ae1 },
+ { 0x80800042, 0x2a004629, 0x00ad0b00, 0x00ad0b01 },
+ { 0x80800042, 0x2a204629, 0x00ad0b20, 0x00ad0b21 },
+ { 0x80800042, 0x2a404629, 0x00ad0b60, 0x00ad0b61 },
+ { 0x80800042, 0x2a604629, 0x00ad0b80, 0x00ad0b81 },
+ { 0x80800042, 0x2a804629, 0x00ad0ba0, 0x00ad0ba1 },
+ { 0x80800042, 0x2aa04629, 0x00ad0bc0, 0x00ad0bc1 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000001c },
+ { 0x01000005, 0x20002d3c, 0x00210030, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x0000000f },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000000f },
+ { 0x00800031, 0x2b401d29, 0x00ad0e60, 0x0411a005 },
+ { 0x00800031, 0x2be01d29, 0x00ad0e60, 0x0411a006 },
+ { 0x80800042, 0x29c04629, 0x00ad0ac0, 0x00ad0ae0 },
+ { 0x80800042, 0x29e04629, 0x00ad0ae0, 0x00ad0b00 },
+ { 0x80800042, 0x2a004629, 0x00ad0b00, 0x00ad0b20 },
+ { 0x80800042, 0x2a204629, 0x00ad0b20, 0x00ad0b40 },
+ { 0x80800042, 0x2a404629, 0x00ad0b60, 0x00ad0b80 },
+ { 0x80800042, 0x2a604629, 0x00ad0b80, 0x00ad0ba0 },
+ { 0x80800042, 0x2a804629, 0x00ad0ba0, 0x00ad0bc0 },
+ { 0x80800042, 0x2aa04629, 0x00ad0bc0, 0x00ad0be0 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000000b },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x00800001, 0x29c00229, 0x00ad0ac0, 0x00000000 },
+ { 0x00800001, 0x29e00229, 0x00ad0ae0, 0x00000000 },
+ { 0x00800001, 0x2a000229, 0x00ad0b00, 0x00000000 },
+ { 0x00800001, 0x2a200229, 0x00ad0b20, 0x00000000 },
+ { 0x00800001, 0x2a400229, 0x00ad0b60, 0x00000000 },
+ { 0x00800001, 0x2a600229, 0x00ad0b80, 0x00000000 },
+ { 0x00800001, 0x2a800229, 0x00ad0ba0, 0x00000000 },
+ { 0x00800001, 0x2aa00229, 0x00ad0bc0, 0x00000000 },
+ { 0x00600001, 0x28800129, 0x008d09c0, 0x00000000 },
+ { 0x00600001, 0x28a00129, 0x008d09e0, 0x00000000 },
+ { 0x00600001, 0x28c00129, 0x008d0a00, 0x00000000 },
+ { 0x00600001, 0x28e00129, 0x008d0a20, 0x00000000 },
+ { 0x00600001, 0x29000129, 0x008d0a40, 0x00000000 },
+ { 0x00600001, 0x29200129, 0x008d0a60, 0x00000000 },
+ { 0x00600001, 0x29400129, 0x008d0a80, 0x00000000 },
+ { 0x00600001, 0x29600129, 0x008d0aa0, 0x00000000 },
+ { 0x0020000c, 0x2e600c21, 0x00210e80, 0x00000001 },
+ { 0x0020000c, 0x2e6e3dad, 0x00450032, 0x00020002 },
+ { 0x00200040, 0x2e603421, 0x00450e60, 0x00450e6e },
+ { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000001 },
+ { 0x01000005, 0x20002d3c, 0x00210032, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000036 },
+ { 0x01000005, 0x20002d3c, 0x00210034, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000028 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0001000f },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00800031, 0x2b401d29, 0x00ad0e60, 0x0411a005 },
+ { 0x00800031, 0x2be01d29, 0x00ad0e60, 0x0411a006 },
+ { 0x00800040, 0x29c04629, 0x00ad0ac0, 0x00ad0ae0 },
+ { 0x00800040, 0x29e04629, 0x00ad0ae0, 0x00ad0b00 },
+ { 0x00800040, 0x2a004629, 0x00ad0b00, 0x00ad0b20 },
+ { 0x00800040, 0x2a204629, 0x00ad0b20, 0x00ad0b40 },
+ { 0x00800040, 0x29c04529, 0x00ad09c0, 0x00ad0ac1 },
+ { 0x00800040, 0x29e04529, 0x00ad09e0, 0x00ad0ae1 },
+ { 0x00800040, 0x2a004529, 0x00ad0a00, 0x00ad0b01 },
+ { 0x00800040, 0x2a204529, 0x00ad0a20, 0x00ad0b21 },
+ { 0x00800040, 0x29c04529, 0x00ad09c0, 0x00ad0ae1 },
+ { 0x00800040, 0x29e04529, 0x00ad09e0, 0x00ad0b01 },
+ { 0x00800040, 0x2a004529, 0x00ad0a00, 0x00ad0b21 },
+ { 0x00800040, 0x2a204529, 0x00ad0a20, 0x00ad0b41 },
+ { 0x00800040, 0x2a404629, 0x00ad0b60, 0x00ad0b80 },
+ { 0x00800040, 0x2a604629, 0x00ad0b80, 0x00ad0ba0 },
+ { 0x00800040, 0x2a804629, 0x00ad0ba0, 0x00ad0bc0 },
+ { 0x00800040, 0x2aa04629, 0x00ad0bc0, 0x00ad0be0 },
+ { 0x00800040, 0x2a404529, 0x00ad0a40, 0x00ad0b61 },
+ { 0x00800040, 0x2a604529, 0x00ad0a60, 0x00ad0b81 },
+ { 0x00800040, 0x2a804529, 0x00ad0a80, 0x00ad0ba1 },
+ { 0x00800040, 0x2aa04529, 0x00ad0aa0, 0x00ad0bc1 },
+ { 0x00800040, 0x2a404529, 0x00ad0a40, 0x00ad0b81 },
+ { 0x00800040, 0x2a604529, 0x00ad0a60, 0x00ad0ba1 },
+ { 0x00800040, 0x2a804529, 0x00ad0a80, 0x00ad0bc1 },
+ { 0x00800040, 0x2aa04529, 0x00ad0aa0, 0x00ad0be1 },
+ { 0x80800008, 0x29c02d29, 0x00b109c0, 0x00020002 },
+ { 0x80800008, 0x29e02d29, 0x00b109e0, 0x00020002 },
+ { 0x80800008, 0x2a002d29, 0x00b10a00, 0x00020002 },
+ { 0x80800008, 0x2a202d29, 0x00b10a20, 0x00020002 },
+ { 0x80800008, 0x2a402d29, 0x00b10a40, 0x00020002 },
+ { 0x80800008, 0x2a602d29, 0x00b10a60, 0x00020002 },
+ { 0x80800008, 0x2a802d29, 0x00b10a80, 0x00020002 },
+ { 0x80800008, 0x2aa02d29, 0x00b10aa0, 0x00020002 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000028 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x80800042, 0x29c04629, 0x00ad0ac0, 0x00ad0ac1 },
+ { 0x80800042, 0x29e04629, 0x00ad0ae0, 0x00ad0ae1 },
+ { 0x80800042, 0x2a004629, 0x00ad0b00, 0x00ad0b01 },
+ { 0x80800042, 0x2a204629, 0x00ad0b20, 0x00ad0b21 },
+ { 0x80800042, 0x2a404629, 0x00ad0b60, 0x00ad0b61 },
+ { 0x80800042, 0x2a604629, 0x00ad0b80, 0x00ad0b81 },
+ { 0x80800042, 0x2a804629, 0x00ad0ba0, 0x00ad0ba1 },
+ { 0x80800042, 0x2aa04629, 0x00ad0bc0, 0x00ad0bc1 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000001c },
+ { 0x01000005, 0x20002d3c, 0x00210034, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x0000000f },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000000f },
+ { 0x00800031, 0x2b401d29, 0x00ad0e60, 0x0411a005 },
+ { 0x00800031, 0x2be01d29, 0x00ad0e60, 0x0411a006 },
+ { 0x80800042, 0x29c04629, 0x00ad0ac0, 0x00ad0ae0 },
+ { 0x80800042, 0x29e04629, 0x00ad0ae0, 0x00ad0b00 },
+ { 0x80800042, 0x2a004629, 0x00ad0b00, 0x00ad0b20 },
+ { 0x80800042, 0x2a204629, 0x00ad0b20, 0x00ad0b40 },
+ { 0x80800042, 0x2a404629, 0x00ad0b60, 0x00ad0b80 },
+ { 0x80800042, 0x2a604629, 0x00ad0b80, 0x00ad0ba0 },
+ { 0x80800042, 0x2a804629, 0x00ad0ba0, 0x00ad0bc0 },
+ { 0x80800042, 0x2aa04629, 0x00ad0bc0, 0x00ad0be0 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000000b },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x00800001, 0x29c00229, 0x00ad0ac0, 0x00000000 },
+ { 0x00800001, 0x29e00229, 0x00ad0ae0, 0x00000000 },
+ { 0x00800001, 0x2a000229, 0x00ad0b00, 0x00000000 },
+ { 0x00800001, 0x2a200229, 0x00ad0b20, 0x00000000 },
+ { 0x00800001, 0x2a400229, 0x00ad0b60, 0x00000000 },
+ { 0x00800001, 0x2a600229, 0x00ad0b80, 0x00000000 },
+ { 0x00800001, 0x2a800229, 0x00ad0ba0, 0x00000000 },
+ { 0x00800001, 0x2aa00229, 0x00ad0bc0, 0x00000000 },
+ { 0x00600001, 0x28900129, 0x008d09c0, 0x00000000 },
+ { 0x00600001, 0x28b00129, 0x008d09e0, 0x00000000 },
+ { 0x00600001, 0x28d00129, 0x008d0a00, 0x00000000 },
+ { 0x00600001, 0x28f00129, 0x008d0a20, 0x00000000 },
+ { 0x00600001, 0x29100129, 0x008d0a40, 0x00000000 },
+ { 0x00600001, 0x29300129, 0x008d0a60, 0x00000000 },
+ { 0x00600001, 0x29500129, 0x008d0a80, 0x00000000 },
+ { 0x00600001, 0x29700129, 0x008d0aa0, 0x00000000 },
+ { 0x0020000c, 0x2e6e3dad, 0x00450036, 0x00010001 },
+ { 0x00200040, 0x2e603421, 0x00450e80, 0x00450e6e },
+ { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
+ { 0x00000040, 0x2e641c21, 0x00210e64, 0x00000001 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x01000005, 0x20002d3c, 0x00210036, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000045 },
+ { 0x01000005, 0x20002d3c, 0x00210038, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x0000002f },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2bc01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00800040, 0x2c004629, 0x00b109c0, 0x00b10a00 },
+ { 0x00800040, 0x2c204629, 0x00b10a00, 0x00b10a40 },
+ { 0x00800040, 0x2c404629, 0x00b10a40, 0x00b10a80 },
+ { 0x00800040, 0x2c604629, 0x00b10a80, 0x00b10ac0 },
+ { 0x00800040, 0x2c804629, 0x00b10ac0, 0x00b10b00 },
+ { 0x00800040, 0x2ca04629, 0x00b10b00, 0x00b10b40 },
+ { 0x00800040, 0x2cc04629, 0x00b10b40, 0x00b10b80 },
+ { 0x00800040, 0x2ce04629, 0x00b10b80, 0x00b10bc0 },
+ { 0x00800040, 0x2c004529, 0x00b10c00, 0x00b109c1 },
+ { 0x00800040, 0x2c204529, 0x00b10c20, 0x00b10a01 },
+ { 0x00800040, 0x2c404529, 0x00b10c40, 0x00b10a41 },
+ { 0x00800040, 0x2c604529, 0x00b10c60, 0x00b10a81 },
+ { 0x00800040, 0x2c804529, 0x00b10c80, 0x00b10ac1 },
+ { 0x00800040, 0x2ca04529, 0x00b10ca0, 0x00b10b01 },
+ { 0x00800040, 0x2cc04529, 0x00b10cc0, 0x00b10b41 },
+ { 0x00800040, 0x2ce04529, 0x00b10ce0, 0x00b10b81 },
+ { 0x00800040, 0x2c004529, 0x00b10c00, 0x00b10a01 },
+ { 0x00800040, 0x2c204529, 0x00b10c20, 0x00b10a41 },
+ { 0x00800040, 0x2c404529, 0x00b10c40, 0x00b10a81 },
+ { 0x00800040, 0x2c604529, 0x00b10c60, 0x00b10ac1 },
+ { 0x00800040, 0x2c804529, 0x00b10c80, 0x00b10b01 },
+ { 0x00800040, 0x2ca04529, 0x00b10ca0, 0x00b10b41 },
+ { 0x00800040, 0x2cc04529, 0x00b10cc0, 0x00b10b81 },
+ { 0x00800040, 0x2ce04529, 0x00b10ce0, 0x00b10bc1 },
+ { 0x00800008, 0x2c002d29, 0x00b10c00, 0x00020002 },
+ { 0x00800008, 0x2c202d29, 0x00b10c20, 0x00020002 },
+ { 0x00800008, 0x2c402d29, 0x00b10c40, 0x00020002 },
+ { 0x00800008, 0x2c602d29, 0x00b10c60, 0x00020002 },
+ { 0x00800008, 0x2c802d29, 0x00b10c80, 0x00020002 },
+ { 0x00800008, 0x2ca02d29, 0x00b10ca0, 0x00020002 },
+ { 0x00800008, 0x2cc02d29, 0x00b10cc0, 0x00020002 },
+ { 0x00800008, 0x2ce02d29, 0x00b10ce0, 0x00020002 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000040 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x80800042, 0x2c004629, 0x00b109c0, 0x00b109c1 },
+ { 0x80800042, 0x2c204629, 0x00b10a00, 0x00b10a01 },
+ { 0x80800042, 0x2c404629, 0x00b10a40, 0x00b10a41 },
+ { 0x80800042, 0x2c604629, 0x00b10a80, 0x00b10a81 },
+ { 0x80800042, 0x2c804629, 0x00b10ac0, 0x00b10ac1 },
+ { 0x80800042, 0x2ca04629, 0x00b10b00, 0x00b10b01 },
+ { 0x80800042, 0x2cc04629, 0x00b10b40, 0x00b10b41 },
+ { 0x80800042, 0x2ce04629, 0x00b10b80, 0x00b10b81 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000002c },
+ { 0x01000005, 0x20002d3c, 0x00210038, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000017 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2bc01d29, 0x008d0e60, 0x0411a004 },
+ { 0x80800042, 0x2c004629, 0x00b109c0, 0x00b10a00 },
+ { 0x80800042, 0x2c204629, 0x00b10a00, 0x00b10a40 },
+ { 0x80800042, 0x2c404629, 0x00b10a40, 0x00b10a80 },
+ { 0x80800042, 0x2c604629, 0x00b10a80, 0x00b10ac0 },
+ { 0x80800042, 0x2c804629, 0x00b10ac0, 0x00b10b00 },
+ { 0x80800042, 0x2ca04629, 0x00b10b00, 0x00b10b40 },
+ { 0x80800042, 0x2cc04629, 0x00b10b40, 0x00b10b80 },
+ { 0x80800042, 0x2ce04629, 0x00b10b80, 0x00b10bc0 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000013 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x00800001, 0x2c000229, 0x00b109c0, 0x00000000 },
+ { 0x00800001, 0x2c200229, 0x00b10a00, 0x00000000 },
+ { 0x00800001, 0x2c400229, 0x00b10a40, 0x00000000 },
+ { 0x00800001, 0x2c600229, 0x00b10a80, 0x00000000 },
+ { 0x00800001, 0x2c800229, 0x00b10ac0, 0x00000000 },
+ { 0x00800001, 0x2ca00229, 0x00b10b00, 0x00000000 },
+ { 0x00800001, 0x2cc00229, 0x00b10b40, 0x00000000 },
+ { 0x00800001, 0x2ce00229, 0x00b10b80, 0x00000000 },
+ { 0x00600001, 0x23800021, 0x008d0c00, 0x00000000 },
+ { 0x00600001, 0x23c00021, 0x008d0c20, 0x00000000 },
+ { 0x00600001, 0x24000021, 0x008d0c40, 0x00000000 },
+ { 0x00600001, 0x24400021, 0x008d0c60, 0x00000000 },
+ { 0x00600001, 0x24800021, 0x008d0c80, 0x00000000 },
+ { 0x00600001, 0x24c00021, 0x008d0ca0, 0x00000000 },
+ { 0x00600001, 0x25000021, 0x008d0cc0, 0x00000000 },
+ { 0x00600001, 0x25400021, 0x008d0ce0, 0x00000000 },
+ { 0x03000010, 0x20003dbc, 0x00210034, 0x00000000 },
+ { 0x00010040, 0x203c3dad, 0x0021003c, 0x00050005 },
+ { 0x0020000c, 0x2e6e3dad, 0x0045003a, 0x00010001 },
+ { 0x00200040, 0x2e603421, 0x00450e80, 0x00450e6e },
+ { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x01000005, 0x20002d3c, 0x0021003a, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000045 },
+ { 0x01000005, 0x20002d3c, 0x0021003c, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x0000002f },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2bc01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00800040, 0x2c004629, 0x00b109c0, 0x00b10a00 },
+ { 0x00800040, 0x2c204629, 0x00b10a00, 0x00b10a40 },
+ { 0x00800040, 0x2c404629, 0x00b10a40, 0x00b10a80 },
+ { 0x00800040, 0x2c604629, 0x00b10a80, 0x00b10ac0 },
+ { 0x00800040, 0x2c804629, 0x00b10ac0, 0x00b10b00 },
+ { 0x00800040, 0x2ca04629, 0x00b10b00, 0x00b10b40 },
+ { 0x00800040, 0x2cc04629, 0x00b10b40, 0x00b10b80 },
+ { 0x00800040, 0x2ce04629, 0x00b10b80, 0x00b10bc0 },
+ { 0x00800040, 0x2c004529, 0x00b10c00, 0x00b109c1 },
+ { 0x00800040, 0x2c204529, 0x00b10c20, 0x00b10a01 },
+ { 0x00800040, 0x2c404529, 0x00b10c40, 0x00b10a41 },
+ { 0x00800040, 0x2c604529, 0x00b10c60, 0x00b10a81 },
+ { 0x00800040, 0x2c804529, 0x00b10c80, 0x00b10ac1 },
+ { 0x00800040, 0x2ca04529, 0x00b10ca0, 0x00b10b01 },
+ { 0x00800040, 0x2cc04529, 0x00b10cc0, 0x00b10b41 },
+ { 0x00800040, 0x2ce04529, 0x00b10ce0, 0x00b10b81 },
+ { 0x00800040, 0x2c004529, 0x00b10c00, 0x00b10a01 },
+ { 0x00800040, 0x2c204529, 0x00b10c20, 0x00b10a41 },
+ { 0x00800040, 0x2c404529, 0x00b10c40, 0x00b10a81 },
+ { 0x00800040, 0x2c604529, 0x00b10c60, 0x00b10ac1 },
+ { 0x00800040, 0x2c804529, 0x00b10c80, 0x00b10b01 },
+ { 0x00800040, 0x2ca04529, 0x00b10ca0, 0x00b10b41 },
+ { 0x00800040, 0x2cc04529, 0x00b10cc0, 0x00b10b81 },
+ { 0x00800040, 0x2ce04529, 0x00b10ce0, 0x00b10bc1 },
+ { 0x00800008, 0x2c002d29, 0x00b10c00, 0x00020002 },
+ { 0x00800008, 0x2c202d29, 0x00b10c20, 0x00020002 },
+ { 0x00800008, 0x2c402d29, 0x00b10c40, 0x00020002 },
+ { 0x00800008, 0x2c602d29, 0x00b10c60, 0x00020002 },
+ { 0x00800008, 0x2c802d29, 0x00b10c80, 0x00020002 },
+ { 0x00800008, 0x2ca02d29, 0x00b10ca0, 0x00020002 },
+ { 0x00800008, 0x2cc02d29, 0x00b10cc0, 0x00020002 },
+ { 0x00800008, 0x2ce02d29, 0x00b10ce0, 0x00020002 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000040 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x80800042, 0x2c004629, 0x00b109c0, 0x00b109c1 },
+ { 0x80800042, 0x2c204629, 0x00b10a00, 0x00b10a01 },
+ { 0x80800042, 0x2c404629, 0x00b10a40, 0x00b10a41 },
+ { 0x80800042, 0x2c604629, 0x00b10a80, 0x00b10a81 },
+ { 0x80800042, 0x2c804629, 0x00b10ac0, 0x00b10ac1 },
+ { 0x80800042, 0x2ca04629, 0x00b10b00, 0x00b10b01 },
+ { 0x80800042, 0x2cc04629, 0x00b10b40, 0x00b10b41 },
+ { 0x80800042, 0x2ce04629, 0x00b10b80, 0x00b10b81 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000002c },
+ { 0x01000005, 0x20002d3c, 0x0021003c, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000017 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2bc01d29, 0x008d0e60, 0x0411a004 },
+ { 0x80800042, 0x2c004629, 0x00b109c0, 0x00b10a00 },
+ { 0x80800042, 0x2c204629, 0x00b10a00, 0x00b10a40 },
+ { 0x80800042, 0x2c404629, 0x00b10a40, 0x00b10a80 },
+ { 0x80800042, 0x2c604629, 0x00b10a80, 0x00b10ac0 },
+ { 0x80800042, 0x2c804629, 0x00b10ac0, 0x00b10b00 },
+ { 0x80800042, 0x2ca04629, 0x00b10b00, 0x00b10b40 },
+ { 0x80800042, 0x2cc04629, 0x00b10b40, 0x00b10b80 },
+ { 0x80800042, 0x2ce04629, 0x00b10b80, 0x00b10bc0 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000013 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x00800001, 0x2c000229, 0x00b109c0, 0x00000000 },
+ { 0x00800001, 0x2c200229, 0x00b10a00, 0x00000000 },
+ { 0x00800001, 0x2c400229, 0x00b10a40, 0x00000000 },
+ { 0x00800001, 0x2c600229, 0x00b10a80, 0x00000000 },
+ { 0x00800001, 0x2c800229, 0x00b10ac0, 0x00000000 },
+ { 0x00800001, 0x2ca00229, 0x00b10b00, 0x00000000 },
+ { 0x00800001, 0x2cc00229, 0x00b10b40, 0x00000000 },
+ { 0x00800001, 0x2ce00229, 0x00b10b80, 0x00000000 },
+ { 0x80800042, 0x23802529, 0x00b10680, 0x00b10380 },
+ { 0x80800042, 0x23a02529, 0x00b106a0, 0x00b10c00 },
+ { 0x80800042, 0x23c02529, 0x00b106c0, 0x00b103c0 },
+ { 0x80800042, 0x23e02529, 0x00b106e0, 0x00b10c20 },
+ { 0x80800042, 0x24002529, 0x00b10700, 0x00b10400 },
+ { 0x80800042, 0x24202529, 0x00b10720, 0x00b10c40 },
+ { 0x80800042, 0x24402529, 0x00b10740, 0x00b10440 },
+ { 0x80800042, 0x24602529, 0x00b10760, 0x00b10c60 },
+ { 0x80800042, 0x24802529, 0x00b10780, 0x00b10480 },
+ { 0x80800042, 0x24a02529, 0x00b107a0, 0x00b10c80 },
+ { 0x80800042, 0x24c02529, 0x00b107c0, 0x00b104c0 },
+ { 0x80800042, 0x24e02529, 0x00b107e0, 0x00b10ca0 },
+ { 0x80800042, 0x25002529, 0x00b10800, 0x00b10500 },
+ { 0x80800042, 0x25202529, 0x00b10820, 0x00b10cc0 },
+ { 0x80800042, 0x25402529, 0x00b10840, 0x00b10540 },
+ { 0x80800042, 0x25602529, 0x00b10860, 0x00b10ce0 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x0020000c, 0x2e600c21, 0x00210e80, 0x00000001 },
+ { 0x0020000c, 0x2e6e3dad, 0x00450036, 0x00020002 },
+ { 0x00200040, 0x2e603421, 0x00450e60, 0x00450e6e },
+ { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000001 },
+ { 0x01000005, 0x20002d3c, 0x00210036, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000036 },
+ { 0x01000005, 0x20002d3c, 0x00210038, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000028 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0001000f },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00800031, 0x2b401d29, 0x00ad0e60, 0x0411a005 },
+ { 0x00800031, 0x2be01d29, 0x00ad0e60, 0x0411a006 },
+ { 0x00800040, 0x29c04629, 0x00ad0ac0, 0x00ad0ae0 },
+ { 0x00800040, 0x29e04629, 0x00ad0ae0, 0x00ad0b00 },
+ { 0x00800040, 0x2a004629, 0x00ad0b00, 0x00ad0b20 },
+ { 0x00800040, 0x2a204629, 0x00ad0b20, 0x00ad0b40 },
+ { 0x00800040, 0x29c04529, 0x00ad09c0, 0x00ad0ac1 },
+ { 0x00800040, 0x29e04529, 0x00ad09e0, 0x00ad0ae1 },
+ { 0x00800040, 0x2a004529, 0x00ad0a00, 0x00ad0b01 },
+ { 0x00800040, 0x2a204529, 0x00ad0a20, 0x00ad0b21 },
+ { 0x00800040, 0x29c04529, 0x00ad09c0, 0x00ad0ae1 },
+ { 0x00800040, 0x29e04529, 0x00ad09e0, 0x00ad0b01 },
+ { 0x00800040, 0x2a004529, 0x00ad0a00, 0x00ad0b21 },
+ { 0x00800040, 0x2a204529, 0x00ad0a20, 0x00ad0b41 },
+ { 0x00800040, 0x2a404629, 0x00ad0b60, 0x00ad0b80 },
+ { 0x00800040, 0x2a604629, 0x00ad0b80, 0x00ad0ba0 },
+ { 0x00800040, 0x2a804629, 0x00ad0ba0, 0x00ad0bc0 },
+ { 0x00800040, 0x2aa04629, 0x00ad0bc0, 0x00ad0be0 },
+ { 0x00800040, 0x2a404529, 0x00ad0a40, 0x00ad0b61 },
+ { 0x00800040, 0x2a604529, 0x00ad0a60, 0x00ad0b81 },
+ { 0x00800040, 0x2a804529, 0x00ad0a80, 0x00ad0ba1 },
+ { 0x00800040, 0x2aa04529, 0x00ad0aa0, 0x00ad0bc1 },
+ { 0x00800040, 0x2a404529, 0x00ad0a40, 0x00ad0b81 },
+ { 0x00800040, 0x2a604529, 0x00ad0a60, 0x00ad0ba1 },
+ { 0x00800040, 0x2a804529, 0x00ad0a80, 0x00ad0bc1 },
+ { 0x00800040, 0x2aa04529, 0x00ad0aa0, 0x00ad0be1 },
+ { 0x80800008, 0x29c02d29, 0x00b109c0, 0x00020002 },
+ { 0x80800008, 0x29e02d29, 0x00b109e0, 0x00020002 },
+ { 0x80800008, 0x2a002d29, 0x00b10a00, 0x00020002 },
+ { 0x80800008, 0x2a202d29, 0x00b10a20, 0x00020002 },
+ { 0x80800008, 0x2a402d29, 0x00b10a40, 0x00020002 },
+ { 0x80800008, 0x2a602d29, 0x00b10a60, 0x00020002 },
+ { 0x80800008, 0x2a802d29, 0x00b10a80, 0x00020002 },
+ { 0x80800008, 0x2aa02d29, 0x00b10aa0, 0x00020002 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000028 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x80800042, 0x29c04629, 0x00ad0ac0, 0x00ad0ac1 },
+ { 0x80800042, 0x29e04629, 0x00ad0ae0, 0x00ad0ae1 },
+ { 0x80800042, 0x2a004629, 0x00ad0b00, 0x00ad0b01 },
+ { 0x80800042, 0x2a204629, 0x00ad0b20, 0x00ad0b21 },
+ { 0x80800042, 0x2a404629, 0x00ad0b60, 0x00ad0b61 },
+ { 0x80800042, 0x2a604629, 0x00ad0b80, 0x00ad0b81 },
+ { 0x80800042, 0x2a804629, 0x00ad0ba0, 0x00ad0ba1 },
+ { 0x80800042, 0x2aa04629, 0x00ad0bc0, 0x00ad0bc1 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000001c },
+ { 0x01000005, 0x20002d3c, 0x00210038, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x0000000f },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000000f },
+ { 0x00800031, 0x2b401d29, 0x00ad0e60, 0x0411a005 },
+ { 0x00800031, 0x2be01d29, 0x00ad0e60, 0x0411a006 },
+ { 0x80800042, 0x29c04629, 0x00ad0ac0, 0x00ad0ae0 },
+ { 0x80800042, 0x29e04629, 0x00ad0ae0, 0x00ad0b00 },
+ { 0x80800042, 0x2a004629, 0x00ad0b00, 0x00ad0b20 },
+ { 0x80800042, 0x2a204629, 0x00ad0b20, 0x00ad0b40 },
+ { 0x80800042, 0x2a404629, 0x00ad0b60, 0x00ad0b80 },
+ { 0x80800042, 0x2a604629, 0x00ad0b80, 0x00ad0ba0 },
+ { 0x80800042, 0x2a804629, 0x00ad0ba0, 0x00ad0bc0 },
+ { 0x80800042, 0x2aa04629, 0x00ad0bc0, 0x00ad0be0 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000000b },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x00800001, 0x29c00229, 0x00ad0ac0, 0x00000000 },
+ { 0x00800001, 0x29e00229, 0x00ad0ae0, 0x00000000 },
+ { 0x00800001, 0x2a000229, 0x00ad0b00, 0x00000000 },
+ { 0x00800001, 0x2a200229, 0x00ad0b20, 0x00000000 },
+ { 0x00800001, 0x2a400229, 0x00ad0b60, 0x00000000 },
+ { 0x00800001, 0x2a600229, 0x00ad0b80, 0x00000000 },
+ { 0x00800001, 0x2a800229, 0x00ad0ba0, 0x00000000 },
+ { 0x00800001, 0x2aa00229, 0x00ad0bc0, 0x00000000 },
+ { 0x00600001, 0x25800129, 0x008d09c0, 0x00000000 },
+ { 0x00600001, 0x25a00129, 0x008d09e0, 0x00000000 },
+ { 0x00600001, 0x25c00129, 0x008d0a00, 0x00000000 },
+ { 0x00600001, 0x25e00129, 0x008d0a20, 0x00000000 },
+ { 0x00600001, 0x26000129, 0x008d0a40, 0x00000000 },
+ { 0x00600001, 0x26200129, 0x008d0a60, 0x00000000 },
+ { 0x00600001, 0x26400129, 0x008d0a80, 0x00000000 },
+ { 0x00600001, 0x26600129, 0x008d0aa0, 0x00000000 },
+ { 0x0020000c, 0x2e600c21, 0x00210e80, 0x00000001 },
+ { 0x0020000c, 0x2e6e3dad, 0x0045003a, 0x00020002 },
+ { 0x00200040, 0x2e603421, 0x00450e60, 0x00450e6e },
+ { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
+ { 0x01000005, 0x20002d3c, 0x0021003a, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000036 },
+ { 0x01000005, 0x20002d3c, 0x0021003c, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000028 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0001000f },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00800031, 0x2b401d29, 0x00ad0e60, 0x0411a005 },
+ { 0x00800031, 0x2be01d29, 0x00ad0e60, 0x0411a006 },
+ { 0x00800040, 0x29c04629, 0x00ad0ac0, 0x00ad0ae0 },
+ { 0x00800040, 0x29e04629, 0x00ad0ae0, 0x00ad0b00 },
+ { 0x00800040, 0x2a004629, 0x00ad0b00, 0x00ad0b20 },
+ { 0x00800040, 0x2a204629, 0x00ad0b20, 0x00ad0b40 },
+ { 0x00800040, 0x29c04529, 0x00ad09c0, 0x00ad0ac1 },
+ { 0x00800040, 0x29e04529, 0x00ad09e0, 0x00ad0ae1 },
+ { 0x00800040, 0x2a004529, 0x00ad0a00, 0x00ad0b01 },
+ { 0x00800040, 0x2a204529, 0x00ad0a20, 0x00ad0b21 },
+ { 0x00800040, 0x29c04529, 0x00ad09c0, 0x00ad0ae1 },
+ { 0x00800040, 0x29e04529, 0x00ad09e0, 0x00ad0b01 },
+ { 0x00800040, 0x2a004529, 0x00ad0a00, 0x00ad0b21 },
+ { 0x00800040, 0x2a204529, 0x00ad0a20, 0x00ad0b41 },
+ { 0x00800040, 0x2a404629, 0x00ad0b60, 0x00ad0b80 },
+ { 0x00800040, 0x2a604629, 0x00ad0b80, 0x00ad0ba0 },
+ { 0x00800040, 0x2a804629, 0x00ad0ba0, 0x00ad0bc0 },
+ { 0x00800040, 0x2aa04629, 0x00ad0bc0, 0x00ad0be0 },
+ { 0x00800040, 0x2a404529, 0x00ad0a40, 0x00ad0b61 },
+ { 0x00800040, 0x2a604529, 0x00ad0a60, 0x00ad0b81 },
+ { 0x00800040, 0x2a804529, 0x00ad0a80, 0x00ad0ba1 },
+ { 0x00800040, 0x2aa04529, 0x00ad0aa0, 0x00ad0bc1 },
+ { 0x00800040, 0x2a404529, 0x00ad0a40, 0x00ad0b81 },
+ { 0x00800040, 0x2a604529, 0x00ad0a60, 0x00ad0ba1 },
+ { 0x00800040, 0x2a804529, 0x00ad0a80, 0x00ad0bc1 },
+ { 0x00800040, 0x2aa04529, 0x00ad0aa0, 0x00ad0be1 },
+ { 0x80800008, 0x29c02d29, 0x00b109c0, 0x00020002 },
+ { 0x80800008, 0x29e02d29, 0x00b109e0, 0x00020002 },
+ { 0x80800008, 0x2a002d29, 0x00b10a00, 0x00020002 },
+ { 0x80800008, 0x2a202d29, 0x00b10a20, 0x00020002 },
+ { 0x80800008, 0x2a402d29, 0x00b10a40, 0x00020002 },
+ { 0x80800008, 0x2a602d29, 0x00b10a60, 0x00020002 },
+ { 0x80800008, 0x2a802d29, 0x00b10a80, 0x00020002 },
+ { 0x80800008, 0x2aa02d29, 0x00b10aa0, 0x00020002 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000028 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x80800042, 0x29c04629, 0x00ad0ac0, 0x00ad0ac1 },
+ { 0x80800042, 0x29e04629, 0x00ad0ae0, 0x00ad0ae1 },
+ { 0x80800042, 0x2a004629, 0x00ad0b00, 0x00ad0b01 },
+ { 0x80800042, 0x2a204629, 0x00ad0b20, 0x00ad0b21 },
+ { 0x80800042, 0x2a404629, 0x00ad0b60, 0x00ad0b61 },
+ { 0x80800042, 0x2a604629, 0x00ad0b80, 0x00ad0b81 },
+ { 0x80800042, 0x2a804629, 0x00ad0ba0, 0x00ad0ba1 },
+ { 0x80800042, 0x2aa04629, 0x00ad0bc0, 0x00ad0bc1 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000001c },
+ { 0x01000005, 0x20002d3c, 0x0021003c, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x0000000f },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000000f },
+ { 0x00800031, 0x2b401d29, 0x00ad0e60, 0x0411a005 },
+ { 0x00800031, 0x2be01d29, 0x00ad0e60, 0x0411a006 },
+ { 0x80800042, 0x29c04629, 0x00ad0ac0, 0x00ad0ae0 },
+ { 0x80800042, 0x29e04629, 0x00ad0ae0, 0x00ad0b00 },
+ { 0x80800042, 0x2a004629, 0x00ad0b00, 0x00ad0b20 },
+ { 0x80800042, 0x2a204629, 0x00ad0b20, 0x00ad0b40 },
+ { 0x80800042, 0x2a404629, 0x00ad0b60, 0x00ad0b80 },
+ { 0x80800042, 0x2a604629, 0x00ad0b80, 0x00ad0ba0 },
+ { 0x80800042, 0x2a804629, 0x00ad0ba0, 0x00ad0bc0 },
+ { 0x80800042, 0x2aa04629, 0x00ad0bc0, 0x00ad0be0 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000000b },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x00800001, 0x29c00229, 0x00ad0ac0, 0x00000000 },
+ { 0x00800001, 0x29e00229, 0x00ad0ae0, 0x00000000 },
+ { 0x00800001, 0x2a000229, 0x00ad0b00, 0x00000000 },
+ { 0x00800001, 0x2a200229, 0x00ad0b20, 0x00000000 },
+ { 0x00800001, 0x2a400229, 0x00ad0b60, 0x00000000 },
+ { 0x00800001, 0x2a600229, 0x00ad0b80, 0x00000000 },
+ { 0x00800001, 0x2a800229, 0x00ad0ba0, 0x00000000 },
+ { 0x00800001, 0x2aa00229, 0x00ad0bc0, 0x00000000 },
+ { 0x00600001, 0x25900129, 0x008d09c0, 0x00000000 },
+ { 0x00600001, 0x25b00129, 0x008d09e0, 0x00000000 },
+ { 0x00600001, 0x25d00129, 0x008d0a00, 0x00000000 },
+ { 0x00600001, 0x25f00129, 0x008d0a20, 0x00000000 },
+ { 0x00600001, 0x26100129, 0x008d0a40, 0x00000000 },
+ { 0x00600001, 0x26300129, 0x008d0a60, 0x00000000 },
+ { 0x00600001, 0x26500129, 0x008d0a80, 0x00000000 },
+ { 0x00600001, 0x26700129, 0x008d0aa0, 0x00000000 },
+ { 0x80800042, 0x25802529, 0x00b10880, 0x00b10580 },
+ { 0x80800042, 0x25a02529, 0x00b108a0, 0x00b105a0 },
+ { 0x80800042, 0x25c02529, 0x00b108c0, 0x00b105c0 },
+ { 0x80800042, 0x25e02529, 0x00b108e0, 0x00b105e0 },
+ { 0x80800042, 0x26002529, 0x00b10900, 0x00b10600 },
+ { 0x80800042, 0x26202529, 0x00b10920, 0x00b10620 },
+ { 0x80800042, 0x26402529, 0x00b10940, 0x00b10640 },
+ { 0x80800042, 0x26602529, 0x00b10960, 0x00b10660 },
+ { 0x00600001, 0x20200021, 0x008d0980, 0x00000000 },
+ { 0x00800001, 0x458101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x45a101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x45c101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x45e101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x460101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x462101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x464101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x466101f1, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002e3c, 0x0021003e, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000011 },
+ { 0x00800040, 0x238045ad, 0x00b10060, 0x00b20380 },
+ { 0x00800040, 0x23a045ad, 0x00b10080, 0x00b203a0 },
+ { 0x00800040, 0x23c045ad, 0x00b100a0, 0x00b203c0 },
+ { 0x00800040, 0x23e045ad, 0x00b100c0, 0x00b203e0 },
+ { 0x00800040, 0x240045ad, 0x00b100e0, 0x00b20400 },
+ { 0x00800040, 0x242045ad, 0x00b10100, 0x00b20420 },
+ { 0x00800040, 0x244045ad, 0x00b10120, 0x00b20440 },
+ { 0x00800040, 0x246045ad, 0x00b10140, 0x00b20460 },
+ { 0x00800040, 0x248045ad, 0x00b10160, 0x00b20480 },
+ { 0x00800040, 0x24a045ad, 0x00b10180, 0x00b204a0 },
+ { 0x00800040, 0x24c045ad, 0x00b101a0, 0x00b204c0 },
+ { 0x00800040, 0x24e045ad, 0x00b101c0, 0x00b204e0 },
+ { 0x00800040, 0x250045ad, 0x00b101e0, 0x00b20500 },
+ { 0x00800040, 0x252045ad, 0x00b10200, 0x00b20520 },
+ { 0x00800040, 0x254045ad, 0x00b10220, 0x00b20540 },
+ { 0x00800040, 0x256045ad, 0x00b10240, 0x00b20560 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000010 },
+ { 0x00800040, 0x238045ad, 0x00b10060, 0x00b20380 },
+ { 0x00800040, 0x23a045ad, 0x00b10160, 0x00b203a0 },
+ { 0x00800040, 0x23c045ad, 0x00b10080, 0x00b203c0 },
+ { 0x00800040, 0x23e045ad, 0x00b10180, 0x00b203e0 },
+ { 0x00800040, 0x240045ad, 0x00b100a0, 0x00b20400 },
+ { 0x00800040, 0x242045ad, 0x00b101a0, 0x00b20420 },
+ { 0x00800040, 0x244045ad, 0x00b100c0, 0x00b20440 },
+ { 0x00800040, 0x246045ad, 0x00b101c0, 0x00b20460 },
+ { 0x00800040, 0x248045ad, 0x00b100e0, 0x00b20480 },
+ { 0x00800040, 0x24a045ad, 0x00b101e0, 0x00b204a0 },
+ { 0x00800040, 0x24c045ad, 0x00b10100, 0x00b204c0 },
+ { 0x00800040, 0x24e045ad, 0x00b10200, 0x00b204e0 },
+ { 0x00800040, 0x250045ad, 0x00b10120, 0x00b20500 },
+ { 0x00800040, 0x252045ad, 0x00b10220, 0x00b20520 },
+ { 0x00800040, 0x254045ad, 0x00b10140, 0x00b20540 },
+ { 0x00800040, 0x256045ad, 0x00b10240, 0x00b20560 },
+ { 0x00000001, 0x20280061, 0x00000000, 0x000f000f },
+ { 0x80800001, 0x438001b1, 0x00b10380, 0x00000000 },
+ { 0x80800001, 0x43a001b1, 0x00b103a0, 0x00000000 },
+ { 0x80800001, 0x43c001b1, 0x00b103c0, 0x00000000 },
+ { 0x80800001, 0x43e001b1, 0x00b103e0, 0x00000000 },
+ { 0x80800001, 0x440001b1, 0x00b10400, 0x00000000 },
+ { 0x80800001, 0x442001b1, 0x00b10420, 0x00000000 },
+ { 0x80800001, 0x444001b1, 0x00b10440, 0x00000000 },
+ { 0x80800001, 0x446001b1, 0x00b10460, 0x00000000 },
+ { 0x80800001, 0x448001b1, 0x00b10480, 0x00000000 },
+ { 0x80800001, 0x44a001b1, 0x00b104a0, 0x00000000 },
+ { 0x80800001, 0x44c001b1, 0x00b104c0, 0x00000000 },
+ { 0x80800001, 0x44e001b1, 0x00b104e0, 0x00000000 },
+ { 0x80800001, 0x450001b1, 0x00b10500, 0x00000000 },
+ { 0x80800001, 0x452001b1, 0x00b10520, 0x00000000 },
+ { 0x80800001, 0x454001b1, 0x00b10540, 0x00000000 },
+ { 0x80800001, 0x456001b1, 0x00b10560, 0x00000000 },
+ { 0x00800001, 0x20200232, 0x00b20380, 0x00000000 },
+ { 0x00800001, 0x20300232, 0x00b203a0, 0x00000000 },
+ { 0x00800001, 0x20400232, 0x00b203c0, 0x00000000 },
+ { 0x00800001, 0x20500232, 0x00b203e0, 0x00000000 },
+ { 0x00800001, 0x20600232, 0x00b20400, 0x00000000 },
+ { 0x00800001, 0x20700232, 0x00b20420, 0x00000000 },
+ { 0x00800001, 0x20800232, 0x00b20440, 0x00000000 },
+ { 0x00800001, 0x20900232, 0x00b20460, 0x00000000 },
+ { 0x00800001, 0x20a00232, 0x00b20480, 0x00000000 },
+ { 0x00800001, 0x20b00232, 0x00b204a0, 0x00000000 },
+ { 0x00800001, 0x20c00232, 0x00b204c0, 0x00000000 },
+ { 0x00800001, 0x20d00232, 0x00b204e0, 0x00000000 },
+ { 0x00800001, 0x20e00232, 0x00b20500, 0x00000000 },
+ { 0x00800001, 0x20f00232, 0x00b20520, 0x00000000 },
+ { 0x00800001, 0x21000232, 0x00b20540, 0x00000000 },
+ { 0x00800001, 0x21100232, 0x00b20560, 0x00000000 },
+ { 0x00800031, 0x24001d28, 0x008d0020, 0x05902000 },
+ { 0x00000001, 0x20280061, 0x00000000, 0x00070007 },
+ { 0x00200008, 0x20201c21, 0x00450020, 0x00000001 },
+ { 0x00800040, 0x258025a9, 0x00b10260, 0x00b10580 },
+ { 0x00800040, 0x25a025a9, 0x00b10280, 0x00b105a0 },
+ { 0x00800040, 0x25c025a9, 0x00b102a0, 0x00b105c0 },
+ { 0x00800040, 0x25e025a9, 0x00b102c0, 0x00b105e0 },
+ { 0x80800001, 0x45800131, 0x00b10580, 0x00000000 },
+ { 0x80800001, 0x45a00131, 0x00b105a0, 0x00000000 },
+ { 0x80800001, 0x45c00131, 0x00b105c0, 0x00000000 },
+ { 0x80800001, 0x45e00131, 0x00b105e0, 0x00000000 },
+ { 0x00800001, 0x20200232, 0x00b20580, 0x00000000 },
+ { 0x00800001, 0x20300232, 0x00b205a0, 0x00000000 },
+ { 0x00800001, 0x20400232, 0x00b205c0, 0x00000000 },
+ { 0x00800001, 0x20500232, 0x00b205e0, 0x00000000 },
+ { 0x00800031, 0x24001d28, 0x008d0020, 0x05302001 },
+ { 0x00800040, 0x260025a9, 0x00b102e0, 0x00b10600 },
+ { 0x00800040, 0x262025a9, 0x00b10300, 0x00b10620 },
+ { 0x00800040, 0x264025a9, 0x00b10320, 0x00b10640 },
+ { 0x00800040, 0x266025a9, 0x00b10340, 0x00b10660 },
+ { 0x80800001, 0x46000131, 0x00b10600, 0x00000000 },
+ { 0x80800001, 0x46200131, 0x00b10620, 0x00000000 },
+ { 0x80800001, 0x46400131, 0x00b10640, 0x00000000 },
+ { 0x80800001, 0x46600131, 0x00b10660, 0x00000000 },
+ { 0x00800001, 0x20200232, 0x00b20600, 0x00000000 },
+ { 0x00800001, 0x20300232, 0x00b20620, 0x00000000 },
+ { 0x00800001, 0x20400232, 0x00b20640, 0x00000000 },
+ { 0x00800001, 0x20500232, 0x00b20660, 0x00000000 },
+ { 0x00800031, 0x24001d28, 0x008d0020, 0x05302002 },
+ { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
diff --git a/src/xvmc/field_backward_igd.g4a b/src/xvmc/field_backward_igd.g4a
new file mode 100644
index 00000000..d01b8dc3
--- /dev/null
+++ b/src/xvmc/field_backward_igd.g4a
@@ -0,0 +1,124 @@
+/*
+ * Copyright © 2008 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Author:
+ * Zou Nan hai <nanhai.zou@intel.com>
+ * Zhang Hua jun <huajun.zhang@intel.com>
+ * Xing Dong sheng <dongsheng.xing@intel.com>
+ *
+ */
+mov (8) g76.0<1>UD g1.0<8,8,1>UD {align1};
+//mov (8) g77.0<1>UD g2.0<8,8,1>UD {align1};
+
+include(`block_clear.g4i')
+
+mov (8) g115.0<1>UD g1.0<8,8,1>UD {align1};
+mov (8) g116.0<1>UD g1.0<8,8,1>UD {align1};
+/*Y buffer*/
+mov(1) g115.8<1>UD 0x007001fUD { align1 };
+mov(1) g1.8<1>UD 0x007000fUD { align1 };
+/*first vector*/
+asr (2) g115.14<1>W g1.18<2,2,1>W 1W {align1};
+add (2) g115.0<1>D g116.0<2,2,1>D g115.14<2,2,1>W {align1};
+and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
+mov(1) g115.8<1>UD 0x1fUD { align1 }; //read 1 line, 32 columns.
+
+and.nz (1) null g1.31<1,1,1>UB 0x2UW {align1};
+(f0) add (1) g115.4<1>D g115.4<1,1,1>D 1D {align1};
+define(`surface',`7')
+define(`mv1',`g1.18')
+define(`mv2',`g1.20')
+include(`motion_field_y_igd.g4i')
+mov (8) g28.0<1>UD g96.0<8,8,1>UD {align1};
+mov (8) g30.0<1>UD g97.0<8,8,1>UD {align1};
+mov (8) g32.0<1>UD g98.0<8,8,1>UD {align1};
+mov (8) g34.0<1>UD g99.0<8,8,1>UD {align1};
+mov (8) g36.0<1>UD g100.0<8,8,1>UD {align1};
+mov (8) g38.0<1>UD g101.0<8,8,1>UD {align1};
+mov (8) g40.0<1>UD g102.0<8,8,1>UD {align1};
+mov (8) g42.0<1>UD g103.0<8,8,1>UD {align1};
+/*second vector*/
+asr (2) g115.14<1>W g1.26<2,2,1>W 1W {align1};
+add (2) g115.0<1>D g116.0<2,2,1>D g115.14<2,2,1>W {align1};
+and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
+mov(1) g115.8<1>UD 0x1fUD { align1 }; //read 1 line, 32 columns.
+
+and.nz (1) null g1.31<1,1,1>UB 0x8UW {align1};
+(f0) add (1) g115.4<1>D g115.4<1,1,1>D 1D {align1};
+define(`surface',`7')
+define(`mv1',`g1.26')
+define(`mv2',`g1.28')
+include(`motion_field_y_igd.g4i')
+mov (8) g29.0<1>UD g96.0<8,8,1>UD {align1};
+mov (8) g31.0<1>UD g97.0<8,8,1>UD {align1};
+mov (8) g33.0<1>UD g98.0<8,8,1>UD {align1};
+mov (8) g35.0<1>UD g99.0<8,8,1>UD {align1};
+mov (8) g37.0<1>UD g100.0<8,8,1>UD {align1};
+mov (8) g39.0<1>UD g101.0<8,8,1>UD {align1};
+mov (8) g41.0<1>UD g102.0<8,8,1>UD {align1};
+mov (8) g43.0<1>UD g103.0<8,8,1>UD {align1};
+/*U buffer, V buffer*/
+mov(1) g115.8<1>UD 0x007000fUD { align1 };
+/*first vector*/
+asr (2) g115.14<1>W g1.18<2,2,1>W 2W {align1};
+asr (2) g115.0<1>D g116.0<2,2,1>D 1D {align1};
+add (2) g115.0<1>D g115.0<2,2,1>D g115.14<2,2,1>W {align1};
+and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
+
+and.nz (1) null g1.31<1,1,1>UB 0x2UW {align1};
+(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
+define(`surface_u',`8')
+define(`surface_v',`9')
+define(`mv1',`g1.18')
+define(`mv2',`g1.20')
+include(`motion_field_uv_igd.g4i')
+mov (8) g44.0<1>UW g78.0<8,8,1>UW {align1};
+mov (8) g45.0<1>UW g79.0<8,8,1>UW {align1};
+mov (8) g46.0<1>UW g80.0<8,8,1>UW {align1};
+mov (8) g47.0<1>UW g81.0<8,8,1>UW {align1};
+mov (8) g48.0<1>UW g82.0<8,8,1>UW {align1};
+mov (8) g49.0<1>UW g83.0<8,8,1>UW {align1};
+mov (8) g50.0<1>UW g84.0<8,8,1>UW {align1};
+mov (8) g51.0<1>UW g85.0<8,8,1>UW {align1};
+/*second vector*/
+asr (2) g115.14<1>W g1.26<2,2,1>W 2W {align1};
+asr (2) g115.0<1>D g116.0<2,2,1>D 1D {align1};
+add (2) g115.0<1>D g115.0<2,2,1>D g115.14<2,2,1>W {align1};
+and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
+
+and.nz (1) null g1.31<1,1,1>UB 0x8UW {align1};
+(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
+define(`mv1',`g1.26')
+define(`mv2',`g1.28')
+include(`motion_field_uv_igd.g4i')
+mov (8) g44.16<1>UW g78.0<8,8,1>UW {align1};
+mov (8) g45.16<1>UW g79.0<8,8,1>UW {align1};
+mov (8) g46.16<1>UW g80.0<8,8,1>UW {align1};
+mov (8) g47.16<1>UW g81.0<8,8,1>UW {align1};
+mov (8) g48.16<1>UW g82.0<8,8,1>UW {align1};
+mov (8) g49.16<1>UW g83.0<8,8,1>UW {align1};
+mov (8) g50.16<1>UW g84.0<8,8,1>UW {align1};
+mov (8) g51.16<1>UW g85.0<8,8,1>UW {align1};
+
+include(`addidct.g4i')
+//send (16) 0 acc0<1>UW g0<8,8,1>UW
+// thread_spawner(0, 0, 0) mlen 1 rlen 0 { align1 EOT};
diff --git a/src/xvmc/field_backward_igd.g4b b/src/xvmc/field_backward_igd.g4b
new file mode 100644
index 00000000..ed0bc975
--- /dev/null
+++ b/src/xvmc/field_backward_igd.g4b
@@ -0,0 +1,619 @@
+ { 0x00600001, 0x29800021, 0x008d0020, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021098c, 0x00200020 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
+ { 0x00600001, 0x20600169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20800169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20a00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20c00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20e00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21000169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21200169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21400169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00100010 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
+ { 0x00600001, 0x20700169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20900169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20b00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20d00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20f00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21100169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21300169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21500169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00080008 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
+ { 0x00600001, 0x21600169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21800169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21a00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21c00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21e00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22000169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22200169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22400169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00040004 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
+ { 0x00600001, 0x21700169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21900169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21b00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21d00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21f00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22100169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22300169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22500169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000004 },
+ { 0x00800001, 0x22600169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x22800169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x22a00169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x22c00169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000004 },
+ { 0x00800001, 0x22e00169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x23000169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x23200169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x23400169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x2e600021, 0x008d0020, 0x00000000 },
+ { 0x00600001, 0x2e800021, 0x008d0020, 0x00000000 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00000001, 0x20280061, 0x00000000, 0x0007000f },
+ { 0x0020000c, 0x2e6e3dad, 0x00450032, 0x00010001 },
+ { 0x00200040, 0x2e6034a5, 0x00450e80, 0x00450e6e },
+ { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x02000005, 0x20002e3c, 0x0021003f, 0x00020002 },
+ { 0x00010040, 0x2e641ca5, 0x00210e64, 0x00000001 },
+ { 0x01000005, 0x20002d3c, 0x00210032, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000045 },
+ { 0x01000005, 0x20002d3c, 0x00210034, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x0000002f },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2bc01d29, 0x008d0e60, 0x0411a007 },
+ { 0x00800040, 0x2c004629, 0x00b109c0, 0x00b10a00 },
+ { 0x00800040, 0x2c204629, 0x00b10a00, 0x00b10a40 },
+ { 0x00800040, 0x2c404629, 0x00b10a40, 0x00b10a80 },
+ { 0x00800040, 0x2c604629, 0x00b10a80, 0x00b10ac0 },
+ { 0x00800040, 0x2c804629, 0x00b10ac0, 0x00b10b00 },
+ { 0x00800040, 0x2ca04629, 0x00b10b00, 0x00b10b40 },
+ { 0x00800040, 0x2cc04629, 0x00b10b40, 0x00b10b80 },
+ { 0x00800040, 0x2ce04629, 0x00b10b80, 0x00b10bc0 },
+ { 0x00800040, 0x2c004529, 0x00b10c00, 0x00b109c1 },
+ { 0x00800040, 0x2c204529, 0x00b10c20, 0x00b10a01 },
+ { 0x00800040, 0x2c404529, 0x00b10c40, 0x00b10a41 },
+ { 0x00800040, 0x2c604529, 0x00b10c60, 0x00b10a81 },
+ { 0x00800040, 0x2c804529, 0x00b10c80, 0x00b10ac1 },
+ { 0x00800040, 0x2ca04529, 0x00b10ca0, 0x00b10b01 },
+ { 0x00800040, 0x2cc04529, 0x00b10cc0, 0x00b10b41 },
+ { 0x00800040, 0x2ce04529, 0x00b10ce0, 0x00b10b81 },
+ { 0x00800040, 0x2c004529, 0x00b10c00, 0x00b10a01 },
+ { 0x00800040, 0x2c204529, 0x00b10c20, 0x00b10a41 },
+ { 0x00800040, 0x2c404529, 0x00b10c40, 0x00b10a81 },
+ { 0x00800040, 0x2c604529, 0x00b10c60, 0x00b10ac1 },
+ { 0x00800040, 0x2c804529, 0x00b10c80, 0x00b10b01 },
+ { 0x00800040, 0x2ca04529, 0x00b10ca0, 0x00b10b41 },
+ { 0x00800040, 0x2cc04529, 0x00b10cc0, 0x00b10b81 },
+ { 0x00800040, 0x2ce04529, 0x00b10ce0, 0x00b10bc1 },
+ { 0x00800008, 0x2c002d29, 0x00b10c00, 0x00020002 },
+ { 0x00800008, 0x2c202d29, 0x00b10c20, 0x00020002 },
+ { 0x00800008, 0x2c402d29, 0x00b10c40, 0x00020002 },
+ { 0x00800008, 0x2c602d29, 0x00b10c60, 0x00020002 },
+ { 0x00800008, 0x2c802d29, 0x00b10c80, 0x00020002 },
+ { 0x00800008, 0x2ca02d29, 0x00b10ca0, 0x00020002 },
+ { 0x00800008, 0x2cc02d29, 0x00b10cc0, 0x00020002 },
+ { 0x00800008, 0x2ce02d29, 0x00b10ce0, 0x00020002 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000040 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a007 },
+ { 0x80800042, 0x2c004629, 0x00b109c0, 0x00b109c1 },
+ { 0x80800042, 0x2c204629, 0x00b10a00, 0x00b10a01 },
+ { 0x80800042, 0x2c404629, 0x00b10a40, 0x00b10a41 },
+ { 0x80800042, 0x2c604629, 0x00b10a80, 0x00b10a81 },
+ { 0x80800042, 0x2c804629, 0x00b10ac0, 0x00b10ac1 },
+ { 0x80800042, 0x2ca04629, 0x00b10b00, 0x00b10b01 },
+ { 0x80800042, 0x2cc04629, 0x00b10b40, 0x00b10b41 },
+ { 0x80800042, 0x2ce04629, 0x00b10b80, 0x00b10b81 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000002c },
+ { 0x01000005, 0x20002d3c, 0x00210034, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000017 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2bc01d29, 0x008d0e60, 0x0411a007 },
+ { 0x80800042, 0x2c004629, 0x00b109c0, 0x00b10a00 },
+ { 0x80800042, 0x2c204629, 0x00b10a00, 0x00b10a40 },
+ { 0x80800042, 0x2c404629, 0x00b10a40, 0x00b10a80 },
+ { 0x80800042, 0x2c604629, 0x00b10a80, 0x00b10ac0 },
+ { 0x80800042, 0x2c804629, 0x00b10ac0, 0x00b10b00 },
+ { 0x80800042, 0x2ca04629, 0x00b10b00, 0x00b10b40 },
+ { 0x80800042, 0x2cc04629, 0x00b10b40, 0x00b10b80 },
+ { 0x80800042, 0x2ce04629, 0x00b10b80, 0x00b10bc0 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000013 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a007 },
+ { 0x00800001, 0x2c000229, 0x00b109c0, 0x00000000 },
+ { 0x00800001, 0x2c200229, 0x00b10a00, 0x00000000 },
+ { 0x00800001, 0x2c400229, 0x00b10a40, 0x00000000 },
+ { 0x00800001, 0x2c600229, 0x00b10a80, 0x00000000 },
+ { 0x00800001, 0x2c800229, 0x00b10ac0, 0x00000000 },
+ { 0x00800001, 0x2ca00229, 0x00b10b00, 0x00000000 },
+ { 0x00800001, 0x2cc00229, 0x00b10b40, 0x00000000 },
+ { 0x00800001, 0x2ce00229, 0x00b10b80, 0x00000000 },
+ { 0x00600001, 0x23800021, 0x008d0c00, 0x00000000 },
+ { 0x00600001, 0x23c00021, 0x008d0c20, 0x00000000 },
+ { 0x00600001, 0x24000021, 0x008d0c40, 0x00000000 },
+ { 0x00600001, 0x24400021, 0x008d0c60, 0x00000000 },
+ { 0x00600001, 0x24800021, 0x008d0c80, 0x00000000 },
+ { 0x00600001, 0x24c00021, 0x008d0ca0, 0x00000000 },
+ { 0x00600001, 0x25000021, 0x008d0cc0, 0x00000000 },
+ { 0x00600001, 0x25400021, 0x008d0ce0, 0x00000000 },
+ { 0x0020000c, 0x2e6e3dad, 0x0045003a, 0x00010001 },
+ { 0x00200040, 0x2e6034a5, 0x00450e80, 0x00450e6e },
+ { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x02000005, 0x20002e3c, 0x0021003f, 0x00080008 },
+ { 0x00010040, 0x2e641ca5, 0x00210e64, 0x00000001 },
+ { 0x01000005, 0x20002d3c, 0x0021003a, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000045 },
+ { 0x01000005, 0x20002d3c, 0x0021003c, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x0000002f },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2bc01d29, 0x008d0e60, 0x0411a007 },
+ { 0x00800040, 0x2c004629, 0x00b109c0, 0x00b10a00 },
+ { 0x00800040, 0x2c204629, 0x00b10a00, 0x00b10a40 },
+ { 0x00800040, 0x2c404629, 0x00b10a40, 0x00b10a80 },
+ { 0x00800040, 0x2c604629, 0x00b10a80, 0x00b10ac0 },
+ { 0x00800040, 0x2c804629, 0x00b10ac0, 0x00b10b00 },
+ { 0x00800040, 0x2ca04629, 0x00b10b00, 0x00b10b40 },
+ { 0x00800040, 0x2cc04629, 0x00b10b40, 0x00b10b80 },
+ { 0x00800040, 0x2ce04629, 0x00b10b80, 0x00b10bc0 },
+ { 0x00800040, 0x2c004529, 0x00b10c00, 0x00b109c1 },
+ { 0x00800040, 0x2c204529, 0x00b10c20, 0x00b10a01 },
+ { 0x00800040, 0x2c404529, 0x00b10c40, 0x00b10a41 },
+ { 0x00800040, 0x2c604529, 0x00b10c60, 0x00b10a81 },
+ { 0x00800040, 0x2c804529, 0x00b10c80, 0x00b10ac1 },
+ { 0x00800040, 0x2ca04529, 0x00b10ca0, 0x00b10b01 },
+ { 0x00800040, 0x2cc04529, 0x00b10cc0, 0x00b10b41 },
+ { 0x00800040, 0x2ce04529, 0x00b10ce0, 0x00b10b81 },
+ { 0x00800040, 0x2c004529, 0x00b10c00, 0x00b10a01 },
+ { 0x00800040, 0x2c204529, 0x00b10c20, 0x00b10a41 },
+ { 0x00800040, 0x2c404529, 0x00b10c40, 0x00b10a81 },
+ { 0x00800040, 0x2c604529, 0x00b10c60, 0x00b10ac1 },
+ { 0x00800040, 0x2c804529, 0x00b10c80, 0x00b10b01 },
+ { 0x00800040, 0x2ca04529, 0x00b10ca0, 0x00b10b41 },
+ { 0x00800040, 0x2cc04529, 0x00b10cc0, 0x00b10b81 },
+ { 0x00800040, 0x2ce04529, 0x00b10ce0, 0x00b10bc1 },
+ { 0x00800008, 0x2c002d29, 0x00b10c00, 0x00020002 },
+ { 0x00800008, 0x2c202d29, 0x00b10c20, 0x00020002 },
+ { 0x00800008, 0x2c402d29, 0x00b10c40, 0x00020002 },
+ { 0x00800008, 0x2c602d29, 0x00b10c60, 0x00020002 },
+ { 0x00800008, 0x2c802d29, 0x00b10c80, 0x00020002 },
+ { 0x00800008, 0x2ca02d29, 0x00b10ca0, 0x00020002 },
+ { 0x00800008, 0x2cc02d29, 0x00b10cc0, 0x00020002 },
+ { 0x00800008, 0x2ce02d29, 0x00b10ce0, 0x00020002 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000040 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a007 },
+ { 0x80800042, 0x2c004629, 0x00b109c0, 0x00b109c1 },
+ { 0x80800042, 0x2c204629, 0x00b10a00, 0x00b10a01 },
+ { 0x80800042, 0x2c404629, 0x00b10a40, 0x00b10a41 },
+ { 0x80800042, 0x2c604629, 0x00b10a80, 0x00b10a81 },
+ { 0x80800042, 0x2c804629, 0x00b10ac0, 0x00b10ac1 },
+ { 0x80800042, 0x2ca04629, 0x00b10b00, 0x00b10b01 },
+ { 0x80800042, 0x2cc04629, 0x00b10b40, 0x00b10b41 },
+ { 0x80800042, 0x2ce04629, 0x00b10b80, 0x00b10b81 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000002c },
+ { 0x01000005, 0x20002d3c, 0x0021003c, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000017 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2bc01d29, 0x008d0e60, 0x0411a007 },
+ { 0x80800042, 0x2c004629, 0x00b109c0, 0x00b10a00 },
+ { 0x80800042, 0x2c204629, 0x00b10a00, 0x00b10a40 },
+ { 0x80800042, 0x2c404629, 0x00b10a40, 0x00b10a80 },
+ { 0x80800042, 0x2c604629, 0x00b10a80, 0x00b10ac0 },
+ { 0x80800042, 0x2c804629, 0x00b10ac0, 0x00b10b00 },
+ { 0x80800042, 0x2ca04629, 0x00b10b00, 0x00b10b40 },
+ { 0x80800042, 0x2cc04629, 0x00b10b40, 0x00b10b80 },
+ { 0x80800042, 0x2ce04629, 0x00b10b80, 0x00b10bc0 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000013 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a007 },
+ { 0x00800001, 0x2c000229, 0x00b109c0, 0x00000000 },
+ { 0x00800001, 0x2c200229, 0x00b10a00, 0x00000000 },
+ { 0x00800001, 0x2c400229, 0x00b10a40, 0x00000000 },
+ { 0x00800001, 0x2c600229, 0x00b10a80, 0x00000000 },
+ { 0x00800001, 0x2c800229, 0x00b10ac0, 0x00000000 },
+ { 0x00800001, 0x2ca00229, 0x00b10b00, 0x00000000 },
+ { 0x00800001, 0x2cc00229, 0x00b10b40, 0x00000000 },
+ { 0x00800001, 0x2ce00229, 0x00b10b80, 0x00000000 },
+ { 0x00600001, 0x23a00021, 0x008d0c00, 0x00000000 },
+ { 0x00600001, 0x23e00021, 0x008d0c20, 0x00000000 },
+ { 0x00600001, 0x24200021, 0x008d0c40, 0x00000000 },
+ { 0x00600001, 0x24600021, 0x008d0c60, 0x00000000 },
+ { 0x00600001, 0x24a00021, 0x008d0c80, 0x00000000 },
+ { 0x00600001, 0x24e00021, 0x008d0ca0, 0x00000000 },
+ { 0x00600001, 0x25200021, 0x008d0cc0, 0x00000000 },
+ { 0x00600001, 0x25600021, 0x008d0ce0, 0x00000000 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x0020000c, 0x2e6e3dad, 0x00450032, 0x00020002 },
+ { 0x0020000c, 0x2e601ca5, 0x00450e80, 0x00000001 },
+ { 0x00200040, 0x2e6034a5, 0x00450e60, 0x00450e6e },
+ { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
+ { 0x02000005, 0x20002e3c, 0x0021003f, 0x00020002 },
+ { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
+ { 0x01000005, 0x20002d3c, 0x00210032, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000036 },
+ { 0x01000005, 0x20002d3c, 0x00210034, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000028 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a008 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a009 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0001000f },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00800031, 0x2b401d29, 0x00ad0e60, 0x0411a008 },
+ { 0x00800031, 0x2be01d29, 0x00ad0e60, 0x0411a009 },
+ { 0x00800040, 0x29c04629, 0x00ad0ac0, 0x00ad0ae0 },
+ { 0x00800040, 0x29e04629, 0x00ad0ae0, 0x00ad0b00 },
+ { 0x00800040, 0x2a004629, 0x00ad0b00, 0x00ad0b20 },
+ { 0x00800040, 0x2a204629, 0x00ad0b20, 0x00ad0b40 },
+ { 0x00800040, 0x29c04529, 0x00ad09c0, 0x00ad0ac1 },
+ { 0x00800040, 0x29e04529, 0x00ad09e0, 0x00ad0ae1 },
+ { 0x00800040, 0x2a004529, 0x00ad0a00, 0x00ad0b01 },
+ { 0x00800040, 0x2a204529, 0x00ad0a20, 0x00ad0b21 },
+ { 0x00800040, 0x29c04529, 0x00ad09c0, 0x00ad0ae1 },
+ { 0x00800040, 0x29e04529, 0x00ad09e0, 0x00ad0b01 },
+ { 0x00800040, 0x2a004529, 0x00ad0a00, 0x00ad0b21 },
+ { 0x00800040, 0x2a204529, 0x00ad0a20, 0x00ad0b41 },
+ { 0x00800040, 0x2a404629, 0x00ad0b60, 0x00ad0b80 },
+ { 0x00800040, 0x2a604629, 0x00ad0b80, 0x00ad0ba0 },
+ { 0x00800040, 0x2a804629, 0x00ad0ba0, 0x00ad0bc0 },
+ { 0x00800040, 0x2aa04629, 0x00ad0bc0, 0x00ad0be0 },
+ { 0x00800040, 0x2a404529, 0x00ad0a40, 0x00ad0b61 },
+ { 0x00800040, 0x2a604529, 0x00ad0a60, 0x00ad0b81 },
+ { 0x00800040, 0x2a804529, 0x00ad0a80, 0x00ad0ba1 },
+ { 0x00800040, 0x2aa04529, 0x00ad0aa0, 0x00ad0bc1 },
+ { 0x00800040, 0x2a404529, 0x00ad0a40, 0x00ad0b81 },
+ { 0x00800040, 0x2a604529, 0x00ad0a60, 0x00ad0ba1 },
+ { 0x00800040, 0x2a804529, 0x00ad0a80, 0x00ad0bc1 },
+ { 0x00800040, 0x2aa04529, 0x00ad0aa0, 0x00ad0be1 },
+ { 0x80800008, 0x29c02d29, 0x00b109c0, 0x00020002 },
+ { 0x80800008, 0x29e02d29, 0x00b109e0, 0x00020002 },
+ { 0x80800008, 0x2a002d29, 0x00b10a00, 0x00020002 },
+ { 0x80800008, 0x2a202d29, 0x00b10a20, 0x00020002 },
+ { 0x80800008, 0x2a402d29, 0x00b10a40, 0x00020002 },
+ { 0x80800008, 0x2a602d29, 0x00b10a60, 0x00020002 },
+ { 0x80800008, 0x2a802d29, 0x00b10a80, 0x00020002 },
+ { 0x80800008, 0x2aa02d29, 0x00b10aa0, 0x00020002 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000028 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a008 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a009 },
+ { 0x80800042, 0x29c04629, 0x00ad0ac0, 0x00ad0ac1 },
+ { 0x80800042, 0x29e04629, 0x00ad0ae0, 0x00ad0ae1 },
+ { 0x80800042, 0x2a004629, 0x00ad0b00, 0x00ad0b01 },
+ { 0x80800042, 0x2a204629, 0x00ad0b20, 0x00ad0b21 },
+ { 0x80800042, 0x2a404629, 0x00ad0b60, 0x00ad0b61 },
+ { 0x80800042, 0x2a604629, 0x00ad0b80, 0x00ad0b81 },
+ { 0x80800042, 0x2a804629, 0x00ad0ba0, 0x00ad0ba1 },
+ { 0x80800042, 0x2aa04629, 0x00ad0bc0, 0x00ad0bc1 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000001c },
+ { 0x01000005, 0x20002d3c, 0x00210034, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x0000000f },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a008 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a009 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000000f },
+ { 0x00800031, 0x2b401d29, 0x00ad0e60, 0x0411a008 },
+ { 0x00800031, 0x2be01d29, 0x00ad0e60, 0x0411a009 },
+ { 0x80800042, 0x29c04629, 0x00ad0ac0, 0x00ad0ae0 },
+ { 0x80800042, 0x29e04629, 0x00ad0ae0, 0x00ad0b00 },
+ { 0x80800042, 0x2a004629, 0x00ad0b00, 0x00ad0b20 },
+ { 0x80800042, 0x2a204629, 0x00ad0b20, 0x00ad0b40 },
+ { 0x80800042, 0x2a404629, 0x00ad0b60, 0x00ad0b80 },
+ { 0x80800042, 0x2a604629, 0x00ad0b80, 0x00ad0ba0 },
+ { 0x80800042, 0x2a804629, 0x00ad0ba0, 0x00ad0bc0 },
+ { 0x80800042, 0x2aa04629, 0x00ad0bc0, 0x00ad0be0 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000000b },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a008 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a009 },
+ { 0x00800001, 0x29c00229, 0x00ad0ac0, 0x00000000 },
+ { 0x00800001, 0x29e00229, 0x00ad0ae0, 0x00000000 },
+ { 0x00800001, 0x2a000229, 0x00ad0b00, 0x00000000 },
+ { 0x00800001, 0x2a200229, 0x00ad0b20, 0x00000000 },
+ { 0x00800001, 0x2a400229, 0x00ad0b60, 0x00000000 },
+ { 0x00800001, 0x2a600229, 0x00ad0b80, 0x00000000 },
+ { 0x00800001, 0x2a800229, 0x00ad0ba0, 0x00000000 },
+ { 0x00800001, 0x2aa00229, 0x00ad0bc0, 0x00000000 },
+ { 0x00600001, 0x25800129, 0x008d09c0, 0x00000000 },
+ { 0x00600001, 0x25a00129, 0x008d09e0, 0x00000000 },
+ { 0x00600001, 0x25c00129, 0x008d0a00, 0x00000000 },
+ { 0x00600001, 0x25e00129, 0x008d0a20, 0x00000000 },
+ { 0x00600001, 0x26000129, 0x008d0a40, 0x00000000 },
+ { 0x00600001, 0x26200129, 0x008d0a60, 0x00000000 },
+ { 0x00600001, 0x26400129, 0x008d0a80, 0x00000000 },
+ { 0x00600001, 0x26600129, 0x008d0aa0, 0x00000000 },
+ { 0x0020000c, 0x2e6e3dad, 0x0045003a, 0x00020002 },
+ { 0x0020000c, 0x2e601ca5, 0x00450e80, 0x00000001 },
+ { 0x00200040, 0x2e6034a5, 0x00450e60, 0x00450e6e },
+ { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
+ { 0x02000005, 0x20002e3c, 0x0021003f, 0x00080008 },
+ { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
+ { 0x01000005, 0x20002d3c, 0x0021003a, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000036 },
+ { 0x01000005, 0x20002d3c, 0x0021003c, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000028 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a008 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a009 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0001000f },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00800031, 0x2b401d29, 0x00ad0e60, 0x0411a008 },
+ { 0x00800031, 0x2be01d29, 0x00ad0e60, 0x0411a009 },
+ { 0x00800040, 0x29c04629, 0x00ad0ac0, 0x00ad0ae0 },
+ { 0x00800040, 0x29e04629, 0x00ad0ae0, 0x00ad0b00 },
+ { 0x00800040, 0x2a004629, 0x00ad0b00, 0x00ad0b20 },
+ { 0x00800040, 0x2a204629, 0x00ad0b20, 0x00ad0b40 },
+ { 0x00800040, 0x29c04529, 0x00ad09c0, 0x00ad0ac1 },
+ { 0x00800040, 0x29e04529, 0x00ad09e0, 0x00ad0ae1 },
+ { 0x00800040, 0x2a004529, 0x00ad0a00, 0x00ad0b01 },
+ { 0x00800040, 0x2a204529, 0x00ad0a20, 0x00ad0b21 },
+ { 0x00800040, 0x29c04529, 0x00ad09c0, 0x00ad0ae1 },
+ { 0x00800040, 0x29e04529, 0x00ad09e0, 0x00ad0b01 },
+ { 0x00800040, 0x2a004529, 0x00ad0a00, 0x00ad0b21 },
+ { 0x00800040, 0x2a204529, 0x00ad0a20, 0x00ad0b41 },
+ { 0x00800040, 0x2a404629, 0x00ad0b60, 0x00ad0b80 },
+ { 0x00800040, 0x2a604629, 0x00ad0b80, 0x00ad0ba0 },
+ { 0x00800040, 0x2a804629, 0x00ad0ba0, 0x00ad0bc0 },
+ { 0x00800040, 0x2aa04629, 0x00ad0bc0, 0x00ad0be0 },
+ { 0x00800040, 0x2a404529, 0x00ad0a40, 0x00ad0b61 },
+ { 0x00800040, 0x2a604529, 0x00ad0a60, 0x00ad0b81 },
+ { 0x00800040, 0x2a804529, 0x00ad0a80, 0x00ad0ba1 },
+ { 0x00800040, 0x2aa04529, 0x00ad0aa0, 0x00ad0bc1 },
+ { 0x00800040, 0x2a404529, 0x00ad0a40, 0x00ad0b81 },
+ { 0x00800040, 0x2a604529, 0x00ad0a60, 0x00ad0ba1 },
+ { 0x00800040, 0x2a804529, 0x00ad0a80, 0x00ad0bc1 },
+ { 0x00800040, 0x2aa04529, 0x00ad0aa0, 0x00ad0be1 },
+ { 0x80800008, 0x29c02d29, 0x00b109c0, 0x00020002 },
+ { 0x80800008, 0x29e02d29, 0x00b109e0, 0x00020002 },
+ { 0x80800008, 0x2a002d29, 0x00b10a00, 0x00020002 },
+ { 0x80800008, 0x2a202d29, 0x00b10a20, 0x00020002 },
+ { 0x80800008, 0x2a402d29, 0x00b10a40, 0x00020002 },
+ { 0x80800008, 0x2a602d29, 0x00b10a60, 0x00020002 },
+ { 0x80800008, 0x2a802d29, 0x00b10a80, 0x00020002 },
+ { 0x80800008, 0x2aa02d29, 0x00b10aa0, 0x00020002 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000028 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a008 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a009 },
+ { 0x80800042, 0x29c04629, 0x00ad0ac0, 0x00ad0ac1 },
+ { 0x80800042, 0x29e04629, 0x00ad0ae0, 0x00ad0ae1 },
+ { 0x80800042, 0x2a004629, 0x00ad0b00, 0x00ad0b01 },
+ { 0x80800042, 0x2a204629, 0x00ad0b20, 0x00ad0b21 },
+ { 0x80800042, 0x2a404629, 0x00ad0b60, 0x00ad0b61 },
+ { 0x80800042, 0x2a604629, 0x00ad0b80, 0x00ad0b81 },
+ { 0x80800042, 0x2a804629, 0x00ad0ba0, 0x00ad0ba1 },
+ { 0x80800042, 0x2aa04629, 0x00ad0bc0, 0x00ad0bc1 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000001c },
+ { 0x01000005, 0x20002d3c, 0x0021003c, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x0000000f },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a008 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a009 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000000f },
+ { 0x00800031, 0x2b401d29, 0x00ad0e60, 0x0411a008 },
+ { 0x00800031, 0x2be01d29, 0x00ad0e60, 0x0411a009 },
+ { 0x80800042, 0x29c04629, 0x00ad0ac0, 0x00ad0ae0 },
+ { 0x80800042, 0x29e04629, 0x00ad0ae0, 0x00ad0b00 },
+ { 0x80800042, 0x2a004629, 0x00ad0b00, 0x00ad0b20 },
+ { 0x80800042, 0x2a204629, 0x00ad0b20, 0x00ad0b40 },
+ { 0x80800042, 0x2a404629, 0x00ad0b60, 0x00ad0b80 },
+ { 0x80800042, 0x2a604629, 0x00ad0b80, 0x00ad0ba0 },
+ { 0x80800042, 0x2a804629, 0x00ad0ba0, 0x00ad0bc0 },
+ { 0x80800042, 0x2aa04629, 0x00ad0bc0, 0x00ad0be0 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000000b },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a008 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a009 },
+ { 0x00800001, 0x29c00229, 0x00ad0ac0, 0x00000000 },
+ { 0x00800001, 0x29e00229, 0x00ad0ae0, 0x00000000 },
+ { 0x00800001, 0x2a000229, 0x00ad0b00, 0x00000000 },
+ { 0x00800001, 0x2a200229, 0x00ad0b20, 0x00000000 },
+ { 0x00800001, 0x2a400229, 0x00ad0b60, 0x00000000 },
+ { 0x00800001, 0x2a600229, 0x00ad0b80, 0x00000000 },
+ { 0x00800001, 0x2a800229, 0x00ad0ba0, 0x00000000 },
+ { 0x00800001, 0x2aa00229, 0x00ad0bc0, 0x00000000 },
+ { 0x00600001, 0x25900129, 0x008d09c0, 0x00000000 },
+ { 0x00600001, 0x25b00129, 0x008d09e0, 0x00000000 },
+ { 0x00600001, 0x25d00129, 0x008d0a00, 0x00000000 },
+ { 0x00600001, 0x25f00129, 0x008d0a20, 0x00000000 },
+ { 0x00600001, 0x26100129, 0x008d0a40, 0x00000000 },
+ { 0x00600001, 0x26300129, 0x008d0a60, 0x00000000 },
+ { 0x00600001, 0x26500129, 0x008d0a80, 0x00000000 },
+ { 0x00600001, 0x26700129, 0x008d0aa0, 0x00000000 },
+ { 0x00600001, 0x20200021, 0x008d0980, 0x00000000 },
+ { 0x00800001, 0x458101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x45a101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x45c101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x45e101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x460101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x462101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x464101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x466101f1, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002e3c, 0x0021003e, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000011 },
+ { 0x00800040, 0x238045ad, 0x00b10060, 0x00b20380 },
+ { 0x00800040, 0x23a045ad, 0x00b10080, 0x00b203a0 },
+ { 0x00800040, 0x23c045ad, 0x00b100a0, 0x00b203c0 },
+ { 0x00800040, 0x23e045ad, 0x00b100c0, 0x00b203e0 },
+ { 0x00800040, 0x240045ad, 0x00b100e0, 0x00b20400 },
+ { 0x00800040, 0x242045ad, 0x00b10100, 0x00b20420 },
+ { 0x00800040, 0x244045ad, 0x00b10120, 0x00b20440 },
+ { 0x00800040, 0x246045ad, 0x00b10140, 0x00b20460 },
+ { 0x00800040, 0x248045ad, 0x00b10160, 0x00b20480 },
+ { 0x00800040, 0x24a045ad, 0x00b10180, 0x00b204a0 },
+ { 0x00800040, 0x24c045ad, 0x00b101a0, 0x00b204c0 },
+ { 0x00800040, 0x24e045ad, 0x00b101c0, 0x00b204e0 },
+ { 0x00800040, 0x250045ad, 0x00b101e0, 0x00b20500 },
+ { 0x00800040, 0x252045ad, 0x00b10200, 0x00b20520 },
+ { 0x00800040, 0x254045ad, 0x00b10220, 0x00b20540 },
+ { 0x00800040, 0x256045ad, 0x00b10240, 0x00b20560 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000010 },
+ { 0x00800040, 0x238045ad, 0x00b10060, 0x00b20380 },
+ { 0x00800040, 0x23a045ad, 0x00b10160, 0x00b203a0 },
+ { 0x00800040, 0x23c045ad, 0x00b10080, 0x00b203c0 },
+ { 0x00800040, 0x23e045ad, 0x00b10180, 0x00b203e0 },
+ { 0x00800040, 0x240045ad, 0x00b100a0, 0x00b20400 },
+ { 0x00800040, 0x242045ad, 0x00b101a0, 0x00b20420 },
+ { 0x00800040, 0x244045ad, 0x00b100c0, 0x00b20440 },
+ { 0x00800040, 0x246045ad, 0x00b101c0, 0x00b20460 },
+ { 0x00800040, 0x248045ad, 0x00b100e0, 0x00b20480 },
+ { 0x00800040, 0x24a045ad, 0x00b101e0, 0x00b204a0 },
+ { 0x00800040, 0x24c045ad, 0x00b10100, 0x00b204c0 },
+ { 0x00800040, 0x24e045ad, 0x00b10200, 0x00b204e0 },
+ { 0x00800040, 0x250045ad, 0x00b10120, 0x00b20500 },
+ { 0x00800040, 0x252045ad, 0x00b10220, 0x00b20520 },
+ { 0x00800040, 0x254045ad, 0x00b10140, 0x00b20540 },
+ { 0x00800040, 0x256045ad, 0x00b10240, 0x00b20560 },
+ { 0x00000001, 0x20280061, 0x00000000, 0x000f000f },
+ { 0x80800001, 0x438001b1, 0x00b10380, 0x00000000 },
+ { 0x80800001, 0x43a001b1, 0x00b103a0, 0x00000000 },
+ { 0x80800001, 0x43c001b1, 0x00b103c0, 0x00000000 },
+ { 0x80800001, 0x43e001b1, 0x00b103e0, 0x00000000 },
+ { 0x80800001, 0x440001b1, 0x00b10400, 0x00000000 },
+ { 0x80800001, 0x442001b1, 0x00b10420, 0x00000000 },
+ { 0x80800001, 0x444001b1, 0x00b10440, 0x00000000 },
+ { 0x80800001, 0x446001b1, 0x00b10460, 0x00000000 },
+ { 0x80800001, 0x448001b1, 0x00b10480, 0x00000000 },
+ { 0x80800001, 0x44a001b1, 0x00b104a0, 0x00000000 },
+ { 0x80800001, 0x44c001b1, 0x00b104c0, 0x00000000 },
+ { 0x80800001, 0x44e001b1, 0x00b104e0, 0x00000000 },
+ { 0x80800001, 0x450001b1, 0x00b10500, 0x00000000 },
+ { 0x80800001, 0x452001b1, 0x00b10520, 0x00000000 },
+ { 0x80800001, 0x454001b1, 0x00b10540, 0x00000000 },
+ { 0x80800001, 0x456001b1, 0x00b10560, 0x00000000 },
+ { 0x00800001, 0x20200232, 0x00b20380, 0x00000000 },
+ { 0x00800001, 0x20300232, 0x00b203a0, 0x00000000 },
+ { 0x00800001, 0x20400232, 0x00b203c0, 0x00000000 },
+ { 0x00800001, 0x20500232, 0x00b203e0, 0x00000000 },
+ { 0x00800001, 0x20600232, 0x00b20400, 0x00000000 },
+ { 0x00800001, 0x20700232, 0x00b20420, 0x00000000 },
+ { 0x00800001, 0x20800232, 0x00b20440, 0x00000000 },
+ { 0x00800001, 0x20900232, 0x00b20460, 0x00000000 },
+ { 0x00800001, 0x20a00232, 0x00b20480, 0x00000000 },
+ { 0x00800001, 0x20b00232, 0x00b204a0, 0x00000000 },
+ { 0x00800001, 0x20c00232, 0x00b204c0, 0x00000000 },
+ { 0x00800001, 0x20d00232, 0x00b204e0, 0x00000000 },
+ { 0x00800001, 0x20e00232, 0x00b20500, 0x00000000 },
+ { 0x00800001, 0x20f00232, 0x00b20520, 0x00000000 },
+ { 0x00800001, 0x21000232, 0x00b20540, 0x00000000 },
+ { 0x00800001, 0x21100232, 0x00b20560, 0x00000000 },
+ { 0x00800031, 0x24001d28, 0x008d0020, 0x05902000 },
+ { 0x00000001, 0x20280061, 0x00000000, 0x00070007 },
+ { 0x00200008, 0x20201c21, 0x00450020, 0x00000001 },
+ { 0x00800040, 0x258025a9, 0x00b10260, 0x00b10580 },
+ { 0x00800040, 0x25a025a9, 0x00b10280, 0x00b105a0 },
+ { 0x00800040, 0x25c025a9, 0x00b102a0, 0x00b105c0 },
+ { 0x00800040, 0x25e025a9, 0x00b102c0, 0x00b105e0 },
+ { 0x80800001, 0x45800131, 0x00b10580, 0x00000000 },
+ { 0x80800001, 0x45a00131, 0x00b105a0, 0x00000000 },
+ { 0x80800001, 0x45c00131, 0x00b105c0, 0x00000000 },
+ { 0x80800001, 0x45e00131, 0x00b105e0, 0x00000000 },
+ { 0x00800001, 0x20200232, 0x00b20580, 0x00000000 },
+ { 0x00800001, 0x20300232, 0x00b205a0, 0x00000000 },
+ { 0x00800001, 0x20400232, 0x00b205c0, 0x00000000 },
+ { 0x00800001, 0x20500232, 0x00b205e0, 0x00000000 },
+ { 0x00800031, 0x24001d28, 0x008d0020, 0x05302001 },
+ { 0x00800040, 0x260025a9, 0x00b102e0, 0x00b10600 },
+ { 0x00800040, 0x262025a9, 0x00b10300, 0x00b10620 },
+ { 0x00800040, 0x264025a9, 0x00b10320, 0x00b10640 },
+ { 0x00800040, 0x266025a9, 0x00b10340, 0x00b10660 },
+ { 0x80800001, 0x46000131, 0x00b10600, 0x00000000 },
+ { 0x80800001, 0x46200131, 0x00b10620, 0x00000000 },
+ { 0x80800001, 0x46400131, 0x00b10640, 0x00000000 },
+ { 0x80800001, 0x46600131, 0x00b10660, 0x00000000 },
+ { 0x00800001, 0x20200232, 0x00b20600, 0x00000000 },
+ { 0x00800001, 0x20300232, 0x00b20620, 0x00000000 },
+ { 0x00800001, 0x20400232, 0x00b20640, 0x00000000 },
+ { 0x00800001, 0x20500232, 0x00b20660, 0x00000000 },
+ { 0x00800031, 0x24001d28, 0x008d0020, 0x05302002 },
+ { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
diff --git a/src/xvmc/field_f_b_igd.g4a b/src/xvmc/field_f_b_igd.g4a
new file mode 100644
index 00000000..e741244b
--- /dev/null
+++ b/src/xvmc/field_f_b_igd.g4a
@@ -0,0 +1,223 @@
+/*
+ * Copyright © 2008 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Author:
+ * Zou Nan hai <nanhai.zou@intel.com>
+ * Zhang Hua jun <huajun.zhang@intel.com>
+ * Xing Dong sheng <dongsheng.xing@intel.com>
+ *
+ */
+mov (8) g76.0<1>UD g1.0<8,8,1>UD {align1};
+//mov (8) g77.0<1>UD g2.0<8,8,1>UD {align1};
+
+include(`block_clear.g4i')
+mov (8) g115.0<1>UD g1.0<8,8,1>UD {align1};
+mov (8) g116.0<1>UD g1.0<8,8,1>UD {align1};
+
+/* forward---Y---first vector*/
+mov(1) g115.8<1>UD 0x007001fUD { align1 };
+asr (2) g115.14<1>W g1.14<2,2,1>W 1W {align1};
+add (2) g115.0<1>D g116.0<2,2,1>D g115.14<2,2,1>W {align1};
+and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
+mov(1) g115.8<1>UD 0x1fUD { align1 }; //read 1 line, 32 columns.
+and.nz (1) null g1.31<1,1,1>UB 0x1UW {align1};
+(f0) add (1) g115.4<1>D g115.4<1,1,1>D 1D {align1};
+define(`surface',`4')
+define(`mv1',`g1.14')
+define(`mv2',`g1.16')
+include(`motion_field_y_igd.g4i')
+mov (8) g52.0<1>UD g96.0<8,8,1>UD {align1};
+mov (8) g54.0<1>UD g97.0<8,8,1>UD {align1};
+mov (8) g56.0<1>UD g98.0<8,8,1>UD {align1};
+mov (8) g58.0<1>UD g99.0<8,8,1>UD {align1};
+mov (8) g60.0<1>UD g100.0<8,8,1>UD {align1};
+mov (8) g62.0<1>UD g101.0<8,8,1>UD {align1};
+mov (8) g64.0<1>UD g102.0<8,8,1>UD {align1};
+mov (8) g66.0<1>UD g103.0<8,8,1>UD {align1};
+
+/*forward---Y---second vector*/
+asr (2) g115.14<1>W g1.22<2,2,1>W 1W {align1};
+add (2) g115.0<1>D g116.0<2,2,1>D g115.14<2,2,1>W {align1};
+and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
+mov(1) g115.8<1>UD 0x1fUD { align1 }; //read 1 line, 32 columns.
+and.nz (1) null g1.31<1,1,1>UB 0x4UD {align1};
+(f0) add (1) g115.4<1>D g115.4<1,1,1>D 1D {align1};
+define(`surface',`4')
+define(`mv1',`g1.22')
+define(`mv2',`g1.24')
+include(`motion_field_y_igd.g4i')
+mov (8) g53.0<1>UD g96.0<8,8,1>UD {align1};
+mov (8) g55.0<1>UD g97.0<8,8,1>UD {align1};
+mov (8) g57.0<1>UD g98.0<8,8,1>UD {align1};
+mov (8) g59.0<1>UD g99.0<8,8,1>UD {align1};
+mov (8) g61.0<1>UD g100.0<8,8,1>UD {align1};
+mov (8) g63.0<1>UD g101.0<8,8,1>UD {align1};
+mov (8) g65.0<1>UD g102.0<8,8,1>UD {align1};
+mov (8) g67.0<1>UD g103.0<8,8,1>UD {align1};
+
+/*forward---UV---first vector*/
+mov(1) g115.8<1>UD 0x007000fUD { align1 };
+asr (2) g115.14<1>W g1.14<2,2,1>W 2W {align1};
+asr (2) g115.0<1>D g116.0<2,2,1>D 1D {align1};
+add (2) g115.0<1>D g115.0<2,2,1>D g115.14<2,2,1>W {align1};
+and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
+and.nz (1) null g1.31<1,1,1>UB 0x1UW {align1};
+(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
+define(`surface_u',`5')
+define(`surface_v',`6')
+define(`mv1',`g1.14')
+define(`mv2',`g1.16')
+include(`motion_field_uv_igd.g4i')
+mov (8) g68.0<1>UW g78.0<8,8,1>UW {align1};
+mov (8) g69.0<1>UW g79.0<8,8,1>UW {align1};
+mov (8) g70.0<1>UW g80.0<8,8,1>UW {align1};
+mov (8) g71.0<1>UW g81.0<8,8,1>UW {align1};
+mov (8) g72.0<1>UW g82.0<8,8,1>UW {align1};
+mov (8) g73.0<1>UW g83.0<8,8,1>UW {align1};
+mov (8) g74.0<1>UW g84.0<8,8,1>UW {align1};
+mov (8) g75.0<1>UW g85.0<8,8,1>UW {align1};
+
+/*forward---UV---second vector */
+asr (2) g115.14<1>W g1.22<2,2,1>W 2W {align1};
+asr (2) g115.0<1>D g116.0<2,2,1>D 1D {align1};
+add (2) g115.0<1>D g115.0<2,2,1>D g115.14<2,2,1>W {align1};
+and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
+and.nz (1) null g1.31<1,1,1>UB 0x4UW {align1};
+(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
+define(`mv1',`g1.24')
+define(`mv2',`g1.26')
+include(`motion_field_uv_igd.g4i')
+mov (8) g68.16<1>UW g78.0<8,8,1>UW {align1};
+mov (8) g69.16<1>UW g79.0<8,8,1>UW {align1};
+mov (8) g70.16<1>UW g80.0<8,8,1>UW {align1};
+mov (8) g71.16<1>UW g81.0<8,8,1>UW {align1};
+mov (8) g72.16<1>UW g82.0<8,8,1>UW {align1};
+mov (8) g73.16<1>UW g83.0<8,8,1>UW {align1};
+mov (8) g74.16<1>UW g84.0<8,8,1>UW {align1};
+mov (8) g75.16<1>UW g85.0<8,8,1>UW {align1};
+
+/*backward---Y---first vector */
+mov(8) g1.0<1>UD g116.0<8,8,1>UD {align1};
+mov(1) g115.8<1>UD 0x007001fUD { align1 };
+mov(1) g1.8<1>UD 0x007000fUD { align1 };
+asr (2) g115.14<1>W g1.18<2,2,1>W 1W {align1};
+add (2) g115.0<1>D g116.0<2,2,1>D g115.14<2,2,1>W {align1};
+and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
+mov(1) g115.8<1>UD 0x1fUD { align1 }; //read 1 line, 32 columns.
+and.nz (1) null g1.31<1,1,1>UB 0x2UW {align1};
+(f0) add (1) g115.4<1>D g115.4<1,1,1>D 1D {align1};
+define(`surface',`7')
+define(`mv1',`g1.18')
+define(`mv2',`g1.20')
+include(`motion_field_y_igd.g4i')
+mov (8) g28.0<1>UD g96.0<8,8,1>UD {align1};
+mov (8) g30.0<1>UD g97.0<8,8,1>UD {align1};
+mov (8) g32.0<1>UD g98.0<8,8,1>UD {align1};
+mov (8) g34.0<1>UD g99.0<8,8,1>UD {align1};
+mov (8) g36.0<1>UD g100.0<8,8,1>UD {align1};
+mov (8) g38.0<1>UD g101.0<8,8,1>UD {align1};
+mov (8) g40.0<1>UD g102.0<8,8,1>UD {align1};
+mov (8) g42.0<1>UD g103.0<8,8,1>UD {align1};
+
+/*backward---Y---second vector */
+asr (2) g115.14<1>W g1.26<2,2,1>W 1W {align1};
+add (2) g115.0<1>D g116.0<2,2,1>D g115.14<2,2,1>W {align1};
+and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
+mov(1) g115.8<1>UD 0x1fUD { align1 }; //read 1 line, 32 columns.
+and.nz (1) null g2.20<1,1,1>UD 0x8UD {align1};
+(f0) add (1) g115.4<1>D g115.4<1,1,1>D 1D {align1};
+define(`surface',`7')
+define(`mv1',`g1.26')
+define(`mv2',`g1.28')
+include(`motion_field_y_igd.g4i')
+
+avg.sat (16) g28.0<1>UW g52.0<16,16,1>UW g28.0<16,16,1>UW {align1};
+avg.sat (16) g29.0<1>UW g53.0<16,16,1>UW g96.0<16,16,1>UW {align1};
+avg.sat (16) g30.0<1>UW g54.0<16,16,1>UW g30.0<16,16,1>UW {align1};
+avg.sat (16) g31.0<1>UW g55.0<16,16,1>UW g97.0<16,16,1>UW {align1};
+avg.sat (16) g32.0<1>UW g56.0<16,16,1>UW g32.0<16,16,1>UW {align1};
+avg.sat (16) g33.0<1>UW g57.0<16,16,1>UW g98.0<16,16,1>UW {align1};
+avg.sat (16) g34.0<1>UW g58.0<16,16,1>UW g34.0<16,16,1>UW {align1};
+avg.sat (16) g35.0<1>UW g59.0<16,16,1>UW g99.0<16,16,1>UW {align1};
+avg.sat (16) g36.0<1>UW g60.0<16,16,1>UW g36.0<16,16,1>UW {align1};
+avg.sat (16) g37.0<1>UW g61.0<16,16,1>UW g100.0<16,16,1>UW {align1};
+avg.sat (16) g38.0<1>UW g62.0<16,16,1>UW g38.0<16,16,1>UW {align1};
+avg.sat (16) g39.0<1>UW g63.0<16,16,1>UW g101.0<16,16,1>UW {align1};
+avg.sat (16) g40.0<1>UW g64.0<16,16,1>UW g40.0<16,16,1>UW {align1};
+avg.sat (16) g41.0<1>UW g65.0<16,16,1>UW g102.0<16,16,1>UW {align1};
+avg.sat (16) g42.0<1>UW g66.0<16,16,1>UW g42.0<16,16,1>UW {align1};
+avg.sat (16) g43.0<1>UW g67.0<16,16,1>UW g103.0<16,16,1>UW {align1};
+
+/*backward---UV---first vector */
+mov(1) g115.8<1>UD 0x007000fUD { align1 };
+asr (2) g115.14<1>W g1.18<2,2,1>W 2W {align1};
+asr (2) g115.0<1>D g116.0<2,2,1>D 1D {align1};
+add (2) g115.0<1>D g115.0<2,2,1>D g115.14<2,2,1>W {align1};
+and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
+and.nz (1) null g1.31<1,1,1>UB 0x2UW {align1};
+(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
+define(`surface_u',`8')
+define(`surface_v',`9')
+define(`mv1',`g1.18')
+define(`mv2',`g1.20')
+include(`motion_field_uv_igd.g4i')
+mov (8) g44.0<1>UW g78.0<8,8,1>UW {align1};
+mov (8) g45.0<1>UW g79.0<8,8,1>UW {align1};
+mov (8) g46.0<1>UW g80.0<8,8,1>UW {align1};
+mov (8) g47.0<1>UW g81.0<8,8,1>UW {align1};
+mov (8) g48.0<1>UW g82.0<8,8,1>UW {align1};
+mov (8) g49.0<1>UW g83.0<8,8,1>UW {align1};
+mov (8) g50.0<1>UW g84.0<8,8,1>UW {align1};
+mov (8) g51.0<1>UW g85.0<8,8,1>UW {align1};
+
+/*backward---UV---second vector */
+asr (2) g115.14<1>W g1.26<2,2,1>W 2W {align1};
+asr (2) g115.0<1>D g116.0<2,2,1>D 1D {align1};
+add (2) g115.0<1>D g115.0<2,2,1>D g115.14<2,2,1>W {align1};
+and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
+and.nz (1) null g1.31<1,1,1>UB 0x8UW {align1};
+(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
+define(`mv1',`g1.26')
+define(`mv2',`g1.28')
+include(`motion_field_uv_igd.g4i')
+mov (8) g44.16<1>UW g78.0<8,8,1>UW {align1};
+mov (8) g45.16<1>UW g79.0<8,8,1>UW {align1};
+mov (8) g46.16<1>UW g80.0<8,8,1>UW {align1};
+mov (8) g47.16<1>UW g81.0<8,8,1>UW {align1};
+mov (8) g48.16<1>UW g82.0<8,8,1>UW {align1};
+mov (8) g49.16<1>UW g83.0<8,8,1>UW {align1};
+mov (8) g50.16<1>UW g84.0<8,8,1>UW {align1};
+mov (8) g51.16<1>UW g85.0<8,8,1>UW {align1};
+
+avg.sat (16) g44.0<1>UW g68.0<16,16,1>UW g44.0<16,16,1>UW {align1};
+avg.sat (16) g45.0<1>UW g69.0<16,16,1>UW g45.0<16,16,1>UW {align1};
+avg.sat (16) g46.0<1>UW g70.0<16,16,1>UW g46.0<16,16,1>UW {align1};
+avg.sat (16) g47.0<1>UW g71.0<16,16,1>UW g47.0<16,16,1>UW {align1};
+avg.sat (16) g48.0<1>UW g72.0<16,16,1>UW g48.0<16,16,1>UW {align1};
+avg.sat (16) g49.0<1>UW g73.0<16,16,1>UW g49.0<16,16,1>UW {align1};
+avg.sat (16) g50.0<1>UW g74.0<16,16,1>UW g50.0<16,16,1>UW {align1};
+avg.sat (16) g51.0<1>UW g75.0<16,16,1>UW g51.0<16,16,1>UW {align1};
+
+include(`addidct.g4i')
+
+//send (16) 0 acc0<1>UW g0<8,8,1>UW
+// thread_spawner(0, 0, 0) mlen 1 rlen 0 { align1 EOT};
diff --git a/src/xvmc/field_f_b_igd.g4b b/src/xvmc/field_f_b_igd.g4b
new file mode 100644
index 00000000..62350ae1
--- /dev/null
+++ b/src/xvmc/field_f_b_igd.g4b
@@ -0,0 +1,1092 @@
+ { 0x00600001, 0x29800021, 0x008d0020, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021098c, 0x00200020 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
+ { 0x00600001, 0x20600169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20800169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20a00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20c00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20e00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21000169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21200169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21400169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00100010 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
+ { 0x00600001, 0x20700169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20900169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20b00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20d00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20f00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21100169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21300169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21500169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00080008 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
+ { 0x00600001, 0x21600169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21800169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21a00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21c00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21e00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22000169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22200169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22400169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00040004 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
+ { 0x00600001, 0x21700169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21900169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21b00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21d00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21f00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22100169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22300169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22500169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000004 },
+ { 0x00800001, 0x22600169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x22800169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x22a00169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x22c00169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000004 },
+ { 0x00800001, 0x22e00169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x23000169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x23200169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x23400169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x2e600021, 0x008d0020, 0x00000000 },
+ { 0x00600001, 0x2e800021, 0x008d0020, 0x00000000 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x0020000c, 0x2e6e3dad, 0x0045002e, 0x00010001 },
+ { 0x00200040, 0x2e6034a5, 0x00450e80, 0x00450e6e },
+ { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x02000005, 0x20002e3c, 0x0021003f, 0x00010001 },
+ { 0x00010040, 0x2e641ca5, 0x00210e64, 0x00000001 },
+ { 0x01000005, 0x20002d3c, 0x0021002e, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000045 },
+ { 0x01000005, 0x20002d3c, 0x00210030, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x0000002f },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2bc01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00800040, 0x2c004629, 0x00b109c0, 0x00b10a00 },
+ { 0x00800040, 0x2c204629, 0x00b10a00, 0x00b10a40 },
+ { 0x00800040, 0x2c404629, 0x00b10a40, 0x00b10a80 },
+ { 0x00800040, 0x2c604629, 0x00b10a80, 0x00b10ac0 },
+ { 0x00800040, 0x2c804629, 0x00b10ac0, 0x00b10b00 },
+ { 0x00800040, 0x2ca04629, 0x00b10b00, 0x00b10b40 },
+ { 0x00800040, 0x2cc04629, 0x00b10b40, 0x00b10b80 },
+ { 0x00800040, 0x2ce04629, 0x00b10b80, 0x00b10bc0 },
+ { 0x00800040, 0x2c004529, 0x00b10c00, 0x00b109c1 },
+ { 0x00800040, 0x2c204529, 0x00b10c20, 0x00b10a01 },
+ { 0x00800040, 0x2c404529, 0x00b10c40, 0x00b10a41 },
+ { 0x00800040, 0x2c604529, 0x00b10c60, 0x00b10a81 },
+ { 0x00800040, 0x2c804529, 0x00b10c80, 0x00b10ac1 },
+ { 0x00800040, 0x2ca04529, 0x00b10ca0, 0x00b10b01 },
+ { 0x00800040, 0x2cc04529, 0x00b10cc0, 0x00b10b41 },
+ { 0x00800040, 0x2ce04529, 0x00b10ce0, 0x00b10b81 },
+ { 0x00800040, 0x2c004529, 0x00b10c00, 0x00b10a01 },
+ { 0x00800040, 0x2c204529, 0x00b10c20, 0x00b10a41 },
+ { 0x00800040, 0x2c404529, 0x00b10c40, 0x00b10a81 },
+ { 0x00800040, 0x2c604529, 0x00b10c60, 0x00b10ac1 },
+ { 0x00800040, 0x2c804529, 0x00b10c80, 0x00b10b01 },
+ { 0x00800040, 0x2ca04529, 0x00b10ca0, 0x00b10b41 },
+ { 0x00800040, 0x2cc04529, 0x00b10cc0, 0x00b10b81 },
+ { 0x00800040, 0x2ce04529, 0x00b10ce0, 0x00b10bc1 },
+ { 0x00800008, 0x2c002d29, 0x00b10c00, 0x00020002 },
+ { 0x00800008, 0x2c202d29, 0x00b10c20, 0x00020002 },
+ { 0x00800008, 0x2c402d29, 0x00b10c40, 0x00020002 },
+ { 0x00800008, 0x2c602d29, 0x00b10c60, 0x00020002 },
+ { 0x00800008, 0x2c802d29, 0x00b10c80, 0x00020002 },
+ { 0x00800008, 0x2ca02d29, 0x00b10ca0, 0x00020002 },
+ { 0x00800008, 0x2cc02d29, 0x00b10cc0, 0x00020002 },
+ { 0x00800008, 0x2ce02d29, 0x00b10ce0, 0x00020002 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000040 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x80800042, 0x2c004629, 0x00b109c0, 0x00b109c1 },
+ { 0x80800042, 0x2c204629, 0x00b10a00, 0x00b10a01 },
+ { 0x80800042, 0x2c404629, 0x00b10a40, 0x00b10a41 },
+ { 0x80800042, 0x2c604629, 0x00b10a80, 0x00b10a81 },
+ { 0x80800042, 0x2c804629, 0x00b10ac0, 0x00b10ac1 },
+ { 0x80800042, 0x2ca04629, 0x00b10b00, 0x00b10b01 },
+ { 0x80800042, 0x2cc04629, 0x00b10b40, 0x00b10b41 },
+ { 0x80800042, 0x2ce04629, 0x00b10b80, 0x00b10b81 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000002c },
+ { 0x01000005, 0x20002d3c, 0x00210030, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000017 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2bc01d29, 0x008d0e60, 0x0411a004 },
+ { 0x80800042, 0x2c004629, 0x00b109c0, 0x00b10a00 },
+ { 0x80800042, 0x2c204629, 0x00b10a00, 0x00b10a40 },
+ { 0x80800042, 0x2c404629, 0x00b10a40, 0x00b10a80 },
+ { 0x80800042, 0x2c604629, 0x00b10a80, 0x00b10ac0 },
+ { 0x80800042, 0x2c804629, 0x00b10ac0, 0x00b10b00 },
+ { 0x80800042, 0x2ca04629, 0x00b10b00, 0x00b10b40 },
+ { 0x80800042, 0x2cc04629, 0x00b10b40, 0x00b10b80 },
+ { 0x80800042, 0x2ce04629, 0x00b10b80, 0x00b10bc0 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000013 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x00800001, 0x2c000229, 0x00b109c0, 0x00000000 },
+ { 0x00800001, 0x2c200229, 0x00b10a00, 0x00000000 },
+ { 0x00800001, 0x2c400229, 0x00b10a40, 0x00000000 },
+ { 0x00800001, 0x2c600229, 0x00b10a80, 0x00000000 },
+ { 0x00800001, 0x2c800229, 0x00b10ac0, 0x00000000 },
+ { 0x00800001, 0x2ca00229, 0x00b10b00, 0x00000000 },
+ { 0x00800001, 0x2cc00229, 0x00b10b40, 0x00000000 },
+ { 0x00800001, 0x2ce00229, 0x00b10b80, 0x00000000 },
+ { 0x00600001, 0x26800021, 0x008d0c00, 0x00000000 },
+ { 0x00600001, 0x26c00021, 0x008d0c20, 0x00000000 },
+ { 0x00600001, 0x27000021, 0x008d0c40, 0x00000000 },
+ { 0x00600001, 0x27400021, 0x008d0c60, 0x00000000 },
+ { 0x00600001, 0x27800021, 0x008d0c80, 0x00000000 },
+ { 0x00600001, 0x27c00021, 0x008d0ca0, 0x00000000 },
+ { 0x00600001, 0x28000021, 0x008d0cc0, 0x00000000 },
+ { 0x00600001, 0x28400021, 0x008d0ce0, 0x00000000 },
+ { 0x0020000c, 0x2e6e3dad, 0x00450036, 0x00010001 },
+ { 0x00200040, 0x2e6034a5, 0x00450e80, 0x00450e6e },
+ { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x02000005, 0x20000e3c, 0x0021003f, 0x00000004 },
+ { 0x00010040, 0x2e641ca5, 0x00210e64, 0x00000001 },
+ { 0x01000005, 0x20002d3c, 0x00210036, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000045 },
+ { 0x01000005, 0x20002d3c, 0x00210038, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x0000002f },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2bc01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00800040, 0x2c004629, 0x00b109c0, 0x00b10a00 },
+ { 0x00800040, 0x2c204629, 0x00b10a00, 0x00b10a40 },
+ { 0x00800040, 0x2c404629, 0x00b10a40, 0x00b10a80 },
+ { 0x00800040, 0x2c604629, 0x00b10a80, 0x00b10ac0 },
+ { 0x00800040, 0x2c804629, 0x00b10ac0, 0x00b10b00 },
+ { 0x00800040, 0x2ca04629, 0x00b10b00, 0x00b10b40 },
+ { 0x00800040, 0x2cc04629, 0x00b10b40, 0x00b10b80 },
+ { 0x00800040, 0x2ce04629, 0x00b10b80, 0x00b10bc0 },
+ { 0x00800040, 0x2c004529, 0x00b10c00, 0x00b109c1 },
+ { 0x00800040, 0x2c204529, 0x00b10c20, 0x00b10a01 },
+ { 0x00800040, 0x2c404529, 0x00b10c40, 0x00b10a41 },
+ { 0x00800040, 0x2c604529, 0x00b10c60, 0x00b10a81 },
+ { 0x00800040, 0x2c804529, 0x00b10c80, 0x00b10ac1 },
+ { 0x00800040, 0x2ca04529, 0x00b10ca0, 0x00b10b01 },
+ { 0x00800040, 0x2cc04529, 0x00b10cc0, 0x00b10b41 },
+ { 0x00800040, 0x2ce04529, 0x00b10ce0, 0x00b10b81 },
+ { 0x00800040, 0x2c004529, 0x00b10c00, 0x00b10a01 },
+ { 0x00800040, 0x2c204529, 0x00b10c20, 0x00b10a41 },
+ { 0x00800040, 0x2c404529, 0x00b10c40, 0x00b10a81 },
+ { 0x00800040, 0x2c604529, 0x00b10c60, 0x00b10ac1 },
+ { 0x00800040, 0x2c804529, 0x00b10c80, 0x00b10b01 },
+ { 0x00800040, 0x2ca04529, 0x00b10ca0, 0x00b10b41 },
+ { 0x00800040, 0x2cc04529, 0x00b10cc0, 0x00b10b81 },
+ { 0x00800040, 0x2ce04529, 0x00b10ce0, 0x00b10bc1 },
+ { 0x00800008, 0x2c002d29, 0x00b10c00, 0x00020002 },
+ { 0x00800008, 0x2c202d29, 0x00b10c20, 0x00020002 },
+ { 0x00800008, 0x2c402d29, 0x00b10c40, 0x00020002 },
+ { 0x00800008, 0x2c602d29, 0x00b10c60, 0x00020002 },
+ { 0x00800008, 0x2c802d29, 0x00b10c80, 0x00020002 },
+ { 0x00800008, 0x2ca02d29, 0x00b10ca0, 0x00020002 },
+ { 0x00800008, 0x2cc02d29, 0x00b10cc0, 0x00020002 },
+ { 0x00800008, 0x2ce02d29, 0x00b10ce0, 0x00020002 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000040 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x80800042, 0x2c004629, 0x00b109c0, 0x00b109c1 },
+ { 0x80800042, 0x2c204629, 0x00b10a00, 0x00b10a01 },
+ { 0x80800042, 0x2c404629, 0x00b10a40, 0x00b10a41 },
+ { 0x80800042, 0x2c604629, 0x00b10a80, 0x00b10a81 },
+ { 0x80800042, 0x2c804629, 0x00b10ac0, 0x00b10ac1 },
+ { 0x80800042, 0x2ca04629, 0x00b10b00, 0x00b10b01 },
+ { 0x80800042, 0x2cc04629, 0x00b10b40, 0x00b10b41 },
+ { 0x80800042, 0x2ce04629, 0x00b10b80, 0x00b10b81 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000002c },
+ { 0x01000005, 0x20002d3c, 0x00210038, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000017 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2bc01d29, 0x008d0e60, 0x0411a004 },
+ { 0x80800042, 0x2c004629, 0x00b109c0, 0x00b10a00 },
+ { 0x80800042, 0x2c204629, 0x00b10a00, 0x00b10a40 },
+ { 0x80800042, 0x2c404629, 0x00b10a40, 0x00b10a80 },
+ { 0x80800042, 0x2c604629, 0x00b10a80, 0x00b10ac0 },
+ { 0x80800042, 0x2c804629, 0x00b10ac0, 0x00b10b00 },
+ { 0x80800042, 0x2ca04629, 0x00b10b00, 0x00b10b40 },
+ { 0x80800042, 0x2cc04629, 0x00b10b40, 0x00b10b80 },
+ { 0x80800042, 0x2ce04629, 0x00b10b80, 0x00b10bc0 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000013 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x00800001, 0x2c000229, 0x00b109c0, 0x00000000 },
+ { 0x00800001, 0x2c200229, 0x00b10a00, 0x00000000 },
+ { 0x00800001, 0x2c400229, 0x00b10a40, 0x00000000 },
+ { 0x00800001, 0x2c600229, 0x00b10a80, 0x00000000 },
+ { 0x00800001, 0x2c800229, 0x00b10ac0, 0x00000000 },
+ { 0x00800001, 0x2ca00229, 0x00b10b00, 0x00000000 },
+ { 0x00800001, 0x2cc00229, 0x00b10b40, 0x00000000 },
+ { 0x00800001, 0x2ce00229, 0x00b10b80, 0x00000000 },
+ { 0x00600001, 0x26a00021, 0x008d0c00, 0x00000000 },
+ { 0x00600001, 0x26e00021, 0x008d0c20, 0x00000000 },
+ { 0x00600001, 0x27200021, 0x008d0c40, 0x00000000 },
+ { 0x00600001, 0x27600021, 0x008d0c60, 0x00000000 },
+ { 0x00600001, 0x27a00021, 0x008d0c80, 0x00000000 },
+ { 0x00600001, 0x27e00021, 0x008d0ca0, 0x00000000 },
+ { 0x00600001, 0x28200021, 0x008d0cc0, 0x00000000 },
+ { 0x00600001, 0x28600021, 0x008d0ce0, 0x00000000 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x0020000c, 0x2e6e3dad, 0x0045002e, 0x00020002 },
+ { 0x0020000c, 0x2e601ca5, 0x00450e80, 0x00000001 },
+ { 0x00200040, 0x2e6034a5, 0x00450e60, 0x00450e6e },
+ { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
+ { 0x02000005, 0x20002e3c, 0x0021003f, 0x00010001 },
+ { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
+ { 0x01000005, 0x20002d3c, 0x0021002e, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000036 },
+ { 0x01000005, 0x20002d3c, 0x00210030, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000028 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0001000f },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00800031, 0x2b401d29, 0x00ad0e60, 0x0411a005 },
+ { 0x00800031, 0x2be01d29, 0x00ad0e60, 0x0411a006 },
+ { 0x00800040, 0x29c04629, 0x00ad0ac0, 0x00ad0ae0 },
+ { 0x00800040, 0x29e04629, 0x00ad0ae0, 0x00ad0b00 },
+ { 0x00800040, 0x2a004629, 0x00ad0b00, 0x00ad0b20 },
+ { 0x00800040, 0x2a204629, 0x00ad0b20, 0x00ad0b40 },
+ { 0x00800040, 0x29c04529, 0x00ad09c0, 0x00ad0ac1 },
+ { 0x00800040, 0x29e04529, 0x00ad09e0, 0x00ad0ae1 },
+ { 0x00800040, 0x2a004529, 0x00ad0a00, 0x00ad0b01 },
+ { 0x00800040, 0x2a204529, 0x00ad0a20, 0x00ad0b21 },
+ { 0x00800040, 0x29c04529, 0x00ad09c0, 0x00ad0ae1 },
+ { 0x00800040, 0x29e04529, 0x00ad09e0, 0x00ad0b01 },
+ { 0x00800040, 0x2a004529, 0x00ad0a00, 0x00ad0b21 },
+ { 0x00800040, 0x2a204529, 0x00ad0a20, 0x00ad0b41 },
+ { 0x00800040, 0x2a404629, 0x00ad0b60, 0x00ad0b80 },
+ { 0x00800040, 0x2a604629, 0x00ad0b80, 0x00ad0ba0 },
+ { 0x00800040, 0x2a804629, 0x00ad0ba0, 0x00ad0bc0 },
+ { 0x00800040, 0x2aa04629, 0x00ad0bc0, 0x00ad0be0 },
+ { 0x00800040, 0x2a404529, 0x00ad0a40, 0x00ad0b61 },
+ { 0x00800040, 0x2a604529, 0x00ad0a60, 0x00ad0b81 },
+ { 0x00800040, 0x2a804529, 0x00ad0a80, 0x00ad0ba1 },
+ { 0x00800040, 0x2aa04529, 0x00ad0aa0, 0x00ad0bc1 },
+ { 0x00800040, 0x2a404529, 0x00ad0a40, 0x00ad0b81 },
+ { 0x00800040, 0x2a604529, 0x00ad0a60, 0x00ad0ba1 },
+ { 0x00800040, 0x2a804529, 0x00ad0a80, 0x00ad0bc1 },
+ { 0x00800040, 0x2aa04529, 0x00ad0aa0, 0x00ad0be1 },
+ { 0x80800008, 0x29c02d29, 0x00b109c0, 0x00020002 },
+ { 0x80800008, 0x29e02d29, 0x00b109e0, 0x00020002 },
+ { 0x80800008, 0x2a002d29, 0x00b10a00, 0x00020002 },
+ { 0x80800008, 0x2a202d29, 0x00b10a20, 0x00020002 },
+ { 0x80800008, 0x2a402d29, 0x00b10a40, 0x00020002 },
+ { 0x80800008, 0x2a602d29, 0x00b10a60, 0x00020002 },
+ { 0x80800008, 0x2a802d29, 0x00b10a80, 0x00020002 },
+ { 0x80800008, 0x2aa02d29, 0x00b10aa0, 0x00020002 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000028 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x80800042, 0x29c04629, 0x00ad0ac0, 0x00ad0ac1 },
+ { 0x80800042, 0x29e04629, 0x00ad0ae0, 0x00ad0ae1 },
+ { 0x80800042, 0x2a004629, 0x00ad0b00, 0x00ad0b01 },
+ { 0x80800042, 0x2a204629, 0x00ad0b20, 0x00ad0b21 },
+ { 0x80800042, 0x2a404629, 0x00ad0b60, 0x00ad0b61 },
+ { 0x80800042, 0x2a604629, 0x00ad0b80, 0x00ad0b81 },
+ { 0x80800042, 0x2a804629, 0x00ad0ba0, 0x00ad0ba1 },
+ { 0x80800042, 0x2aa04629, 0x00ad0bc0, 0x00ad0bc1 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000001c },
+ { 0x01000005, 0x20002d3c, 0x00210030, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x0000000f },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000000f },
+ { 0x00800031, 0x2b401d29, 0x00ad0e60, 0x0411a005 },
+ { 0x00800031, 0x2be01d29, 0x00ad0e60, 0x0411a006 },
+ { 0x80800042, 0x29c04629, 0x00ad0ac0, 0x00ad0ae0 },
+ { 0x80800042, 0x29e04629, 0x00ad0ae0, 0x00ad0b00 },
+ { 0x80800042, 0x2a004629, 0x00ad0b00, 0x00ad0b20 },
+ { 0x80800042, 0x2a204629, 0x00ad0b20, 0x00ad0b40 },
+ { 0x80800042, 0x2a404629, 0x00ad0b60, 0x00ad0b80 },
+ { 0x80800042, 0x2a604629, 0x00ad0b80, 0x00ad0ba0 },
+ { 0x80800042, 0x2a804629, 0x00ad0ba0, 0x00ad0bc0 },
+ { 0x80800042, 0x2aa04629, 0x00ad0bc0, 0x00ad0be0 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000000b },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x00800001, 0x29c00229, 0x00ad0ac0, 0x00000000 },
+ { 0x00800001, 0x29e00229, 0x00ad0ae0, 0x00000000 },
+ { 0x00800001, 0x2a000229, 0x00ad0b00, 0x00000000 },
+ { 0x00800001, 0x2a200229, 0x00ad0b20, 0x00000000 },
+ { 0x00800001, 0x2a400229, 0x00ad0b60, 0x00000000 },
+ { 0x00800001, 0x2a600229, 0x00ad0b80, 0x00000000 },
+ { 0x00800001, 0x2a800229, 0x00ad0ba0, 0x00000000 },
+ { 0x00800001, 0x2aa00229, 0x00ad0bc0, 0x00000000 },
+ { 0x00600001, 0x28800129, 0x008d09c0, 0x00000000 },
+ { 0x00600001, 0x28a00129, 0x008d09e0, 0x00000000 },
+ { 0x00600001, 0x28c00129, 0x008d0a00, 0x00000000 },
+ { 0x00600001, 0x28e00129, 0x008d0a20, 0x00000000 },
+ { 0x00600001, 0x29000129, 0x008d0a40, 0x00000000 },
+ { 0x00600001, 0x29200129, 0x008d0a60, 0x00000000 },
+ { 0x00600001, 0x29400129, 0x008d0a80, 0x00000000 },
+ { 0x00600001, 0x29600129, 0x008d0aa0, 0x00000000 },
+ { 0x0020000c, 0x2e6e3dad, 0x00450036, 0x00020002 },
+ { 0x0020000c, 0x2e601ca5, 0x00450e80, 0x00000001 },
+ { 0x00200040, 0x2e6034a5, 0x00450e60, 0x00450e6e },
+ { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
+ { 0x02000005, 0x20002e3c, 0x0021003f, 0x00040004 },
+ { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
+ { 0x01000005, 0x20002d3c, 0x00210038, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000036 },
+ { 0x01000005, 0x20002d3c, 0x0021003a, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000028 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0001000f },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00800031, 0x2b401d29, 0x00ad0e60, 0x0411a005 },
+ { 0x00800031, 0x2be01d29, 0x00ad0e60, 0x0411a006 },
+ { 0x00800040, 0x29c04629, 0x00ad0ac0, 0x00ad0ae0 },
+ { 0x00800040, 0x29e04629, 0x00ad0ae0, 0x00ad0b00 },
+ { 0x00800040, 0x2a004629, 0x00ad0b00, 0x00ad0b20 },
+ { 0x00800040, 0x2a204629, 0x00ad0b20, 0x00ad0b40 },
+ { 0x00800040, 0x29c04529, 0x00ad09c0, 0x00ad0ac1 },
+ { 0x00800040, 0x29e04529, 0x00ad09e0, 0x00ad0ae1 },
+ { 0x00800040, 0x2a004529, 0x00ad0a00, 0x00ad0b01 },
+ { 0x00800040, 0x2a204529, 0x00ad0a20, 0x00ad0b21 },
+ { 0x00800040, 0x29c04529, 0x00ad09c0, 0x00ad0ae1 },
+ { 0x00800040, 0x29e04529, 0x00ad09e0, 0x00ad0b01 },
+ { 0x00800040, 0x2a004529, 0x00ad0a00, 0x00ad0b21 },
+ { 0x00800040, 0x2a204529, 0x00ad0a20, 0x00ad0b41 },
+ { 0x00800040, 0x2a404629, 0x00ad0b60, 0x00ad0b80 },
+ { 0x00800040, 0x2a604629, 0x00ad0b80, 0x00ad0ba0 },
+ { 0x00800040, 0x2a804629, 0x00ad0ba0, 0x00ad0bc0 },
+ { 0x00800040, 0x2aa04629, 0x00ad0bc0, 0x00ad0be0 },
+ { 0x00800040, 0x2a404529, 0x00ad0a40, 0x00ad0b61 },
+ { 0x00800040, 0x2a604529, 0x00ad0a60, 0x00ad0b81 },
+ { 0x00800040, 0x2a804529, 0x00ad0a80, 0x00ad0ba1 },
+ { 0x00800040, 0x2aa04529, 0x00ad0aa0, 0x00ad0bc1 },
+ { 0x00800040, 0x2a404529, 0x00ad0a40, 0x00ad0b81 },
+ { 0x00800040, 0x2a604529, 0x00ad0a60, 0x00ad0ba1 },
+ { 0x00800040, 0x2a804529, 0x00ad0a80, 0x00ad0bc1 },
+ { 0x00800040, 0x2aa04529, 0x00ad0aa0, 0x00ad0be1 },
+ { 0x80800008, 0x29c02d29, 0x00b109c0, 0x00020002 },
+ { 0x80800008, 0x29e02d29, 0x00b109e0, 0x00020002 },
+ { 0x80800008, 0x2a002d29, 0x00b10a00, 0x00020002 },
+ { 0x80800008, 0x2a202d29, 0x00b10a20, 0x00020002 },
+ { 0x80800008, 0x2a402d29, 0x00b10a40, 0x00020002 },
+ { 0x80800008, 0x2a602d29, 0x00b10a60, 0x00020002 },
+ { 0x80800008, 0x2a802d29, 0x00b10a80, 0x00020002 },
+ { 0x80800008, 0x2aa02d29, 0x00b10aa0, 0x00020002 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000028 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x80800042, 0x29c04629, 0x00ad0ac0, 0x00ad0ac1 },
+ { 0x80800042, 0x29e04629, 0x00ad0ae0, 0x00ad0ae1 },
+ { 0x80800042, 0x2a004629, 0x00ad0b00, 0x00ad0b01 },
+ { 0x80800042, 0x2a204629, 0x00ad0b20, 0x00ad0b21 },
+ { 0x80800042, 0x2a404629, 0x00ad0b60, 0x00ad0b61 },
+ { 0x80800042, 0x2a604629, 0x00ad0b80, 0x00ad0b81 },
+ { 0x80800042, 0x2a804629, 0x00ad0ba0, 0x00ad0ba1 },
+ { 0x80800042, 0x2aa04629, 0x00ad0bc0, 0x00ad0bc1 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000001c },
+ { 0x01000005, 0x20002d3c, 0x0021003a, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x0000000f },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000000f },
+ { 0x00800031, 0x2b401d29, 0x00ad0e60, 0x0411a005 },
+ { 0x00800031, 0x2be01d29, 0x00ad0e60, 0x0411a006 },
+ { 0x80800042, 0x29c04629, 0x00ad0ac0, 0x00ad0ae0 },
+ { 0x80800042, 0x29e04629, 0x00ad0ae0, 0x00ad0b00 },
+ { 0x80800042, 0x2a004629, 0x00ad0b00, 0x00ad0b20 },
+ { 0x80800042, 0x2a204629, 0x00ad0b20, 0x00ad0b40 },
+ { 0x80800042, 0x2a404629, 0x00ad0b60, 0x00ad0b80 },
+ { 0x80800042, 0x2a604629, 0x00ad0b80, 0x00ad0ba0 },
+ { 0x80800042, 0x2a804629, 0x00ad0ba0, 0x00ad0bc0 },
+ { 0x80800042, 0x2aa04629, 0x00ad0bc0, 0x00ad0be0 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000000b },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x00800001, 0x29c00229, 0x00ad0ac0, 0x00000000 },
+ { 0x00800001, 0x29e00229, 0x00ad0ae0, 0x00000000 },
+ { 0x00800001, 0x2a000229, 0x00ad0b00, 0x00000000 },
+ { 0x00800001, 0x2a200229, 0x00ad0b20, 0x00000000 },
+ { 0x00800001, 0x2a400229, 0x00ad0b60, 0x00000000 },
+ { 0x00800001, 0x2a600229, 0x00ad0b80, 0x00000000 },
+ { 0x00800001, 0x2a800229, 0x00ad0ba0, 0x00000000 },
+ { 0x00800001, 0x2aa00229, 0x00ad0bc0, 0x00000000 },
+ { 0x00600001, 0x28900129, 0x008d09c0, 0x00000000 },
+ { 0x00600001, 0x28b00129, 0x008d09e0, 0x00000000 },
+ { 0x00600001, 0x28d00129, 0x008d0a00, 0x00000000 },
+ { 0x00600001, 0x28f00129, 0x008d0a20, 0x00000000 },
+ { 0x00600001, 0x29100129, 0x008d0a40, 0x00000000 },
+ { 0x00600001, 0x29300129, 0x008d0a60, 0x00000000 },
+ { 0x00600001, 0x29500129, 0x008d0a80, 0x00000000 },
+ { 0x00600001, 0x29700129, 0x008d0aa0, 0x00000000 },
+ { 0x00600001, 0x20200021, 0x008d0e80, 0x00000000 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00000001, 0x20280061, 0x00000000, 0x0007000f },
+ { 0x0020000c, 0x2e6e3dad, 0x00450032, 0x00010001 },
+ { 0x00200040, 0x2e6034a5, 0x00450e80, 0x00450e6e },
+ { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x02000005, 0x20002e3c, 0x0021003f, 0x00020002 },
+ { 0x00010040, 0x2e641ca5, 0x00210e64, 0x00000001 },
+ { 0x01000005, 0x20002d3c, 0x00210032, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000045 },
+ { 0x01000005, 0x20002d3c, 0x00210034, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x0000002f },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2bc01d29, 0x008d0e60, 0x0411a007 },
+ { 0x00800040, 0x2c004629, 0x00b109c0, 0x00b10a00 },
+ { 0x00800040, 0x2c204629, 0x00b10a00, 0x00b10a40 },
+ { 0x00800040, 0x2c404629, 0x00b10a40, 0x00b10a80 },
+ { 0x00800040, 0x2c604629, 0x00b10a80, 0x00b10ac0 },
+ { 0x00800040, 0x2c804629, 0x00b10ac0, 0x00b10b00 },
+ { 0x00800040, 0x2ca04629, 0x00b10b00, 0x00b10b40 },
+ { 0x00800040, 0x2cc04629, 0x00b10b40, 0x00b10b80 },
+ { 0x00800040, 0x2ce04629, 0x00b10b80, 0x00b10bc0 },
+ { 0x00800040, 0x2c004529, 0x00b10c00, 0x00b109c1 },
+ { 0x00800040, 0x2c204529, 0x00b10c20, 0x00b10a01 },
+ { 0x00800040, 0x2c404529, 0x00b10c40, 0x00b10a41 },
+ { 0x00800040, 0x2c604529, 0x00b10c60, 0x00b10a81 },
+ { 0x00800040, 0x2c804529, 0x00b10c80, 0x00b10ac1 },
+ { 0x00800040, 0x2ca04529, 0x00b10ca0, 0x00b10b01 },
+ { 0x00800040, 0x2cc04529, 0x00b10cc0, 0x00b10b41 },
+ { 0x00800040, 0x2ce04529, 0x00b10ce0, 0x00b10b81 },
+ { 0x00800040, 0x2c004529, 0x00b10c00, 0x00b10a01 },
+ { 0x00800040, 0x2c204529, 0x00b10c20, 0x00b10a41 },
+ { 0x00800040, 0x2c404529, 0x00b10c40, 0x00b10a81 },
+ { 0x00800040, 0x2c604529, 0x00b10c60, 0x00b10ac1 },
+ { 0x00800040, 0x2c804529, 0x00b10c80, 0x00b10b01 },
+ { 0x00800040, 0x2ca04529, 0x00b10ca0, 0x00b10b41 },
+ { 0x00800040, 0x2cc04529, 0x00b10cc0, 0x00b10b81 },
+ { 0x00800040, 0x2ce04529, 0x00b10ce0, 0x00b10bc1 },
+ { 0x00800008, 0x2c002d29, 0x00b10c00, 0x00020002 },
+ { 0x00800008, 0x2c202d29, 0x00b10c20, 0x00020002 },
+ { 0x00800008, 0x2c402d29, 0x00b10c40, 0x00020002 },
+ { 0x00800008, 0x2c602d29, 0x00b10c60, 0x00020002 },
+ { 0x00800008, 0x2c802d29, 0x00b10c80, 0x00020002 },
+ { 0x00800008, 0x2ca02d29, 0x00b10ca0, 0x00020002 },
+ { 0x00800008, 0x2cc02d29, 0x00b10cc0, 0x00020002 },
+ { 0x00800008, 0x2ce02d29, 0x00b10ce0, 0x00020002 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000040 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a007 },
+ { 0x80800042, 0x2c004629, 0x00b109c0, 0x00b109c1 },
+ { 0x80800042, 0x2c204629, 0x00b10a00, 0x00b10a01 },
+ { 0x80800042, 0x2c404629, 0x00b10a40, 0x00b10a41 },
+ { 0x80800042, 0x2c604629, 0x00b10a80, 0x00b10a81 },
+ { 0x80800042, 0x2c804629, 0x00b10ac0, 0x00b10ac1 },
+ { 0x80800042, 0x2ca04629, 0x00b10b00, 0x00b10b01 },
+ { 0x80800042, 0x2cc04629, 0x00b10b40, 0x00b10b41 },
+ { 0x80800042, 0x2ce04629, 0x00b10b80, 0x00b10b81 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000002c },
+ { 0x01000005, 0x20002d3c, 0x00210034, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000017 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2bc01d29, 0x008d0e60, 0x0411a007 },
+ { 0x80800042, 0x2c004629, 0x00b109c0, 0x00b10a00 },
+ { 0x80800042, 0x2c204629, 0x00b10a00, 0x00b10a40 },
+ { 0x80800042, 0x2c404629, 0x00b10a40, 0x00b10a80 },
+ { 0x80800042, 0x2c604629, 0x00b10a80, 0x00b10ac0 },
+ { 0x80800042, 0x2c804629, 0x00b10ac0, 0x00b10b00 },
+ { 0x80800042, 0x2ca04629, 0x00b10b00, 0x00b10b40 },
+ { 0x80800042, 0x2cc04629, 0x00b10b40, 0x00b10b80 },
+ { 0x80800042, 0x2ce04629, 0x00b10b80, 0x00b10bc0 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000013 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a007 },
+ { 0x00800001, 0x2c000229, 0x00b109c0, 0x00000000 },
+ { 0x00800001, 0x2c200229, 0x00b10a00, 0x00000000 },
+ { 0x00800001, 0x2c400229, 0x00b10a40, 0x00000000 },
+ { 0x00800001, 0x2c600229, 0x00b10a80, 0x00000000 },
+ { 0x00800001, 0x2c800229, 0x00b10ac0, 0x00000000 },
+ { 0x00800001, 0x2ca00229, 0x00b10b00, 0x00000000 },
+ { 0x00800001, 0x2cc00229, 0x00b10b40, 0x00000000 },
+ { 0x00800001, 0x2ce00229, 0x00b10b80, 0x00000000 },
+ { 0x00600001, 0x23800021, 0x008d0c00, 0x00000000 },
+ { 0x00600001, 0x23c00021, 0x008d0c20, 0x00000000 },
+ { 0x00600001, 0x24000021, 0x008d0c40, 0x00000000 },
+ { 0x00600001, 0x24400021, 0x008d0c60, 0x00000000 },
+ { 0x00600001, 0x24800021, 0x008d0c80, 0x00000000 },
+ { 0x00600001, 0x24c00021, 0x008d0ca0, 0x00000000 },
+ { 0x00600001, 0x25000021, 0x008d0cc0, 0x00000000 },
+ { 0x00600001, 0x25400021, 0x008d0ce0, 0x00000000 },
+ { 0x0020000c, 0x2e6e3dad, 0x0045003a, 0x00010001 },
+ { 0x00200040, 0x2e6034a5, 0x00450e80, 0x00450e6e },
+ { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x02000005, 0x20000c3c, 0x00210054, 0x00000008 },
+ { 0x00010040, 0x2e641ca5, 0x00210e64, 0x00000001 },
+ { 0x01000005, 0x20002d3c, 0x0021003a, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000045 },
+ { 0x01000005, 0x20002d3c, 0x0021003c, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x0000002f },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2bc01d29, 0x008d0e60, 0x0411a007 },
+ { 0x00800040, 0x2c004629, 0x00b109c0, 0x00b10a00 },
+ { 0x00800040, 0x2c204629, 0x00b10a00, 0x00b10a40 },
+ { 0x00800040, 0x2c404629, 0x00b10a40, 0x00b10a80 },
+ { 0x00800040, 0x2c604629, 0x00b10a80, 0x00b10ac0 },
+ { 0x00800040, 0x2c804629, 0x00b10ac0, 0x00b10b00 },
+ { 0x00800040, 0x2ca04629, 0x00b10b00, 0x00b10b40 },
+ { 0x00800040, 0x2cc04629, 0x00b10b40, 0x00b10b80 },
+ { 0x00800040, 0x2ce04629, 0x00b10b80, 0x00b10bc0 },
+ { 0x00800040, 0x2c004529, 0x00b10c00, 0x00b109c1 },
+ { 0x00800040, 0x2c204529, 0x00b10c20, 0x00b10a01 },
+ { 0x00800040, 0x2c404529, 0x00b10c40, 0x00b10a41 },
+ { 0x00800040, 0x2c604529, 0x00b10c60, 0x00b10a81 },
+ { 0x00800040, 0x2c804529, 0x00b10c80, 0x00b10ac1 },
+ { 0x00800040, 0x2ca04529, 0x00b10ca0, 0x00b10b01 },
+ { 0x00800040, 0x2cc04529, 0x00b10cc0, 0x00b10b41 },
+ { 0x00800040, 0x2ce04529, 0x00b10ce0, 0x00b10b81 },
+ { 0x00800040, 0x2c004529, 0x00b10c00, 0x00b10a01 },
+ { 0x00800040, 0x2c204529, 0x00b10c20, 0x00b10a41 },
+ { 0x00800040, 0x2c404529, 0x00b10c40, 0x00b10a81 },
+ { 0x00800040, 0x2c604529, 0x00b10c60, 0x00b10ac1 },
+ { 0x00800040, 0x2c804529, 0x00b10c80, 0x00b10b01 },
+ { 0x00800040, 0x2ca04529, 0x00b10ca0, 0x00b10b41 },
+ { 0x00800040, 0x2cc04529, 0x00b10cc0, 0x00b10b81 },
+ { 0x00800040, 0x2ce04529, 0x00b10ce0, 0x00b10bc1 },
+ { 0x00800008, 0x2c002d29, 0x00b10c00, 0x00020002 },
+ { 0x00800008, 0x2c202d29, 0x00b10c20, 0x00020002 },
+ { 0x00800008, 0x2c402d29, 0x00b10c40, 0x00020002 },
+ { 0x00800008, 0x2c602d29, 0x00b10c60, 0x00020002 },
+ { 0x00800008, 0x2c802d29, 0x00b10c80, 0x00020002 },
+ { 0x00800008, 0x2ca02d29, 0x00b10ca0, 0x00020002 },
+ { 0x00800008, 0x2cc02d29, 0x00b10cc0, 0x00020002 },
+ { 0x00800008, 0x2ce02d29, 0x00b10ce0, 0x00020002 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000040 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a007 },
+ { 0x80800042, 0x2c004629, 0x00b109c0, 0x00b109c1 },
+ { 0x80800042, 0x2c204629, 0x00b10a00, 0x00b10a01 },
+ { 0x80800042, 0x2c404629, 0x00b10a40, 0x00b10a41 },
+ { 0x80800042, 0x2c604629, 0x00b10a80, 0x00b10a81 },
+ { 0x80800042, 0x2c804629, 0x00b10ac0, 0x00b10ac1 },
+ { 0x80800042, 0x2ca04629, 0x00b10b00, 0x00b10b01 },
+ { 0x80800042, 0x2cc04629, 0x00b10b40, 0x00b10b41 },
+ { 0x80800042, 0x2ce04629, 0x00b10b80, 0x00b10b81 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000002c },
+ { 0x01000005, 0x20002d3c, 0x0021003c, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000017 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2bc01d29, 0x008d0e60, 0x0411a007 },
+ { 0x80800042, 0x2c004629, 0x00b109c0, 0x00b10a00 },
+ { 0x80800042, 0x2c204629, 0x00b10a00, 0x00b10a40 },
+ { 0x80800042, 0x2c404629, 0x00b10a40, 0x00b10a80 },
+ { 0x80800042, 0x2c604629, 0x00b10a80, 0x00b10ac0 },
+ { 0x80800042, 0x2c804629, 0x00b10ac0, 0x00b10b00 },
+ { 0x80800042, 0x2ca04629, 0x00b10b00, 0x00b10b40 },
+ { 0x80800042, 0x2cc04629, 0x00b10b40, 0x00b10b80 },
+ { 0x80800042, 0x2ce04629, 0x00b10b80, 0x00b10bc0 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000013 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a007 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a007 },
+ { 0x00800001, 0x2c000229, 0x00b109c0, 0x00000000 },
+ { 0x00800001, 0x2c200229, 0x00b10a00, 0x00000000 },
+ { 0x00800001, 0x2c400229, 0x00b10a40, 0x00000000 },
+ { 0x00800001, 0x2c600229, 0x00b10a80, 0x00000000 },
+ { 0x00800001, 0x2c800229, 0x00b10ac0, 0x00000000 },
+ { 0x00800001, 0x2ca00229, 0x00b10b00, 0x00000000 },
+ { 0x00800001, 0x2cc00229, 0x00b10b40, 0x00000000 },
+ { 0x00800001, 0x2ce00229, 0x00b10b80, 0x00000000 },
+ { 0x80800042, 0x23802529, 0x00b10680, 0x00b10380 },
+ { 0x80800042, 0x23a02529, 0x00b106a0, 0x00b10c00 },
+ { 0x80800042, 0x23c02529, 0x00b106c0, 0x00b103c0 },
+ { 0x80800042, 0x23e02529, 0x00b106e0, 0x00b10c20 },
+ { 0x80800042, 0x24002529, 0x00b10700, 0x00b10400 },
+ { 0x80800042, 0x24202529, 0x00b10720, 0x00b10c40 },
+ { 0x80800042, 0x24402529, 0x00b10740, 0x00b10440 },
+ { 0x80800042, 0x24602529, 0x00b10760, 0x00b10c60 },
+ { 0x80800042, 0x24802529, 0x00b10780, 0x00b10480 },
+ { 0x80800042, 0x24a02529, 0x00b107a0, 0x00b10c80 },
+ { 0x80800042, 0x24c02529, 0x00b107c0, 0x00b104c0 },
+ { 0x80800042, 0x24e02529, 0x00b107e0, 0x00b10ca0 },
+ { 0x80800042, 0x25002529, 0x00b10800, 0x00b10500 },
+ { 0x80800042, 0x25202529, 0x00b10820, 0x00b10cc0 },
+ { 0x80800042, 0x25402529, 0x00b10840, 0x00b10540 },
+ { 0x80800042, 0x25602529, 0x00b10860, 0x00b10ce0 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x0020000c, 0x2e6e3dad, 0x00450032, 0x00020002 },
+ { 0x0020000c, 0x2e601ca5, 0x00450e80, 0x00000001 },
+ { 0x00200040, 0x2e6034a5, 0x00450e60, 0x00450e6e },
+ { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
+ { 0x02000005, 0x20002e3c, 0x0021003f, 0x00020002 },
+ { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
+ { 0x01000005, 0x20002d3c, 0x00210032, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000036 },
+ { 0x01000005, 0x20002d3c, 0x00210034, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000028 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a008 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a009 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0001000f },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00800031, 0x2b401d29, 0x00ad0e60, 0x0411a008 },
+ { 0x00800031, 0x2be01d29, 0x00ad0e60, 0x0411a009 },
+ { 0x00800040, 0x29c04629, 0x00ad0ac0, 0x00ad0ae0 },
+ { 0x00800040, 0x29e04629, 0x00ad0ae0, 0x00ad0b00 },
+ { 0x00800040, 0x2a004629, 0x00ad0b00, 0x00ad0b20 },
+ { 0x00800040, 0x2a204629, 0x00ad0b20, 0x00ad0b40 },
+ { 0x00800040, 0x29c04529, 0x00ad09c0, 0x00ad0ac1 },
+ { 0x00800040, 0x29e04529, 0x00ad09e0, 0x00ad0ae1 },
+ { 0x00800040, 0x2a004529, 0x00ad0a00, 0x00ad0b01 },
+ { 0x00800040, 0x2a204529, 0x00ad0a20, 0x00ad0b21 },
+ { 0x00800040, 0x29c04529, 0x00ad09c0, 0x00ad0ae1 },
+ { 0x00800040, 0x29e04529, 0x00ad09e0, 0x00ad0b01 },
+ { 0x00800040, 0x2a004529, 0x00ad0a00, 0x00ad0b21 },
+ { 0x00800040, 0x2a204529, 0x00ad0a20, 0x00ad0b41 },
+ { 0x00800040, 0x2a404629, 0x00ad0b60, 0x00ad0b80 },
+ { 0x00800040, 0x2a604629, 0x00ad0b80, 0x00ad0ba0 },
+ { 0x00800040, 0x2a804629, 0x00ad0ba0, 0x00ad0bc0 },
+ { 0x00800040, 0x2aa04629, 0x00ad0bc0, 0x00ad0be0 },
+ { 0x00800040, 0x2a404529, 0x00ad0a40, 0x00ad0b61 },
+ { 0x00800040, 0x2a604529, 0x00ad0a60, 0x00ad0b81 },
+ { 0x00800040, 0x2a804529, 0x00ad0a80, 0x00ad0ba1 },
+ { 0x00800040, 0x2aa04529, 0x00ad0aa0, 0x00ad0bc1 },
+ { 0x00800040, 0x2a404529, 0x00ad0a40, 0x00ad0b81 },
+ { 0x00800040, 0x2a604529, 0x00ad0a60, 0x00ad0ba1 },
+ { 0x00800040, 0x2a804529, 0x00ad0a80, 0x00ad0bc1 },
+ { 0x00800040, 0x2aa04529, 0x00ad0aa0, 0x00ad0be1 },
+ { 0x80800008, 0x29c02d29, 0x00b109c0, 0x00020002 },
+ { 0x80800008, 0x29e02d29, 0x00b109e0, 0x00020002 },
+ { 0x80800008, 0x2a002d29, 0x00b10a00, 0x00020002 },
+ { 0x80800008, 0x2a202d29, 0x00b10a20, 0x00020002 },
+ { 0x80800008, 0x2a402d29, 0x00b10a40, 0x00020002 },
+ { 0x80800008, 0x2a602d29, 0x00b10a60, 0x00020002 },
+ { 0x80800008, 0x2a802d29, 0x00b10a80, 0x00020002 },
+ { 0x80800008, 0x2aa02d29, 0x00b10aa0, 0x00020002 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000028 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a008 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a009 },
+ { 0x80800042, 0x29c04629, 0x00ad0ac0, 0x00ad0ac1 },
+ { 0x80800042, 0x29e04629, 0x00ad0ae0, 0x00ad0ae1 },
+ { 0x80800042, 0x2a004629, 0x00ad0b00, 0x00ad0b01 },
+ { 0x80800042, 0x2a204629, 0x00ad0b20, 0x00ad0b21 },
+ { 0x80800042, 0x2a404629, 0x00ad0b60, 0x00ad0b61 },
+ { 0x80800042, 0x2a604629, 0x00ad0b80, 0x00ad0b81 },
+ { 0x80800042, 0x2a804629, 0x00ad0ba0, 0x00ad0ba1 },
+ { 0x80800042, 0x2aa04629, 0x00ad0bc0, 0x00ad0bc1 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000001c },
+ { 0x01000005, 0x20002d3c, 0x00210034, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x0000000f },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a008 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a009 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000000f },
+ { 0x00800031, 0x2b401d29, 0x00ad0e60, 0x0411a008 },
+ { 0x00800031, 0x2be01d29, 0x00ad0e60, 0x0411a009 },
+ { 0x80800042, 0x29c04629, 0x00ad0ac0, 0x00ad0ae0 },
+ { 0x80800042, 0x29e04629, 0x00ad0ae0, 0x00ad0b00 },
+ { 0x80800042, 0x2a004629, 0x00ad0b00, 0x00ad0b20 },
+ { 0x80800042, 0x2a204629, 0x00ad0b20, 0x00ad0b40 },
+ { 0x80800042, 0x2a404629, 0x00ad0b60, 0x00ad0b80 },
+ { 0x80800042, 0x2a604629, 0x00ad0b80, 0x00ad0ba0 },
+ { 0x80800042, 0x2a804629, 0x00ad0ba0, 0x00ad0bc0 },
+ { 0x80800042, 0x2aa04629, 0x00ad0bc0, 0x00ad0be0 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000000b },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a008 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a009 },
+ { 0x00800001, 0x29c00229, 0x00ad0ac0, 0x00000000 },
+ { 0x00800001, 0x29e00229, 0x00ad0ae0, 0x00000000 },
+ { 0x00800001, 0x2a000229, 0x00ad0b00, 0x00000000 },
+ { 0x00800001, 0x2a200229, 0x00ad0b20, 0x00000000 },
+ { 0x00800001, 0x2a400229, 0x00ad0b60, 0x00000000 },
+ { 0x00800001, 0x2a600229, 0x00ad0b80, 0x00000000 },
+ { 0x00800001, 0x2a800229, 0x00ad0ba0, 0x00000000 },
+ { 0x00800001, 0x2aa00229, 0x00ad0bc0, 0x00000000 },
+ { 0x00600001, 0x25800129, 0x008d09c0, 0x00000000 },
+ { 0x00600001, 0x25a00129, 0x008d09e0, 0x00000000 },
+ { 0x00600001, 0x25c00129, 0x008d0a00, 0x00000000 },
+ { 0x00600001, 0x25e00129, 0x008d0a20, 0x00000000 },
+ { 0x00600001, 0x26000129, 0x008d0a40, 0x00000000 },
+ { 0x00600001, 0x26200129, 0x008d0a60, 0x00000000 },
+ { 0x00600001, 0x26400129, 0x008d0a80, 0x00000000 },
+ { 0x00600001, 0x26600129, 0x008d0aa0, 0x00000000 },
+ { 0x0020000c, 0x2e6e3dad, 0x0045003a, 0x00020002 },
+ { 0x0020000c, 0x2e601ca5, 0x00450e80, 0x00000001 },
+ { 0x00200040, 0x2e6034a5, 0x00450e60, 0x00450e6e },
+ { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
+ { 0x02000005, 0x20002e3c, 0x0021003f, 0x00080008 },
+ { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
+ { 0x01000005, 0x20002d3c, 0x0021003a, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000036 },
+ { 0x01000005, 0x20002d3c, 0x0021003c, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000028 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a008 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a009 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0001000f },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00800031, 0x2b401d29, 0x00ad0e60, 0x0411a008 },
+ { 0x00800031, 0x2be01d29, 0x00ad0e60, 0x0411a009 },
+ { 0x00800040, 0x29c04629, 0x00ad0ac0, 0x00ad0ae0 },
+ { 0x00800040, 0x29e04629, 0x00ad0ae0, 0x00ad0b00 },
+ { 0x00800040, 0x2a004629, 0x00ad0b00, 0x00ad0b20 },
+ { 0x00800040, 0x2a204629, 0x00ad0b20, 0x00ad0b40 },
+ { 0x00800040, 0x29c04529, 0x00ad09c0, 0x00ad0ac1 },
+ { 0x00800040, 0x29e04529, 0x00ad09e0, 0x00ad0ae1 },
+ { 0x00800040, 0x2a004529, 0x00ad0a00, 0x00ad0b01 },
+ { 0x00800040, 0x2a204529, 0x00ad0a20, 0x00ad0b21 },
+ { 0x00800040, 0x29c04529, 0x00ad09c0, 0x00ad0ae1 },
+ { 0x00800040, 0x29e04529, 0x00ad09e0, 0x00ad0b01 },
+ { 0x00800040, 0x2a004529, 0x00ad0a00, 0x00ad0b21 },
+ { 0x00800040, 0x2a204529, 0x00ad0a20, 0x00ad0b41 },
+ { 0x00800040, 0x2a404629, 0x00ad0b60, 0x00ad0b80 },
+ { 0x00800040, 0x2a604629, 0x00ad0b80, 0x00ad0ba0 },
+ { 0x00800040, 0x2a804629, 0x00ad0ba0, 0x00ad0bc0 },
+ { 0x00800040, 0x2aa04629, 0x00ad0bc0, 0x00ad0be0 },
+ { 0x00800040, 0x2a404529, 0x00ad0a40, 0x00ad0b61 },
+ { 0x00800040, 0x2a604529, 0x00ad0a60, 0x00ad0b81 },
+ { 0x00800040, 0x2a804529, 0x00ad0a80, 0x00ad0ba1 },
+ { 0x00800040, 0x2aa04529, 0x00ad0aa0, 0x00ad0bc1 },
+ { 0x00800040, 0x2a404529, 0x00ad0a40, 0x00ad0b81 },
+ { 0x00800040, 0x2a604529, 0x00ad0a60, 0x00ad0ba1 },
+ { 0x00800040, 0x2a804529, 0x00ad0a80, 0x00ad0bc1 },
+ { 0x00800040, 0x2aa04529, 0x00ad0aa0, 0x00ad0be1 },
+ { 0x80800008, 0x29c02d29, 0x00b109c0, 0x00020002 },
+ { 0x80800008, 0x29e02d29, 0x00b109e0, 0x00020002 },
+ { 0x80800008, 0x2a002d29, 0x00b10a00, 0x00020002 },
+ { 0x80800008, 0x2a202d29, 0x00b10a20, 0x00020002 },
+ { 0x80800008, 0x2a402d29, 0x00b10a40, 0x00020002 },
+ { 0x80800008, 0x2a602d29, 0x00b10a60, 0x00020002 },
+ { 0x80800008, 0x2a802d29, 0x00b10a80, 0x00020002 },
+ { 0x80800008, 0x2aa02d29, 0x00b10aa0, 0x00020002 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000028 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a008 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a009 },
+ { 0x80800042, 0x29c04629, 0x00ad0ac0, 0x00ad0ac1 },
+ { 0x80800042, 0x29e04629, 0x00ad0ae0, 0x00ad0ae1 },
+ { 0x80800042, 0x2a004629, 0x00ad0b00, 0x00ad0b01 },
+ { 0x80800042, 0x2a204629, 0x00ad0b20, 0x00ad0b21 },
+ { 0x80800042, 0x2a404629, 0x00ad0b60, 0x00ad0b61 },
+ { 0x80800042, 0x2a604629, 0x00ad0b80, 0x00ad0b81 },
+ { 0x80800042, 0x2a804629, 0x00ad0ba0, 0x00ad0ba1 },
+ { 0x80800042, 0x2aa04629, 0x00ad0bc0, 0x00ad0bc1 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000001c },
+ { 0x01000005, 0x20002d3c, 0x0021003c, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x0000000f },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a008 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a009 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000000f },
+ { 0x00800031, 0x2b401d29, 0x00ad0e60, 0x0411a008 },
+ { 0x00800031, 0x2be01d29, 0x00ad0e60, 0x0411a009 },
+ { 0x80800042, 0x29c04629, 0x00ad0ac0, 0x00ad0ae0 },
+ { 0x80800042, 0x29e04629, 0x00ad0ae0, 0x00ad0b00 },
+ { 0x80800042, 0x2a004629, 0x00ad0b00, 0x00ad0b20 },
+ { 0x80800042, 0x2a204629, 0x00ad0b20, 0x00ad0b40 },
+ { 0x80800042, 0x2a404629, 0x00ad0b60, 0x00ad0b80 },
+ { 0x80800042, 0x2a604629, 0x00ad0b80, 0x00ad0ba0 },
+ { 0x80800042, 0x2a804629, 0x00ad0ba0, 0x00ad0bc0 },
+ { 0x80800042, 0x2aa04629, 0x00ad0bc0, 0x00ad0be0 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000000b },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a008 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a009 },
+ { 0x00800001, 0x29c00229, 0x00ad0ac0, 0x00000000 },
+ { 0x00800001, 0x29e00229, 0x00ad0ae0, 0x00000000 },
+ { 0x00800001, 0x2a000229, 0x00ad0b00, 0x00000000 },
+ { 0x00800001, 0x2a200229, 0x00ad0b20, 0x00000000 },
+ { 0x00800001, 0x2a400229, 0x00ad0b60, 0x00000000 },
+ { 0x00800001, 0x2a600229, 0x00ad0b80, 0x00000000 },
+ { 0x00800001, 0x2a800229, 0x00ad0ba0, 0x00000000 },
+ { 0x00800001, 0x2aa00229, 0x00ad0bc0, 0x00000000 },
+ { 0x00600001, 0x25900129, 0x008d09c0, 0x00000000 },
+ { 0x00600001, 0x25b00129, 0x008d09e0, 0x00000000 },
+ { 0x00600001, 0x25d00129, 0x008d0a00, 0x00000000 },
+ { 0x00600001, 0x25f00129, 0x008d0a20, 0x00000000 },
+ { 0x00600001, 0x26100129, 0x008d0a40, 0x00000000 },
+ { 0x00600001, 0x26300129, 0x008d0a60, 0x00000000 },
+ { 0x00600001, 0x26500129, 0x008d0a80, 0x00000000 },
+ { 0x00600001, 0x26700129, 0x008d0aa0, 0x00000000 },
+ { 0x80800042, 0x25802529, 0x00b10880, 0x00b10580 },
+ { 0x80800042, 0x25a02529, 0x00b108a0, 0x00b105a0 },
+ { 0x80800042, 0x25c02529, 0x00b108c0, 0x00b105c0 },
+ { 0x80800042, 0x25e02529, 0x00b108e0, 0x00b105e0 },
+ { 0x80800042, 0x26002529, 0x00b10900, 0x00b10600 },
+ { 0x80800042, 0x26202529, 0x00b10920, 0x00b10620 },
+ { 0x80800042, 0x26402529, 0x00b10940, 0x00b10640 },
+ { 0x80800042, 0x26602529, 0x00b10960, 0x00b10660 },
+ { 0x00600001, 0x20200021, 0x008d0980, 0x00000000 },
+ { 0x00800001, 0x458101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x45a101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x45c101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x45e101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x460101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x462101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x464101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x466101f1, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002e3c, 0x0021003e, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000011 },
+ { 0x00800040, 0x238045ad, 0x00b10060, 0x00b20380 },
+ { 0x00800040, 0x23a045ad, 0x00b10080, 0x00b203a0 },
+ { 0x00800040, 0x23c045ad, 0x00b100a0, 0x00b203c0 },
+ { 0x00800040, 0x23e045ad, 0x00b100c0, 0x00b203e0 },
+ { 0x00800040, 0x240045ad, 0x00b100e0, 0x00b20400 },
+ { 0x00800040, 0x242045ad, 0x00b10100, 0x00b20420 },
+ { 0x00800040, 0x244045ad, 0x00b10120, 0x00b20440 },
+ { 0x00800040, 0x246045ad, 0x00b10140, 0x00b20460 },
+ { 0x00800040, 0x248045ad, 0x00b10160, 0x00b20480 },
+ { 0x00800040, 0x24a045ad, 0x00b10180, 0x00b204a0 },
+ { 0x00800040, 0x24c045ad, 0x00b101a0, 0x00b204c0 },
+ { 0x00800040, 0x24e045ad, 0x00b101c0, 0x00b204e0 },
+ { 0x00800040, 0x250045ad, 0x00b101e0, 0x00b20500 },
+ { 0x00800040, 0x252045ad, 0x00b10200, 0x00b20520 },
+ { 0x00800040, 0x254045ad, 0x00b10220, 0x00b20540 },
+ { 0x00800040, 0x256045ad, 0x00b10240, 0x00b20560 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000010 },
+ { 0x00800040, 0x238045ad, 0x00b10060, 0x00b20380 },
+ { 0x00800040, 0x23a045ad, 0x00b10160, 0x00b203a0 },
+ { 0x00800040, 0x23c045ad, 0x00b10080, 0x00b203c0 },
+ { 0x00800040, 0x23e045ad, 0x00b10180, 0x00b203e0 },
+ { 0x00800040, 0x240045ad, 0x00b100a0, 0x00b20400 },
+ { 0x00800040, 0x242045ad, 0x00b101a0, 0x00b20420 },
+ { 0x00800040, 0x244045ad, 0x00b100c0, 0x00b20440 },
+ { 0x00800040, 0x246045ad, 0x00b101c0, 0x00b20460 },
+ { 0x00800040, 0x248045ad, 0x00b100e0, 0x00b20480 },
+ { 0x00800040, 0x24a045ad, 0x00b101e0, 0x00b204a0 },
+ { 0x00800040, 0x24c045ad, 0x00b10100, 0x00b204c0 },
+ { 0x00800040, 0x24e045ad, 0x00b10200, 0x00b204e0 },
+ { 0x00800040, 0x250045ad, 0x00b10120, 0x00b20500 },
+ { 0x00800040, 0x252045ad, 0x00b10220, 0x00b20520 },
+ { 0x00800040, 0x254045ad, 0x00b10140, 0x00b20540 },
+ { 0x00800040, 0x256045ad, 0x00b10240, 0x00b20560 },
+ { 0x00000001, 0x20280061, 0x00000000, 0x000f000f },
+ { 0x80800001, 0x438001b1, 0x00b10380, 0x00000000 },
+ { 0x80800001, 0x43a001b1, 0x00b103a0, 0x00000000 },
+ { 0x80800001, 0x43c001b1, 0x00b103c0, 0x00000000 },
+ { 0x80800001, 0x43e001b1, 0x00b103e0, 0x00000000 },
+ { 0x80800001, 0x440001b1, 0x00b10400, 0x00000000 },
+ { 0x80800001, 0x442001b1, 0x00b10420, 0x00000000 },
+ { 0x80800001, 0x444001b1, 0x00b10440, 0x00000000 },
+ { 0x80800001, 0x446001b1, 0x00b10460, 0x00000000 },
+ { 0x80800001, 0x448001b1, 0x00b10480, 0x00000000 },
+ { 0x80800001, 0x44a001b1, 0x00b104a0, 0x00000000 },
+ { 0x80800001, 0x44c001b1, 0x00b104c0, 0x00000000 },
+ { 0x80800001, 0x44e001b1, 0x00b104e0, 0x00000000 },
+ { 0x80800001, 0x450001b1, 0x00b10500, 0x00000000 },
+ { 0x80800001, 0x452001b1, 0x00b10520, 0x00000000 },
+ { 0x80800001, 0x454001b1, 0x00b10540, 0x00000000 },
+ { 0x80800001, 0x456001b1, 0x00b10560, 0x00000000 },
+ { 0x00800001, 0x20200232, 0x00b20380, 0x00000000 },
+ { 0x00800001, 0x20300232, 0x00b203a0, 0x00000000 },
+ { 0x00800001, 0x20400232, 0x00b203c0, 0x00000000 },
+ { 0x00800001, 0x20500232, 0x00b203e0, 0x00000000 },
+ { 0x00800001, 0x20600232, 0x00b20400, 0x00000000 },
+ { 0x00800001, 0x20700232, 0x00b20420, 0x00000000 },
+ { 0x00800001, 0x20800232, 0x00b20440, 0x00000000 },
+ { 0x00800001, 0x20900232, 0x00b20460, 0x00000000 },
+ { 0x00800001, 0x20a00232, 0x00b20480, 0x00000000 },
+ { 0x00800001, 0x20b00232, 0x00b204a0, 0x00000000 },
+ { 0x00800001, 0x20c00232, 0x00b204c0, 0x00000000 },
+ { 0x00800001, 0x20d00232, 0x00b204e0, 0x00000000 },
+ { 0x00800001, 0x20e00232, 0x00b20500, 0x00000000 },
+ { 0x00800001, 0x20f00232, 0x00b20520, 0x00000000 },
+ { 0x00800001, 0x21000232, 0x00b20540, 0x00000000 },
+ { 0x00800001, 0x21100232, 0x00b20560, 0x00000000 },
+ { 0x00800031, 0x24001d28, 0x008d0020, 0x05902000 },
+ { 0x00000001, 0x20280061, 0x00000000, 0x00070007 },
+ { 0x00200008, 0x20201c21, 0x00450020, 0x00000001 },
+ { 0x00800040, 0x258025a9, 0x00b10260, 0x00b10580 },
+ { 0x00800040, 0x25a025a9, 0x00b10280, 0x00b105a0 },
+ { 0x00800040, 0x25c025a9, 0x00b102a0, 0x00b105c0 },
+ { 0x00800040, 0x25e025a9, 0x00b102c0, 0x00b105e0 },
+ { 0x80800001, 0x45800131, 0x00b10580, 0x00000000 },
+ { 0x80800001, 0x45a00131, 0x00b105a0, 0x00000000 },
+ { 0x80800001, 0x45c00131, 0x00b105c0, 0x00000000 },
+ { 0x80800001, 0x45e00131, 0x00b105e0, 0x00000000 },
+ { 0x00800001, 0x20200232, 0x00b20580, 0x00000000 },
+ { 0x00800001, 0x20300232, 0x00b205a0, 0x00000000 },
+ { 0x00800001, 0x20400232, 0x00b205c0, 0x00000000 },
+ { 0x00800001, 0x20500232, 0x00b205e0, 0x00000000 },
+ { 0x00800031, 0x24001d28, 0x008d0020, 0x05302001 },
+ { 0x00800040, 0x260025a9, 0x00b102e0, 0x00b10600 },
+ { 0x00800040, 0x262025a9, 0x00b10300, 0x00b10620 },
+ { 0x00800040, 0x264025a9, 0x00b10320, 0x00b10640 },
+ { 0x00800040, 0x266025a9, 0x00b10340, 0x00b10660 },
+ { 0x80800001, 0x46000131, 0x00b10600, 0x00000000 },
+ { 0x80800001, 0x46200131, 0x00b10620, 0x00000000 },
+ { 0x80800001, 0x46400131, 0x00b10640, 0x00000000 },
+ { 0x80800001, 0x46600131, 0x00b10660, 0x00000000 },
+ { 0x00800001, 0x20200232, 0x00b20600, 0x00000000 },
+ { 0x00800001, 0x20300232, 0x00b20620, 0x00000000 },
+ { 0x00800001, 0x20400232, 0x00b20640, 0x00000000 },
+ { 0x00800001, 0x20500232, 0x00b20660, 0x00000000 },
+ { 0x00800031, 0x24001d28, 0x008d0020, 0x05302002 },
+ { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
diff --git a/src/xvmc/field_forward_igd.g4a b/src/xvmc/field_forward_igd.g4a
new file mode 100644
index 00000000..fdd49251
--- /dev/null
+++ b/src/xvmc/field_forward_igd.g4a
@@ -0,0 +1,121 @@
+/*
+ * Copyright © 2008 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Author:
+ * Zou Nan hai <nanhai.zou@intel.com>
+ * Zhang Hua jun <huajun.zhang@intel.com>
+ * Xing Dong sheng <dongsheng.xing@intel.com>
+ *
+ */
+mov (8) g76.0<1>UD g1.0<8,8,1>UD {align1};
+//mov (8) g77.0<1>UD g2.0<8,8,1>UD {align1};
+
+include(`block_clear.g4i')
+mov (8) g115.0<1>UD g1.0<8,8,1>UD {align1};
+mov (8) g116.0<1>UD g1.0<8,8,1>UD {align1};
+/*Y buffer*/
+mov(1) g1.8<1>UD 0x007000fUD { align1 };
+asr (2) g115.14<1>W g1.14<2,2,1>W 1UW {align1};
+add (2) g115.0<1>UD g116.0<2,2,1>UD g115.14<2,2,1>W {align1};
+and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
+mov (1) g115.8<1>UD 0x1fUD { align1 }; //read 1 line, 32 columns.
+/*first vector*/
+and.nz (1) null g1.31<1,1,1>UB 0x1UW {align1};
+(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
+define(`surface',`4')
+define(`mv1',`g1.14')
+define(`mv2',`g1.16')
+include(`motion_field_y_igd.g4i')
+mov (8) g28.0<1>UD g96.0<8,8,1>UD {align1};
+mov (8) g30.0<1>UD g97.0<8,8,1>UD {align1};
+mov (8) g32.0<1>UD g98.0<8,8,1>UD {align1};
+mov (8) g34.0<1>UD g99.0<8,8,1>UD {align1};
+mov (8) g36.0<1>UD g100.0<8,8,1>UD {align1};
+mov (8) g38.0<1>UD g101.0<8,8,1>UD {align1};
+mov (8) g40.0<1>UD g102.0<8,8,1>UD {align1};
+mov (8) g42.0<1>UD g103.0<8,8,1>UD {align1};
+/*second vector*/
+asr (2) g115.14<1>W g1.22<2,2,1>W 1UW {align1};
+add (2) g115.0<1>UD g116.0<2,2,1>UD g115.14<2,2,1>W {align1};
+and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
+mov (1) g115.8<1>UD 0x1fUD { align1 }; //read 1 line, 32 columns.
+
+and.nz (1) null g1.31<1,1,1>UB 0x4UW {align1};
+(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
+define(`surface',`4')
+define(`mv1',`g1.22')
+define(`mv2',`g1.24')
+include(`motion_field_y_igd.g4i')
+mov (8) g29.0<1>UD g96.0<8,8,1>UD {align1};
+mov (8) g31.0<1>UD g97.0<8,8,1>UD {align1};
+mov (8) g33.0<1>UD g98.0<8,8,1>UD {align1};
+mov (8) g35.0<1>UD g99.0<8,8,1>UD {align1};
+mov (8) g37.0<1>UD g100.0<8,8,1>UD {align1};
+mov (8) g39.0<1>UD g101.0<8,8,1>UD {align1};
+mov (8) g41.0<1>UD g102.0<8,8,1>UD {align1};
+mov (8) g43.0<1>UD g103.0<8,8,1>UD {align1};
+/*U buffer, V buffer*/
+/*first vector*/
+mov(1) g115.8<1>UD 0x007000fUD { align1 };
+asr (2) g115.14<1>W g1.14<2,2,1>W 2UW {align1};
+asr (2) g115.0<1>D g116.0<2,2,1>D 1D {align1};
+add (2) g115.0<1>D g115.0<2,2,1>D g115.14<2,2,1>W {align1};
+and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
+
+and.nz (1) null g1.31<1,1,1>UB 0x1UW {align1};
+(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
+define(`surface_u',`5')
+define(`surface_v',`6')
+define(`mv1',`g1.14')
+define(`mv2',`g1.16')
+include(`motion_field_uv_igd.g4i')
+mov (8) g44.0<1>UW g78.0<8,8,1>UW {align1};
+mov (8) g45.0<1>UW g79.0<8,8,1>UW {align1};
+mov (8) g46.0<1>UW g80.0<8,8,1>UW {align1};
+mov (8) g47.0<1>UW g81.0<8,8,1>UW {align1};
+mov (8) g48.0<1>UW g82.0<8,8,1>UW {align1};
+mov (8) g49.0<1>UW g83.0<8,8,1>UW {align1};
+mov (8) g50.0<1>UW g84.0<8,8,1>UW {align1};
+mov (8) g51.0<1>UW g85.0<8,8,1>UW {align1};
+/*second vector*/
+asr (2) g115.14<1>W g1.22<2,2,1>W 2UW {align1};
+asr (2) g115.0<1>D g116.0<2,2,1>D 1D {align1};
+add (2) g115.0<1>D g115.0<2,2,1>D g115.14<2,2,1>W {align1};
+and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
+
+and.nz (1) null g1.31<1,1,1>UB 0x4UW {align1};
+(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
+define(`mv1',`g1.22')
+define(`mv2',`g1.24')
+include(`motion_field_uv_igd.g4i')
+mov (8) g44.16<1>UW g78.0<8,8,1>UW {align1};
+mov (8) g45.16<1>UW g79.0<8,8,1>UW {align1};
+mov (8) g46.16<1>UW g80.0<8,8,1>UW {align1};
+mov (8) g47.16<1>UW g81.0<8,8,1>UW {align1};
+mov (8) g48.16<1>UW g82.0<8,8,1>UW {align1};
+mov (8) g49.16<1>UW g83.0<8,8,1>UW {align1};
+mov (8) g50.16<1>UW g84.0<8,8,1>UW {align1};
+mov (8) g51.16<1>UW g85.0<8,8,1>UW {align1};
+
+include(`addidct.g4i')
+//send (16) 0 acc0<1>UW g0<8,8,1>UW
+// thread_spawner(0, 0, 0) mlen 1 rlen 0 { align1 EOT};
diff --git a/src/xvmc/field_forward_igd.g4b b/src/xvmc/field_forward_igd.g4b
new file mode 100644
index 00000000..a4d5ab2d
--- /dev/null
+++ b/src/xvmc/field_forward_igd.g4b
@@ -0,0 +1,618 @@
+ { 0x00600001, 0x29800021, 0x008d0020, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021098c, 0x00200020 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
+ { 0x00600001, 0x20600169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20800169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20a00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20c00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20e00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21000169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21200169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21400169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00100010 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
+ { 0x00600001, 0x20700169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20900169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20b00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20d00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20f00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21100169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21300169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21500169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00080008 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
+ { 0x00600001, 0x21600169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21800169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21a00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21c00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21e00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22000169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22200169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22400169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00040004 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
+ { 0x00600001, 0x21700169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21900169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21b00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21d00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21f00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22100169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22300169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22500169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000004 },
+ { 0x00800001, 0x22600169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x22800169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x22a00169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x22c00169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000004 },
+ { 0x00800001, 0x22e00169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x23000169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x23200169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x23400169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x2e600021, 0x008d0020, 0x00000000 },
+ { 0x00600001, 0x2e800021, 0x008d0020, 0x00000000 },
+ { 0x00000001, 0x20280061, 0x00000000, 0x0007000f },
+ { 0x0020000c, 0x2e6e2dad, 0x0045002e, 0x00010001 },
+ { 0x00200040, 0x2e603421, 0x00450e80, 0x00450e6e },
+ { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x02000005, 0x20002e3c, 0x0021003f, 0x00010001 },
+ { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
+ { 0x01000005, 0x20002d3c, 0x0021002e, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000045 },
+ { 0x01000005, 0x20002d3c, 0x00210030, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x0000002f },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2bc01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00800040, 0x2c004629, 0x00b109c0, 0x00b10a00 },
+ { 0x00800040, 0x2c204629, 0x00b10a00, 0x00b10a40 },
+ { 0x00800040, 0x2c404629, 0x00b10a40, 0x00b10a80 },
+ { 0x00800040, 0x2c604629, 0x00b10a80, 0x00b10ac0 },
+ { 0x00800040, 0x2c804629, 0x00b10ac0, 0x00b10b00 },
+ { 0x00800040, 0x2ca04629, 0x00b10b00, 0x00b10b40 },
+ { 0x00800040, 0x2cc04629, 0x00b10b40, 0x00b10b80 },
+ { 0x00800040, 0x2ce04629, 0x00b10b80, 0x00b10bc0 },
+ { 0x00800040, 0x2c004529, 0x00b10c00, 0x00b109c1 },
+ { 0x00800040, 0x2c204529, 0x00b10c20, 0x00b10a01 },
+ { 0x00800040, 0x2c404529, 0x00b10c40, 0x00b10a41 },
+ { 0x00800040, 0x2c604529, 0x00b10c60, 0x00b10a81 },
+ { 0x00800040, 0x2c804529, 0x00b10c80, 0x00b10ac1 },
+ { 0x00800040, 0x2ca04529, 0x00b10ca0, 0x00b10b01 },
+ { 0x00800040, 0x2cc04529, 0x00b10cc0, 0x00b10b41 },
+ { 0x00800040, 0x2ce04529, 0x00b10ce0, 0x00b10b81 },
+ { 0x00800040, 0x2c004529, 0x00b10c00, 0x00b10a01 },
+ { 0x00800040, 0x2c204529, 0x00b10c20, 0x00b10a41 },
+ { 0x00800040, 0x2c404529, 0x00b10c40, 0x00b10a81 },
+ { 0x00800040, 0x2c604529, 0x00b10c60, 0x00b10ac1 },
+ { 0x00800040, 0x2c804529, 0x00b10c80, 0x00b10b01 },
+ { 0x00800040, 0x2ca04529, 0x00b10ca0, 0x00b10b41 },
+ { 0x00800040, 0x2cc04529, 0x00b10cc0, 0x00b10b81 },
+ { 0x00800040, 0x2ce04529, 0x00b10ce0, 0x00b10bc1 },
+ { 0x00800008, 0x2c002d29, 0x00b10c00, 0x00020002 },
+ { 0x00800008, 0x2c202d29, 0x00b10c20, 0x00020002 },
+ { 0x00800008, 0x2c402d29, 0x00b10c40, 0x00020002 },
+ { 0x00800008, 0x2c602d29, 0x00b10c60, 0x00020002 },
+ { 0x00800008, 0x2c802d29, 0x00b10c80, 0x00020002 },
+ { 0x00800008, 0x2ca02d29, 0x00b10ca0, 0x00020002 },
+ { 0x00800008, 0x2cc02d29, 0x00b10cc0, 0x00020002 },
+ { 0x00800008, 0x2ce02d29, 0x00b10ce0, 0x00020002 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000040 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x80800042, 0x2c004629, 0x00b109c0, 0x00b109c1 },
+ { 0x80800042, 0x2c204629, 0x00b10a00, 0x00b10a01 },
+ { 0x80800042, 0x2c404629, 0x00b10a40, 0x00b10a41 },
+ { 0x80800042, 0x2c604629, 0x00b10a80, 0x00b10a81 },
+ { 0x80800042, 0x2c804629, 0x00b10ac0, 0x00b10ac1 },
+ { 0x80800042, 0x2ca04629, 0x00b10b00, 0x00b10b01 },
+ { 0x80800042, 0x2cc04629, 0x00b10b40, 0x00b10b41 },
+ { 0x80800042, 0x2ce04629, 0x00b10b80, 0x00b10b81 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000002c },
+ { 0x01000005, 0x20002d3c, 0x00210030, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000017 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2bc01d29, 0x008d0e60, 0x0411a004 },
+ { 0x80800042, 0x2c004629, 0x00b109c0, 0x00b10a00 },
+ { 0x80800042, 0x2c204629, 0x00b10a00, 0x00b10a40 },
+ { 0x80800042, 0x2c404629, 0x00b10a40, 0x00b10a80 },
+ { 0x80800042, 0x2c604629, 0x00b10a80, 0x00b10ac0 },
+ { 0x80800042, 0x2c804629, 0x00b10ac0, 0x00b10b00 },
+ { 0x80800042, 0x2ca04629, 0x00b10b00, 0x00b10b40 },
+ { 0x80800042, 0x2cc04629, 0x00b10b40, 0x00b10b80 },
+ { 0x80800042, 0x2ce04629, 0x00b10b80, 0x00b10bc0 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000013 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x00800001, 0x2c000229, 0x00b109c0, 0x00000000 },
+ { 0x00800001, 0x2c200229, 0x00b10a00, 0x00000000 },
+ { 0x00800001, 0x2c400229, 0x00b10a40, 0x00000000 },
+ { 0x00800001, 0x2c600229, 0x00b10a80, 0x00000000 },
+ { 0x00800001, 0x2c800229, 0x00b10ac0, 0x00000000 },
+ { 0x00800001, 0x2ca00229, 0x00b10b00, 0x00000000 },
+ { 0x00800001, 0x2cc00229, 0x00b10b40, 0x00000000 },
+ { 0x00800001, 0x2ce00229, 0x00b10b80, 0x00000000 },
+ { 0x00600001, 0x23800021, 0x008d0c00, 0x00000000 },
+ { 0x00600001, 0x23c00021, 0x008d0c20, 0x00000000 },
+ { 0x00600001, 0x24000021, 0x008d0c40, 0x00000000 },
+ { 0x00600001, 0x24400021, 0x008d0c60, 0x00000000 },
+ { 0x00600001, 0x24800021, 0x008d0c80, 0x00000000 },
+ { 0x00600001, 0x24c00021, 0x008d0ca0, 0x00000000 },
+ { 0x00600001, 0x25000021, 0x008d0cc0, 0x00000000 },
+ { 0x00600001, 0x25400021, 0x008d0ce0, 0x00000000 },
+ { 0x0020000c, 0x2e6e2dad, 0x00450036, 0x00010001 },
+ { 0x00200040, 0x2e603421, 0x00450e80, 0x00450e6e },
+ { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x02000005, 0x20002e3c, 0x0021003f, 0x00040004 },
+ { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
+ { 0x01000005, 0x20002d3c, 0x00210036, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000045 },
+ { 0x01000005, 0x20002d3c, 0x00210038, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x0000002f },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2bc01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00800040, 0x2c004629, 0x00b109c0, 0x00b10a00 },
+ { 0x00800040, 0x2c204629, 0x00b10a00, 0x00b10a40 },
+ { 0x00800040, 0x2c404629, 0x00b10a40, 0x00b10a80 },
+ { 0x00800040, 0x2c604629, 0x00b10a80, 0x00b10ac0 },
+ { 0x00800040, 0x2c804629, 0x00b10ac0, 0x00b10b00 },
+ { 0x00800040, 0x2ca04629, 0x00b10b00, 0x00b10b40 },
+ { 0x00800040, 0x2cc04629, 0x00b10b40, 0x00b10b80 },
+ { 0x00800040, 0x2ce04629, 0x00b10b80, 0x00b10bc0 },
+ { 0x00800040, 0x2c004529, 0x00b10c00, 0x00b109c1 },
+ { 0x00800040, 0x2c204529, 0x00b10c20, 0x00b10a01 },
+ { 0x00800040, 0x2c404529, 0x00b10c40, 0x00b10a41 },
+ { 0x00800040, 0x2c604529, 0x00b10c60, 0x00b10a81 },
+ { 0x00800040, 0x2c804529, 0x00b10c80, 0x00b10ac1 },
+ { 0x00800040, 0x2ca04529, 0x00b10ca0, 0x00b10b01 },
+ { 0x00800040, 0x2cc04529, 0x00b10cc0, 0x00b10b41 },
+ { 0x00800040, 0x2ce04529, 0x00b10ce0, 0x00b10b81 },
+ { 0x00800040, 0x2c004529, 0x00b10c00, 0x00b10a01 },
+ { 0x00800040, 0x2c204529, 0x00b10c20, 0x00b10a41 },
+ { 0x00800040, 0x2c404529, 0x00b10c40, 0x00b10a81 },
+ { 0x00800040, 0x2c604529, 0x00b10c60, 0x00b10ac1 },
+ { 0x00800040, 0x2c804529, 0x00b10c80, 0x00b10b01 },
+ { 0x00800040, 0x2ca04529, 0x00b10ca0, 0x00b10b41 },
+ { 0x00800040, 0x2cc04529, 0x00b10cc0, 0x00b10b81 },
+ { 0x00800040, 0x2ce04529, 0x00b10ce0, 0x00b10bc1 },
+ { 0x00800008, 0x2c002d29, 0x00b10c00, 0x00020002 },
+ { 0x00800008, 0x2c202d29, 0x00b10c20, 0x00020002 },
+ { 0x00800008, 0x2c402d29, 0x00b10c40, 0x00020002 },
+ { 0x00800008, 0x2c602d29, 0x00b10c60, 0x00020002 },
+ { 0x00800008, 0x2c802d29, 0x00b10c80, 0x00020002 },
+ { 0x00800008, 0x2ca02d29, 0x00b10ca0, 0x00020002 },
+ { 0x00800008, 0x2cc02d29, 0x00b10cc0, 0x00020002 },
+ { 0x00800008, 0x2ce02d29, 0x00b10ce0, 0x00020002 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000040 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x80800042, 0x2c004629, 0x00b109c0, 0x00b109c1 },
+ { 0x80800042, 0x2c204629, 0x00b10a00, 0x00b10a01 },
+ { 0x80800042, 0x2c404629, 0x00b10a40, 0x00b10a41 },
+ { 0x80800042, 0x2c604629, 0x00b10a80, 0x00b10a81 },
+ { 0x80800042, 0x2c804629, 0x00b10ac0, 0x00b10ac1 },
+ { 0x80800042, 0x2ca04629, 0x00b10b00, 0x00b10b01 },
+ { 0x80800042, 0x2cc04629, 0x00b10b40, 0x00b10b41 },
+ { 0x80800042, 0x2ce04629, 0x00b10b80, 0x00b10b81 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000002c },
+ { 0x01000005, 0x20002d3c, 0x00210038, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000017 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2bc01d29, 0x008d0e60, 0x0411a004 },
+ { 0x80800042, 0x2c004629, 0x00b109c0, 0x00b10a00 },
+ { 0x80800042, 0x2c204629, 0x00b10a00, 0x00b10a40 },
+ { 0x80800042, 0x2c404629, 0x00b10a40, 0x00b10a80 },
+ { 0x80800042, 0x2c604629, 0x00b10a80, 0x00b10ac0 },
+ { 0x80800042, 0x2c804629, 0x00b10ac0, 0x00b10b00 },
+ { 0x80800042, 0x2ca04629, 0x00b10b00, 0x00b10b40 },
+ { 0x80800042, 0x2cc04629, 0x00b10b40, 0x00b10b80 },
+ { 0x80800042, 0x2ce04629, 0x00b10b80, 0x00b10bc0 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000013 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x29c01d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a001d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a401d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00800031, 0x2a801d29, 0x008d0e60, 0x0411a004 },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2ac01d29, 0x008d0e60, 0x0418a004 },
+ { 0x00800001, 0x2c000229, 0x00b109c0, 0x00000000 },
+ { 0x00800001, 0x2c200229, 0x00b10a00, 0x00000000 },
+ { 0x00800001, 0x2c400229, 0x00b10a40, 0x00000000 },
+ { 0x00800001, 0x2c600229, 0x00b10a80, 0x00000000 },
+ { 0x00800001, 0x2c800229, 0x00b10ac0, 0x00000000 },
+ { 0x00800001, 0x2ca00229, 0x00b10b00, 0x00000000 },
+ { 0x00800001, 0x2cc00229, 0x00b10b40, 0x00000000 },
+ { 0x00800001, 0x2ce00229, 0x00b10b80, 0x00000000 },
+ { 0x00600001, 0x23a00021, 0x008d0c00, 0x00000000 },
+ { 0x00600001, 0x23e00021, 0x008d0c20, 0x00000000 },
+ { 0x00600001, 0x24200021, 0x008d0c40, 0x00000000 },
+ { 0x00600001, 0x24600021, 0x008d0c60, 0x00000000 },
+ { 0x00600001, 0x24a00021, 0x008d0c80, 0x00000000 },
+ { 0x00600001, 0x24e00021, 0x008d0ca0, 0x00000000 },
+ { 0x00600001, 0x25200021, 0x008d0cc0, 0x00000000 },
+ { 0x00600001, 0x25600021, 0x008d0ce0, 0x00000000 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x0020000c, 0x2e6e2dad, 0x0045002e, 0x00020002 },
+ { 0x0020000c, 0x2e601ca5, 0x00450e80, 0x00000001 },
+ { 0x00200040, 0x2e6034a5, 0x00450e60, 0x00450e6e },
+ { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
+ { 0x02000005, 0x20002e3c, 0x0021003f, 0x00010001 },
+ { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
+ { 0x01000005, 0x20002d3c, 0x0021002e, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000036 },
+ { 0x01000005, 0x20002d3c, 0x00210030, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000028 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0001000f },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00800031, 0x2b401d29, 0x00ad0e60, 0x0411a005 },
+ { 0x00800031, 0x2be01d29, 0x00ad0e60, 0x0411a006 },
+ { 0x00800040, 0x29c04629, 0x00ad0ac0, 0x00ad0ae0 },
+ { 0x00800040, 0x29e04629, 0x00ad0ae0, 0x00ad0b00 },
+ { 0x00800040, 0x2a004629, 0x00ad0b00, 0x00ad0b20 },
+ { 0x00800040, 0x2a204629, 0x00ad0b20, 0x00ad0b40 },
+ { 0x00800040, 0x29c04529, 0x00ad09c0, 0x00ad0ac1 },
+ { 0x00800040, 0x29e04529, 0x00ad09e0, 0x00ad0ae1 },
+ { 0x00800040, 0x2a004529, 0x00ad0a00, 0x00ad0b01 },
+ { 0x00800040, 0x2a204529, 0x00ad0a20, 0x00ad0b21 },
+ { 0x00800040, 0x29c04529, 0x00ad09c0, 0x00ad0ae1 },
+ { 0x00800040, 0x29e04529, 0x00ad09e0, 0x00ad0b01 },
+ { 0x00800040, 0x2a004529, 0x00ad0a00, 0x00ad0b21 },
+ { 0x00800040, 0x2a204529, 0x00ad0a20, 0x00ad0b41 },
+ { 0x00800040, 0x2a404629, 0x00ad0b60, 0x00ad0b80 },
+ { 0x00800040, 0x2a604629, 0x00ad0b80, 0x00ad0ba0 },
+ { 0x00800040, 0x2a804629, 0x00ad0ba0, 0x00ad0bc0 },
+ { 0x00800040, 0x2aa04629, 0x00ad0bc0, 0x00ad0be0 },
+ { 0x00800040, 0x2a404529, 0x00ad0a40, 0x00ad0b61 },
+ { 0x00800040, 0x2a604529, 0x00ad0a60, 0x00ad0b81 },
+ { 0x00800040, 0x2a804529, 0x00ad0a80, 0x00ad0ba1 },
+ { 0x00800040, 0x2aa04529, 0x00ad0aa0, 0x00ad0bc1 },
+ { 0x00800040, 0x2a404529, 0x00ad0a40, 0x00ad0b81 },
+ { 0x00800040, 0x2a604529, 0x00ad0a60, 0x00ad0ba1 },
+ { 0x00800040, 0x2a804529, 0x00ad0a80, 0x00ad0bc1 },
+ { 0x00800040, 0x2aa04529, 0x00ad0aa0, 0x00ad0be1 },
+ { 0x80800008, 0x29c02d29, 0x00b109c0, 0x00020002 },
+ { 0x80800008, 0x29e02d29, 0x00b109e0, 0x00020002 },
+ { 0x80800008, 0x2a002d29, 0x00b10a00, 0x00020002 },
+ { 0x80800008, 0x2a202d29, 0x00b10a20, 0x00020002 },
+ { 0x80800008, 0x2a402d29, 0x00b10a40, 0x00020002 },
+ { 0x80800008, 0x2a602d29, 0x00b10a60, 0x00020002 },
+ { 0x80800008, 0x2a802d29, 0x00b10a80, 0x00020002 },
+ { 0x80800008, 0x2aa02d29, 0x00b10aa0, 0x00020002 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000028 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x80800042, 0x29c04629, 0x00ad0ac0, 0x00ad0ac1 },
+ { 0x80800042, 0x29e04629, 0x00ad0ae0, 0x00ad0ae1 },
+ { 0x80800042, 0x2a004629, 0x00ad0b00, 0x00ad0b01 },
+ { 0x80800042, 0x2a204629, 0x00ad0b20, 0x00ad0b21 },
+ { 0x80800042, 0x2a404629, 0x00ad0b60, 0x00ad0b61 },
+ { 0x80800042, 0x2a604629, 0x00ad0b80, 0x00ad0b81 },
+ { 0x80800042, 0x2a804629, 0x00ad0ba0, 0x00ad0ba1 },
+ { 0x80800042, 0x2aa04629, 0x00ad0bc0, 0x00ad0bc1 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000001c },
+ { 0x01000005, 0x20002d3c, 0x00210030, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x0000000f },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000000f },
+ { 0x00800031, 0x2b401d29, 0x00ad0e60, 0x0411a005 },
+ { 0x00800031, 0x2be01d29, 0x00ad0e60, 0x0411a006 },
+ { 0x80800042, 0x29c04629, 0x00ad0ac0, 0x00ad0ae0 },
+ { 0x80800042, 0x29e04629, 0x00ad0ae0, 0x00ad0b00 },
+ { 0x80800042, 0x2a004629, 0x00ad0b00, 0x00ad0b20 },
+ { 0x80800042, 0x2a204629, 0x00ad0b20, 0x00ad0b40 },
+ { 0x80800042, 0x2a404629, 0x00ad0b60, 0x00ad0b80 },
+ { 0x80800042, 0x2a604629, 0x00ad0b80, 0x00ad0ba0 },
+ { 0x80800042, 0x2a804629, 0x00ad0ba0, 0x00ad0bc0 },
+ { 0x80800042, 0x2aa04629, 0x00ad0bc0, 0x00ad0be0 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000000b },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x00800001, 0x29c00229, 0x00ad0ac0, 0x00000000 },
+ { 0x00800001, 0x29e00229, 0x00ad0ae0, 0x00000000 },
+ { 0x00800001, 0x2a000229, 0x00ad0b00, 0x00000000 },
+ { 0x00800001, 0x2a200229, 0x00ad0b20, 0x00000000 },
+ { 0x00800001, 0x2a400229, 0x00ad0b60, 0x00000000 },
+ { 0x00800001, 0x2a600229, 0x00ad0b80, 0x00000000 },
+ { 0x00800001, 0x2a800229, 0x00ad0ba0, 0x00000000 },
+ { 0x00800001, 0x2aa00229, 0x00ad0bc0, 0x00000000 },
+ { 0x00600001, 0x25800129, 0x008d09c0, 0x00000000 },
+ { 0x00600001, 0x25a00129, 0x008d09e0, 0x00000000 },
+ { 0x00600001, 0x25c00129, 0x008d0a00, 0x00000000 },
+ { 0x00600001, 0x25e00129, 0x008d0a20, 0x00000000 },
+ { 0x00600001, 0x26000129, 0x008d0a40, 0x00000000 },
+ { 0x00600001, 0x26200129, 0x008d0a60, 0x00000000 },
+ { 0x00600001, 0x26400129, 0x008d0a80, 0x00000000 },
+ { 0x00600001, 0x26600129, 0x008d0aa0, 0x00000000 },
+ { 0x0020000c, 0x2e6e2dad, 0x00450036, 0x00020002 },
+ { 0x0020000c, 0x2e601ca5, 0x00450e80, 0x00000001 },
+ { 0x00200040, 0x2e6034a5, 0x00450e60, 0x00450e6e },
+ { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
+ { 0x02000005, 0x20002e3c, 0x0021003f, 0x00040004 },
+ { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
+ { 0x01000005, 0x20002d3c, 0x00210036, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000036 },
+ { 0x01000005, 0x20002d3c, 0x00210038, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000028 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0001000f },
+ { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
+ { 0x00800031, 0x2b401d29, 0x00ad0e60, 0x0411a005 },
+ { 0x00800031, 0x2be01d29, 0x00ad0e60, 0x0411a006 },
+ { 0x00800040, 0x29c04629, 0x00ad0ac0, 0x00ad0ae0 },
+ { 0x00800040, 0x29e04629, 0x00ad0ae0, 0x00ad0b00 },
+ { 0x00800040, 0x2a004629, 0x00ad0b00, 0x00ad0b20 },
+ { 0x00800040, 0x2a204629, 0x00ad0b20, 0x00ad0b40 },
+ { 0x00800040, 0x29c04529, 0x00ad09c0, 0x00ad0ac1 },
+ { 0x00800040, 0x29e04529, 0x00ad09e0, 0x00ad0ae1 },
+ { 0x00800040, 0x2a004529, 0x00ad0a00, 0x00ad0b01 },
+ { 0x00800040, 0x2a204529, 0x00ad0a20, 0x00ad0b21 },
+ { 0x00800040, 0x29c04529, 0x00ad09c0, 0x00ad0ae1 },
+ { 0x00800040, 0x29e04529, 0x00ad09e0, 0x00ad0b01 },
+ { 0x00800040, 0x2a004529, 0x00ad0a00, 0x00ad0b21 },
+ { 0x00800040, 0x2a204529, 0x00ad0a20, 0x00ad0b41 },
+ { 0x00800040, 0x2a404629, 0x00ad0b60, 0x00ad0b80 },
+ { 0x00800040, 0x2a604629, 0x00ad0b80, 0x00ad0ba0 },
+ { 0x00800040, 0x2a804629, 0x00ad0ba0, 0x00ad0bc0 },
+ { 0x00800040, 0x2aa04629, 0x00ad0bc0, 0x00ad0be0 },
+ { 0x00800040, 0x2a404529, 0x00ad0a40, 0x00ad0b61 },
+ { 0x00800040, 0x2a604529, 0x00ad0a60, 0x00ad0b81 },
+ { 0x00800040, 0x2a804529, 0x00ad0a80, 0x00ad0ba1 },
+ { 0x00800040, 0x2aa04529, 0x00ad0aa0, 0x00ad0bc1 },
+ { 0x00800040, 0x2a404529, 0x00ad0a40, 0x00ad0b81 },
+ { 0x00800040, 0x2a604529, 0x00ad0a60, 0x00ad0ba1 },
+ { 0x00800040, 0x2a804529, 0x00ad0a80, 0x00ad0bc1 },
+ { 0x00800040, 0x2aa04529, 0x00ad0aa0, 0x00ad0be1 },
+ { 0x80800008, 0x29c02d29, 0x00b109c0, 0x00020002 },
+ { 0x80800008, 0x29e02d29, 0x00b109e0, 0x00020002 },
+ { 0x80800008, 0x2a002d29, 0x00b10a00, 0x00020002 },
+ { 0x80800008, 0x2a202d29, 0x00b10a20, 0x00020002 },
+ { 0x80800008, 0x2a402d29, 0x00b10a40, 0x00020002 },
+ { 0x80800008, 0x2a602d29, 0x00b10a60, 0x00020002 },
+ { 0x80800008, 0x2a802d29, 0x00b10a80, 0x00020002 },
+ { 0x80800008, 0x2aa02d29, 0x00b10aa0, 0x00020002 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000028 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x80800042, 0x29c04629, 0x00ad0ac0, 0x00ad0ac1 },
+ { 0x80800042, 0x29e04629, 0x00ad0ae0, 0x00ad0ae1 },
+ { 0x80800042, 0x2a004629, 0x00ad0b00, 0x00ad0b01 },
+ { 0x80800042, 0x2a204629, 0x00ad0b20, 0x00ad0b21 },
+ { 0x80800042, 0x2a404629, 0x00ad0b60, 0x00ad0b61 },
+ { 0x80800042, 0x2a604629, 0x00ad0b80, 0x00ad0b81 },
+ { 0x80800042, 0x2a804629, 0x00ad0ba0, 0x00ad0ba1 },
+ { 0x80800042, 0x2aa04629, 0x00ad0bc0, 0x00ad0bc1 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000001c },
+ { 0x01000005, 0x20002d3c, 0x00210038, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x0000000f },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0000000f },
+ { 0x00800031, 0x2b401d29, 0x00ad0e60, 0x0411a005 },
+ { 0x00800031, 0x2be01d29, 0x00ad0e60, 0x0411a006 },
+ { 0x80800042, 0x29c04629, 0x00ad0ac0, 0x00ad0ae0 },
+ { 0x80800042, 0x29e04629, 0x00ad0ae0, 0x00ad0b00 },
+ { 0x80800042, 0x2a004629, 0x00ad0b00, 0x00ad0b20 },
+ { 0x80800042, 0x2a204629, 0x00ad0b20, 0x00ad0b40 },
+ { 0x80800042, 0x2a404629, 0x00ad0b60, 0x00ad0b80 },
+ { 0x80800042, 0x2a604629, 0x00ad0b80, 0x00ad0ba0 },
+ { 0x80800042, 0x2a804629, 0x00ad0ba0, 0x00ad0bc0 },
+ { 0x80800042, 0x2aa04629, 0x00ad0bc0, 0x00ad0be0 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000000b },
+ { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x00ad0e60, 0x0414a005 },
+ { 0x00800031, 0x2b601d29, 0x00ad0e60, 0x0414a006 },
+ { 0x00800001, 0x29c00229, 0x00ad0ac0, 0x00000000 },
+ { 0x00800001, 0x29e00229, 0x00ad0ae0, 0x00000000 },
+ { 0x00800001, 0x2a000229, 0x00ad0b00, 0x00000000 },
+ { 0x00800001, 0x2a200229, 0x00ad0b20, 0x00000000 },
+ { 0x00800001, 0x2a400229, 0x00ad0b60, 0x00000000 },
+ { 0x00800001, 0x2a600229, 0x00ad0b80, 0x00000000 },
+ { 0x00800001, 0x2a800229, 0x00ad0ba0, 0x00000000 },
+ { 0x00800001, 0x2aa00229, 0x00ad0bc0, 0x00000000 },
+ { 0x00600001, 0x25900129, 0x008d09c0, 0x00000000 },
+ { 0x00600001, 0x25b00129, 0x008d09e0, 0x00000000 },
+ { 0x00600001, 0x25d00129, 0x008d0a00, 0x00000000 },
+ { 0x00600001, 0x25f00129, 0x008d0a20, 0x00000000 },
+ { 0x00600001, 0x26100129, 0x008d0a40, 0x00000000 },
+ { 0x00600001, 0x26300129, 0x008d0a60, 0x00000000 },
+ { 0x00600001, 0x26500129, 0x008d0a80, 0x00000000 },
+ { 0x00600001, 0x26700129, 0x008d0aa0, 0x00000000 },
+ { 0x00600001, 0x20200021, 0x008d0980, 0x00000000 },
+ { 0x00800001, 0x458101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x45a101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x45c101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x45e101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x460101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x462101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x464101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x466101f1, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002e3c, 0x0021003e, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000011 },
+ { 0x00800040, 0x238045ad, 0x00b10060, 0x00b20380 },
+ { 0x00800040, 0x23a045ad, 0x00b10080, 0x00b203a0 },
+ { 0x00800040, 0x23c045ad, 0x00b100a0, 0x00b203c0 },
+ { 0x00800040, 0x23e045ad, 0x00b100c0, 0x00b203e0 },
+ { 0x00800040, 0x240045ad, 0x00b100e0, 0x00b20400 },
+ { 0x00800040, 0x242045ad, 0x00b10100, 0x00b20420 },
+ { 0x00800040, 0x244045ad, 0x00b10120, 0x00b20440 },
+ { 0x00800040, 0x246045ad, 0x00b10140, 0x00b20460 },
+ { 0x00800040, 0x248045ad, 0x00b10160, 0x00b20480 },
+ { 0x00800040, 0x24a045ad, 0x00b10180, 0x00b204a0 },
+ { 0x00800040, 0x24c045ad, 0x00b101a0, 0x00b204c0 },
+ { 0x00800040, 0x24e045ad, 0x00b101c0, 0x00b204e0 },
+ { 0x00800040, 0x250045ad, 0x00b101e0, 0x00b20500 },
+ { 0x00800040, 0x252045ad, 0x00b10200, 0x00b20520 },
+ { 0x00800040, 0x254045ad, 0x00b10220, 0x00b20540 },
+ { 0x00800040, 0x256045ad, 0x00b10240, 0x00b20560 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000010 },
+ { 0x00800040, 0x238045ad, 0x00b10060, 0x00b20380 },
+ { 0x00800040, 0x23a045ad, 0x00b10160, 0x00b203a0 },
+ { 0x00800040, 0x23c045ad, 0x00b10080, 0x00b203c0 },
+ { 0x00800040, 0x23e045ad, 0x00b10180, 0x00b203e0 },
+ { 0x00800040, 0x240045ad, 0x00b100a0, 0x00b20400 },
+ { 0x00800040, 0x242045ad, 0x00b101a0, 0x00b20420 },
+ { 0x00800040, 0x244045ad, 0x00b100c0, 0x00b20440 },
+ { 0x00800040, 0x246045ad, 0x00b101c0, 0x00b20460 },
+ { 0x00800040, 0x248045ad, 0x00b100e0, 0x00b20480 },
+ { 0x00800040, 0x24a045ad, 0x00b101e0, 0x00b204a0 },
+ { 0x00800040, 0x24c045ad, 0x00b10100, 0x00b204c0 },
+ { 0x00800040, 0x24e045ad, 0x00b10200, 0x00b204e0 },
+ { 0x00800040, 0x250045ad, 0x00b10120, 0x00b20500 },
+ { 0x00800040, 0x252045ad, 0x00b10220, 0x00b20520 },
+ { 0x00800040, 0x254045ad, 0x00b10140, 0x00b20540 },
+ { 0x00800040, 0x256045ad, 0x00b10240, 0x00b20560 },
+ { 0x00000001, 0x20280061, 0x00000000, 0x000f000f },
+ { 0x80800001, 0x438001b1, 0x00b10380, 0x00000000 },
+ { 0x80800001, 0x43a001b1, 0x00b103a0, 0x00000000 },
+ { 0x80800001, 0x43c001b1, 0x00b103c0, 0x00000000 },
+ { 0x80800001, 0x43e001b1, 0x00b103e0, 0x00000000 },
+ { 0x80800001, 0x440001b1, 0x00b10400, 0x00000000 },
+ { 0x80800001, 0x442001b1, 0x00b10420, 0x00000000 },
+ { 0x80800001, 0x444001b1, 0x00b10440, 0x00000000 },
+ { 0x80800001, 0x446001b1, 0x00b10460, 0x00000000 },
+ { 0x80800001, 0x448001b1, 0x00b10480, 0x00000000 },
+ { 0x80800001, 0x44a001b1, 0x00b104a0, 0x00000000 },
+ { 0x80800001, 0x44c001b1, 0x00b104c0, 0x00000000 },
+ { 0x80800001, 0x44e001b1, 0x00b104e0, 0x00000000 },
+ { 0x80800001, 0x450001b1, 0x00b10500, 0x00000000 },
+ { 0x80800001, 0x452001b1, 0x00b10520, 0x00000000 },
+ { 0x80800001, 0x454001b1, 0x00b10540, 0x00000000 },
+ { 0x80800001, 0x456001b1, 0x00b10560, 0x00000000 },
+ { 0x00800001, 0x20200232, 0x00b20380, 0x00000000 },
+ { 0x00800001, 0x20300232, 0x00b203a0, 0x00000000 },
+ { 0x00800001, 0x20400232, 0x00b203c0, 0x00000000 },
+ { 0x00800001, 0x20500232, 0x00b203e0, 0x00000000 },
+ { 0x00800001, 0x20600232, 0x00b20400, 0x00000000 },
+ { 0x00800001, 0x20700232, 0x00b20420, 0x00000000 },
+ { 0x00800001, 0x20800232, 0x00b20440, 0x00000000 },
+ { 0x00800001, 0x20900232, 0x00b20460, 0x00000000 },
+ { 0x00800001, 0x20a00232, 0x00b20480, 0x00000000 },
+ { 0x00800001, 0x20b00232, 0x00b204a0, 0x00000000 },
+ { 0x00800001, 0x20c00232, 0x00b204c0, 0x00000000 },
+ { 0x00800001, 0x20d00232, 0x00b204e0, 0x00000000 },
+ { 0x00800001, 0x20e00232, 0x00b20500, 0x00000000 },
+ { 0x00800001, 0x20f00232, 0x00b20520, 0x00000000 },
+ { 0x00800001, 0x21000232, 0x00b20540, 0x00000000 },
+ { 0x00800001, 0x21100232, 0x00b20560, 0x00000000 },
+ { 0x00800031, 0x24001d28, 0x008d0020, 0x05902000 },
+ { 0x00000001, 0x20280061, 0x00000000, 0x00070007 },
+ { 0x00200008, 0x20201c21, 0x00450020, 0x00000001 },
+ { 0x00800040, 0x258025a9, 0x00b10260, 0x00b10580 },
+ { 0x00800040, 0x25a025a9, 0x00b10280, 0x00b105a0 },
+ { 0x00800040, 0x25c025a9, 0x00b102a0, 0x00b105c0 },
+ { 0x00800040, 0x25e025a9, 0x00b102c0, 0x00b105e0 },
+ { 0x80800001, 0x45800131, 0x00b10580, 0x00000000 },
+ { 0x80800001, 0x45a00131, 0x00b105a0, 0x00000000 },
+ { 0x80800001, 0x45c00131, 0x00b105c0, 0x00000000 },
+ { 0x80800001, 0x45e00131, 0x00b105e0, 0x00000000 },
+ { 0x00800001, 0x20200232, 0x00b20580, 0x00000000 },
+ { 0x00800001, 0x20300232, 0x00b205a0, 0x00000000 },
+ { 0x00800001, 0x20400232, 0x00b205c0, 0x00000000 },
+ { 0x00800001, 0x20500232, 0x00b205e0, 0x00000000 },
+ { 0x00800031, 0x24001d28, 0x008d0020, 0x05302001 },
+ { 0x00800040, 0x260025a9, 0x00b102e0, 0x00b10600 },
+ { 0x00800040, 0x262025a9, 0x00b10300, 0x00b10620 },
+ { 0x00800040, 0x264025a9, 0x00b10320, 0x00b10640 },
+ { 0x00800040, 0x266025a9, 0x00b10340, 0x00b10660 },
+ { 0x80800001, 0x46000131, 0x00b10600, 0x00000000 },
+ { 0x80800001, 0x46200131, 0x00b10620, 0x00000000 },
+ { 0x80800001, 0x46400131, 0x00b10640, 0x00000000 },
+ { 0x80800001, 0x46600131, 0x00b10660, 0x00000000 },
+ { 0x00800001, 0x20200232, 0x00b20600, 0x00000000 },
+ { 0x00800001, 0x20300232, 0x00b20620, 0x00000000 },
+ { 0x00800001, 0x20400232, 0x00b20640, 0x00000000 },
+ { 0x00800001, 0x20500232, 0x00b20660, 0x00000000 },
+ { 0x00800031, 0x24001d28, 0x008d0020, 0x05302002 },
+ { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
diff --git a/src/xvmc/frame_backward_igd.g4a b/src/xvmc/frame_backward_igd.g4a
new file mode 100644
index 00000000..338ae1ee
--- /dev/null
+++ b/src/xvmc/frame_backward_igd.g4a
@@ -0,0 +1,69 @@
+/*
+ * Copyright © 2008 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Author:
+ * Zou Nan hai <nanhai.zou@intel.com>
+ * Zhang Hua jun <huajun.zhang@intel.com>
+ * Xing Dong sheng <dongsheng.xing@intel.com>
+ *
+ */
+
+/* shader for backward predict mc
+*/
+mov (8) g76.0<1>UD g1.0<8,8,1>UD {align1};
+//mov (8) g77.0<1>UD g2.0<8,8,1>UD {align1};
+
+include(`block_clear.g4i')
+
+mov (2) g1.14<1>UW g1.18<2,2,1>UW {align1};
+/* save payload */
+mov (8) g115.0<1>UD g1.0<8,8,1>UD {align1};
+/* 8x8 media read/write payload */
+mov (1) g1.8<1>UD 0x0070007UD {align1};
+/* save payload, again */
+define(`dest', `g118')
+define(`input_surface', `7')
+define(`mv1', `g115.14')
+define(`mv2', `g115.16')
+/* Y */
+/* (x', y') = (x, y) + (motion_vector.x >> 1, motion_vector.y >> 1) */
+asr (2) g1.14<1>W g115.14<2,2,1>W 1W {align1};
+add (2) g2.0<1>UD g115.0<2,2,1>UD g1.14<2,2,1>W {align1};
+include(`motion_frame_y_igd.g4i')
+/* motion_vector = motion_vector >> 1 */
+/* (x', y') = (x, y) + (motion_vector.x >> 1, motion_vector.y >> 1) */
+shr (2) g1.0<1>UD g115.0<2,2,1>UD 1UD {align1};
+asr (2) g115.14<1>W g115.14<2,2,1>W 1W {align1};
+asr (2) g1.14<1>W g115.14<2,2,1>W 1W {align1};
+add (2) g2.0<1>UD g1.0<2,2,1>UD g1.14<2,2,1>W {align1};
+/* U */
+define(`input_surface1', `8')
+define(`input_surface2', `9')
+mov (1) g2.8<1>UD 0x007000fUD {align1};
+include(`motion_frame_uv_igd.g4i')
+
+/* V */
+/* (x', y') = (x, y) + (motion_vector.x >> 1, motion_vector.y >> 1) */
+include(`addidct.g4i')
+
+send (16) 0 acc0<1>UW g0<8,8,1>UW
+ thread_spawner(0, 0, 0) mlen 1 rlen 0 { align1 EOT};
diff --git a/src/xvmc/frame_backward_igd.g4b b/src/xvmc/frame_backward_igd.g4b
new file mode 100644
index 00000000..a2e00cc2
--- /dev/null
+++ b/src/xvmc/frame_backward_igd.g4b
@@ -0,0 +1,324 @@
+ { 0x00600001, 0x29800021, 0x008d0020, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021098c, 0x00200020 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
+ { 0x00600001, 0x20600169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20800169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20a00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20c00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20e00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21000169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21200169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21400169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00100010 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
+ { 0x00600001, 0x20700169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20900169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20b00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20d00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20f00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21100169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21300169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21500169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00080008 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
+ { 0x00600001, 0x21600169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21800169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21a00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21c00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21e00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22000169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22200169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22400169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00040004 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
+ { 0x00600001, 0x21700169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21900169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21b00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21d00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21f00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22100169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22300169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22500169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000004 },
+ { 0x00800001, 0x22600169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x22800169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x22a00169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x22c00169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000004 },
+ { 0x00800001, 0x22e00169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x23000169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x23200169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x23400169, 0x00000000, 0x00000000 },
+ { 0x00200001, 0x202e0129, 0x00450032, 0x00000000 },
+ { 0x00600001, 0x2e600021, 0x008d0020, 0x00000000 },
+ { 0x00000001, 0x20280061, 0x00000000, 0x00070007 },
+ { 0x0020000c, 0x202e3dad, 0x00450e6e, 0x00010001 },
+ { 0x00200040, 0x20403421, 0x00450e60, 0x0045002e },
+ { 0x01000005, 0x20000d3c, 0x00210e6e, 0x00000001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x0000005f },
+ { 0x01000005, 0x20000d3c, 0x00210e70, 0x00000001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000048 },
+ { 0x00000001, 0x20480061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2c401d29, 0x008d0040, 0x0418a007 },
+ { 0x00000040, 0x20440c21, 0x00210044, 0x00000008 },
+ { 0x00800031, 0x2d401d29, 0x008d0040, 0x0418a007 },
+ { 0x00000040, 0x20440c21, 0x00210044, 0x00000008 },
+ { 0x00000001, 0x20480061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2f001d29, 0x008d0040, 0x0411a007 },
+ { 0x00800040, 0x23804629, 0x00b10c40, 0x00b10c41 },
+ { 0x00800040, 0x23a04629, 0x00b10c60, 0x00b10c61 },
+ { 0x00800040, 0x23c04629, 0x00b10c80, 0x00b10c81 },
+ { 0x00800040, 0x23e04629, 0x00b10ca0, 0x00b10ca1 },
+ { 0x00800040, 0x24004629, 0x00b10cc0, 0x00b10cc1 },
+ { 0x00800040, 0x24204629, 0x00b10ce0, 0x00b10ce1 },
+ { 0x00800040, 0x24404629, 0x00b10d00, 0x00b10d01 },
+ { 0x00800040, 0x24604629, 0x00b10d20, 0x00b10d21 },
+ { 0x00800040, 0x24804629, 0x00b10d40, 0x00b10d41 },
+ { 0x00800040, 0x24a04629, 0x00b10d60, 0x00b10d61 },
+ { 0x00800040, 0x24c04629, 0x00b10d80, 0x00b10d81 },
+ { 0x00800040, 0x24e04629, 0x00b10da0, 0x00b10da1 },
+ { 0x00800040, 0x25004629, 0x00b10dc0, 0x00b10dc1 },
+ { 0x00800040, 0x25204629, 0x00b10de0, 0x00b10de1 },
+ { 0x00800040, 0x25404629, 0x00b10e00, 0x00b10e01 },
+ { 0x00800040, 0x25604629, 0x00b10e20, 0x00b10e21 },
+ { 0x00800040, 0x23804529, 0x00b10380, 0x00b10c60 },
+ { 0x00800040, 0x23a04529, 0x00b103a0, 0x00b10c80 },
+ { 0x00800040, 0x23c04529, 0x00b103c0, 0x00b10ca0 },
+ { 0x00800040, 0x23e04529, 0x00b103e0, 0x00b10cc0 },
+ { 0x00800040, 0x24004529, 0x00b10400, 0x00b10ce0 },
+ { 0x00800040, 0x24204529, 0x00b10420, 0x00b10d00 },
+ { 0x00800040, 0x24404529, 0x00b10440, 0x00b10d20 },
+ { 0x00800040, 0x24604529, 0x00b10460, 0x00b10d40 },
+ { 0x00800040, 0x24804529, 0x00b10480, 0x00b10d60 },
+ { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10d80 },
+ { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b10da0 },
+ { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b10dc0 },
+ { 0x00800040, 0x25004529, 0x00b10500, 0x00b10de0 },
+ { 0x00800040, 0x25204529, 0x00b10520, 0x00b10e00 },
+ { 0x00800040, 0x25404529, 0x00b10540, 0x00b10e20 },
+ { 0x00800040, 0x25604529, 0x00b10560, 0x00b10f00 },
+ { 0x00800040, 0x23804529, 0x00b10380, 0x00b10c61 },
+ { 0x00800040, 0x23a04529, 0x00b103a0, 0x00b10c81 },
+ { 0x00800040, 0x23c04529, 0x00b103c0, 0x00b10ca1 },
+ { 0x00800040, 0x23e04529, 0x00b103e0, 0x00b10cc1 },
+ { 0x00800040, 0x24004529, 0x00b10400, 0x00b10ce1 },
+ { 0x00800040, 0x24204529, 0x00b10420, 0x00b10d01 },
+ { 0x00800040, 0x24404529, 0x00b10440, 0x00b10d21 },
+ { 0x00800040, 0x24604529, 0x00b10460, 0x00b10d41 },
+ { 0x00800040, 0x24804529, 0x00b10480, 0x00b10d61 },
+ { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10d81 },
+ { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b10da1 },
+ { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b10dc1 },
+ { 0x00800040, 0x25004529, 0x00b10500, 0x00b10de1 },
+ { 0x00800040, 0x25204529, 0x00b10520, 0x00b10e01 },
+ { 0x00800040, 0x25404529, 0x00b10540, 0x00b10e21 },
+ { 0x00800040, 0x25604529, 0x00b10560, 0x00b10f01 },
+ { 0x80800008, 0x23802d29, 0x00b10380, 0x00020002 },
+ { 0x80800008, 0x23a02d29, 0x00b103a0, 0x00020002 },
+ { 0x80800008, 0x23c02d29, 0x00b103c0, 0x00020002 },
+ { 0x80800008, 0x23e02d29, 0x00b103e0, 0x00020002 },
+ { 0x80800008, 0x24002d29, 0x00b10400, 0x00020002 },
+ { 0x80800008, 0x24202d29, 0x00b10420, 0x00020002 },
+ { 0x80800008, 0x24402d29, 0x00b10440, 0x00020002 },
+ { 0x80800008, 0x24602d29, 0x00b10460, 0x00020002 },
+ { 0x80800008, 0x24802d29, 0x00b10480, 0x00020002 },
+ { 0x80800008, 0x24a02d29, 0x00b104a0, 0x00020002 },
+ { 0x80800008, 0x24c02d29, 0x00b104c0, 0x00020002 },
+ { 0x80800008, 0x24e02d29, 0x00b104e0, 0x00020002 },
+ { 0x80800008, 0x25002d29, 0x00b10500, 0x00020002 },
+ { 0x80800008, 0x25202d29, 0x00b10520, 0x00020002 },
+ { 0x80800008, 0x25402d29, 0x00b10540, 0x00020002 },
+ { 0x80800008, 0x25602d29, 0x00b10560, 0x00020002 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000043 },
+ { 0x00000001, 0x20480061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2c401d29, 0x008d0040, 0x0418a007 },
+ { 0x00000040, 0x20440c21, 0x00210044, 0x00000008 },
+ { 0x00800031, 0x2d401d29, 0x008d0040, 0x0418a007 },
+ { 0x80800042, 0x23804629, 0x00b10c40, 0x00b10c41 },
+ { 0x80800042, 0x23a04629, 0x00b10c60, 0x00b10c61 },
+ { 0x80800042, 0x23c04629, 0x00b10c80, 0x00b10c81 },
+ { 0x80800042, 0x23e04629, 0x00b10ca0, 0x00b10ca1 },
+ { 0x80800042, 0x24004629, 0x00b10cc0, 0x00b10cc1 },
+ { 0x80800042, 0x24204629, 0x00b10ce0, 0x00b10ce1 },
+ { 0x80800042, 0x24404629, 0x00b10d00, 0x00b10d01 },
+ { 0x80800042, 0x24604629, 0x00b10d20, 0x00b10d21 },
+ { 0x80800042, 0x24804629, 0x00b10d40, 0x00b10d41 },
+ { 0x80800042, 0x24a04629, 0x00b10d60, 0x00b10d61 },
+ { 0x80800042, 0x24c04629, 0x00b10d80, 0x00b10d81 },
+ { 0x80800042, 0x24e04629, 0x00b10da0, 0x00b10da1 },
+ { 0x80800042, 0x25004629, 0x00b10dc0, 0x00b10dc1 },
+ { 0x80800042, 0x25204629, 0x00b10de0, 0x00b10de1 },
+ { 0x80800042, 0x25404629, 0x00b10e00, 0x00b10e01 },
+ { 0x80800042, 0x25604629, 0x00b10e20, 0x00b10e21 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000002e },
+ { 0x01000005, 0x20000d3c, 0x00210e70, 0x00000001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000018 },
+ { 0x00000001, 0x20480061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2c401d29, 0x008d0040, 0x0418a007 },
+ { 0x00000040, 0x20440c21, 0x00210044, 0x00000008 },
+ { 0x00800031, 0x2d401d29, 0x008d0040, 0x0418a007 },
+ { 0x00000040, 0x20440c21, 0x00210044, 0x00000008 },
+ { 0x00000001, 0x20480061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2f001d29, 0x008d0040, 0x0411a007 },
+ { 0x80800042, 0x23804629, 0x00b10c40, 0x00b10c60 },
+ { 0x80800042, 0x23a04629, 0x00b10c60, 0x00b10c80 },
+ { 0x80800042, 0x23c04629, 0x00b10c80, 0x00b10ca0 },
+ { 0x80800042, 0x23e04629, 0x00b10ca0, 0x00b10cc0 },
+ { 0x80800042, 0x24004629, 0x00b10cc0, 0x00b10ce0 },
+ { 0x80800042, 0x24204629, 0x00b10ce0, 0x00b10d00 },
+ { 0x80800042, 0x24404629, 0x00b10d00, 0x00b10d20 },
+ { 0x80800042, 0x24604629, 0x00b10d20, 0x00b10d40 },
+ { 0x80800042, 0x24804629, 0x00b10d40, 0x00b10d60 },
+ { 0x80800042, 0x24a04629, 0x00b10d60, 0x00b10d80 },
+ { 0x80800042, 0x24c04629, 0x00b10d80, 0x00b10da0 },
+ { 0x80800042, 0x24e04629, 0x00b10da0, 0x00b10dc0 },
+ { 0x80800042, 0x25004629, 0x00b10dc0, 0x00b10de0 },
+ { 0x80800042, 0x25204629, 0x00b10de0, 0x00b10e00 },
+ { 0x80800042, 0x25404629, 0x00b10e00, 0x00b10e20 },
+ { 0x80800042, 0x25604629, 0x00b10e20, 0x00b10f00 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000014 },
+ { 0x00000001, 0x20480061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2c401d29, 0x008d0040, 0x0418a007 },
+ { 0x00000040, 0x20440c21, 0x00210044, 0x00000008 },
+ { 0x00800031, 0x2d401d29, 0x008d0040, 0x0418a007 },
+ { 0x00800001, 0x23800229, 0x00b10c40, 0x00000000 },
+ { 0x00800001, 0x23a00229, 0x00b10c60, 0x00000000 },
+ { 0x00800001, 0x23c00229, 0x00b10c80, 0x00000000 },
+ { 0x00800001, 0x23e00229, 0x00b10ca0, 0x00000000 },
+ { 0x00800001, 0x24000229, 0x00b10cc0, 0x00000000 },
+ { 0x00800001, 0x24200229, 0x00b10ce0, 0x00000000 },
+ { 0x00800001, 0x24400229, 0x00b10d00, 0x00000000 },
+ { 0x00800001, 0x24600229, 0x00b10d20, 0x00000000 },
+ { 0x00800001, 0x24800229, 0x00b10d40, 0x00000000 },
+ { 0x00800001, 0x24a00229, 0x00b10d60, 0x00000000 },
+ { 0x00800001, 0x24c00229, 0x00b10d80, 0x00000000 },
+ { 0x00800001, 0x24e00229, 0x00b10da0, 0x00000000 },
+ { 0x00800001, 0x25000229, 0x00b10dc0, 0x00000000 },
+ { 0x00800001, 0x25200229, 0x00b10de0, 0x00000000 },
+ { 0x00800001, 0x25400229, 0x00b10e00, 0x00000000 },
+ { 0x00800001, 0x25600229, 0x00b10e20, 0x00000000 },
+ { 0x00200008, 0x20200c21, 0x00450e60, 0x00000001 },
+ { 0x0020000c, 0x2e6e3dad, 0x00450e6e, 0x00010001 },
+ { 0x0020000c, 0x202e3dad, 0x00450e6e, 0x00010001 },
+ { 0x00200040, 0x20403421, 0x00450020, 0x0045002e },
+ { 0x00000001, 0x20480061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x008d0040, 0x0414a008 },
+ { 0x00800031, 0x2b401d29, 0x008d0040, 0x0414a009 },
+ { 0x00800001, 0x25800229, 0x00ad0ac0, 0x00000000 },
+ { 0x00800001, 0x25a00229, 0x00ad0ae0, 0x00000000 },
+ { 0x00800001, 0x25c00229, 0x00ad0b00, 0x00000000 },
+ { 0x00800001, 0x25e00229, 0x00ad0b20, 0x00000000 },
+ { 0x00800001, 0x26000229, 0x00ad0b40, 0x00000000 },
+ { 0x00800001, 0x26200229, 0x00ad0b60, 0x00000000 },
+ { 0x00800001, 0x26400229, 0x00ad0b80, 0x00000000 },
+ { 0x00800001, 0x26600229, 0x00ad0ba0, 0x00000000 },
+ { 0x00600001, 0x20200021, 0x008d0980, 0x00000000 },
+ { 0x00800001, 0x458101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x45a101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x45c101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x45e101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x460101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x462101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x464101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x466101f1, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002e3c, 0x0021003e, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000011 },
+ { 0x00800040, 0x238045ad, 0x00b10060, 0x00b20380 },
+ { 0x00800040, 0x23a045ad, 0x00b10080, 0x00b203a0 },
+ { 0x00800040, 0x23c045ad, 0x00b100a0, 0x00b203c0 },
+ { 0x00800040, 0x23e045ad, 0x00b100c0, 0x00b203e0 },
+ { 0x00800040, 0x240045ad, 0x00b100e0, 0x00b20400 },
+ { 0x00800040, 0x242045ad, 0x00b10100, 0x00b20420 },
+ { 0x00800040, 0x244045ad, 0x00b10120, 0x00b20440 },
+ { 0x00800040, 0x246045ad, 0x00b10140, 0x00b20460 },
+ { 0x00800040, 0x248045ad, 0x00b10160, 0x00b20480 },
+ { 0x00800040, 0x24a045ad, 0x00b10180, 0x00b204a0 },
+ { 0x00800040, 0x24c045ad, 0x00b101a0, 0x00b204c0 },
+ { 0x00800040, 0x24e045ad, 0x00b101c0, 0x00b204e0 },
+ { 0x00800040, 0x250045ad, 0x00b101e0, 0x00b20500 },
+ { 0x00800040, 0x252045ad, 0x00b10200, 0x00b20520 },
+ { 0x00800040, 0x254045ad, 0x00b10220, 0x00b20540 },
+ { 0x00800040, 0x256045ad, 0x00b10240, 0x00b20560 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000010 },
+ { 0x00800040, 0x238045ad, 0x00b10060, 0x00b20380 },
+ { 0x00800040, 0x23a045ad, 0x00b10160, 0x00b203a0 },
+ { 0x00800040, 0x23c045ad, 0x00b10080, 0x00b203c0 },
+ { 0x00800040, 0x23e045ad, 0x00b10180, 0x00b203e0 },
+ { 0x00800040, 0x240045ad, 0x00b100a0, 0x00b20400 },
+ { 0x00800040, 0x242045ad, 0x00b101a0, 0x00b20420 },
+ { 0x00800040, 0x244045ad, 0x00b100c0, 0x00b20440 },
+ { 0x00800040, 0x246045ad, 0x00b101c0, 0x00b20460 },
+ { 0x00800040, 0x248045ad, 0x00b100e0, 0x00b20480 },
+ { 0x00800040, 0x24a045ad, 0x00b101e0, 0x00b204a0 },
+ { 0x00800040, 0x24c045ad, 0x00b10100, 0x00b204c0 },
+ { 0x00800040, 0x24e045ad, 0x00b10200, 0x00b204e0 },
+ { 0x00800040, 0x250045ad, 0x00b10120, 0x00b20500 },
+ { 0x00800040, 0x252045ad, 0x00b10220, 0x00b20520 },
+ { 0x00800040, 0x254045ad, 0x00b10140, 0x00b20540 },
+ { 0x00800040, 0x256045ad, 0x00b10240, 0x00b20560 },
+ { 0x00000001, 0x20280061, 0x00000000, 0x000f000f },
+ { 0x80800001, 0x438001b1, 0x00b10380, 0x00000000 },
+ { 0x80800001, 0x43a001b1, 0x00b103a0, 0x00000000 },
+ { 0x80800001, 0x43c001b1, 0x00b103c0, 0x00000000 },
+ { 0x80800001, 0x43e001b1, 0x00b103e0, 0x00000000 },
+ { 0x80800001, 0x440001b1, 0x00b10400, 0x00000000 },
+ { 0x80800001, 0x442001b1, 0x00b10420, 0x00000000 },
+ { 0x80800001, 0x444001b1, 0x00b10440, 0x00000000 },
+ { 0x80800001, 0x446001b1, 0x00b10460, 0x00000000 },
+ { 0x80800001, 0x448001b1, 0x00b10480, 0x00000000 },
+ { 0x80800001, 0x44a001b1, 0x00b104a0, 0x00000000 },
+ { 0x80800001, 0x44c001b1, 0x00b104c0, 0x00000000 },
+ { 0x80800001, 0x44e001b1, 0x00b104e0, 0x00000000 },
+ { 0x80800001, 0x450001b1, 0x00b10500, 0x00000000 },
+ { 0x80800001, 0x452001b1, 0x00b10520, 0x00000000 },
+ { 0x80800001, 0x454001b1, 0x00b10540, 0x00000000 },
+ { 0x80800001, 0x456001b1, 0x00b10560, 0x00000000 },
+ { 0x00800001, 0x20200232, 0x00b20380, 0x00000000 },
+ { 0x00800001, 0x20300232, 0x00b203a0, 0x00000000 },
+ { 0x00800001, 0x20400232, 0x00b203c0, 0x00000000 },
+ { 0x00800001, 0x20500232, 0x00b203e0, 0x00000000 },
+ { 0x00800001, 0x20600232, 0x00b20400, 0x00000000 },
+ { 0x00800001, 0x20700232, 0x00b20420, 0x00000000 },
+ { 0x00800001, 0x20800232, 0x00b20440, 0x00000000 },
+ { 0x00800001, 0x20900232, 0x00b20460, 0x00000000 },
+ { 0x00800001, 0x20a00232, 0x00b20480, 0x00000000 },
+ { 0x00800001, 0x20b00232, 0x00b204a0, 0x00000000 },
+ { 0x00800001, 0x20c00232, 0x00b204c0, 0x00000000 },
+ { 0x00800001, 0x20d00232, 0x00b204e0, 0x00000000 },
+ { 0x00800001, 0x20e00232, 0x00b20500, 0x00000000 },
+ { 0x00800001, 0x20f00232, 0x00b20520, 0x00000000 },
+ { 0x00800001, 0x21000232, 0x00b20540, 0x00000000 },
+ { 0x00800001, 0x21100232, 0x00b20560, 0x00000000 },
+ { 0x00800031, 0x24001d28, 0x008d0020, 0x05902000 },
+ { 0x00000001, 0x20280061, 0x00000000, 0x00070007 },
+ { 0x00200008, 0x20201c21, 0x00450020, 0x00000001 },
+ { 0x00800040, 0x258025a9, 0x00b10260, 0x00b10580 },
+ { 0x00800040, 0x25a025a9, 0x00b10280, 0x00b105a0 },
+ { 0x00800040, 0x25c025a9, 0x00b102a0, 0x00b105c0 },
+ { 0x00800040, 0x25e025a9, 0x00b102c0, 0x00b105e0 },
+ { 0x80800001, 0x45800131, 0x00b10580, 0x00000000 },
+ { 0x80800001, 0x45a00131, 0x00b105a0, 0x00000000 },
+ { 0x80800001, 0x45c00131, 0x00b105c0, 0x00000000 },
+ { 0x80800001, 0x45e00131, 0x00b105e0, 0x00000000 },
+ { 0x00800001, 0x20200232, 0x00b20580, 0x00000000 },
+ { 0x00800001, 0x20300232, 0x00b205a0, 0x00000000 },
+ { 0x00800001, 0x20400232, 0x00b205c0, 0x00000000 },
+ { 0x00800001, 0x20500232, 0x00b205e0, 0x00000000 },
+ { 0x00800031, 0x24001d28, 0x008d0020, 0x05302001 },
+ { 0x00800040, 0x260025a9, 0x00b102e0, 0x00b10600 },
+ { 0x00800040, 0x262025a9, 0x00b10300, 0x00b10620 },
+ { 0x00800040, 0x264025a9, 0x00b10320, 0x00b10640 },
+ { 0x00800040, 0x266025a9, 0x00b10340, 0x00b10660 },
+ { 0x80800001, 0x46000131, 0x00b10600, 0x00000000 },
+ { 0x80800001, 0x46200131, 0x00b10620, 0x00000000 },
+ { 0x80800001, 0x46400131, 0x00b10640, 0x00000000 },
+ { 0x80800001, 0x46600131, 0x00b10660, 0x00000000 },
+ { 0x00800001, 0x20200232, 0x00b20600, 0x00000000 },
+ { 0x00800001, 0x20300232, 0x00b20620, 0x00000000 },
+ { 0x00800001, 0x20400232, 0x00b20640, 0x00000000 },
+ { 0x00800001, 0x20500232, 0x00b20660, 0x00000000 },
+ { 0x00800031, 0x24001d28, 0x008d0020, 0x05302002 },
+ { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
+ { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
diff --git a/src/xvmc/frame_f_b_igd.g4a b/src/xvmc/frame_f_b_igd.g4a
new file mode 100644
index 00000000..ca7952e8
--- /dev/null
+++ b/src/xvmc/frame_f_b_igd.g4a
@@ -0,0 +1,131 @@
+/*
+ * Copyright © 2008 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Author:
+ * Zou Nan hai <nanhai.zou@intel.com>
+ * Zhang Hua jun <huajun.zhang@intel.com>
+ * Xing Dong sheng <dongsheng.xing@intel.com>
+ *
+ */
+
+/* shader for forward and backward predict mc
+*/
+/* (x', y') = (x, y) + (motion_vector1.x >> 1, motion_vector1.y >> 1)
+/* (x'', y'') = (x, y) + (motion_vector2.x >> 1, motion_vector2.y >> 1)
+/* f(x, y) = (motion_forward(x`, y`) + motion_backward(x'', y'') + 1) / 2 */
+
+//Save payload
+mov (8) g76.0<1>UD g1.0<8,8,1>UD {align1};
+//mov (8) g77.0<1>UD g2.0<8,8,1>UD {align1};
+include(`block_clear.g4i')
+
+mov (8) g115.0<1>UD g1.0<8,8,1>UD {align1};
+mov (1) g1.8<1>UD 0x0070007UD {align1};
+mov (8) g2.0<1>UD g1.0<8,8,1>UD {align1};
+/* Y */
+//Forward
+asr (2) g1.14<1>W g115.14<2,2,1>W 1W {align1};
+add (2) g2.0<1>UD g115.0<2,2,1>UD g1.14<2,2,1>W {align1};
+define(`input_surface', `4')
+define(`mv1', `g115.14')
+define(`mv2', `g115.16')
+include(`motion_frame_y_igd.g4i')
+mov (16) g52.0<1>UD g28.0<16,16,1>UD {align1 compr};
+mov (16) g54.0<1>UD g30.0<16,16,1>UD {align1 compr};
+mov (16) g56.0<1>UD g32.0<16,16,1>UD {align1 compr};
+mov (16) g58.0<1>UD g34.0<16,16,1>UD {align1 compr};
+mov (16) g60.0<1>UD g36.0<16,16,1>UD {align1 compr};
+mov (16) g62.0<1>UD g38.0<16,16,1>UD {align1 compr};
+mov (16) g64.0<1>UD g40.0<16,16,1>UD {align1 compr};
+mov (16) g66.0<1>UD g42.0<16,16,1>UD {align1 compr};
+//Backward
+asr (2) g1.14<1>W g115.18<2,2,1>W 1W {align1};
+add (2) g2.0<1>UD g115.0<2,2,1>UD g1.14<2,2,1>W {align1};
+define(`input_surface', `7')
+define(`mv1', `g115.18')
+define(`mv2', `g115.20')
+include(`motion_frame_y_igd.g4i')
+
+//Average
+avg.sat (16) g28.0<1>UW g28.0<16,16,1>UW g52.0<16,16,1>UW {align1};
+avg.sat (16) g29.0<1>UW g29.0<16,16,1>UW g53.0<16,16,1>UW {align1};
+avg.sat (16) g30.0<1>UW g30.0<16,16,1>UW g54.0<16,16,1>UW {align1};
+avg.sat (16) g31.0<1>UW g31.0<16,16,1>UW g55.0<16,16,1>UW {align1};
+avg.sat (16) g32.0<1>UW g32.0<16,16,1>UW g56.0<16,16,1>UW {align1};
+avg.sat (16) g33.0<1>UW g33.0<16,16,1>UW g57.0<16,16,1>UW {align1};
+avg.sat (16) g34.0<1>UW g34.0<16,16,1>UW g58.0<16,16,1>UW {align1};
+avg.sat (16) g35.0<1>UW g35.0<16,16,1>UW g59.0<16,16,1>UW {align1};
+avg.sat (16) g36.0<1>UW g36.0<16,16,1>UW g60.0<16,16,1>UW {align1};
+avg.sat (16) g37.0<1>UW g37.0<16,16,1>UW g61.0<16,16,1>UW {align1};
+avg.sat (16) g38.0<1>UW g38.0<16,16,1>UW g62.0<16,16,1>UW {align1};
+avg.sat (16) g39.0<1>UW g39.0<16,16,1>UW g63.0<16,16,1>UW {align1};
+avg.sat (16) g40.0<1>UW g40.0<16,16,1>UW g64.0<16,16,1>UW {align1};
+avg.sat (16) g41.0<1>UW g41.0<16,16,1>UW g65.0<16,16,1>UW {align1};
+avg.sat (16) g42.0<1>UW g42.0<16,16,1>UW g66.0<16,16,1>UW {align1};
+avg.sat (16) g43.0<1>UW g43.0<16,16,1>UW g67.0<16,16,1>UW {align1};
+
+/* UV */
+//Forward
+shr (2) g1.0<1>UD g115.0<2,2,1>UD 1UD {align1};
+asr (2) g115.14<1>W g115.14<2,2,1>W 1W {align1};
+asr (2) g1.14<1>W g115.14<2,2,1>W 1W {align1};
+add (2) g2.0<1>UD g1.0<2,2,1>UD g1.14<2,2,1>W {align1};
+
+define(`input_surface1', `5')
+define(`input_surface2', `6')
+define(`mv1', `g115.14')
+define(`mv2', `g115.16')
+mov (1) g2.8<1>UD 0x007000fUD {align1};
+include(`motion_frame_uv_igd.g4i')
+mov (16) g122.0<1>UB g44.0<16,16,2>UB {align1};
+mov (16) g122.16<1>UB g45.0<16,16,2>UB {align1};
+mov (16) g123.0<1>UB g46.0<16,16,2>UB {align1};
+mov (16) g123.16<1>UB g47.0<16,16,2>UB {align1};
+mov (16) g124.0<1>UB g48.0<16,16,2>UB {align1};
+mov (16) g124.16<1>UB g49.0<16,16,2>UB {align1};
+mov (16) g125.0<1>UB g50.0<16,16,2>UB {align1};
+mov (16) g125.16<1>UB g51.0<16,16,2>UB {align1};
+//Backward
+asr (2) g115.18<1>W g115.18<2,2,1>W 1W {align1};
+asr (2) g1.14<1>W g115.18<2,2,1>W 1W {align1};
+add (2) g2.0<1>UD g1.0<2,2,1>UD g1.14<2,2,1>W {align1};
+define(`input_surface1', `8')
+define(`input_surface2', `9')
+define(`mv1', `g115.18')
+define(`mv2', `g115.20')
+mov (1) g2.8<1>UD 0x007000fUD {align1};
+include(`motion_frame_uv_igd.g4i')
+
+//Average
+avg.sat (16) g44.0<1>UW g44.0<16,16,1>UW g122.0<16,16,1>UB {align1};
+avg.sat (16) g45.0<1>UW g45.0<16,16,1>UW g122.16<16,16,1>UB {align1};
+avg.sat (16) g46.0<1>UW g46.0<16,16,1>UW g123.0<16,16,1>UB {align1};
+avg.sat (16) g47.0<1>UW g47.0<16,16,1>UW g123.16<16,16,1>UB {align1};
+avg.sat (16) g48.0<1>UW g48.0<16,16,1>UW g124.0<16,16,1>UB {align1};
+avg.sat (16) g49.0<1>UW g49.0<16,16,1>UW g124.16<16,16,1>UB {align1};
+avg.sat (16) g50.0<1>UW g50.0<16,16,1>UW g125.0<16,16,1>UB {align1};
+avg.sat (16) g51.0<1>UW g51.0<16,16,1>UW g125.16<16,16,1>UB {align1};
+
+include(`addidct.g4i')
+
+send (16) 0 acc0<1>UW g0<8,8,1>UW
+ thread_spawner(0, 0, 0) mlen 1 rlen 0 { align1 EOT};
diff --git a/src/xvmc/frame_f_b_igd.g4b b/src/xvmc/frame_f_b_igd.g4b
new file mode 100644
index 00000000..67011906
--- /dev/null
+++ b/src/xvmc/frame_f_b_igd.g4b
@@ -0,0 +1,523 @@
+ { 0x00600001, 0x29800021, 0x008d0020, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021098c, 0x00200020 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
+ { 0x00600001, 0x20600169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20800169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20a00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20c00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20e00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21000169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21200169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21400169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00100010 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
+ { 0x00600001, 0x20700169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20900169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20b00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20d00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20f00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21100169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21300169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21500169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00080008 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
+ { 0x00600001, 0x21600169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21800169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21a00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21c00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21e00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22000169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22200169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22400169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00040004 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
+ { 0x00600001, 0x21700169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21900169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21b00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21d00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21f00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22100169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22300169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22500169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000004 },
+ { 0x00800001, 0x22600169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x22800169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x22a00169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x22c00169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000004 },
+ { 0x00800001, 0x22e00169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x23000169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x23200169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x23400169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x2e600021, 0x008d0020, 0x00000000 },
+ { 0x00000001, 0x20280061, 0x00000000, 0x00070007 },
+ { 0x00600001, 0x20400021, 0x008d0020, 0x00000000 },
+ { 0x0020000c, 0x202e3dad, 0x00450e6e, 0x00010001 },
+ { 0x00200040, 0x20403421, 0x00450e60, 0x0045002e },
+ { 0x01000005, 0x20000d3c, 0x00210e6e, 0x00000001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x0000005f },
+ { 0x01000005, 0x20000d3c, 0x00210e70, 0x00000001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000048 },
+ { 0x00000001, 0x20480061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2c401d29, 0x008d0040, 0x0418a004 },
+ { 0x00000040, 0x20440c21, 0x00210044, 0x00000008 },
+ { 0x00800031, 0x2d401d29, 0x008d0040, 0x0418a004 },
+ { 0x00000040, 0x20440c21, 0x00210044, 0x00000008 },
+ { 0x00000001, 0x20480061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2f001d29, 0x008d0040, 0x0411a004 },
+ { 0x00800040, 0x23804629, 0x00b10c40, 0x00b10c41 },
+ { 0x00800040, 0x23a04629, 0x00b10c60, 0x00b10c61 },
+ { 0x00800040, 0x23c04629, 0x00b10c80, 0x00b10c81 },
+ { 0x00800040, 0x23e04629, 0x00b10ca0, 0x00b10ca1 },
+ { 0x00800040, 0x24004629, 0x00b10cc0, 0x00b10cc1 },
+ { 0x00800040, 0x24204629, 0x00b10ce0, 0x00b10ce1 },
+ { 0x00800040, 0x24404629, 0x00b10d00, 0x00b10d01 },
+ { 0x00800040, 0x24604629, 0x00b10d20, 0x00b10d21 },
+ { 0x00800040, 0x24804629, 0x00b10d40, 0x00b10d41 },
+ { 0x00800040, 0x24a04629, 0x00b10d60, 0x00b10d61 },
+ { 0x00800040, 0x24c04629, 0x00b10d80, 0x00b10d81 },
+ { 0x00800040, 0x24e04629, 0x00b10da0, 0x00b10da1 },
+ { 0x00800040, 0x25004629, 0x00b10dc0, 0x00b10dc1 },
+ { 0x00800040, 0x25204629, 0x00b10de0, 0x00b10de1 },
+ { 0x00800040, 0x25404629, 0x00b10e00, 0x00b10e01 },
+ { 0x00800040, 0x25604629, 0x00b10e20, 0x00b10e21 },
+ { 0x00800040, 0x23804529, 0x00b10380, 0x00b10c60 },
+ { 0x00800040, 0x23a04529, 0x00b103a0, 0x00b10c80 },
+ { 0x00800040, 0x23c04529, 0x00b103c0, 0x00b10ca0 },
+ { 0x00800040, 0x23e04529, 0x00b103e0, 0x00b10cc0 },
+ { 0x00800040, 0x24004529, 0x00b10400, 0x00b10ce0 },
+ { 0x00800040, 0x24204529, 0x00b10420, 0x00b10d00 },
+ { 0x00800040, 0x24404529, 0x00b10440, 0x00b10d20 },
+ { 0x00800040, 0x24604529, 0x00b10460, 0x00b10d40 },
+ { 0x00800040, 0x24804529, 0x00b10480, 0x00b10d60 },
+ { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10d80 },
+ { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b10da0 },
+ { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b10dc0 },
+ { 0x00800040, 0x25004529, 0x00b10500, 0x00b10de0 },
+ { 0x00800040, 0x25204529, 0x00b10520, 0x00b10e00 },
+ { 0x00800040, 0x25404529, 0x00b10540, 0x00b10e20 },
+ { 0x00800040, 0x25604529, 0x00b10560, 0x00b10f00 },
+ { 0x00800040, 0x23804529, 0x00b10380, 0x00b10c61 },
+ { 0x00800040, 0x23a04529, 0x00b103a0, 0x00b10c81 },
+ { 0x00800040, 0x23c04529, 0x00b103c0, 0x00b10ca1 },
+ { 0x00800040, 0x23e04529, 0x00b103e0, 0x00b10cc1 },
+ { 0x00800040, 0x24004529, 0x00b10400, 0x00b10ce1 },
+ { 0x00800040, 0x24204529, 0x00b10420, 0x00b10d01 },
+ { 0x00800040, 0x24404529, 0x00b10440, 0x00b10d21 },
+ { 0x00800040, 0x24604529, 0x00b10460, 0x00b10d41 },
+ { 0x00800040, 0x24804529, 0x00b10480, 0x00b10d61 },
+ { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10d81 },
+ { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b10da1 },
+ { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b10dc1 },
+ { 0x00800040, 0x25004529, 0x00b10500, 0x00b10de1 },
+ { 0x00800040, 0x25204529, 0x00b10520, 0x00b10e01 },
+ { 0x00800040, 0x25404529, 0x00b10540, 0x00b10e21 },
+ { 0x00800040, 0x25604529, 0x00b10560, 0x00b10f01 },
+ { 0x80800008, 0x23802d29, 0x00b10380, 0x00020002 },
+ { 0x80800008, 0x23a02d29, 0x00b103a0, 0x00020002 },
+ { 0x80800008, 0x23c02d29, 0x00b103c0, 0x00020002 },
+ { 0x80800008, 0x23e02d29, 0x00b103e0, 0x00020002 },
+ { 0x80800008, 0x24002d29, 0x00b10400, 0x00020002 },
+ { 0x80800008, 0x24202d29, 0x00b10420, 0x00020002 },
+ { 0x80800008, 0x24402d29, 0x00b10440, 0x00020002 },
+ { 0x80800008, 0x24602d29, 0x00b10460, 0x00020002 },
+ { 0x80800008, 0x24802d29, 0x00b10480, 0x00020002 },
+ { 0x80800008, 0x24a02d29, 0x00b104a0, 0x00020002 },
+ { 0x80800008, 0x24c02d29, 0x00b104c0, 0x00020002 },
+ { 0x80800008, 0x24e02d29, 0x00b104e0, 0x00020002 },
+ { 0x80800008, 0x25002d29, 0x00b10500, 0x00020002 },
+ { 0x80800008, 0x25202d29, 0x00b10520, 0x00020002 },
+ { 0x80800008, 0x25402d29, 0x00b10540, 0x00020002 },
+ { 0x80800008, 0x25602d29, 0x00b10560, 0x00020002 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000043 },
+ { 0x00000001, 0x20480061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2c401d29, 0x008d0040, 0x0418a004 },
+ { 0x00000040, 0x20440c21, 0x00210044, 0x00000008 },
+ { 0x00800031, 0x2d401d29, 0x008d0040, 0x0418a004 },
+ { 0x80800042, 0x23804629, 0x00b10c40, 0x00b10c41 },
+ { 0x80800042, 0x23a04629, 0x00b10c60, 0x00b10c61 },
+ { 0x80800042, 0x23c04629, 0x00b10c80, 0x00b10c81 },
+ { 0x80800042, 0x23e04629, 0x00b10ca0, 0x00b10ca1 },
+ { 0x80800042, 0x24004629, 0x00b10cc0, 0x00b10cc1 },
+ { 0x80800042, 0x24204629, 0x00b10ce0, 0x00b10ce1 },
+ { 0x80800042, 0x24404629, 0x00b10d00, 0x00b10d01 },
+ { 0x80800042, 0x24604629, 0x00b10d20, 0x00b10d21 },
+ { 0x80800042, 0x24804629, 0x00b10d40, 0x00b10d41 },
+ { 0x80800042, 0x24a04629, 0x00b10d60, 0x00b10d61 },
+ { 0x80800042, 0x24c04629, 0x00b10d80, 0x00b10d81 },
+ { 0x80800042, 0x24e04629, 0x00b10da0, 0x00b10da1 },
+ { 0x80800042, 0x25004629, 0x00b10dc0, 0x00b10dc1 },
+ { 0x80800042, 0x25204629, 0x00b10de0, 0x00b10de1 },
+ { 0x80800042, 0x25404629, 0x00b10e00, 0x00b10e01 },
+ { 0x80800042, 0x25604629, 0x00b10e20, 0x00b10e21 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000002e },
+ { 0x01000005, 0x20000d3c, 0x00210e70, 0x00000001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000018 },
+ { 0x00000001, 0x20480061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2c401d29, 0x008d0040, 0x0418a004 },
+ { 0x00000040, 0x20440c21, 0x00210044, 0x00000008 },
+ { 0x00800031, 0x2d401d29, 0x008d0040, 0x0418a004 },
+ { 0x00000040, 0x20440c21, 0x00210044, 0x00000008 },
+ { 0x00000001, 0x20480061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2f001d29, 0x008d0040, 0x0411a004 },
+ { 0x80800042, 0x23804629, 0x00b10c40, 0x00b10c60 },
+ { 0x80800042, 0x23a04629, 0x00b10c60, 0x00b10c80 },
+ { 0x80800042, 0x23c04629, 0x00b10c80, 0x00b10ca0 },
+ { 0x80800042, 0x23e04629, 0x00b10ca0, 0x00b10cc0 },
+ { 0x80800042, 0x24004629, 0x00b10cc0, 0x00b10ce0 },
+ { 0x80800042, 0x24204629, 0x00b10ce0, 0x00b10d00 },
+ { 0x80800042, 0x24404629, 0x00b10d00, 0x00b10d20 },
+ { 0x80800042, 0x24604629, 0x00b10d20, 0x00b10d40 },
+ { 0x80800042, 0x24804629, 0x00b10d40, 0x00b10d60 },
+ { 0x80800042, 0x24a04629, 0x00b10d60, 0x00b10d80 },
+ { 0x80800042, 0x24c04629, 0x00b10d80, 0x00b10da0 },
+ { 0x80800042, 0x24e04629, 0x00b10da0, 0x00b10dc0 },
+ { 0x80800042, 0x25004629, 0x00b10dc0, 0x00b10de0 },
+ { 0x80800042, 0x25204629, 0x00b10de0, 0x00b10e00 },
+ { 0x80800042, 0x25404629, 0x00b10e00, 0x00b10e20 },
+ { 0x80800042, 0x25604629, 0x00b10e20, 0x00b10f00 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000014 },
+ { 0x00000001, 0x20480061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2c401d29, 0x008d0040, 0x0418a004 },
+ { 0x00000040, 0x20440c21, 0x00210044, 0x00000008 },
+ { 0x00800031, 0x2d401d29, 0x008d0040, 0x0418a004 },
+ { 0x00800001, 0x23800229, 0x00b10c40, 0x00000000 },
+ { 0x00800001, 0x23a00229, 0x00b10c60, 0x00000000 },
+ { 0x00800001, 0x23c00229, 0x00b10c80, 0x00000000 },
+ { 0x00800001, 0x23e00229, 0x00b10ca0, 0x00000000 },
+ { 0x00800001, 0x24000229, 0x00b10cc0, 0x00000000 },
+ { 0x00800001, 0x24200229, 0x00b10ce0, 0x00000000 },
+ { 0x00800001, 0x24400229, 0x00b10d00, 0x00000000 },
+ { 0x00800001, 0x24600229, 0x00b10d20, 0x00000000 },
+ { 0x00800001, 0x24800229, 0x00b10d40, 0x00000000 },
+ { 0x00800001, 0x24a00229, 0x00b10d60, 0x00000000 },
+ { 0x00800001, 0x24c00229, 0x00b10d80, 0x00000000 },
+ { 0x00800001, 0x24e00229, 0x00b10da0, 0x00000000 },
+ { 0x00800001, 0x25000229, 0x00b10dc0, 0x00000000 },
+ { 0x00800001, 0x25200229, 0x00b10de0, 0x00000000 },
+ { 0x00800001, 0x25400229, 0x00b10e00, 0x00000000 },
+ { 0x00800001, 0x25600229, 0x00b10e20, 0x00000000 },
+ { 0x00802001, 0x26800021, 0x00b10380, 0x00000000 },
+ { 0x00802001, 0x26c00021, 0x00b103c0, 0x00000000 },
+ { 0x00802001, 0x27000021, 0x00b10400, 0x00000000 },
+ { 0x00802001, 0x27400021, 0x00b10440, 0x00000000 },
+ { 0x00802001, 0x27800021, 0x00b10480, 0x00000000 },
+ { 0x00802001, 0x27c00021, 0x00b104c0, 0x00000000 },
+ { 0x00802001, 0x28000021, 0x00b10500, 0x00000000 },
+ { 0x00802001, 0x28400021, 0x00b10540, 0x00000000 },
+ { 0x0020000c, 0x202e3dad, 0x00450e72, 0x00010001 },
+ { 0x00200040, 0x20403421, 0x00450e60, 0x0045002e },
+ { 0x01000005, 0x20000d3c, 0x00210e72, 0x00000001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x0000005f },
+ { 0x01000005, 0x20000d3c, 0x00210e74, 0x00000001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000048 },
+ { 0x00000001, 0x20480061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2c401d29, 0x008d0040, 0x0418a007 },
+ { 0x00000040, 0x20440c21, 0x00210044, 0x00000008 },
+ { 0x00800031, 0x2d401d29, 0x008d0040, 0x0418a007 },
+ { 0x00000040, 0x20440c21, 0x00210044, 0x00000008 },
+ { 0x00000001, 0x20480061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2f001d29, 0x008d0040, 0x0411a007 },
+ { 0x00800040, 0x23804629, 0x00b10c40, 0x00b10c41 },
+ { 0x00800040, 0x23a04629, 0x00b10c60, 0x00b10c61 },
+ { 0x00800040, 0x23c04629, 0x00b10c80, 0x00b10c81 },
+ { 0x00800040, 0x23e04629, 0x00b10ca0, 0x00b10ca1 },
+ { 0x00800040, 0x24004629, 0x00b10cc0, 0x00b10cc1 },
+ { 0x00800040, 0x24204629, 0x00b10ce0, 0x00b10ce1 },
+ { 0x00800040, 0x24404629, 0x00b10d00, 0x00b10d01 },
+ { 0x00800040, 0x24604629, 0x00b10d20, 0x00b10d21 },
+ { 0x00800040, 0x24804629, 0x00b10d40, 0x00b10d41 },
+ { 0x00800040, 0x24a04629, 0x00b10d60, 0x00b10d61 },
+ { 0x00800040, 0x24c04629, 0x00b10d80, 0x00b10d81 },
+ { 0x00800040, 0x24e04629, 0x00b10da0, 0x00b10da1 },
+ { 0x00800040, 0x25004629, 0x00b10dc0, 0x00b10dc1 },
+ { 0x00800040, 0x25204629, 0x00b10de0, 0x00b10de1 },
+ { 0x00800040, 0x25404629, 0x00b10e00, 0x00b10e01 },
+ { 0x00800040, 0x25604629, 0x00b10e20, 0x00b10e21 },
+ { 0x00800040, 0x23804529, 0x00b10380, 0x00b10c60 },
+ { 0x00800040, 0x23a04529, 0x00b103a0, 0x00b10c80 },
+ { 0x00800040, 0x23c04529, 0x00b103c0, 0x00b10ca0 },
+ { 0x00800040, 0x23e04529, 0x00b103e0, 0x00b10cc0 },
+ { 0x00800040, 0x24004529, 0x00b10400, 0x00b10ce0 },
+ { 0x00800040, 0x24204529, 0x00b10420, 0x00b10d00 },
+ { 0x00800040, 0x24404529, 0x00b10440, 0x00b10d20 },
+ { 0x00800040, 0x24604529, 0x00b10460, 0x00b10d40 },
+ { 0x00800040, 0x24804529, 0x00b10480, 0x00b10d60 },
+ { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10d80 },
+ { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b10da0 },
+ { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b10dc0 },
+ { 0x00800040, 0x25004529, 0x00b10500, 0x00b10de0 },
+ { 0x00800040, 0x25204529, 0x00b10520, 0x00b10e00 },
+ { 0x00800040, 0x25404529, 0x00b10540, 0x00b10e20 },
+ { 0x00800040, 0x25604529, 0x00b10560, 0x00b10f00 },
+ { 0x00800040, 0x23804529, 0x00b10380, 0x00b10c61 },
+ { 0x00800040, 0x23a04529, 0x00b103a0, 0x00b10c81 },
+ { 0x00800040, 0x23c04529, 0x00b103c0, 0x00b10ca1 },
+ { 0x00800040, 0x23e04529, 0x00b103e0, 0x00b10cc1 },
+ { 0x00800040, 0x24004529, 0x00b10400, 0x00b10ce1 },
+ { 0x00800040, 0x24204529, 0x00b10420, 0x00b10d01 },
+ { 0x00800040, 0x24404529, 0x00b10440, 0x00b10d21 },
+ { 0x00800040, 0x24604529, 0x00b10460, 0x00b10d41 },
+ { 0x00800040, 0x24804529, 0x00b10480, 0x00b10d61 },
+ { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10d81 },
+ { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b10da1 },
+ { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b10dc1 },
+ { 0x00800040, 0x25004529, 0x00b10500, 0x00b10de1 },
+ { 0x00800040, 0x25204529, 0x00b10520, 0x00b10e01 },
+ { 0x00800040, 0x25404529, 0x00b10540, 0x00b10e21 },
+ { 0x00800040, 0x25604529, 0x00b10560, 0x00b10f01 },
+ { 0x80800008, 0x23802d29, 0x00b10380, 0x00020002 },
+ { 0x80800008, 0x23a02d29, 0x00b103a0, 0x00020002 },
+ { 0x80800008, 0x23c02d29, 0x00b103c0, 0x00020002 },
+ { 0x80800008, 0x23e02d29, 0x00b103e0, 0x00020002 },
+ { 0x80800008, 0x24002d29, 0x00b10400, 0x00020002 },
+ { 0x80800008, 0x24202d29, 0x00b10420, 0x00020002 },
+ { 0x80800008, 0x24402d29, 0x00b10440, 0x00020002 },
+ { 0x80800008, 0x24602d29, 0x00b10460, 0x00020002 },
+ { 0x80800008, 0x24802d29, 0x00b10480, 0x00020002 },
+ { 0x80800008, 0x24a02d29, 0x00b104a0, 0x00020002 },
+ { 0x80800008, 0x24c02d29, 0x00b104c0, 0x00020002 },
+ { 0x80800008, 0x24e02d29, 0x00b104e0, 0x00020002 },
+ { 0x80800008, 0x25002d29, 0x00b10500, 0x00020002 },
+ { 0x80800008, 0x25202d29, 0x00b10520, 0x00020002 },
+ { 0x80800008, 0x25402d29, 0x00b10540, 0x00020002 },
+ { 0x80800008, 0x25602d29, 0x00b10560, 0x00020002 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000043 },
+ { 0x00000001, 0x20480061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2c401d29, 0x008d0040, 0x0418a007 },
+ { 0x00000040, 0x20440c21, 0x00210044, 0x00000008 },
+ { 0x00800031, 0x2d401d29, 0x008d0040, 0x0418a007 },
+ { 0x80800042, 0x23804629, 0x00b10c40, 0x00b10c41 },
+ { 0x80800042, 0x23a04629, 0x00b10c60, 0x00b10c61 },
+ { 0x80800042, 0x23c04629, 0x00b10c80, 0x00b10c81 },
+ { 0x80800042, 0x23e04629, 0x00b10ca0, 0x00b10ca1 },
+ { 0x80800042, 0x24004629, 0x00b10cc0, 0x00b10cc1 },
+ { 0x80800042, 0x24204629, 0x00b10ce0, 0x00b10ce1 },
+ { 0x80800042, 0x24404629, 0x00b10d00, 0x00b10d01 },
+ { 0x80800042, 0x24604629, 0x00b10d20, 0x00b10d21 },
+ { 0x80800042, 0x24804629, 0x00b10d40, 0x00b10d41 },
+ { 0x80800042, 0x24a04629, 0x00b10d60, 0x00b10d61 },
+ { 0x80800042, 0x24c04629, 0x00b10d80, 0x00b10d81 },
+ { 0x80800042, 0x24e04629, 0x00b10da0, 0x00b10da1 },
+ { 0x80800042, 0x25004629, 0x00b10dc0, 0x00b10dc1 },
+ { 0x80800042, 0x25204629, 0x00b10de0, 0x00b10de1 },
+ { 0x80800042, 0x25404629, 0x00b10e00, 0x00b10e01 },
+ { 0x80800042, 0x25604629, 0x00b10e20, 0x00b10e21 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000002e },
+ { 0x01000005, 0x20000d3c, 0x00210e74, 0x00000001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000018 },
+ { 0x00000001, 0x20480061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2c401d29, 0x008d0040, 0x0418a007 },
+ { 0x00000040, 0x20440c21, 0x00210044, 0x00000008 },
+ { 0x00800031, 0x2d401d29, 0x008d0040, 0x0418a007 },
+ { 0x00000040, 0x20440c21, 0x00210044, 0x00000008 },
+ { 0x00000001, 0x20480061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2f001d29, 0x008d0040, 0x0411a007 },
+ { 0x80800042, 0x23804629, 0x00b10c40, 0x00b10c60 },
+ { 0x80800042, 0x23a04629, 0x00b10c60, 0x00b10c80 },
+ { 0x80800042, 0x23c04629, 0x00b10c80, 0x00b10ca0 },
+ { 0x80800042, 0x23e04629, 0x00b10ca0, 0x00b10cc0 },
+ { 0x80800042, 0x24004629, 0x00b10cc0, 0x00b10ce0 },
+ { 0x80800042, 0x24204629, 0x00b10ce0, 0x00b10d00 },
+ { 0x80800042, 0x24404629, 0x00b10d00, 0x00b10d20 },
+ { 0x80800042, 0x24604629, 0x00b10d20, 0x00b10d40 },
+ { 0x80800042, 0x24804629, 0x00b10d40, 0x00b10d60 },
+ { 0x80800042, 0x24a04629, 0x00b10d60, 0x00b10d80 },
+ { 0x80800042, 0x24c04629, 0x00b10d80, 0x00b10da0 },
+ { 0x80800042, 0x24e04629, 0x00b10da0, 0x00b10dc0 },
+ { 0x80800042, 0x25004629, 0x00b10dc0, 0x00b10de0 },
+ { 0x80800042, 0x25204629, 0x00b10de0, 0x00b10e00 },
+ { 0x80800042, 0x25404629, 0x00b10e00, 0x00b10e20 },
+ { 0x80800042, 0x25604629, 0x00b10e20, 0x00b10f00 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000014 },
+ { 0x00000001, 0x20480061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2c401d29, 0x008d0040, 0x0418a007 },
+ { 0x00000040, 0x20440c21, 0x00210044, 0x00000008 },
+ { 0x00800031, 0x2d401d29, 0x008d0040, 0x0418a007 },
+ { 0x00800001, 0x23800229, 0x00b10c40, 0x00000000 },
+ { 0x00800001, 0x23a00229, 0x00b10c60, 0x00000000 },
+ { 0x00800001, 0x23c00229, 0x00b10c80, 0x00000000 },
+ { 0x00800001, 0x23e00229, 0x00b10ca0, 0x00000000 },
+ { 0x00800001, 0x24000229, 0x00b10cc0, 0x00000000 },
+ { 0x00800001, 0x24200229, 0x00b10ce0, 0x00000000 },
+ { 0x00800001, 0x24400229, 0x00b10d00, 0x00000000 },
+ { 0x00800001, 0x24600229, 0x00b10d20, 0x00000000 },
+ { 0x00800001, 0x24800229, 0x00b10d40, 0x00000000 },
+ { 0x00800001, 0x24a00229, 0x00b10d60, 0x00000000 },
+ { 0x00800001, 0x24c00229, 0x00b10d80, 0x00000000 },
+ { 0x00800001, 0x24e00229, 0x00b10da0, 0x00000000 },
+ { 0x00800001, 0x25000229, 0x00b10dc0, 0x00000000 },
+ { 0x00800001, 0x25200229, 0x00b10de0, 0x00000000 },
+ { 0x00800001, 0x25400229, 0x00b10e00, 0x00000000 },
+ { 0x00800001, 0x25600229, 0x00b10e20, 0x00000000 },
+ { 0x80800042, 0x23802529, 0x00b10380, 0x00b10680 },
+ { 0x80800042, 0x23a02529, 0x00b103a0, 0x00b106a0 },
+ { 0x80800042, 0x23c02529, 0x00b103c0, 0x00b106c0 },
+ { 0x80800042, 0x23e02529, 0x00b103e0, 0x00b106e0 },
+ { 0x80800042, 0x24002529, 0x00b10400, 0x00b10700 },
+ { 0x80800042, 0x24202529, 0x00b10420, 0x00b10720 },
+ { 0x80800042, 0x24402529, 0x00b10440, 0x00b10740 },
+ { 0x80800042, 0x24602529, 0x00b10460, 0x00b10760 },
+ { 0x80800042, 0x24802529, 0x00b10480, 0x00b10780 },
+ { 0x80800042, 0x24a02529, 0x00b104a0, 0x00b107a0 },
+ { 0x80800042, 0x24c02529, 0x00b104c0, 0x00b107c0 },
+ { 0x80800042, 0x24e02529, 0x00b104e0, 0x00b107e0 },
+ { 0x80800042, 0x25002529, 0x00b10500, 0x00b10800 },
+ { 0x80800042, 0x25202529, 0x00b10520, 0x00b10820 },
+ { 0x80800042, 0x25402529, 0x00b10540, 0x00b10840 },
+ { 0x80800042, 0x25602529, 0x00b10560, 0x00b10860 },
+ { 0x00200008, 0x20200c21, 0x00450e60, 0x00000001 },
+ { 0x0020000c, 0x2e6e3dad, 0x00450e6e, 0x00010001 },
+ { 0x0020000c, 0x202e3dad, 0x00450e6e, 0x00010001 },
+ { 0x00200040, 0x20403421, 0x00450020, 0x0045002e },
+ { 0x00000001, 0x20480061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x008d0040, 0x0414a005 },
+ { 0x00800031, 0x2b401d29, 0x008d0040, 0x0414a006 },
+ { 0x00800001, 0x25800229, 0x00ad0ac0, 0x00000000 },
+ { 0x00800001, 0x25a00229, 0x00ad0ae0, 0x00000000 },
+ { 0x00800001, 0x25c00229, 0x00ad0b00, 0x00000000 },
+ { 0x00800001, 0x25e00229, 0x00ad0b20, 0x00000000 },
+ { 0x00800001, 0x26000229, 0x00ad0b40, 0x00000000 },
+ { 0x00800001, 0x26200229, 0x00ad0b60, 0x00000000 },
+ { 0x00800001, 0x26400229, 0x00ad0b80, 0x00000000 },
+ { 0x00800001, 0x26600229, 0x00ad0ba0, 0x00000000 },
+ { 0x00800001, 0x2f400231, 0x00b20580, 0x00000000 },
+ { 0x00800001, 0x2f500231, 0x00b205a0, 0x00000000 },
+ { 0x00800001, 0x2f600231, 0x00b205c0, 0x00000000 },
+ { 0x00800001, 0x2f700231, 0x00b205e0, 0x00000000 },
+ { 0x00800001, 0x2f800231, 0x00b20600, 0x00000000 },
+ { 0x00800001, 0x2f900231, 0x00b20620, 0x00000000 },
+ { 0x00800001, 0x2fa00231, 0x00b20640, 0x00000000 },
+ { 0x00800001, 0x2fb00231, 0x00b20660, 0x00000000 },
+ { 0x0020000c, 0x2e723dad, 0x00450e72, 0x00010001 },
+ { 0x0020000c, 0x202e3dad, 0x00450e72, 0x00010001 },
+ { 0x00200040, 0x20403421, 0x00450020, 0x0045002e },
+ { 0x00000001, 0x20480061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x008d0040, 0x0414a008 },
+ { 0x00800031, 0x2b401d29, 0x008d0040, 0x0414a009 },
+ { 0x00800001, 0x25800229, 0x00ad0ac0, 0x00000000 },
+ { 0x00800001, 0x25a00229, 0x00ad0ae0, 0x00000000 },
+ { 0x00800001, 0x25c00229, 0x00ad0b00, 0x00000000 },
+ { 0x00800001, 0x25e00229, 0x00ad0b20, 0x00000000 },
+ { 0x00800001, 0x26000229, 0x00ad0b40, 0x00000000 },
+ { 0x00800001, 0x26200229, 0x00ad0b60, 0x00000000 },
+ { 0x00800001, 0x26400229, 0x00ad0b80, 0x00000000 },
+ { 0x00800001, 0x26600229, 0x00ad0ba0, 0x00000000 },
+ { 0x80800042, 0x25804529, 0x00b10580, 0x00b10f40 },
+ { 0x80800042, 0x25a04529, 0x00b105a0, 0x00b10f50 },
+ { 0x80800042, 0x25c04529, 0x00b105c0, 0x00b10f60 },
+ { 0x80800042, 0x25e04529, 0x00b105e0, 0x00b10f70 },
+ { 0x80800042, 0x26004529, 0x00b10600, 0x00b10f80 },
+ { 0x80800042, 0x26204529, 0x00b10620, 0x00b10f90 },
+ { 0x80800042, 0x26404529, 0x00b10640, 0x00b10fa0 },
+ { 0x80800042, 0x26604529, 0x00b10660, 0x00b10fb0 },
+ { 0x00600001, 0x20200021, 0x008d0980, 0x00000000 },
+ { 0x00800001, 0x458101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x45a101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x45c101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x45e101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x460101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x462101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x464101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x466101f1, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002e3c, 0x0021003e, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000011 },
+ { 0x00800040, 0x238045ad, 0x00b10060, 0x00b20380 },
+ { 0x00800040, 0x23a045ad, 0x00b10080, 0x00b203a0 },
+ { 0x00800040, 0x23c045ad, 0x00b100a0, 0x00b203c0 },
+ { 0x00800040, 0x23e045ad, 0x00b100c0, 0x00b203e0 },
+ { 0x00800040, 0x240045ad, 0x00b100e0, 0x00b20400 },
+ { 0x00800040, 0x242045ad, 0x00b10100, 0x00b20420 },
+ { 0x00800040, 0x244045ad, 0x00b10120, 0x00b20440 },
+ { 0x00800040, 0x246045ad, 0x00b10140, 0x00b20460 },
+ { 0x00800040, 0x248045ad, 0x00b10160, 0x00b20480 },
+ { 0x00800040, 0x24a045ad, 0x00b10180, 0x00b204a0 },
+ { 0x00800040, 0x24c045ad, 0x00b101a0, 0x00b204c0 },
+ { 0x00800040, 0x24e045ad, 0x00b101c0, 0x00b204e0 },
+ { 0x00800040, 0x250045ad, 0x00b101e0, 0x00b20500 },
+ { 0x00800040, 0x252045ad, 0x00b10200, 0x00b20520 },
+ { 0x00800040, 0x254045ad, 0x00b10220, 0x00b20540 },
+ { 0x00800040, 0x256045ad, 0x00b10240, 0x00b20560 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000010 },
+ { 0x00800040, 0x238045ad, 0x00b10060, 0x00b20380 },
+ { 0x00800040, 0x23a045ad, 0x00b10160, 0x00b203a0 },
+ { 0x00800040, 0x23c045ad, 0x00b10080, 0x00b203c0 },
+ { 0x00800040, 0x23e045ad, 0x00b10180, 0x00b203e0 },
+ { 0x00800040, 0x240045ad, 0x00b100a0, 0x00b20400 },
+ { 0x00800040, 0x242045ad, 0x00b101a0, 0x00b20420 },
+ { 0x00800040, 0x244045ad, 0x00b100c0, 0x00b20440 },
+ { 0x00800040, 0x246045ad, 0x00b101c0, 0x00b20460 },
+ { 0x00800040, 0x248045ad, 0x00b100e0, 0x00b20480 },
+ { 0x00800040, 0x24a045ad, 0x00b101e0, 0x00b204a0 },
+ { 0x00800040, 0x24c045ad, 0x00b10100, 0x00b204c0 },
+ { 0x00800040, 0x24e045ad, 0x00b10200, 0x00b204e0 },
+ { 0x00800040, 0x250045ad, 0x00b10120, 0x00b20500 },
+ { 0x00800040, 0x252045ad, 0x00b10220, 0x00b20520 },
+ { 0x00800040, 0x254045ad, 0x00b10140, 0x00b20540 },
+ { 0x00800040, 0x256045ad, 0x00b10240, 0x00b20560 },
+ { 0x00000001, 0x20280061, 0x00000000, 0x000f000f },
+ { 0x80800001, 0x438001b1, 0x00b10380, 0x00000000 },
+ { 0x80800001, 0x43a001b1, 0x00b103a0, 0x00000000 },
+ { 0x80800001, 0x43c001b1, 0x00b103c0, 0x00000000 },
+ { 0x80800001, 0x43e001b1, 0x00b103e0, 0x00000000 },
+ { 0x80800001, 0x440001b1, 0x00b10400, 0x00000000 },
+ { 0x80800001, 0x442001b1, 0x00b10420, 0x00000000 },
+ { 0x80800001, 0x444001b1, 0x00b10440, 0x00000000 },
+ { 0x80800001, 0x446001b1, 0x00b10460, 0x00000000 },
+ { 0x80800001, 0x448001b1, 0x00b10480, 0x00000000 },
+ { 0x80800001, 0x44a001b1, 0x00b104a0, 0x00000000 },
+ { 0x80800001, 0x44c001b1, 0x00b104c0, 0x00000000 },
+ { 0x80800001, 0x44e001b1, 0x00b104e0, 0x00000000 },
+ { 0x80800001, 0x450001b1, 0x00b10500, 0x00000000 },
+ { 0x80800001, 0x452001b1, 0x00b10520, 0x00000000 },
+ { 0x80800001, 0x454001b1, 0x00b10540, 0x00000000 },
+ { 0x80800001, 0x456001b1, 0x00b10560, 0x00000000 },
+ { 0x00800001, 0x20200232, 0x00b20380, 0x00000000 },
+ { 0x00800001, 0x20300232, 0x00b203a0, 0x00000000 },
+ { 0x00800001, 0x20400232, 0x00b203c0, 0x00000000 },
+ { 0x00800001, 0x20500232, 0x00b203e0, 0x00000000 },
+ { 0x00800001, 0x20600232, 0x00b20400, 0x00000000 },
+ { 0x00800001, 0x20700232, 0x00b20420, 0x00000000 },
+ { 0x00800001, 0x20800232, 0x00b20440, 0x00000000 },
+ { 0x00800001, 0x20900232, 0x00b20460, 0x00000000 },
+ { 0x00800001, 0x20a00232, 0x00b20480, 0x00000000 },
+ { 0x00800001, 0x20b00232, 0x00b204a0, 0x00000000 },
+ { 0x00800001, 0x20c00232, 0x00b204c0, 0x00000000 },
+ { 0x00800001, 0x20d00232, 0x00b204e0, 0x00000000 },
+ { 0x00800001, 0x20e00232, 0x00b20500, 0x00000000 },
+ { 0x00800001, 0x20f00232, 0x00b20520, 0x00000000 },
+ { 0x00800001, 0x21000232, 0x00b20540, 0x00000000 },
+ { 0x00800001, 0x21100232, 0x00b20560, 0x00000000 },
+ { 0x00800031, 0x24001d28, 0x008d0020, 0x05902000 },
+ { 0x00000001, 0x20280061, 0x00000000, 0x00070007 },
+ { 0x00200008, 0x20201c21, 0x00450020, 0x00000001 },
+ { 0x00800040, 0x258025a9, 0x00b10260, 0x00b10580 },
+ { 0x00800040, 0x25a025a9, 0x00b10280, 0x00b105a0 },
+ { 0x00800040, 0x25c025a9, 0x00b102a0, 0x00b105c0 },
+ { 0x00800040, 0x25e025a9, 0x00b102c0, 0x00b105e0 },
+ { 0x80800001, 0x45800131, 0x00b10580, 0x00000000 },
+ { 0x80800001, 0x45a00131, 0x00b105a0, 0x00000000 },
+ { 0x80800001, 0x45c00131, 0x00b105c0, 0x00000000 },
+ { 0x80800001, 0x45e00131, 0x00b105e0, 0x00000000 },
+ { 0x00800001, 0x20200232, 0x00b20580, 0x00000000 },
+ { 0x00800001, 0x20300232, 0x00b205a0, 0x00000000 },
+ { 0x00800001, 0x20400232, 0x00b205c0, 0x00000000 },
+ { 0x00800001, 0x20500232, 0x00b205e0, 0x00000000 },
+ { 0x00800031, 0x24001d28, 0x008d0020, 0x05302001 },
+ { 0x00800040, 0x260025a9, 0x00b102e0, 0x00b10600 },
+ { 0x00800040, 0x262025a9, 0x00b10300, 0x00b10620 },
+ { 0x00800040, 0x264025a9, 0x00b10320, 0x00b10640 },
+ { 0x00800040, 0x266025a9, 0x00b10340, 0x00b10660 },
+ { 0x80800001, 0x46000131, 0x00b10600, 0x00000000 },
+ { 0x80800001, 0x46200131, 0x00b10620, 0x00000000 },
+ { 0x80800001, 0x46400131, 0x00b10640, 0x00000000 },
+ { 0x80800001, 0x46600131, 0x00b10660, 0x00000000 },
+ { 0x00800001, 0x20200232, 0x00b20600, 0x00000000 },
+ { 0x00800001, 0x20300232, 0x00b20620, 0x00000000 },
+ { 0x00800001, 0x20400232, 0x00b20640, 0x00000000 },
+ { 0x00800001, 0x20500232, 0x00b20660, 0x00000000 },
+ { 0x00800031, 0x24001d28, 0x008d0020, 0x05302002 },
+ { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
+ { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
diff --git a/src/xvmc/frame_forward_igd.g4a b/src/xvmc/frame_forward_igd.g4a
new file mode 100644
index 00000000..f4748074
--- /dev/null
+++ b/src/xvmc/frame_forward_igd.g4a
@@ -0,0 +1,65 @@
+/*
+ * Copyright © 2008 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Author:
+ * Zou Nan hai <nanhai.zou@intel.com>
+ * Zhang Hua jun <huajun.zhang@intel.com>
+ * Xing Dong sheng <dongsheng.xing@intel.com>
+ *
+ */
+
+/* shader for backward predict mc
+*/
+
+/* save payload */
+mov (8) g76.0<1>UD g1.0<8,8,1>UD {align1};
+//mov (8) g77.0<1>UD g2.0<8,8,1>UD {align1};
+
+include(`block_clear.g4i')
+
+mov (8) g115.0<1>UD g1.0<8,8,1>UD {align1};
+mov (1) g1.8<1>UD 0x0070007UD {align1};
+define(`input_surface', `4')
+define(`mv1', `g115.14')
+define(`mv2', `g115.16')
+/* Y */
+/* (x', y') = (x, y) + (motion_vector.x >> 1, motion_vector.y >> 1) */
+asr (2) g1.14<1>W g115.14<2,2,1>W 1W {align1};
+add (2) g2.0<1>UD g115.0<2,2,1>UD g1.14<2,2,1>W {align1};
+include(`motion_frame_y_igd.g4i')
+/* motion_vector = motion_vector >> 1 */
+/* (x', y') = (x, y) + (motion_vector.x >> 1, motion_vector.y >> 1) */
+/* U */
+shr (2) g1.0<1>UD g115.0<2,2,1>UD 1UD {align1};
+asr (2) g115.14<1>W g115.14<2,2,1>W 1W {align1};
+asr (2) g1.14<1>W g115.14<2,2,1>W 1W {align1};
+add (2) g2.0<1>UD g1.0<2,2,1>UD g1.14<2,2,1>W {align1};
+define(`input_surface1', `5')
+define(`input_surface2', `6')
+mov (1) g2.8<1>UD 0x007000fUD {align1};
+include(`motion_frame_uv_igd.g4i')
+/* V */
+/* (x', y') = (x, y) + (motion_vector.x >> 1, motion_vector.y >> 1) */
+include(`addidct.g4i')
+
+send (16) 0 acc0<1>UW g0<8,8,1>UW
+ thread_spawner(0, 0, 0) mlen 1 rlen 0 { align1 EOT};
diff --git a/src/xvmc/frame_forward_igd.g4b b/src/xvmc/frame_forward_igd.g4b
new file mode 100644
index 00000000..0205dd2f
--- /dev/null
+++ b/src/xvmc/frame_forward_igd.g4b
@@ -0,0 +1,323 @@
+ { 0x00600001, 0x29800021, 0x008d0020, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021098c, 0x00200020 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
+ { 0x00600001, 0x20600169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20800169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20a00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20c00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20e00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21000169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21200169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21400169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00100010 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
+ { 0x00600001, 0x20700169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20900169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20b00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20d00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x20f00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21100169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21300169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21500169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00080008 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
+ { 0x00600001, 0x21600169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21800169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21a00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21c00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21e00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22000169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22200169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22400169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00040004 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
+ { 0x00600001, 0x21700169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21900169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21b00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21d00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x21f00169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22100169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22300169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x22500169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00020002 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000004 },
+ { 0x00800001, 0x22600169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x22800169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x22a00169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x22c00169, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002d3c, 0x0021002c, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000004 },
+ { 0x00800001, 0x22e00169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x23000169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x23200169, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x23400169, 0x00000000, 0x00000000 },
+ { 0x00600001, 0x2e600021, 0x008d0020, 0x00000000 },
+ { 0x00000001, 0x20280061, 0x00000000, 0x00070007 },
+ { 0x0020000c, 0x202e3dad, 0x00450e6e, 0x00010001 },
+ { 0x00200040, 0x20403421, 0x00450e60, 0x0045002e },
+ { 0x01000005, 0x20000d3c, 0x00210e6e, 0x00000001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x0000005f },
+ { 0x01000005, 0x20000d3c, 0x00210e70, 0x00000001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000048 },
+ { 0x00000001, 0x20480061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2c401d29, 0x008d0040, 0x0418a004 },
+ { 0x00000040, 0x20440c21, 0x00210044, 0x00000008 },
+ { 0x00800031, 0x2d401d29, 0x008d0040, 0x0418a004 },
+ { 0x00000040, 0x20440c21, 0x00210044, 0x00000008 },
+ { 0x00000001, 0x20480061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2f001d29, 0x008d0040, 0x0411a004 },
+ { 0x00800040, 0x23804629, 0x00b10c40, 0x00b10c41 },
+ { 0x00800040, 0x23a04629, 0x00b10c60, 0x00b10c61 },
+ { 0x00800040, 0x23c04629, 0x00b10c80, 0x00b10c81 },
+ { 0x00800040, 0x23e04629, 0x00b10ca0, 0x00b10ca1 },
+ { 0x00800040, 0x24004629, 0x00b10cc0, 0x00b10cc1 },
+ { 0x00800040, 0x24204629, 0x00b10ce0, 0x00b10ce1 },
+ { 0x00800040, 0x24404629, 0x00b10d00, 0x00b10d01 },
+ { 0x00800040, 0x24604629, 0x00b10d20, 0x00b10d21 },
+ { 0x00800040, 0x24804629, 0x00b10d40, 0x00b10d41 },
+ { 0x00800040, 0x24a04629, 0x00b10d60, 0x00b10d61 },
+ { 0x00800040, 0x24c04629, 0x00b10d80, 0x00b10d81 },
+ { 0x00800040, 0x24e04629, 0x00b10da0, 0x00b10da1 },
+ { 0x00800040, 0x25004629, 0x00b10dc0, 0x00b10dc1 },
+ { 0x00800040, 0x25204629, 0x00b10de0, 0x00b10de1 },
+ { 0x00800040, 0x25404629, 0x00b10e00, 0x00b10e01 },
+ { 0x00800040, 0x25604629, 0x00b10e20, 0x00b10e21 },
+ { 0x00800040, 0x23804529, 0x00b10380, 0x00b10c60 },
+ { 0x00800040, 0x23a04529, 0x00b103a0, 0x00b10c80 },
+ { 0x00800040, 0x23c04529, 0x00b103c0, 0x00b10ca0 },
+ { 0x00800040, 0x23e04529, 0x00b103e0, 0x00b10cc0 },
+ { 0x00800040, 0x24004529, 0x00b10400, 0x00b10ce0 },
+ { 0x00800040, 0x24204529, 0x00b10420, 0x00b10d00 },
+ { 0x00800040, 0x24404529, 0x00b10440, 0x00b10d20 },
+ { 0x00800040, 0x24604529, 0x00b10460, 0x00b10d40 },
+ { 0x00800040, 0x24804529, 0x00b10480, 0x00b10d60 },
+ { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10d80 },
+ { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b10da0 },
+ { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b10dc0 },
+ { 0x00800040, 0x25004529, 0x00b10500, 0x00b10de0 },
+ { 0x00800040, 0x25204529, 0x00b10520, 0x00b10e00 },
+ { 0x00800040, 0x25404529, 0x00b10540, 0x00b10e20 },
+ { 0x00800040, 0x25604529, 0x00b10560, 0x00b10f00 },
+ { 0x00800040, 0x23804529, 0x00b10380, 0x00b10c61 },
+ { 0x00800040, 0x23a04529, 0x00b103a0, 0x00b10c81 },
+ { 0x00800040, 0x23c04529, 0x00b103c0, 0x00b10ca1 },
+ { 0x00800040, 0x23e04529, 0x00b103e0, 0x00b10cc1 },
+ { 0x00800040, 0x24004529, 0x00b10400, 0x00b10ce1 },
+ { 0x00800040, 0x24204529, 0x00b10420, 0x00b10d01 },
+ { 0x00800040, 0x24404529, 0x00b10440, 0x00b10d21 },
+ { 0x00800040, 0x24604529, 0x00b10460, 0x00b10d41 },
+ { 0x00800040, 0x24804529, 0x00b10480, 0x00b10d61 },
+ { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10d81 },
+ { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b10da1 },
+ { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b10dc1 },
+ { 0x00800040, 0x25004529, 0x00b10500, 0x00b10de1 },
+ { 0x00800040, 0x25204529, 0x00b10520, 0x00b10e01 },
+ { 0x00800040, 0x25404529, 0x00b10540, 0x00b10e21 },
+ { 0x00800040, 0x25604529, 0x00b10560, 0x00b10f01 },
+ { 0x80800008, 0x23802d29, 0x00b10380, 0x00020002 },
+ { 0x80800008, 0x23a02d29, 0x00b103a0, 0x00020002 },
+ { 0x80800008, 0x23c02d29, 0x00b103c0, 0x00020002 },
+ { 0x80800008, 0x23e02d29, 0x00b103e0, 0x00020002 },
+ { 0x80800008, 0x24002d29, 0x00b10400, 0x00020002 },
+ { 0x80800008, 0x24202d29, 0x00b10420, 0x00020002 },
+ { 0x80800008, 0x24402d29, 0x00b10440, 0x00020002 },
+ { 0x80800008, 0x24602d29, 0x00b10460, 0x00020002 },
+ { 0x80800008, 0x24802d29, 0x00b10480, 0x00020002 },
+ { 0x80800008, 0x24a02d29, 0x00b104a0, 0x00020002 },
+ { 0x80800008, 0x24c02d29, 0x00b104c0, 0x00020002 },
+ { 0x80800008, 0x24e02d29, 0x00b104e0, 0x00020002 },
+ { 0x80800008, 0x25002d29, 0x00b10500, 0x00020002 },
+ { 0x80800008, 0x25202d29, 0x00b10520, 0x00020002 },
+ { 0x80800008, 0x25402d29, 0x00b10540, 0x00020002 },
+ { 0x80800008, 0x25602d29, 0x00b10560, 0x00020002 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000043 },
+ { 0x00000001, 0x20480061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2c401d29, 0x008d0040, 0x0418a004 },
+ { 0x00000040, 0x20440c21, 0x00210044, 0x00000008 },
+ { 0x00800031, 0x2d401d29, 0x008d0040, 0x0418a004 },
+ { 0x80800042, 0x23804629, 0x00b10c40, 0x00b10c41 },
+ { 0x80800042, 0x23a04629, 0x00b10c60, 0x00b10c61 },
+ { 0x80800042, 0x23c04629, 0x00b10c80, 0x00b10c81 },
+ { 0x80800042, 0x23e04629, 0x00b10ca0, 0x00b10ca1 },
+ { 0x80800042, 0x24004629, 0x00b10cc0, 0x00b10cc1 },
+ { 0x80800042, 0x24204629, 0x00b10ce0, 0x00b10ce1 },
+ { 0x80800042, 0x24404629, 0x00b10d00, 0x00b10d01 },
+ { 0x80800042, 0x24604629, 0x00b10d20, 0x00b10d21 },
+ { 0x80800042, 0x24804629, 0x00b10d40, 0x00b10d41 },
+ { 0x80800042, 0x24a04629, 0x00b10d60, 0x00b10d61 },
+ { 0x80800042, 0x24c04629, 0x00b10d80, 0x00b10d81 },
+ { 0x80800042, 0x24e04629, 0x00b10da0, 0x00b10da1 },
+ { 0x80800042, 0x25004629, 0x00b10dc0, 0x00b10dc1 },
+ { 0x80800042, 0x25204629, 0x00b10de0, 0x00b10de1 },
+ { 0x80800042, 0x25404629, 0x00b10e00, 0x00b10e01 },
+ { 0x80800042, 0x25604629, 0x00b10e20, 0x00b10e21 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x0000002e },
+ { 0x01000005, 0x20000d3c, 0x00210e70, 0x00000001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000018 },
+ { 0x00000001, 0x20480061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2c401d29, 0x008d0040, 0x0418a004 },
+ { 0x00000040, 0x20440c21, 0x00210044, 0x00000008 },
+ { 0x00800031, 0x2d401d29, 0x008d0040, 0x0418a004 },
+ { 0x00000040, 0x20440c21, 0x00210044, 0x00000008 },
+ { 0x00000001, 0x20480061, 0x00000000, 0x0000001f },
+ { 0x00800031, 0x2f001d29, 0x008d0040, 0x0411a004 },
+ { 0x80800042, 0x23804629, 0x00b10c40, 0x00b10c60 },
+ { 0x80800042, 0x23a04629, 0x00b10c60, 0x00b10c80 },
+ { 0x80800042, 0x23c04629, 0x00b10c80, 0x00b10ca0 },
+ { 0x80800042, 0x23e04629, 0x00b10ca0, 0x00b10cc0 },
+ { 0x80800042, 0x24004629, 0x00b10cc0, 0x00b10ce0 },
+ { 0x80800042, 0x24204629, 0x00b10ce0, 0x00b10d00 },
+ { 0x80800042, 0x24404629, 0x00b10d00, 0x00b10d20 },
+ { 0x80800042, 0x24604629, 0x00b10d20, 0x00b10d40 },
+ { 0x80800042, 0x24804629, 0x00b10d40, 0x00b10d60 },
+ { 0x80800042, 0x24a04629, 0x00b10d60, 0x00b10d80 },
+ { 0x80800042, 0x24c04629, 0x00b10d80, 0x00b10da0 },
+ { 0x80800042, 0x24e04629, 0x00b10da0, 0x00b10dc0 },
+ { 0x80800042, 0x25004629, 0x00b10dc0, 0x00b10de0 },
+ { 0x80800042, 0x25204629, 0x00b10de0, 0x00b10e00 },
+ { 0x80800042, 0x25404629, 0x00b10e00, 0x00b10e20 },
+ { 0x80800042, 0x25604629, 0x00b10e20, 0x00b10f00 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000014 },
+ { 0x00000001, 0x20480061, 0x00000000, 0x0007001f },
+ { 0x00800031, 0x2c401d29, 0x008d0040, 0x0418a004 },
+ { 0x00000040, 0x20440c21, 0x00210044, 0x00000008 },
+ { 0x00800031, 0x2d401d29, 0x008d0040, 0x0418a004 },
+ { 0x00800001, 0x23800229, 0x00b10c40, 0x00000000 },
+ { 0x00800001, 0x23a00229, 0x00b10c60, 0x00000000 },
+ { 0x00800001, 0x23c00229, 0x00b10c80, 0x00000000 },
+ { 0x00800001, 0x23e00229, 0x00b10ca0, 0x00000000 },
+ { 0x00800001, 0x24000229, 0x00b10cc0, 0x00000000 },
+ { 0x00800001, 0x24200229, 0x00b10ce0, 0x00000000 },
+ { 0x00800001, 0x24400229, 0x00b10d00, 0x00000000 },
+ { 0x00800001, 0x24600229, 0x00b10d20, 0x00000000 },
+ { 0x00800001, 0x24800229, 0x00b10d40, 0x00000000 },
+ { 0x00800001, 0x24a00229, 0x00b10d60, 0x00000000 },
+ { 0x00800001, 0x24c00229, 0x00b10d80, 0x00000000 },
+ { 0x00800001, 0x24e00229, 0x00b10da0, 0x00000000 },
+ { 0x00800001, 0x25000229, 0x00b10dc0, 0x00000000 },
+ { 0x00800001, 0x25200229, 0x00b10de0, 0x00000000 },
+ { 0x00800001, 0x25400229, 0x00b10e00, 0x00000000 },
+ { 0x00800001, 0x25600229, 0x00b10e20, 0x00000000 },
+ { 0x00200008, 0x20200c21, 0x00450e60, 0x00000001 },
+ { 0x0020000c, 0x2e6e3dad, 0x00450e6e, 0x00010001 },
+ { 0x0020000c, 0x202e3dad, 0x00450e6e, 0x00010001 },
+ { 0x00200040, 0x20403421, 0x00450020, 0x0045002e },
+ { 0x00000001, 0x20480061, 0x00000000, 0x0007000f },
+ { 0x00800031, 0x2ac01d29, 0x008d0040, 0x0414a005 },
+ { 0x00800031, 0x2b401d29, 0x008d0040, 0x0414a006 },
+ { 0x00800001, 0x25800229, 0x00ad0ac0, 0x00000000 },
+ { 0x00800001, 0x25a00229, 0x00ad0ae0, 0x00000000 },
+ { 0x00800001, 0x25c00229, 0x00ad0b00, 0x00000000 },
+ { 0x00800001, 0x25e00229, 0x00ad0b20, 0x00000000 },
+ { 0x00800001, 0x26000229, 0x00ad0b40, 0x00000000 },
+ { 0x00800001, 0x26200229, 0x00ad0b60, 0x00000000 },
+ { 0x00800001, 0x26400229, 0x00ad0b80, 0x00000000 },
+ { 0x00800001, 0x26600229, 0x00ad0ba0, 0x00000000 },
+ { 0x00600001, 0x20200021, 0x008d0980, 0x00000000 },
+ { 0x00800001, 0x458101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x45a101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x45c101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x45e101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x460101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x462101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x464101f1, 0x00000000, 0x00000000 },
+ { 0x00800001, 0x466101f1, 0x00000000, 0x00000000 },
+ { 0x02000005, 0x20002e3c, 0x0021003e, 0x00010001 },
+ { 0x00010020, 0x34001c00, 0x00001400, 0x00000011 },
+ { 0x00800040, 0x238045ad, 0x00b10060, 0x00b20380 },
+ { 0x00800040, 0x23a045ad, 0x00b10080, 0x00b203a0 },
+ { 0x00800040, 0x23c045ad, 0x00b100a0, 0x00b203c0 },
+ { 0x00800040, 0x23e045ad, 0x00b100c0, 0x00b203e0 },
+ { 0x00800040, 0x240045ad, 0x00b100e0, 0x00b20400 },
+ { 0x00800040, 0x242045ad, 0x00b10100, 0x00b20420 },
+ { 0x00800040, 0x244045ad, 0x00b10120, 0x00b20440 },
+ { 0x00800040, 0x246045ad, 0x00b10140, 0x00b20460 },
+ { 0x00800040, 0x248045ad, 0x00b10160, 0x00b20480 },
+ { 0x00800040, 0x24a045ad, 0x00b10180, 0x00b204a0 },
+ { 0x00800040, 0x24c045ad, 0x00b101a0, 0x00b204c0 },
+ { 0x00800040, 0x24e045ad, 0x00b101c0, 0x00b204e0 },
+ { 0x00800040, 0x250045ad, 0x00b101e0, 0x00b20500 },
+ { 0x00800040, 0x252045ad, 0x00b10200, 0x00b20520 },
+ { 0x00800040, 0x254045ad, 0x00b10220, 0x00b20540 },
+ { 0x00800040, 0x256045ad, 0x00b10240, 0x00b20560 },
+ { 0x00000020, 0x34001c00, 0x00001400, 0x00000010 },
+ { 0x00800040, 0x238045ad, 0x00b10060, 0x00b20380 },
+ { 0x00800040, 0x23a045ad, 0x00b10160, 0x00b203a0 },
+ { 0x00800040, 0x23c045ad, 0x00b10080, 0x00b203c0 },
+ { 0x00800040, 0x23e045ad, 0x00b10180, 0x00b203e0 },
+ { 0x00800040, 0x240045ad, 0x00b100a0, 0x00b20400 },
+ { 0x00800040, 0x242045ad, 0x00b101a0, 0x00b20420 },
+ { 0x00800040, 0x244045ad, 0x00b100c0, 0x00b20440 },
+ { 0x00800040, 0x246045ad, 0x00b101c0, 0x00b20460 },
+ { 0x00800040, 0x248045ad, 0x00b100e0, 0x00b20480 },
+ { 0x00800040, 0x24a045ad, 0x00b101e0, 0x00b204a0 },
+ { 0x00800040, 0x24c045ad, 0x00b10100, 0x00b204c0 },
+ { 0x00800040, 0x24e045ad, 0x00b10200, 0x00b204e0 },
+ { 0x00800040, 0x250045ad, 0x00b10120, 0x00b20500 },
+ { 0x00800040, 0x252045ad, 0x00b10220, 0x00b20520 },
+ { 0x00800040, 0x254045ad, 0x00b10140, 0x00b20540 },
+ { 0x00800040, 0x256045ad, 0x00b10240, 0x00b20560 },
+ { 0x00000001, 0x20280061, 0x00000000, 0x000f000f },
+ { 0x80800001, 0x438001b1, 0x00b10380, 0x00000000 },
+ { 0x80800001, 0x43a001b1, 0x00b103a0, 0x00000000 },
+ { 0x80800001, 0x43c001b1, 0x00b103c0, 0x00000000 },
+ { 0x80800001, 0x43e001b1, 0x00b103e0, 0x00000000 },
+ { 0x80800001, 0x440001b1, 0x00b10400, 0x00000000 },
+ { 0x80800001, 0x442001b1, 0x00b10420, 0x00000000 },
+ { 0x80800001, 0x444001b1, 0x00b10440, 0x00000000 },
+ { 0x80800001, 0x446001b1, 0x00b10460, 0x00000000 },
+ { 0x80800001, 0x448001b1, 0x00b10480, 0x00000000 },
+ { 0x80800001, 0x44a001b1, 0x00b104a0, 0x00000000 },
+ { 0x80800001, 0x44c001b1, 0x00b104c0, 0x00000000 },
+ { 0x80800001, 0x44e001b1, 0x00b104e0, 0x00000000 },
+ { 0x80800001, 0x450001b1, 0x00b10500, 0x00000000 },
+ { 0x80800001, 0x452001b1, 0x00b10520, 0x00000000 },
+ { 0x80800001, 0x454001b1, 0x00b10540, 0x00000000 },
+ { 0x80800001, 0x456001b1, 0x00b10560, 0x00000000 },
+ { 0x00800001, 0x20200232, 0x00b20380, 0x00000000 },
+ { 0x00800001, 0x20300232, 0x00b203a0, 0x00000000 },
+ { 0x00800001, 0x20400232, 0x00b203c0, 0x00000000 },
+ { 0x00800001, 0x20500232, 0x00b203e0, 0x00000000 },
+ { 0x00800001, 0x20600232, 0x00b20400, 0x00000000 },
+ { 0x00800001, 0x20700232, 0x00b20420, 0x00000000 },
+ { 0x00800001, 0x20800232, 0x00b20440, 0x00000000 },
+ { 0x00800001, 0x20900232, 0x00b20460, 0x00000000 },
+ { 0x00800001, 0x20a00232, 0x00b20480, 0x00000000 },
+ { 0x00800001, 0x20b00232, 0x00b204a0, 0x00000000 },
+ { 0x00800001, 0x20c00232, 0x00b204c0, 0x00000000 },
+ { 0x00800001, 0x20d00232, 0x00b204e0, 0x00000000 },
+ { 0x00800001, 0x20e00232, 0x00b20500, 0x00000000 },
+ { 0x00800001, 0x20f00232, 0x00b20520, 0x00000000 },
+ { 0x00800001, 0x21000232, 0x00b20540, 0x00000000 },
+ { 0x00800001, 0x21100232, 0x00b20560, 0x00000000 },
+ { 0x00800031, 0x24001d28, 0x008d0020, 0x05902000 },
+ { 0x00000001, 0x20280061, 0x00000000, 0x00070007 },
+ { 0x00200008, 0x20201c21, 0x00450020, 0x00000001 },
+ { 0x00800040, 0x258025a9, 0x00b10260, 0x00b10580 },
+ { 0x00800040, 0x25a025a9, 0x00b10280, 0x00b105a0 },
+ { 0x00800040, 0x25c025a9, 0x00b102a0, 0x00b105c0 },
+ { 0x00800040, 0x25e025a9, 0x00b102c0, 0x00b105e0 },
+ { 0x80800001, 0x45800131, 0x00b10580, 0x00000000 },
+ { 0x80800001, 0x45a00131, 0x00b105a0, 0x00000000 },
+ { 0x80800001, 0x45c00131, 0x00b105c0, 0x00000000 },
+ { 0x80800001, 0x45e00131, 0x00b105e0, 0x00000000 },
+ { 0x00800001, 0x20200232, 0x00b20580, 0x00000000 },
+ { 0x00800001, 0x20300232, 0x00b205a0, 0x00000000 },
+ { 0x00800001, 0x20400232, 0x00b205c0, 0x00000000 },
+ { 0x00800001, 0x20500232, 0x00b205e0, 0x00000000 },
+ { 0x00800031, 0x24001d28, 0x008d0020, 0x05302001 },
+ { 0x00800040, 0x260025a9, 0x00b102e0, 0x00b10600 },
+ { 0x00800040, 0x262025a9, 0x00b10300, 0x00b10620 },
+ { 0x00800040, 0x264025a9, 0x00b10320, 0x00b10640 },
+ { 0x00800040, 0x266025a9, 0x00b10340, 0x00b10660 },
+ { 0x80800001, 0x46000131, 0x00b10600, 0x00000000 },
+ { 0x80800001, 0x46200131, 0x00b10620, 0x00000000 },
+ { 0x80800001, 0x46400131, 0x00b10640, 0x00000000 },
+ { 0x80800001, 0x46600131, 0x00b10660, 0x00000000 },
+ { 0x00800001, 0x20200232, 0x00b20600, 0x00000000 },
+ { 0x00800001, 0x20300232, 0x00b20620, 0x00000000 },
+ { 0x00800001, 0x20400232, 0x00b20640, 0x00000000 },
+ { 0x00800001, 0x20500232, 0x00b20660, 0x00000000 },
+ { 0x00800031, 0x24001d28, 0x008d0020, 0x05302002 },
+ { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
+ { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
diff --git a/src/xvmc/i965_xvmc.c b/src/xvmc/i965_xvmc.c
index 98b25d57..11391454 100644
--- a/src/xvmc/i965_xvmc.c
+++ b/src/xvmc/i965_xvmc.c
@@ -72,6 +72,27 @@ static const uint32_t field_f_b_kernel_static[][4] = {
static const uint32_t dual_prime_kernel_static[][4]= {
#include "dual_prime.g4b"
};
+static const uint32_t frame_forward_igd_kernel_static[][4] = {
+ #include "frame_forward_igd.g4b"
+};
+static const uint32_t frame_backward_igd_kernel_static[][4] = {
+ #include "frame_backward_igd.g4b"
+};
+static const uint32_t frame_f_b_igd_kernel_static[][4] = {
+ #include "frame_f_b_igd.g4b"
+};
+static const uint32_t field_forward_igd_kernel_static[][4] = {
+ #include "field_forward_igd.g4b"
+};
+static const uint32_t field_backward_igd_kernel_static[][4] = {
+ #include "field_backward_igd.g4b"
+};
+static const uint32_t field_f_b_igd_kernel_static[][4] = {
+ #include "field_f_b_igd.g4b"
+};
+static const uint32_t dual_prime_igd_kernel_static[][4]= {
+ #include "dual_prime_igd.g4b"
+};
#define ALIGN(i,m) (((i) + (m) - 1) & ~((m) - 1))
@@ -103,6 +124,7 @@ struct media_state {
unsigned long null_kernel_offset;
unsigned long surface_offsets[MAX_SURFACE_NUM];
unsigned long binding_table_offset;
+ unsigned int is_igd_gm:1;
};
struct media_state media_state;
@@ -318,11 +340,14 @@ static void state_base_address(int offset)
}
/* select media pipeline */
-static void pipeline_select()
+static void pipeline_select(struct media_state *media_state)
{
BATCH_LOCALS;
BEGIN_BATCH(1);
- OUT_BATCH(BRW_PIPELINE_SELECT | PIPELINE_SELECT_MEDIA);
+ if (media_state->is_igd_gm)
+ OUT_BATCH(NEW_PIPELINE_SELECT | PIPELINE_SELECT_MEDIA);
+ else
+ OUT_BATCH(BRW_PIPELINE_SELECT | PIPELINE_SELECT_MEDIA);
ADVANCE_BATCH();
}
@@ -372,15 +397,30 @@ static void media_kernels(struct media_state *media_state)
#define LOAD_KERNEL(name) kernel = media_state->state_ptr +\
(media_state->name##_kernel_offset - media_state->state_base);\
memcpy(kernel, name##_kernel_static, sizeof(name##_kernel_static));
+#define LOAD_KERNEL_IGD(name) kernel = media_state->state_ptr +\
+ (media_state->name##_kernel_offset - media_state->state_base);\
+ memcpy(kernel, name##_igd_kernel_static, sizeof(name##_igd_kernel_static));
+
LOAD_KERNEL(ipicture);
LOAD_KERNEL(null);
- LOAD_KERNEL(frame_forward);
- LOAD_KERNEL(field_forward);
- LOAD_KERNEL(frame_backward);
- LOAD_KERNEL(field_backward);
- LOAD_KERNEL(frame_f_b);
- LOAD_KERNEL(field_f_b);
- LOAD_KERNEL(dual_prime);
+ if (media_state->is_igd_gm) {
+ LOAD_KERNEL_IGD(frame_forward);
+ LOAD_KERNEL_IGD(field_forward);
+ LOAD_KERNEL_IGD(frame_backward);
+ LOAD_KERNEL_IGD(field_backward);
+ LOAD_KERNEL_IGD(frame_f_b);
+ LOAD_KERNEL_IGD(field_f_b);
+ LOAD_KERNEL_IGD(dual_prime);
+
+ }else {
+ LOAD_KERNEL(frame_forward);
+ LOAD_KERNEL(field_forward);
+ LOAD_KERNEL(frame_backward);
+ LOAD_KERNEL(field_backward);
+ LOAD_KERNEL(frame_f_b);
+ LOAD_KERNEL(field_f_b);
+ LOAD_KERNEL(dual_prime);
+ }
}
static void setup_interface(struct media_state *media_state,
@@ -464,30 +504,55 @@ static void calc_state_layouts(struct media_state *media_state)
media_state->ipicture_kernel_offset =
ALIGN(media_state->surface_offsets[MAX_SURFACE_NUM - 1]
+ sizeof(struct brw_surface_state) , 64);
+
media_state->frame_forward_kernel_offset =
- ALIGN(media_state->ipicture_kernel_offset +
- sizeof(ipicture_kernel_static), 64);
- media_state->field_forward_kernel_offset =
- ALIGN(media_state->frame_forward_kernel_offset +
- sizeof(frame_forward_kernel_static), 64);
- media_state->frame_backward_kernel_offset =
- ALIGN(media_state->field_forward_kernel_offset +
- sizeof(field_forward_kernel_static), 64);
- media_state->field_backward_kernel_offset =
- ALIGN(media_state->frame_backward_kernel_offset +
- sizeof(frame_backward_kernel_static), 64);
- media_state->frame_f_b_kernel_offset =
- ALIGN(media_state->field_backward_kernel_offset +
- sizeof(field_backward_kernel_static), 64);
- media_state->field_f_b_kernel_offset =
- ALIGN(media_state->frame_f_b_kernel_offset +
- sizeof(frame_f_b_kernel_static), 64);
- media_state->null_kernel_offset =
- ALIGN(media_state->field_f_b_kernel_offset +
- sizeof(field_f_b_kernel_static), 64);
- media_state->dual_prime_kernel_offset =
- ALIGN(media_state->null_kernel_offset +
- sizeof(null_kernel_static), 64);
+ ALIGN(media_state->ipicture_kernel_offset +
+ sizeof(ipicture_kernel_static), 64);
+ if(!media_state->is_igd_gm) {
+ media_state->field_forward_kernel_offset =
+ ALIGN(media_state->frame_forward_kernel_offset +
+ sizeof(frame_forward_kernel_static), 64);
+ media_state->frame_backward_kernel_offset =
+ ALIGN(media_state->field_forward_kernel_offset +
+ sizeof(field_forward_kernel_static), 64);
+ media_state->field_backward_kernel_offset =
+ ALIGN(media_state->frame_backward_kernel_offset +
+ sizeof(frame_backward_kernel_static), 64);
+ media_state->frame_f_b_kernel_offset =
+ ALIGN(media_state->field_backward_kernel_offset +
+ sizeof(field_backward_kernel_static), 64);
+ media_state->field_f_b_kernel_offset =
+ ALIGN(media_state->frame_f_b_kernel_offset +
+ sizeof(frame_f_b_kernel_static), 64);
+ media_state->null_kernel_offset =
+ ALIGN(media_state->field_f_b_kernel_offset +
+ sizeof(field_f_b_kernel_static), 64);
+ media_state->dual_prime_kernel_offset =
+ ALIGN(media_state->null_kernel_offset +
+ sizeof(null_kernel_static), 64);
+ } else {
+ media_state->field_forward_kernel_offset =
+ ALIGN(media_state->frame_forward_kernel_offset +
+ sizeof(frame_forward_igd_kernel_static), 64);
+ media_state->frame_backward_kernel_offset =
+ ALIGN(media_state->field_forward_kernel_offset +
+ sizeof(field_forward_igd_kernel_static), 64);
+ media_state->field_backward_kernel_offset =
+ ALIGN(media_state->frame_backward_kernel_offset +
+ sizeof(frame_backward_igd_kernel_static), 64);
+ media_state->frame_f_b_kernel_offset =
+ ALIGN(media_state->field_backward_kernel_offset +
+ sizeof(field_backward_igd_kernel_static), 64);
+ media_state->field_f_b_kernel_offset =
+ ALIGN(media_state->frame_f_b_kernel_offset +
+ sizeof(frame_f_b_igd_kernel_static), 64);
+ media_state->null_kernel_offset =
+ ALIGN(media_state->field_f_b_kernel_offset +
+ sizeof(field_f_b_igd_kernel_static), 64);
+ media_state->dual_prime_kernel_offset =
+ ALIGN(media_state->null_kernel_offset +
+ sizeof(null_kernel_static), 64);
+ }
}
static Status render_surface(Display *display,
@@ -575,7 +640,7 @@ static Status render_surface(Display *display,
flush();
clear_sf_state();
clear_urb_state();
- pipeline_select();
+ pipeline_select(&media_state);
urb_layout();
media_state_pointers(&media_state);
cs_urb_layout();
@@ -661,6 +726,7 @@ static Status create_context(Display *display, XvMCContext *context,
{
media_state.state_base = i965_ctx->static_buffer.offset;
media_state.state_ptr = i965_ctx->static_buffer.ptr;
+ media_state.is_igd_gm = i965_ctx->is_igd_gm;
media_state.binding_table_entry_count = MAX_SURFACE_NUM;
calc_state_layouts(&media_state);
vfe_state(&media_state);
diff --git a/src/xvmc/motion_field_uv_igd.g4i b/src/xvmc/motion_field_uv_igd.g4i
new file mode 100644
index 00000000..d4eba848
--- /dev/null
+++ b/src/xvmc/motion_field_uv_igd.g4i
@@ -0,0 +1,46 @@
+/*
+ * Copyright © 2008 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Author:
+ * Zou Nan hai <nanhai.zou@intel.com>
+ * Zhang Hua jun <huajun.zhang@intel.com>
+ * Xing Dong sheng <dongsheng.xing@intel.com>
+ *
+ */
+ and.z (1) null mv1<1,1,1>UW 2UW {align1};
+ (f0) jmpi L1;
+ and.z (1) null mv2<1,1,1>UW 2UW {align1};
+ (f0) jmpi L2;
+ include(`read_field_x1y1_uv_igd.g4i')
+ jmpi L5;
+L2:
+ include(`read_field_x1y0_uv_igd.g4i')
+ jmpi L5;
+L1:
+ and.z (1) null mv2<1,1,1>UW 2UW {align1};
+ (f0) jmpi L4;
+ include(`read_field_x0y1_uv_igd.g4i')
+ jmpi L5;
+L4:
+ include(`read_field_x0y0_uv_igd.g4i')
+L5:
+
diff --git a/src/xvmc/motion_field_y_igd.g4i b/src/xvmc/motion_field_y_igd.g4i
new file mode 100644
index 00000000..bd55cb22
--- /dev/null
+++ b/src/xvmc/motion_field_y_igd.g4i
@@ -0,0 +1,45 @@
+/*
+ * Copyright © 2008 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Author:
+ * Zou Nan hai <nanhai.zou@intel.com>
+ * Zhang Hua jun <huajun.zhang@intel.com>
+ * Xing Dong sheng <dongsheng.xing@intel.com>
+ *
+ */
+ and.z (1) null mv1<1,1,1>UW 1UW {align1};
+ (f0) jmpi L1;
+ and.z (1) null mv2<1,1,1>UW 1UW {align1};
+ (f0) jmpi L2;
+ include(`read_field_x1y1_y_igd.g4i')
+ jmpi L5;
+L2:
+ include(`read_field_x1y0_y_igd.g4i')
+ jmpi L5;
+L1:
+ and.z (1) null mv2<1,1,1>UW 1UW {align1};
+ (f0) jmpi L4;
+ include(`read_field_x0y1_y_igd.g4i')
+ jmpi L5;
+L4:
+ include(`read_field_x0y0_y_igd.g4i')
+L5:
diff --git a/src/xvmc/motion_frame_uv_igd.g4i b/src/xvmc/motion_frame_uv_igd.g4i
new file mode 100644
index 00000000..2e359fd0
--- /dev/null
+++ b/src/xvmc/motion_frame_uv_igd.g4i
@@ -0,0 +1,29 @@
+/*
+ * Copyright © 2008 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Author:
+ * Zou Nan hai <nanhai.zou@intel.com>
+ * Zhang Hua jun <huajun.zhang@intel.com>
+ * Xing Dong sheng <dongsheng.xing@intel.com>
+ */
+
+ include(`read_frame_x0y0_uv_igd.g4i')
diff --git a/src/xvmc/motion_frame_y_igd.g4i b/src/xvmc/motion_frame_y_igd.g4i
new file mode 100644
index 00000000..911a8f40
--- /dev/null
+++ b/src/xvmc/motion_frame_y_igd.g4i
@@ -0,0 +1,57 @@
+/*
+ * Copyright © 2008 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Author:
+ * Zou Nan hai <nanhai.zou@intel.com>
+ */
+
+/* if (motion_vect.x & 1) {
+ * if (motion_vect.y & 1)
+ * half_pixel in x and y;
+ * else
+ * half_pixel in x;
+ * } else {
+ * if (motion_vect.y & 1)
+ * half_pixel y;
+ * else
+ * full_pixel_read;
+ * }
+ */
+
+ and.z (1) null mv1<1,1,1>UW 1UD {align1};
+ (f0) jmpi LL1;
+ and.z (1) null mv2<1,1,1>UW 1UD {align1};
+ (f0) jmpi LL2;
+ include(`read_frame_x1y1_y_igd.g4i')
+ jmpi LL5;
+LL2:
+ include(`read_frame_x1y0_y_igd.g4i')
+ jmpi LL5;
+LL1:
+ and.z (1) null mv2<1,1,1>UW 1UD {align1};
+ (f0) jmpi LL4;
+ include(`read_frame_x0y1_y_igd.g4i')
+ jmpi LL5;
+LL4:
+ include(`read_frame_x0y0_y_igd.g4i')
+LL5:
+
diff --git a/src/xvmc/read_field_x0y0_uv_igd.g4i b/src/xvmc/read_field_x0y0_uv_igd.g4i
new file mode 100644
index 00000000..c03a83d7
--- /dev/null
+++ b/src/xvmc/read_field_x0y0_uv_igd.g4i
@@ -0,0 +1,40 @@
+/*
+ * Copyright © 2008 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Author:
+ * Zou Nan hai <nanhai.zou@intel.com>
+ * Zhang Hua jun <huajun.zhang@intel.com>
+ * Xing Dong sheng <dongsheng.xing@intel.com>
+ *
+ */
+mov (1) g115.8<1>UD 0x7000FUD {align1}; // 8*16/32=4
+send (16) 0 g86.0<1>UW g115<16,8,1>UW read(surface_u, 2, 0, 2) mlen 1 rlen 4 {align1};//U
+send (16) 0 g91.0<1>UW g115<16,8,1>UW read(surface_v, 2, 0, 2) mlen 1 rlen 4 {align1};//V
+
+mov (16) g78.0<1>UW g86.0<16,8,1>UB {align1};
+mov (16) g79.0<1>UW g87.0<16,8,1>UB {align1};
+mov (16) g80.0<1>UW g88.0<16,8,1>UB {align1};
+mov (16) g81.0<1>UW g89.0<16,8,1>UB {align1};
+mov (16) g82.0<1>UW g91.0<16,8,1>UB {align1};
+mov (16) g83.0<1>UW g92.0<16,8,1>UB {align1};
+mov (16) g84.0<1>UW g93.0<16,8,1>UB {align1};
+mov (16) g85.0<1>UW g94.0<16,8,1>UB {align1};
diff --git a/src/xvmc/read_field_x0y0_y_igd.g4i b/src/xvmc/read_field_x0y0_y_igd.g4i
new file mode 100644
index 00000000..294cfb4d
--- /dev/null
+++ b/src/xvmc/read_field_x0y0_y_igd.g4i
@@ -0,0 +1,48 @@
+/*
+ * Copyright © 2008 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Author:
+ * Zou Nan hai <nanhai.zou@intel.com>
+ * Zhang Hua jun <huajun.zhang@intel.com>
+ * Xing Dong sheng <dongsheng.xing@intel.com>
+ *
+ */
+mov (1) g115.8<1>UD 0x01FUD {align1};
+send (16) 0 g78.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
+add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
+send (16) 0 g80.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
+add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
+send (16) 0 g82.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
+add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
+send (16) 0 g84.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
+add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
+mov (1) g115.8<1>UD 0x07001FUD {align1};
+send (16) 0 g86.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 8 {align1};
+
+mov (16) g96.0<1>UW g78.0<16,16,1>UB {align1};
+mov (16) g97.0<1>UW g80.0<16,16,1>UB {align1};
+mov (16) g98.0<1>UW g82.0<16,16,1>UB {align1};
+mov (16) g99.0<1>UW g84.0<16,16,1>UB {align1};
+mov (16) g100.0<1>UW g86.0<16,16,1>UB {align1};
+mov (16) g101.0<1>UW g88.0<16,16,1>UB {align1};
+mov (16) g102.0<1>UW g90.0<16,16,1>UB {align1};
+mov (16) g103.0<1>UW g92.0<16,16,1>UB {align1};
diff --git a/src/xvmc/read_field_x0y1_uv_igd.g4i b/src/xvmc/read_field_x0y1_uv_igd.g4i
new file mode 100644
index 00000000..9e8efa0a
--- /dev/null
+++ b/src/xvmc/read_field_x0y1_uv_igd.g4i
@@ -0,0 +1,43 @@
+/*
+ * Copyright © 2008 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Author:
+ * Zou Nan hai <nanhai.zou@intel.com>
+ * Zhang Hua jun <huajun.zhang@intel.com>
+ * Xing Dong sheng <dongsheng.xing@intel.com>
+ *
+ */
+mov (1) g115.8<1>UD 0x07000FUD {align1}; // 8*16/32=4
+send (16) 0 g86.0<1>UW g115<16,8,1>UW read(surface_u, 2, 0, 2) mlen 1 rlen 4 {align1};//U
+send (16) 0 g91.0<1>UW g115<16,8,1>UW read(surface_v, 2, 0, 2) mlen 1 rlen 4 {align1};//V
+mov (1) g115.8<1>UD 0xFUD {align1};
+send (16) 0 g90.0<1>UW g115<16,8,1>UW read(surface_u, 2, 0, 2) mlen 1 rlen 1 {align1};
+send (16) 0 g95.0<1>UW g115<16,8,1>UW read(surface_v, 2, 0, 2) mlen 1 rlen 1 {align1};
+
+avg.sat (16) g78.0<1>UW g86.0<16,8,1>UB g87.0<16,8,1>UB {align1};
+avg.sat (16) g79.0<1>UW g87.0<16,8,1>UB g88.0<16,8,1>UB {align1};
+avg.sat (16) g80.0<1>UW g88.0<16,8,1>UB g89.0<16,8,1>UB {align1};
+avg.sat (16) g81.0<1>UW g89.0<16,8,1>UB g90.0<16,8,1>UB {align1};
+avg.sat (16) g82.0<1>UW g91.0<16,8,1>UB g92.0<16,8,1>UB {align1};
+avg.sat (16) g83.0<1>UW g92.0<16,8,1>UB g93.0<16,8,1>UB {align1};
+avg.sat (16) g84.0<1>UW g93.0<16,8,1>UB g94.0<16,8,1>UB {align1};
+avg.sat (16) g85.0<1>UW g94.0<16,8,1>UB g95.0<16,8,1>UB {align1};
diff --git a/src/xvmc/read_field_x0y1_y_igd.g4i b/src/xvmc/read_field_x0y1_y_igd.g4i
new file mode 100644
index 00000000..e48211b6
--- /dev/null
+++ b/src/xvmc/read_field_x0y1_y_igd.g4i
@@ -0,0 +1,51 @@
+/*
+ * Copyright © 2008 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Author:
+ * Zou Nan hai <nanhai.zou@intel.com>
+ * Zhang Hua jun <huajun.zhang@intel.com>
+ * Xing Dong sheng <dongsheng.xing@intel.com>
+ *
+ */
+mov (1) g115.8<1>UD 0x01FUD {align1};
+send (16) 0 g78.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
+add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
+send (16) 0 g80.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
+add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
+send (16) 0 g82.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
+add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
+send (16) 0 g84.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
+add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
+mov (1) g115.8<1>UD 0x07001FUD {align1};
+send (16) 0 g86.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 8 {align1};
+add (1) g115.4<1>UD g115.4<1,1,1>UD 8UD {align1};
+mov (1) g115.8<1>UD 0x1FUD {align1};
+send (16) 0 g94.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
+
+avg.sat (16) g96.0<1>UW g78.0<16,16,1>UB g80.0<16,16,1>UB {align1};
+avg.sat (16) g97.0<1>UW g80.0<16,16,1>UB g82.0<16,16,1>UB {align1};
+avg.sat (16) g98.0<1>UW g82.0<16,16,1>UB g84.0<16,16,1>UB {align1};
+avg.sat (16) g99.0<1>UW g84.0<16,16,1>UB g86.0<16,16,1>UB {align1};
+avg.sat (16) g100.0<1>UW g86.0<16,16,1>UB g88.0<16,16,1>UB {align1};
+avg.sat (16) g101.0<1>UW g88.0<16,16,1>UB g90.0<16,16,1>UB {align1};
+avg.sat (16) g102.0<1>UW g90.0<16,16,1>UB g92.0<16,16,1>UB {align1};
+avg.sat (16) g103.0<1>UW g92.0<16,16,1>UB g94.0<16,16,1>UB {align1};
diff --git a/src/xvmc/read_field_x1y0_uv_igd.g4i b/src/xvmc/read_field_x1y0_uv_igd.g4i
new file mode 100644
index 00000000..fc56acce
--- /dev/null
+++ b/src/xvmc/read_field_x1y0_uv_igd.g4i
@@ -0,0 +1,40 @@
+/*
+ * Copyright © 2008 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Author:
+ * Zou Nan hai <nanhai.zou@intel.com>
+ * Zhang Hua jun <huajun.zhang@intel.com>
+ * Xing Dong sheng <dongsheng.xing@intel.com>
+ *
+ */
+mov (1) g115.8<1>UD 0x07000FUD {align1}; // 8*16/32=4
+send (16) 0 g86.0<1>UW g115<16,8,1>UW read(surface_u, 2, 0, 2) mlen 1 rlen 4 {align1};//U
+send (16) 0 g91.0<1>UW g115<16,8,1>UW read(surface_v, 2, 0, 2) mlen 1 rlen 4 {align1};//V
+
+avg.sat (16) g78.0<1>UW g86.0<16,8,1>UB g86.1<16,8,1>UB {align1};
+avg.sat (16) g79.0<1>UW g87.0<16,8,1>UB g87.1<16,8,1>UB {align1};
+avg.sat (16) g80.0<1>UW g88.0<16,8,1>UB g88.1<16,8,1>UB {align1};
+avg.sat (16) g81.0<1>UW g89.0<16,8,1>UB g89.1<16,8,1>UB {align1};
+avg.sat (16) g82.0<1>UW g91.0<16,8,1>UB g91.1<16,8,1>UB {align1};
+avg.sat (16) g83.0<1>UW g92.0<16,8,1>UB g92.1<16,8,1>UB {align1};
+avg.sat (16) g84.0<1>UW g93.0<16,8,1>UB g93.1<16,8,1>UB {align1};
+avg.sat (16) g85.0<1>UW g94.0<16,8,1>UB g94.1<16,8,1>UB {align1};
diff --git a/src/xvmc/read_field_x1y0_y_igd.g4i b/src/xvmc/read_field_x1y0_y_igd.g4i
new file mode 100644
index 00000000..14394cab
--- /dev/null
+++ b/src/xvmc/read_field_x1y0_y_igd.g4i
@@ -0,0 +1,48 @@
+/*
+ * Copyright © 2008 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Author:
+ * Zou Nan hai <nanhai.zou@intel.com>
+ * Zhang Hua jun <huajun.zhang@intel.com>
+ * Xing Dong sheng <dongsheng.xing@intel.com>
+ *
+ */
+mov (1) g115.8<1>UD 0x01FUD {align1};
+send (16) 0 g78.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
+add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
+send (16) 0 g80.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
+add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
+send (16) 0 g82.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
+add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
+send (16) 0 g84.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
+add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
+mov (1) g115.8<1>UD 0x07001FUD {align1};
+send (16) 0 g86.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 8 {align1};
+
+avg.sat (16) g96.0<1>UW g78.0<16,16,1>UB g78.1<16,16,1>UB {align1};
+avg.sat (16) g97.0<1>UW g80.0<16,16,1>UB g80.1<16,16,1>UB {align1};
+avg.sat (16) g98.0<1>UW g82.0<16,16,1>UB g82.1<16,16,1>UB {align1};
+avg.sat (16) g99.0<1>UW g84.0<16,16,1>UB g84.1<16,16,1>UB {align1};
+avg.sat (16) g100.0<1>UW g86.0<16,16,1>UB g86.1<16,16,1>UB {align1};
+avg.sat (16) g101.0<1>UW g88.0<16,16,1>UB g88.1<16,16,1>UB {align1};
+avg.sat (16) g102.0<1>UW g90.0<16,16,1>UB g90.1<16,16,1>UB {align1};
+avg.sat (16) g103.0<1>UW g92.0<16,16,1>UB g92.1<16,16,1>UB {align1};
diff --git a/src/xvmc/read_field_x1y1_uv_igd.g4i b/src/xvmc/read_field_x1y1_uv_igd.g4i
new file mode 100644
index 00000000..10f48c8b
--- /dev/null
+++ b/src/xvmc/read_field_x1y1_uv_igd.g4i
@@ -0,0 +1,75 @@
+/*
+ * Copyright © 2008 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Author:
+ * Zou Nan hai <nanhai.zou@intel.com>
+ * Zhang Hua jun <huajun.zhang@intel.com>
+ * Xing Dong sheng <dongsheng.xing@intel.com>
+ *
+ */
+mov (1) g115.8<1>UD 0x07000FUD {align1};
+send (16) 0 g86.0<1>UW g115<16,8,1>UW read(surface_u, 2, 0, 2) mlen 1 rlen 4 {align1};//U
+send (16) 0 g91.0<1>UW g115<16,8,1>UW read(surface_v, 2, 0, 2) mlen 1 rlen 4 {align1};//V
+mov (1) g115.8<1>UD 0x01000FUD {align1};
+add (1) g115.4<1>UD g115.4<1,1,1>UD 8UD {align1};
+send (16) 0 g90.0<1>UW g115<16,8,1>UW read(surface_u, 2, 0, 2) mlen 1 rlen 1 {align1};
+send (16) 0 g95.0<1>UW g115<16,8,1>UW read(surface_v, 2, 0, 2) mlen 1 rlen 1 {align1};
+//U
+add (16) g78.0<1>UW g86.0<16,8,1>UB g87.0<16,8,1>UB {align1};
+add (16) g79.0<1>UW g87.0<16,8,1>UB g88.0<16,8,1>UB {align1};
+add (16) g80.0<1>UW g88.0<16,8,1>UB g89.0<16,8,1>UB {align1};
+add (16) g81.0<1>UW g89.0<16,8,1>UB g90.0<16,8,1>UB {align1};
+
+add (16) g78.0<1>UW g78.0<16,8,1>UW g86.1<16,8,1>UB {align1};
+add (16) g79.0<1>UW g79.0<16,8,1>UW g87.1<16,8,1>UB {align1};
+add (16) g80.0<1>UW g80.0<16,8,1>UW g88.1<16,8,1>UB {align1};
+add (16) g81.0<1>UW g81.0<16,8,1>UW g89.1<16,8,1>UB {align1};
+
+add (16) g78.0<1>UW g78.0<16,8,1>UW g87.1<16,8,1>UB {align1};
+add (16) g79.0<1>UW g79.0<16,8,1>UW g88.1<16,8,1>UB {align1};
+add (16) g80.0<1>UW g80.0<16,8,1>UW g89.1<16,8,1>UB {align1};
+add (16) g81.0<1>UW g81.0<16,8,1>UW g90.1<16,8,1>UB {align1};
+//V
+add (16) g82.0<1>UW g91.0<16,8,1>UB g92.0<16,8,1>UB {align1};
+add (16) g83.0<1>UW g92.0<16,8,1>UB g93.0<16,8,1>UB {align1};
+add (16) g84.0<1>UW g93.0<16,8,1>UB g94.0<16,8,1>UB {align1};
+add (16) g85.0<1>UW g94.0<16,8,1>UB g95.0<16,8,1>UB {align1};
+
+add (16) g82.0<1>UW g82.0<16,8,1>UW g91.1<16,8,1>UB {align1};
+add (16) g83.0<1>UW g83.0<16,8,1>UW g92.1<16,8,1>UB {align1};
+add (16) g84.0<1>UW g84.0<16,8,1>UW g93.1<16,8,1>UB {align1};
+add (16) g85.0<1>UW g85.0<16,8,1>UW g94.1<16,8,1>UB {align1};
+
+add (16) g82.0<1>UW g82.0<16,8,1>UW g92.1<16,8,1>UB {align1};
+add (16) g83.0<1>UW g83.0<16,8,1>UW g93.1<16,8,1>UB {align1};
+add (16) g84.0<1>UW g84.0<16,8,1>UW g94.1<16,8,1>UB {align1};
+add (16) g85.0<1>UW g85.0<16,8,1>UW g95.1<16,8,1>UB {align1};
+
+shr.sat (16) g78.0<1>UW g78.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g79.0<1>UW g79.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g80.0<1>UW g80.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g81.0<1>UW g81.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g82.0<1>UW g82.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g83.0<1>UW g83.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g84.0<1>UW g84.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g85.0<1>UW g85.0<16,16,1>UW 2UW {align1};
+
diff --git a/src/xvmc/read_field_x1y1_y_igd.g4i b/src/xvmc/read_field_x1y1_y_igd.g4i
new file mode 100644
index 00000000..39526c89
--- /dev/null
+++ b/src/xvmc/read_field_x1y1_y_igd.g4i
@@ -0,0 +1,78 @@
+/*
+ * Copyright © 2008 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Author:
+ * Zou Nan hai <nanhai.zou@intel.com>
+ * Zhang Hua jun <huajun.zhang@intel.com>
+ * Xing Dong sheng <dongsheng.xing@intel.com>
+ *
+ */
+mov (1) g115.8<1>UD 0x01FUD {align1};
+send (16) 0 g78.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
+add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
+send (16) 0 g80.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
+add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
+send (16) 0 g82.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
+add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
+send (16) 0 g84.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
+add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
+mov (1) g115.8<1>UD 0x07001FUD {align1};
+send (16) 0 g86.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 8 {align1};
+add (1) g115.4<1>UD g115.4<1,1,1>UD 8UD {align1};
+mov (1) g115.8<1>UD 0x1FUD {align1};
+send (16) 0 g94.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
+
+add (16) g96.0<1>UW g78.0<16,16,1>UB g80.0<16,16,1>UB {align1};
+add (16) g97.0<1>UW g80.0<16,16,1>UB g82.0<16,16,1>UB {align1};
+add (16) g98.0<1>UW g82.0<16,16,1>UB g84.0<16,16,1>UB {align1};
+add (16) g99.0<1>UW g84.0<16,16,1>UB g86.0<16,16,1>UB {align1};
+add (16) g100.0<1>UW g86.0<16,16,1>UB g88.0<16,16,1>UB {align1};
+add (16) g101.0<1>UW g88.0<16,16,1>UB g90.0<16,16,1>UB {align1};
+add (16) g102.0<1>UW g90.0<16,16,1>UB g92.0<16,16,1>UB {align1};
+add (16) g103.0<1>UW g92.0<16,16,1>UB g94.0<16,16,1>UB {align1};
+
+add (16) g96.0<1>UW g96.0<16,16,1>UW g78.1<16,16,1>UB {align1};
+add (16) g97.0<1>UW g97.0<16,16,1>UW g80.1<16,16,1>UB {align1};
+add (16) g98.0<1>UW g98.0<16,16,1>UW g82.1<16,16,1>UB {align1};
+add (16) g99.0<1>UW g99.0<16,16,1>UW g84.1<16,16,1>UB {align1};
+add (16) g100.0<1>UW g100.0<16,16,1>UW g86.1<16,16,1>UB {align1};
+add (16) g101.0<1>UW g101.0<16,16,1>UW g88.1<16,16,1>UB {align1};
+add (16) g102.0<1>UW g102.0<16,16,1>UW g90.1<16,16,1>UB {align1};
+add (16) g103.0<1>UW g103.0<16,16,1>UW g92.1<16,16,1>UB {align1};
+
+add (16) g96.0<1>UW g96.0<16,16,1>UW g80.1<16,16,1>UB {align1};
+add (16) g97.0<1>UW g97.0<16,16,1>UW g82.1<16,16,1>UB {align1};
+add (16) g98.0<1>UW g98.0<16,16,1>UW g84.1<16,16,1>UB {align1};
+add (16) g99.0<1>UW g99.0<16,16,1>UW g86.1<16,16,1>UB {align1};
+add (16) g100.0<1>UW g100.0<16,16,1>UW g88.1<16,16,1>UB {align1};
+add (16) g101.0<1>UW g101.0<16,16,1>UW g90.1<16,16,1>UB {align1};
+add (16) g102.0<1>UW g102.0<16,16,1>UW g92.1<16,16,1>UB {align1};
+add (16) g103.0<1>UW g103.0<16,16,1>UW g94.1<16,16,1>UB {align1};
+
+shr (16) g96.0<1>UW g96.0<16,16,1>UW 2UW {align1};
+shr (16) g97.0<1>UW g97.0<16,16,1>UW 2UW {align1};
+shr (16) g98.0<1>UW g98.0<16,16,1>UW 2UW {align1};
+shr (16) g99.0<1>UW g99.0<16,16,1>UW 2UW {align1};
+shr (16) g100.0<1>UW g100.0<16,16,1>UW 2UW {align1};
+shr (16) g101.0<1>UW g101.0<16,16,1>UW 2UW {align1};
+shr (16) g102.0<1>UW g102.0<16,16,1>UW 2UW {align1};
+shr (16) g103.0<1>UW g103.0<16,16,1>UW 2UW {align1};
diff --git a/src/xvmc/read_frame_x0y0_uv_igd.g4i b/src/xvmc/read_frame_x0y0_uv_igd.g4i
new file mode 100644
index 00000000..d522d0ef
--- /dev/null
+++ b/src/xvmc/read_frame_x0y0_uv_igd.g4i
@@ -0,0 +1,39 @@
+/*
+ * Copyright © 2008 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Author:
+ * Zou Nan hai <nanhai.zou@intel.com>
+ * Zhang Hua jun <huajun.zhang@intel.com>
+ * Xing Dong sheng <dongsheng.xing@intel.com>
+ *
+ */
+send (16) 0 g86.0<1>UW g2<8,8,1>UW read(input_surface1, 2, 0, 2) mlen 1 rlen 4 {align1};
+send (16) 0 g90.0<1>UW g2<8,8,1>UW read(input_surface2, 2, 0, 2) mlen 1 rlen 4 {align1};
+
+mov (16) g44.0<1>UW g86.0<16,8,1>UB {align1};
+mov (16) g45.0<1>UW g87.0<16,8,1>UB {align1};
+mov (16) g46.0<1>UW g88.0<16,8,1>UB {align1};
+mov (16) g47.0<1>UW g89.0<16,8,1>UB {align1};
+mov (16) g48.0<1>UW g90.0<16,8,1>UB {align1};
+mov (16) g49.0<1>UW g91.0<16,8,1>UB {align1};
+mov (16) g50.0<1>UW g92.0<16,8,1>UB {align1};
+mov (16) g51.0<1>UW g93.0<16,8,1>UB {align1};
diff --git a/src/xvmc/read_frame_x0y0_y_igd.g4i b/src/xvmc/read_frame_x0y0_y_igd.g4i
new file mode 100644
index 00000000..6191abf1
--- /dev/null
+++ b/src/xvmc/read_frame_x0y0_y_igd.g4i
@@ -0,0 +1,50 @@
+/*
+ * Copyright © 2008 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Author:
+ * Zou Nan hai <nanhai.zou@intel.com>
+ * Zhang Hua jun <huajun.zhang@intel.com>
+ * Xing Dong sheng <dongsheng.xing@intel.com>
+ *
+ */
+mov (1) g2.8<1>UD 0x007001FUD {align1};
+send (16) 0 g98.0<1>UW g2<8,8,1>UW read(input_surface, 2, 0, 2) mlen 1 rlen 8 {align1};
+add (1) g2.4<1>UD g2.4<1,1,1>UD 8UD {align1};
+send (16) 0 g106.0<1>UW g2<8,8,1>UW read(input_surface, 2, 0, 2) mlen 1 rlen 8 {align1};
+
+
+mov (16) g28.0<1>UW g98.0<16,16,1>UB {align1};
+mov (16) g29.0<1>UW g99.0<16,16,1>UB {align1};
+mov (16) g30.0<1>UW g100.0<16,16,1>UB {align1};
+mov (16) g31.0<1>UW g101.0<16,16,1>UB {align1};
+mov (16) g32.0<1>UW g102.0<16,16,1>UB {align1};
+mov (16) g33.0<1>UW g103.0<16,16,1>UB {align1};
+mov (16) g34.0<1>UW g104.0<16,16,1>UB {align1};
+mov (16) g35.0<1>UW g105.0<16,16,1>UB {align1};
+mov (16) g36.0<1>UW g106.0<16,16,1>UB {align1};
+mov (16) g37.0<1>UW g107.0<16,16,1>UB {align1};
+mov (16) g38.0<1>UW g108.0<16,16,1>UB {align1};
+mov (16) g39.0<1>UW g109.0<16,16,1>UB {align1};
+mov (16) g40.0<1>UW g110.0<16,16,1>UB {align1};
+mov (16) g41.0<1>UW g111.0<16,16,1>UB {align1};
+mov (16) g42.0<1>UW g112.0<16,16,1>UB {align1};
+mov (16) g43.0<1>UW g113.0<16,16,1>UB {align1};
diff --git a/src/xvmc/read_frame_x0y1_uv_igd.g4i b/src/xvmc/read_frame_x0y1_uv_igd.g4i
new file mode 100644
index 00000000..7240b3f2
--- /dev/null
+++ b/src/xvmc/read_frame_x0y1_uv_igd.g4i
@@ -0,0 +1,44 @@
+/*
+ * Copyright © 2008 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDINg BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINgEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIgHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAgES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISINg FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINgS IN THE
+ * SOFTWARE.
+ *
+ * Author:
+ * Zou Nan hai <nanhai.zou@intel.com>
+ * Zhang Hua jun <huajun.zhang@intel.com>
+ * Xing Dong sheng <dongsheng.xing@intel.com>
+ *
+ */
+send (16) 0 g86.0<1>UW g2<8,8,1>UW read(input_surface1, 2, 0, 2) mlen 1 rlen 4 {align1};
+send (16) 0 g94.0<1>UW g2<8,8,1>UW read(input_surface2, 2, 0, 2) mlen 1 rlen 4 {align1};
+mov (1) g2.8<1>UD 0x01001FUD {align1};
+add (1) g2.4<1>UD g2.4<1,1,1>UD 8UD {align1};
+send (16) 0 g90.0<1>UW g2<8,8,1>UW read(input_surface1, 2, 0, 2) mlen 1 rlen 1 {align1};
+send (16) 0 g98.0<1>UW g2<8,8,1>UW read(input_surface2, 2, 0, 2) mlen 1 rlen 1 {align1};
+mov (1) g2.8<1>UD 0x007000fUD {align1};
+
+avg.sat (16) g44.0<1>UW g86.0<16,8,1>UB g87.0<16,8,1>UB{align1};
+avg.sat (16) g45.0<1>UW g87.0<16,8,1>UB g88.0<16,8,1>UB{align1};
+avg.sat (16) g46.0<1>UW g88.0<16,8,1>UB g89.0<16,8,1>UB{align1};
+avg.sat (16) g47.0<1>UW g89.0<16,8,1>UB g90.0<16,8,1>UB{align1};
+avg.sat (16) g48.0<1>UW g94.0<16,8,1>UB g95.0<16,8,1>UB{align1};
+avg.sat (16) g49.0<1>UW g95.0<16,8,1>UB g96.0<16,8,1>UB{align1};
+avg.sat (16) g50.0<1>UW g96.0<16,8,1>UB g97.0<16,8,1>UB{align1};
+avg.sat (16) g51.0<1>UW g97.0<16,8,1>UB g98.0<16,8,1>UB{align1};
diff --git a/src/xvmc/read_frame_x0y1_y_igd.g4i b/src/xvmc/read_frame_x0y1_y_igd.g4i
new file mode 100644
index 00000000..106296bb
--- /dev/null
+++ b/src/xvmc/read_frame_x0y1_y_igd.g4i
@@ -0,0 +1,54 @@
+/*
+ * Copyright © 2008 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Author:
+ * Zou Nan hai <nanhai.zou@intel.com>
+ * Zhang Hua jun <huajun.zhang@intel.com>
+ * Xing Dong sheng <dongsheng.xing@intel.com>
+ *
+ */
+mov (1) g2.8<1>UD 0x007001FUD {align1};
+send (16) 0 g98.0<1>UW g2<8,8,1>UW read(input_surface, 2, 0, 2) mlen 1 rlen 8 {align1};
+
+add (1) g2.4<1>UD g2.4<1,1,1>UD 8UD {align1};
+send (16) 0 g106.0<1>UW g2<8,8,1>UW read(input_surface, 2, 0, 2) mlen 1 rlen 8 {align1};
+add (1) g2.4<1>UD g2.4<1,1,1>UD 8UD {align1};
+mov (1) g2.8<1>UD 0x1FUD {align1};
+send (16) 0 g120.0<1>UW g2<8,8,1>UW read(input_surface, 2, 0, 2) mlen 1 rlen 1 {align1};
+
+
+avg.sat (16) g28.0<1>UW g98.0<16,16,1>UB g99.0<16,16,1>UB {align1};
+avg.sat (16) g29.0<1>UW g99.0<16,16,1>UB g100.0<16,16,1>UB {align1};
+avg.sat (16) g30.0<1>UW g100.0<16,16,1>UB g101.0<16,16,1>UB {align1};
+avg.sat (16) g31.0<1>UW g101.0<16,16,1>UB g102.0<16,16,1>UB {align1};
+avg.sat (16) g32.0<1>UW g102.0<16,16,1>UB g103.0<16,16,1>UB {align1};
+avg.sat (16) g33.0<1>UW g103.0<16,16,1>UB g104.0<16,16,1>UB {align1};
+avg.sat (16) g34.0<1>UW g104.0<16,16,1>UB g105.0<16,16,1>UB {align1};
+avg.sat (16) g35.0<1>UW g105.0<16,16,1>UB g106.0<16,16,1>UB {align1};
+avg.sat (16) g36.0<1>UW g106.0<16,16,1>UB g107.0<16,16,1>UB {align1};
+avg.sat (16) g37.0<1>UW g107.0<16,16,1>UB g108.0<16,16,1>UB {align1};
+avg.sat (16) g38.0<1>UW g108.0<16,16,1>UB g109.0<16,16,1>UB {align1};
+avg.sat (16) g39.0<1>UW g109.0<16,16,1>UB g110.0<16,16,1>UB {align1};
+avg.sat (16) g40.0<1>UW g110.0<16,16,1>UB g111.0<16,16,1>UB {align1};
+avg.sat (16) g41.0<1>UW g111.0<16,16,1>UB g112.0<16,16,1>UB {align1};
+avg.sat (16) g42.0<1>UW g112.0<16,16,1>UB g113.0<16,16,1>UB {align1};
+avg.sat (16) g43.0<1>UW g113.0<16,16,1>UB g120.0<16,16,1>UB {align1};
diff --git a/src/xvmc/read_frame_x1y0_uv_igd.g4i b/src/xvmc/read_frame_x1y0_uv_igd.g4i
new file mode 100644
index 00000000..c63e8ecd
--- /dev/null
+++ b/src/xvmc/read_frame_x1y0_uv_igd.g4i
@@ -0,0 +1,41 @@
+/*
+ * Copyright © 2008 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Author:
+ * Zou Nan hai <nanhai.zou@intel.com>
+ * Zhang Hua jun <huajun.zhang@intel.com>
+ * Xing Dong sheng <dongsheng.xing@intel.com>
+ *
+ */
+
+mov (1) g2.8<1>UD 0x007000FUD {align1};
+send (16) 0 g86.0<1>UW g2<8,8,1>UW read(input_surface1, 2, 0, 2) mlen 1 rlen 4 {align1};
+send (16) 0 g90.0<1>UW g2<8,8,1>UW read(input_surface2, 2, 0, 2) mlen 1 rlen 4 {align1};
+
+avg.sat (16) g44.0<1>UW g86.0<16,8,1>UB g86.1<16,8,1>UB{align1};
+avg.sat (16) g45.0<1>UW g87.0<16,8,1>UB g87.1<16,8,1>UB{align1};
+avg.sat (16) g46.0<1>UW g88.0<16,8,1>UB g88.1<16,8,1>UB{align1};
+avg.sat (16) g47.0<1>UW g89.0<16,8,1>UB g89.1<16,8,1>UB{align1};
+avg.sat (16) g48.0<1>UW g90.0<16,8,1>UB g90.1<16,8,1>UB{align1};
+avg.sat (16) g49.0<1>UW g91.0<16,8,1>UB g91.1<16,8,1>UB{align1};
+avg.sat (16) g50.0<1>UW g92.0<16,8,1>UB g92.1<16,8,1>UB{align1};
+avg.sat (16) g51.0<1>UW g93.0<16,8,1>UB g93.1<16,8,1>UB{align1};
diff --git a/src/xvmc/read_frame_x1y0_y_igd.g4i b/src/xvmc/read_frame_x1y0_y_igd.g4i
new file mode 100644
index 00000000..03ee54bd
--- /dev/null
+++ b/src/xvmc/read_frame_x1y0_y_igd.g4i
@@ -0,0 +1,51 @@
+/*
+ * Copyright © 2008 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Author:
+ * Zou Nan hai <nanhai.zou@intel.com>
+ * Zhang Hua jun <huajun.zhang@intel.com>
+ * Xing Dong sheng <dongsheng.xing@intel.com>
+ *
+ */
+mov (1) g2.8<1>UD 0x007001FUD {align1};
+send (16) 0 g98.0<1>UW g2<8,8,1>UW read(input_surface, 2, 0, 2) mlen 1 rlen 8 {align1};
+
+add (1) g2.4<1>UD g2.4<1,1,1>UD 8UD {align1};
+send (16) 0 g106.0<1>UW g2<8,8,1>UW read(input_surface, 2, 0, 2) mlen 1 rlen 8 {align1};
+
+
+avg.sat (16) g28.0<1>UW g98.0<16,16,1>UB g98.1<16,16,1>UB {align1};
+avg.sat (16) g29.0<1>UW g99.0<16,16,1>UB g99.1<16,16,1>UB {align1};
+avg.sat (16) g30.0<1>UW g100.0<16,16,1>UB g100.1<16,16,1>UB {align1};
+avg.sat (16) g31.0<1>UW g101.0<16,16,1>UB g101.1<16,16,1>UB {align1};
+avg.sat (16) g32.0<1>UW g102.0<16,16,1>UB g102.1<16,16,1>UB {align1};
+avg.sat (16) g33.0<1>UW g103.0<16,16,1>UB g103.1<16,16,1>UB {align1};
+avg.sat (16) g34.0<1>UW g104.0<16,16,1>UB g104.1<16,16,1>UB {align1};
+avg.sat (16) g35.0<1>UW g105.0<16,16,1>UB g105.1<16,16,1>UB {align1};
+avg.sat (16) g36.0<1>UW g106.0<16,16,1>UB g106.1<16,16,1>UB {align1};
+avg.sat (16) g37.0<1>UW g107.0<16,16,1>UB g107.1<16,16,1>UB {align1};
+avg.sat (16) g38.0<1>UW g108.0<16,16,1>UB g108.1<16,16,1>UB {align1};
+avg.sat (16) g39.0<1>UW g109.0<16,16,1>UB g109.1<16,16,1>UB {align1};
+avg.sat (16) g40.0<1>UW g110.0<16,16,1>UB g110.1<16,16,1>UB {align1};
+avg.sat (16) g41.0<1>UW g111.0<16,16,1>UB g111.1<16,16,1>UB {align1};
+avg.sat (16) g42.0<1>UW g112.0<16,16,1>UB g112.1<16,16,1>UB {align1};
+avg.sat (16) g43.0<1>UW g113.0<16,16,1>UB g113.1<16,16,1>UB {align1};
diff --git a/src/xvmc/read_frame_x1y1_uv_igd.g4i b/src/xvmc/read_frame_x1y1_uv_igd.g4i
new file mode 100644
index 00000000..96aada87
--- /dev/null
+++ b/src/xvmc/read_frame_x1y1_uv_igd.g4i
@@ -0,0 +1,71 @@
+/*
+ * Copyright © 2008 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Author:
+ * Zou Nan hai <nanhai.zou@intel.com>
+ * Zhang Hua jun <huajun.zhang@intel.com>
+ * Xing Dong sheng <dongsheng.xing@intel.com>
+ *
+ */
+send (16) 0 g86.0<1>UW g2<8,8,1>UW read(input_surface1, 2, 0, 2) mlen 1 rlen 4 {align1};
+send (16) 0 g94.0<1>UW g2<8,8,1>UW read(input_surface2, 2, 0, 2) mlen 1 rlen 4 {align1};
+mov (1) g2.8<1>UD 0x01001FUD {align1};
+add (1) g2.4<1>UD g2.4<1,1,1>UD 8D {align1};
+send (16) 0 g90.0<1>UW g2<8,8,1>UW read(input_surface1, 2, 0, 2) mlen 1 rlen 1 {align1};
+send (16) 0 g98.0<1>UW g2<8,8,1>UW read(input_surface2, 2, 0, 2) mlen 1 rlen 1 {align1};
+mov (1) g2.8<1>UD 0x007000fUD {align1};
+
+add (16) g44.0<1>UW g86.0<16,8,1>UB g86.1<16,8,1>UB{align1};
+add (16) g45.0<1>UW g87.0<16,8,1>UB g87.1<16,8,1>UB{align1};
+add (16) g46.0<1>UW g88.0<16,8,1>UB g88.1<16,8,1>UB{align1};
+add (16) g47.0<1>UW g89.0<16,8,1>UB g89.1<16,8,1>UB{align1};
+add (16) g44.0<1>UW g44.0<16,16,1>UW g87.0<16,8,1>UB{align1};
+add (16) g45.0<1>UW g45.0<16,16,1>UW g88.0<16,8,1>UB{align1};
+add (16) g46.0<1>UW g46.0<16,16,1>UW g89.0<16,8,1>UB{align1};
+add (16) g47.0<1>UW g47.0<16,16,1>UW g90.0<16,8,1>UB{align1};
+
+add (16) g44.0<1>UW g44.0<16,16,1>UW g87.1<16,8,1>UB{align1};
+add (16) g45.0<1>UW g45.0<16,16,1>UW g88.1<16,8,1>UB{align1};
+add (16) g46.0<1>UW g46.0<16,16,1>UW g89.1<16,8,1>UB{align1};
+add (16) g47.0<1>UW g47.0<16,16,1>UW g90.1<16,8,1>UB{align1};
+add (16) g48.0<1>UW g94.0<16,8,1>UB g95.0<16,8,1>UB{align1};
+add (16) g49.0<1>UW g95.0<16,8,1>UB g96.0<16,8,1>UB{align1};
+add (16) g50.0<1>UW g96.0<16,8,1>UB g97.0<16,8,1>UB{align1};
+add (16) g51.0<1>UW g97.0<16,8,1>UB g98.0<16,8,1>UB{align1};
+
+add (16) g48.0<1>UW g48.0<16,16,1>UW g94.1<16,8,1>UB{align1};
+add (16) g49.0<1>UW g49.0<16,16,1>UW g95.1<16,8,1>UB{align1};
+add (16) g50.0<1>UW g50.0<16,16,1>UW g96.1<16,8,1>UB{align1};
+add (16) g51.0<1>UW g51.0<16,16,1>UW g97.1<16,8,1>UB{align1};
+add (16) g48.0<1>UW g48.0<16,16,1>UW g95.1<16,8,1>UB{align1};
+add (16) g49.0<1>UW g49.0<16,16,1>UW g96.1<16,8,1>UB{align1};
+add (16) g50.0<1>UW g50.0<16,16,1>UW g97.1<16,8,1>UB{align1};
+add (16) g51.0<1>UW g51.0<16,16,1>UW g98.1<16,8,1>UB{align1};
+
+shr.sat (16) g44.0<1>UW g44.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g45.0<1>UW g45.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g46.0<1>UW g46.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g47.0<1>UW g47.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g48.0<1>UW g48.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g49.0<1>UW g49.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g50.0<1>UW g50.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g51.0<1>UW g51.0<16,16,1>UW 2UW {align1};
diff --git a/src/xvmc/read_frame_x1y1_y_igd.g4i b/src/xvmc/read_frame_x1y1_y_igd.g4i
new file mode 100644
index 00000000..89adc385
--- /dev/null
+++ b/src/xvmc/read_frame_x1y1_y_igd.g4i
@@ -0,0 +1,105 @@
+/*
+ * Copyright © 2008 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Author:
+ * Zou Nan hai <nanhai.zou@intel.com>
+ * Zhang Hua jun <huajun.zhang@intel.com>
+ * Xing Dong sheng <dongsheng.xing@intel.com>
+ *
+ */
+mov (1) g2.8<1>UD 0x007001FUD {align1};
+send (16) 0 g98.0<1>UW g2<8,8,1>UW read(input_surface, 2, 0, 2) mlen 1 rlen 8 {align1};
+
+add (1) g2.4<1>UD g2.4<1,1,1>UD 8UD {align1};
+send (16) 0 g106.0<1>UW g2<8,8,1>UW read(input_surface, 2, 0, 2) mlen 1 rlen 8 {align1};
+add (1) g2.4<1>UD g2.4<1,1,1>UD 8UD {align1};
+mov (1) g2.8<1>UD 0x1FUD {align1};
+send (16) 0 g120.0<1>UW g2<8,8,1>UW read(input_surface, 2, 0, 2) mlen 1 rlen 1 {align1};
+
+
+add (16) g28.0<1>UW g98.0<16,16,1>UB g98.1<16,16,1>UB {align1};
+add (16) g29.0<1>UW g99.0<16,16,1>UB g99.1<16,16,1>UB {align1};
+add (16) g30.0<1>UW g100.0<16,16,1>UB g100.1<16,16,1>UB {align1};
+add (16) g31.0<1>UW g101.0<16,16,1>UB g101.1<16,16,1>UB {align1};
+add (16) g32.0<1>UW g102.0<16,16,1>UB g102.1<16,16,1>UB {align1};
+add (16) g33.0<1>UW g103.0<16,16,1>UB g103.1<16,16,1>UB {align1};
+add (16) g34.0<1>UW g104.0<16,16,1>UB g104.1<16,16,1>UB {align1};
+add (16) g35.0<1>UW g105.0<16,16,1>UB g105.1<16,16,1>UB {align1};
+add (16) g36.0<1>UW g106.0<16,16,1>UB g106.1<16,16,1>UB {align1};
+add (16) g37.0<1>UW g107.0<16,16,1>UB g107.1<16,16,1>UB {align1};
+add (16) g38.0<1>UW g108.0<16,16,1>UB g108.1<16,16,1>UB {align1};
+add (16) g39.0<1>UW g109.0<16,16,1>UB g109.1<16,16,1>UB {align1};
+add (16) g40.0<1>UW g110.0<16,16,1>UB g110.1<16,16,1>UB {align1};
+add (16) g41.0<1>UW g111.0<16,16,1>UB g111.1<16,16,1>UB {align1};
+add (16) g42.0<1>UW g112.0<16,16,1>UB g112.1<16,16,1>UB {align1};
+add (16) g43.0<1>UW g113.0<16,16,1>UB g113.1<16,16,1>UB {align1};
+
+add (16) g28.0<1>UW g28.0<16,16,1>UW g99.0<16,16,1>UB {align1};
+add (16) g29.0<1>UW g29.0<16,16,1>UW g100.0<16,16,1>UB {align1};
+add (16) g30.0<1>UW g30.0<16,16,1>UW g101.0<16,16,1>UB {align1};
+add (16) g31.0<1>UW g31.0<16,16,1>UW g102.0<16,16,1>UB {align1};
+add (16) g32.0<1>UW g32.0<16,16,1>UW g103.0<16,16,1>UB {align1};
+add (16) g33.0<1>UW g33.0<16,16,1>UW g104.0<16,16,1>UB {align1};
+add (16) g34.0<1>UW g34.0<16,16,1>UW g105.0<16,16,1>UB {align1};
+add (16) g35.0<1>UW g35.0<16,16,1>UW g106.0<16,16,1>UB {align1};
+add (16) g36.0<1>UW g36.0<16,16,1>UW g107.0<16,16,1>UB {align1};
+add (16) g37.0<1>UW g37.0<16,16,1>UW g108.0<16,16,1>UB {align1};
+add (16) g38.0<1>UW g38.0<16,16,1>UW g109.0<16,16,1>UB {align1};
+add (16) g39.0<1>UW g39.0<16,16,1>UW g110.0<16,16,1>UB {align1};
+add (16) g40.0<1>UW g40.0<16,16,1>UW g111.0<16,16,1>UB {align1};
+add (16) g41.0<1>UW g41.0<16,16,1>UW g112.0<16,16,1>UB {align1};
+add (16) g42.0<1>UW g42.0<16,16,1>UW g113.0<16,16,1>UB {align1};
+add (16) g43.0<1>UW g43.0<16,16,1>UW g120.0<16,16,1>UB {align1};
+
+add (16) g28.0<1>UW g28.0<16,16,1>UW g99.1<16,16,1>UB {align1};
+add (16) g29.0<1>UW g29.0<16,16,1>UW g100.1<16,16,1>UB {align1};
+add (16) g30.0<1>UW g30.0<16,16,1>UW g101.1<16,16,1>UB {align1};
+add (16) g31.0<1>UW g31.0<16,16,1>UW g102.1<16,16,1>UB {align1};
+add (16) g32.0<1>UW g32.0<16,16,1>UW g103.1<16,16,1>UB {align1};
+add (16) g33.0<1>UW g33.0<16,16,1>UW g104.1<16,16,1>UB {align1};
+add (16) g34.0<1>UW g34.0<16,16,1>UW g105.1<16,16,1>UB {align1};
+add (16) g35.0<1>UW g35.0<16,16,1>UW g106.1<16,16,1>UB {align1};
+add (16) g36.0<1>UW g36.0<16,16,1>UW g107.1<16,16,1>UB {align1};
+add (16) g37.0<1>UW g37.0<16,16,1>UW g108.1<16,16,1>UB {align1};
+add (16) g38.0<1>UW g38.0<16,16,1>UW g109.1<16,16,1>UB {align1};
+add (16) g39.0<1>UW g39.0<16,16,1>UW g110.1<16,16,1>UB {align1};
+add (16) g40.0<1>UW g40.0<16,16,1>UW g111.1<16,16,1>UB {align1};
+add (16) g41.0<1>UW g41.0<16,16,1>UW g112.1<16,16,1>UB {align1};
+add (16) g42.0<1>UW g42.0<16,16,1>UW g113.1<16,16,1>UB {align1};
+add (16) g43.0<1>UW g43.0<16,16,1>UW g120.1<16,16,1>UB {align1};
+
+shr.sat (16) g28.0<1>UW g28.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g29.0<1>UW g29.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g30.0<1>UW g30.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g31.0<1>UW g31.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g32.0<1>UW g32.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g33.0<1>UW g33.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g34.0<1>UW g34.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g35.0<1>UW g35.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g36.0<1>UW g36.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g37.0<1>UW g37.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g38.0<1>UW g38.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g39.0<1>UW g39.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g40.0<1>UW g40.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g41.0<1>UW g41.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g42.0<1>UW g42.0<16,16,1>UW 2UW {align1};
+shr.sat (16) g43.0<1>UW g43.0<16,16,1>UW 2UW {align1};