diff options
author | Zhao Halley <halley.zhao@intel.com> | 2012-07-12 11:04:39 +0300 |
---|---|---|
committer | Xiang, Haihao <haihao.xiang@intel.com> | 2012-08-10 15:33:33 +0800 |
commit | 512beba02dd13bdbe65fa0f5ff00f21ead9073c1 (patch) | |
tree | 2bde1a07f39c7db4cc6cb2f438ace097dcd9742b | |
parent | a59b6a868e93261a5dd347f281038a253fb6a2fc (diff) | |
download | vaapi-intel-driver-512beba02dd13bdbe65fa0f5ff00f21ead9073c1.tar.gz vaapi-intel-driver-512beba02dd13bdbe65fa0f5ff00f21ead9073c1.tar.bz2 vaapi-intel-driver-512beba02dd13bdbe65fa0f5ff00f21ead9073c1.zip |
add GPU shader for RGB->NV12 conversion
9 files changed, 1675 insertions, 0 deletions
diff --git a/src/shaders/post_processing/gen5_6/Common/RGBX_Load_16x8.asm b/src/shaders/post_processing/gen5_6/Common/RGBX_Load_16x8.asm new file mode 100755 index 0000000..958308a --- /dev/null +++ b/src/shaders/post_processing/gen5_6/Common/RGBX_Load_16x8.asm @@ -0,0 +1,57 @@ +/* + * All Video Processing kernels + * Copyright © <2010>, Intel Corporation. + * + * This program is licensed under the terms and conditions of the + * Eclipse Public License (EPL), version 1.0. The full text of the EPL is at + * http://www.opensource.org/licenses/eclipse-1.0.php. + * + */ + +// Module name: RGBA_Load_16x8.asm (copied from AYUV_Load_16x8.asm) +//---------------------------------------------------------------- + + +#include "RGBX_Load_16x8.inc" + +// In order to load 64x8 RGBA data (16x8 pixels), we need to divide the data +// into two regions and load them separately. +// +// 32 byte 32 byte +//|----------------|----------------| +//| | | +//| A | B |8 +//| | | +//| | | +//|----------------|----------------| + +// Load the first 32x8 data block +// Packed data block should be loaded as 32x8 pixel block + add (2) rMSGSRC.0<1>:d wORIX<2;2,1>:w wSRC_H_ORI_OFFSET<2;2,1>:w // Source Block origin + shl (1) rMSGSRC.0<1>:d rMSGSRC.0<0;1,0>:w 2:w { NoDDClr } // H. block origin need to be four times larger + mov (1) rMSGSRC.2<1>:ud nDPR_BLOCK_SIZE_RGBA:ud { NoDDChk } // Block width and height (32x8) + mov (8) mMSGHDRY<1>:ud rMSGSRC<8;8,1>:ud + send (8) udSRC_RGBA(0)<1> mMSGHDRY udDUMMY_NULL nDATAPORT_READ nDPMR_MSGDSC+nDPR_MSG_SIZE_RGBA+nBI_CURRENT_SRC_YUV:ud + +//Load the second 32x8 data block +// Offset the origin X - move to next 32 colomns + add (1) rMSGSRC.0<1>:d rMSGSRC.0<0;1,0>:d 32:w // Increase X origin by 8 + +// Size stays the same - 32x8 + mov (8) mMSGHDRY<1>:ud rMSGSRC<8;8,1>:ud // Copy message description to message header + send (8) udSRC_RGBA(8)<1> mMSGHDRY udDUMMY_NULL nDATAPORT_READ nDPMR_MSGDSC+nDPR_MSG_SIZE_RGBA+nBI_CURRENT_SRC_YUV:ud + +// Give AYUV region addresses to address register + // a0.0 is 0x38*32, a0.1 is 0x40*32. 0x40-0x38=8 (pixel) + mov (1) SRC_RGBA_OFFSET<1>:ud 0x00400038*32:ud //Address registers contain starting addresses of two halves + +#if !defined(FIX_POINT_CONVERSION) && !defined(FLOAT_POINT_CONVERSION) + //Directly move the data to destination + $for(0; <nY_NUM_OF_ROWS; 1) { + // 8 means 8 elements, not 2=8/2 element per row. + mov (16) uwDEST_Y(%1)<1> r[SRC_RGBA_OFFSET,%1*32+3]<8,4>:ub // A/R + mov (16) uwDEST_U(%1)<1> r[SRC_RGBA_OFFSET,%1*32+2]<8,4>:ub // Y/G + mov (16) uwDEST_V(%1)<1> r[SRC_RGBA_OFFSET,%1*32+1]<8,4>:ub // U/B + } +#endif + diff --git a/src/shaders/post_processing/gen5_6/Common/RGBX_Load_16x8.inc b/src/shaders/post_processing/gen5_6/Common/RGBX_Load_16x8.inc new file mode 100755 index 0000000..7199d64 --- /dev/null +++ b/src/shaders/post_processing/gen5_6/Common/RGBX_Load_16x8.inc @@ -0,0 +1,48 @@ +/* + * All Video Processing kernels + * Copyright © <2010>, Intel Corporation. + * + * This program is licensed under the terms and conditions of the + * Eclipse Public License (EPL), version 1.0. The full text of the EPL is at + * http://www.opensource.org/licenses/eclipse-1.0.php. + * + */ +#ifndef RGBA_LOAD_16X8_INC +#define RGBA_LOAD_16X8_INC + +// Module name: RGBA_Load_16x8.inc +// +// RGBA data are first loaded to bottom I/O REGION_2, then does color conversion from RGB to YUV +// finally, YUV data are stored in top I/O REGION_1 with planar format + +#undef nY_NUM_OF_ROWS + +#define nY_NUM_OF_ROWS 8 // Number of Y rows per block + +#define nDPR_BLOCK_SIZE_RGBA nBLOCK_WIDTH_32+nBLOCK_HEIGHT_8 // RGBA block size 32x8 (it is half size) +#define nDPR_MSG_SIZE_RGBA nRESLEN_8 // # of MRF's to hold RGBA block data (8) + +//Temporary storage for unpacked AYUV data +#define rUNPACK_TEMP REG(r,nTEMP0) +.declare udUNPACK_TEMP Base=rUNPACK_TEMP ElementSize=4 SrcRegion=<8;8,1> Type=ud //1 GRF +.declare ubUNPACK_TEMP Base=rUNPACK_TEMP ElementSize=1 SrcRegion=<32;32,1> Type=ub //1 GRF + +.declare ubBOT_Y_IO Base=REG(r,nBOT_Y) ElementSize=1 SrcRegion=REGION(32,1) Type=ub + + +#define udSRC_RGBA udBOT_Y_IO +#define ubSRC_RGBA ubBOT_Y_IO +#define nSRC_RGBA_REG nBOT_Y + +#define uwDEST_Y uwTOP_Y +#define uwDEST_U uwTOP_U +#define uwDEST_V uwTOP_V + +#define SRC_RGBA_OFFSET a0.0 +#define SRC_RGBA_OFFSET_1 a0.0 +#define SRC_RGBA_OFFSET_2 a0.1 + +#define nSRC_REGION nREGION_1 // REGION_1 will be the source region for first kernel + +// End of RGBA_Load_16x8.inc +#endif
\ No newline at end of file diff --git a/src/shaders/post_processing/gen5_6/Common/RGBX_Save_YUV_Fix.asm b/src/shaders/post_processing/gen5_6/Common/RGBX_Save_YUV_Fix.asm new file mode 100755 index 0000000..6067db5 --- /dev/null +++ b/src/shaders/post_processing/gen5_6/Common/RGBX_Save_YUV_Fix.asm @@ -0,0 +1,115 @@ +/* + * All Video Processing kernels + * Copyright © <2010>, Intel Corporation. + * + * This program is licensed under the terms and conditions of the + * Eclipse Public License (EPL), version 1.0. The full text of the EPL is at + * http://www.opensource.org/licenses/eclipse-1.0.php. + * + * Authors: + * Halley Zhao <halley.zhao@intel.com> + */ + +// Module name: PL16x8_PL8x4.asm +//---------------------------------------------------------------- + +#include "RGBX_Load_16x8.inc" + +#if (0) + #define nTEMP0 34 // transformation coefficient + #define nTEMP1 35 // one row of Y (first half register is used) + #define nTEMP2 36 // first half of one row + #define nTEMP3 37 // second half of one row + #define nTEMP4 38 // mul and add + #define nTEMP5 39 // mul and add + #define nTEMP6 40 // mul and add + #define nTEMP7 41 // mul and add + #define nTEMP8 42 // sum of mul + #define nTEMP10 44 + #define nTEMP12 46 + #define nTEMP14 48 + #define nTEMP16 50 + #define nTEMP17 51 + #define nTEMP18 52 + + #define nTEMP24 58 +#endif + +$for(0; <nY_NUM_OF_ROWS; 1) { + // BGRX | B | G | R | X | + // ###### do on row for Y + // #### mul and add + mul (16) REG2(r, nTEMP4, 0)<1>:uw r[SRC_RGBA_OFFSET_1, %1*32 + 0]<0; 16,1>:ub ubRGB_to_Y_Coef_Fix<0;4,1>:ub + mul (16) REG2(r, nTEMP5, 0)<1>:uw r[SRC_RGBA_OFFSET_1, %1*32 + 16]<0; 16,1>:ub ubRGB_to_Y_Coef_Fix<0;4,1>:ub + mul (16) REG2(r, nTEMP6, 0)<1>:uw r[SRC_RGBA_OFFSET_2, %1*32 + 0]<0; 16,1>:ub ubRGB_to_Y_Coef_Fix<0;4,1>:ub + mul (16) REG2(r, nTEMP7, 0)<1>:uw r[SRC_RGBA_OFFSET_2, %1*32 + 16]<0; 16,1>:ub ubRGB_to_Y_Coef_Fix<0;4,1>:ub + + add (4) REG2(r, nTEMP4, 0)<4>:uw REG2(r, nTEMP4, 0)<0;4,4>:uw REG2(r, nTEMP4, 1)<0;4,4>:uw + add (4) REG2(r, nTEMP5, 0)<4>:uw REG2(r, nTEMP5, 0)<0;4,4>:uw REG2(r, nTEMP5, 1)<0;4,4>:uw + add (4) REG2(r, nTEMP6, 0)<4>:uw REG2(r, nTEMP6, 0)<0;4,4>:uw REG2(r, nTEMP6, 1)<0;4,4>:uw + add (4) REG2(r, nTEMP7, 0)<4>:uw REG2(r, nTEMP7, 0)<0;4,4>:uw REG2(r, nTEMP7, 1)<0;4,4>:uw + add (4) REG2(r, nTEMP4, 0)<4>:uw REG2(r, nTEMP4, 0)<0;4,4>:uw REG2(r, nTEMP4, 2)<0;4,4>:uw + add (4) REG2(r, nTEMP5, 0)<4>:uw REG2(r, nTEMP5, 0)<0;4,4>:uw REG2(r, nTEMP5, 2)<0;4,4>:uw + add (4) REG2(r, nTEMP6, 0)<4>:uw REG2(r, nTEMP6, 0)<0;4,4>:uw REG2(r, nTEMP6, 2)<0;4,4>:uw + add (4) REG2(r, nTEMP7, 0)<4>:uw REG2(r, nTEMP7, 0)<0;4,4>:uw REG2(r, nTEMP7, 2)<0;4,4>:uw + + // #### write Y to the 1 row + mov (4) REG2(r, nTEMP8, 0)<1>:uw REG2(r, nTEMP4, 0)<0; 4, 4>:uw + mov (4) REG2(r, nTEMP8, 4)<1>:uw REG2(r, nTEMP5, 0)<0; 4, 4>:uw + mov (4) REG2(r, nTEMP8, 8)<1>:uw REG2(r, nTEMP6, 0)<0; 4, 4>:uw + mov (4) REG2(r, nTEMP8, 12)<1>:uw REG2(r, nTEMP7, 0)<0; 4, 4>:uw + add (16) REG2(r, nTEMP8, 0)<1>:uw REG2(r, nTEMP8, 0)<0; 16, 1>:uw 0x1080:uw + mov (16) REG2(r, nTEMP8, 0)<1>:ub REG2(r, nTEMP8, 1)<0; 16, 2>:ub + mov (16) uwDEST_Y(%1)<1> REG2(r,nTEMP8, 0)<0;16,1>:ub + + // ###### do one row for U + // #### mul and add + mul (16) REG2(r, nTEMP4, 0)<1>:w r[SRC_RGBA_OFFSET_1, %1*32 + 0]<0; 16,1>:ub bRGB_to_U_Coef_Fix<0;4,1>:b + mul (16) REG2(r, nTEMP5, 0)<1>:w r[SRC_RGBA_OFFSET_1, %1*32 + 16]<0; 16,1>:ub bRGB_to_U_Coef_Fix<0;4,1>:b + mul (16) REG2(r, nTEMP6, 0)<1>:w r[SRC_RGBA_OFFSET_2, %1*32 + 0]<0; 16,1>:ub bRGB_to_U_Coef_Fix<0;4,1>:b + mul (16) REG2(r, nTEMP7, 0)<1>:w r[SRC_RGBA_OFFSET_2, %1*32 + 16]<0; 16,1>:ub bRGB_to_U_Coef_Fix<0;4,1>:b + + add (4) REG2(r, nTEMP4, 0)<4>:w REG2(r, nTEMP4, 0)<0;4,4>:w REG2(r, nTEMP4, 1)<0;4,4>:w + add (4) REG2(r, nTEMP5, 0)<4>:w REG2(r, nTEMP5, 0)<0;4,4>:w REG2(r, nTEMP5, 1)<0;4,4>:w + add (4) REG2(r, nTEMP6, 0)<4>:w REG2(r, nTEMP6, 0)<0;4,4>:w REG2(r, nTEMP6, 1)<0;4,4>:w + add (4) REG2(r, nTEMP7, 0)<4>:w REG2(r, nTEMP7, 0)<0;4,4>:w REG2(r, nTEMP7, 1)<0;4,4>:w + add (4) REG2(r, nTEMP4, 0)<4>:w REG2(r, nTEMP4, 0)<0;4,4>:w REG2(r, nTEMP4, 2)<0;4,4>:w + add (4) REG2(r, nTEMP5, 0)<4>:w REG2(r, nTEMP5, 0)<0;4,4>:w REG2(r, nTEMP5, 2)<0;4,4>:w + add (4) REG2(r, nTEMP6, 0)<4>:w REG2(r, nTEMP6, 0)<0;4,4>:w REG2(r, nTEMP6, 2)<0;4,4>:w + add (4) REG2(r, nTEMP7, 0)<4>:w REG2(r, nTEMP7, 0)<0;4,4>:w REG2(r, nTEMP7, 2)<0;4,4>:w + + // #### write U to the 1 row + mov (4) REG2(r, nTEMP8, 0)<1>:w REG2(r, nTEMP4, 0)<0; 4, 4>:w + mov (4) REG2(r, nTEMP8, 4)<1>:w REG2(r, nTEMP5, 0)<0; 4, 4>:w + mov (4) REG2(r, nTEMP8, 8)<1>:w REG2(r, nTEMP6, 0)<0; 4, 4>:w + mov (4) REG2(r, nTEMP8, 12)<1>:w REG2(r, nTEMP7, 0)<0; 4, 4>:w + add (16) REG2(r, nTEMP8, 0)<1>:uw REG2(r, nTEMP8, 0)<0; 16, 1>:w 0x8080:uw + mov (16) REG2(r, nTEMP8, 0)<1>:ub REG2(r, nTEMP8, 1)<0; 16, 2>:ub + mov (16) uwDEST_U(%1)<1> REG2(r,nTEMP8, 0)<0;16,1>:ub + + // ###### do one row for V + // #### mul and add + mul (16) REG2(r, nTEMP4, 0)<1>:w r[SRC_RGBA_OFFSET_1, %1*32 + 0]<0; 16,1>:ub bRGB_to_V_Coef_Fix<0;4,1>:b + mul (16) REG2(r, nTEMP5, 0)<1>:w r[SRC_RGBA_OFFSET_1, %1*32 + 16]<0; 16,1>:ub bRGB_to_V_Coef_Fix<0;4,1>:b + mul (16) REG2(r, nTEMP6, 0)<1>:w r[SRC_RGBA_OFFSET_2, %1*32 + 0]<0; 16,1>:ub bRGB_to_V_Coef_Fix<0;4,1>:b + mul (16) REG2(r, nTEMP7, 0)<1>:w r[SRC_RGBA_OFFSET_2, %1*32 + 16]<0; 16,1>:ub bRGB_to_V_Coef_Fix<0;4,1>:b + + add (4) REG2(r, nTEMP4, 0)<4>:w REG2(r, nTEMP4, 0)<0;4,4>:w REG2(r, nTEMP4, 1)<0;4,4>:w + add (4) REG2(r, nTEMP5, 0)<4>:w REG2(r, nTEMP5, 0)<0;4,4>:w REG2(r, nTEMP5, 1)<0;4,4>:w + add (4) REG2(r, nTEMP6, 0)<4>:w REG2(r, nTEMP6, 0)<0;4,4>:w REG2(r, nTEMP6, 1)<0;4,4>:w + add (4) REG2(r, nTEMP7, 0)<4>:w REG2(r, nTEMP7, 0)<0;4,4>:w REG2(r, nTEMP7, 1)<0;4,4>:w + add (4) REG2(r, nTEMP4, 0)<4>:w REG2(r, nTEMP4, 0)<0;4,4>:w REG2(r, nTEMP4, 2)<0;4,4>:w + add (4) REG2(r, nTEMP5, 0)<4>:w REG2(r, nTEMP5, 0)<0;4,4>:w REG2(r, nTEMP5, 2)<0;4,4>:w + add (4) REG2(r, nTEMP6, 0)<4>:w REG2(r, nTEMP6, 0)<0;4,4>:w REG2(r, nTEMP6, 2)<0;4,4>:w + add (4) REG2(r, nTEMP7, 0)<4>:w REG2(r, nTEMP7, 0)<0;4,4>:w REG2(r, nTEMP7, 2)<0;4,4>:w + + // #### write V to the 1 row + mov (4) REG2(r, nTEMP8, 0)<1>:w REG2(r, nTEMP4, 0)<0; 4, 4>:w + mov (4) REG2(r, nTEMP8, 4)<1>:w REG2(r, nTEMP5, 0)<0; 4, 4>:w + mov (4) REG2(r, nTEMP8, 8)<1>:w REG2(r, nTEMP6, 0)<0; 4, 4>:w + mov (4) REG2(r, nTEMP8, 12)<1>:w REG2(r, nTEMP7, 0)<0; 4, 4>:w + add (16) REG2(r, nTEMP8, 0)<1>:uw REG2(r, nTEMP8, 0)<0; 16, 1>:w 0x8080:uw + mov (16) REG2(r, nTEMP8, 0)<1>:ub REG2(r, nTEMP8, 1)<0; 16, 2>:ub + mov (16) uwDEST_V(%1)<1> REG2(r,nTEMP8, 0)<0;16,1>:ub +} + diff --git a/src/shaders/post_processing/gen5_6/Common/RGBX_Save_YUV_Float.asm b/src/shaders/post_processing/gen5_6/Common/RGBX_Save_YUV_Float.asm new file mode 100755 index 0000000..8eb968b --- /dev/null +++ b/src/shaders/post_processing/gen5_6/Common/RGBX_Save_YUV_Float.asm @@ -0,0 +1,152 @@ +/* + * All Video Processing kernels + * Copyright © <2010>, Intel Corporation. + * + * This program is licensed under the terms and conditions of the + * Eclipse Public License (EPL), version 1.0. The full text of the EPL is at + * http://www.opensource.org/licenses/eclipse-1.0.php. + * + * Authors: + * Halley Zhao <halley.zhao@intel.com> + */ + +// Module name: RGBX_Save_YUV_Float.asm +//---------------------------------------------------------------- + +#include "RGBX_Load_16x8.inc" + +#if (0) + // 8 grf reg for one row of pixel (2 pixel per grf) + #define nTEMP0 34 + #define nTEMP1 35 + #define nTEMP2 36 + #define nTEMP3 37 + #define nTEMP4 38 + #define nTEMP5 39 + #define nTEMP6 40 + #define nTEMP7 41 + + #define nTEMP8 42 // transformation coefficient + #define nTEMP10 44 // transformation coefficient + + #define nTEMP12 46 // save Y/U/V in ub format + #define nTEMP14 48 // save YUV in ud format + #define nTEMP16 50 // dp4 result + #define nTEMP17 51 + #define nTEMP18 52 + + #define nTEMP24 58 +#endif + +$for(0; <nY_NUM_OF_ROWS; 1) { + // BGRX | B | G | R | X | + // ###### save one row of pixel to temp grf with float format (required by dp4) + // mov (8) doesn't work, puzzle + mov (4) REG(r, nTEMP0)<1>:f r[SRC_RGBA_OFFSET_1,%1*32 + 0]<4,1>:ub + mov (4) REG(r, nTEMP1)<1>:f r[SRC_RGBA_OFFSET_1,%1*32 + 8]<4,1>:ub + mov (4) REG(r, nTEMP2)<1>:f r[SRC_RGBA_OFFSET_1,%1*32 + 16]<4,1>:ub + mov (4) REG(r, nTEMP3)<1>:f r[SRC_RGBA_OFFSET_1,%1*32 + 24]<4,1>:ub + mov (4) REG(r, nTEMP4)<1>:f r[SRC_RGBA_OFFSET_2,%1*32 + 0]<4,1>:ub + mov (4) REG(r, nTEMP5)<1>:f r[SRC_RGBA_OFFSET_2,%1*32 + 8]<4,1>:ub + mov (4) REG(r, nTEMP6)<1>:f r[SRC_RGBA_OFFSET_2,%1*32 + 16]<4,1>:ub + mov (4) REG(r, nTEMP7)<1>:f r[SRC_RGBA_OFFSET_2,%1*32 + 24]<4,1>:ub + mov (4) REG2(r, nTEMP0, 4)<1>:f r[SRC_RGBA_OFFSET_1,%1*32 + 4]<4,1>:ub + mov (4) REG2(r, nTEMP1, 4)<1>:f r[SRC_RGBA_OFFSET_1,%1*32 + 12]<4,1>:ub + mov (4) REG2(r, nTEMP2, 4)<1>:f r[SRC_RGBA_OFFSET_1,%1*32 + 20]<4,1>:ub + mov (4) REG2(r, nTEMP3, 4)<1>:f r[SRC_RGBA_OFFSET_1,%1*32 + 28]<4,1>:ub + mov (4) REG2(r, nTEMP4, 4)<1>:f r[SRC_RGBA_OFFSET_2,%1*32 + 4]<4,1>:ub + mov (4) REG2(r, nTEMP5, 4)<1>:f r[SRC_RGBA_OFFSET_2,%1*32 + 12]<4,1>:ub + mov (4) REG2(r, nTEMP6, 4)<1>:f r[SRC_RGBA_OFFSET_2,%1*32 + 20]<4,1>:ub + mov (4) REG2(r, nTEMP7, 4)<1>:f r[SRC_RGBA_OFFSET_2,%1*32 + 24]<4,1>:ub + + // ###### do one row for Y + // ##### dp4(nTEMP16) and save result to uw format(nTEMP12) + dp4 (8) REG2(r, nTEMP16, 0)<1>:f fROW_BGRX(0, 0)<0;8,1> fRGB_to_Y_Coef_Float<0;4,1>:f + mov (2) REG2(r, nTEMP14, 0)<1>:ud REG2(r, nTEMP16, 0)<0;2,4>:f + mov (2) REG2(r, nTEMP12, 0)<1>:ub REG2(r, nTEMP14, 0)<0;2,4>:ub + dp4 (8) REG2(r, nTEMP16, 0)<1>:f fROW_BGRX(1, 0)<0;8,1> fRGB_to_Y_Coef_Float<0;4,1>:f + mov (2) REG2(r, nTEMP14, 0)<1>:ud REG2(r, nTEMP16, 0)<0;2,4>:f + mov (2) REG2(r, nTEMP12, 2)<1>:ub REG2(r, nTEMP14, 0)<0;2,4>:ub + dp4 (8) REG2(r, nTEMP16, 0)<1>:f fROW_BGRX(2, 0)<0;8,1> fRGB_to_Y_Coef_Float<0;4,1>:f + mov (2) REG2(r, nTEMP14, 0)<1>:ud REG2(r, nTEMP16, 0)<0;2,4>:f + mov (2) REG2(r, nTEMP12, 4)<1>:ub REG2(r, nTEMP14, 0)<0;2,4>:ub + dp4 (8) REG2(r, nTEMP16, 0)<1>:f fROW_BGRX(3, 0)<0;8,1> fRGB_to_Y_Coef_Float<0;4,1>:f + mov (2) REG2(r, nTEMP14, 0)<1>:ud REG2(r, nTEMP16, 0)<0;2,4>:f + mov (2) REG2(r, nTEMP12, 6)<1>:ub REG2(r, nTEMP14, 0)<0;2,4>:ub + dp4 (8) REG2(r, nTEMP16, 0)<1>:f fROW_BGRX(4, 0)<0;8,1> fRGB_to_Y_Coef_Float<0;4,1>:f + mov (2) REG2(r, nTEMP14, 0)<1>:ud REG2(r, nTEMP16, 0)<0;2,4>:f + mov (2) REG2(r, nTEMP12, 8)<1>:ub REG2(r, nTEMP14, 0)<0;2,4>:ub + dp4 (8) REG2(r, nTEMP16, 0)<1>:f fROW_BGRX(5, 0)<0;8,1> fRGB_to_Y_Coef_Float<0;4,1>:f + mov (2) REG2(r, nTEMP14, 0)<1>:ud REG2(r, nTEMP16, 0)<0;2,4>:f + mov (2) REG2(r, nTEMP12, 10)<1>:ub REG2(r, nTEMP14, 0)<0;2,4>:ub + dp4 (8) REG2(r, nTEMP16, 0)<1>:f fROW_BGRX(6, 0)<0;8,1> fRGB_to_Y_Coef_Float<0;4,1>:f + mov (2) REG2(r, nTEMP14, 0)<1>:ud REG2(r, nTEMP16, 0)<0;2,4>:f + mov (2) REG2(r, nTEMP12, 12)<1>:ub REG2(r, nTEMP14, 0)<0;2,4>:ub + dp4 (8) REG2(r, nTEMP16, 0)<1>:f fROW_BGRX(7, 0)<0;8,1> fRGB_to_Y_Coef_Float<0;4,1>:f + mov (2) REG2(r, nTEMP14, 0)<1>:ud REG2(r, nTEMP16, 0)<0;2,4>:f + mov (2) REG2(r, nTEMP12, 14)<1>:ub REG2(r, nTEMP14, 0)<0;2,4>:ub + + // #### write Y to the 1 row + mov (16) uwDEST_Y(%1)<1> REG2(r,nTEMP12, 0)<0;16,1>:ub + + // ###### do one row for U + // ##### dp4(nTEMP16) and save result to uw format(nTEMP12) + dp4 (8) REG2(r, nTEMP16, 0)<1>:f fROW_BGRX(0, 0)<0;8,1> fRGB_to_U_Coef_Float<0;4,1>:f + mov (2) REG2(r, nTEMP14, 0)<1>:d REG2(r, nTEMP16, 0)<0;2,4>:f + mov (2) REG2(r, nTEMP12, 0)<1>:w REG2(r, nTEMP14, 0)<0;2,2>:w + dp4 (8) REG2(r, nTEMP16, 0)<1>:f fROW_BGRX(1, 0)<0;8,1> fRGB_to_U_Coef_Float<0;4,1>:f + mov (2) REG2(r, nTEMP14, 0)<1>:d REG2(r, nTEMP16, 0)<0;2,4>:f + mov (2) REG2(r, nTEMP12, 2)<1>:w REG2(r, nTEMP14, 0)<0;2,2>:w + dp4 (8) REG2(r, nTEMP16, 0)<1>:f fROW_BGRX(2, 0)<0;8,1> fRGB_to_U_Coef_Float<0;4,1>:f + mov (2) REG2(r, nTEMP14, 0)<1>:d REG2(r, nTEMP16, 0)<0;2,4>:f + mov (2) REG2(r, nTEMP12, 4)<1>:w REG2(r, nTEMP14, 0)<0;2,2>:w + dp4 (8) REG2(r, nTEMP16, 0)<1>:f fROW_BGRX(3, 0)<0;8,1> fRGB_to_U_Coef_Float<0;4,1>:f + mov (2) REG2(r, nTEMP14, 0)<1>:d REG2(r, nTEMP16, 0)<0;2,4>:f + mov (2) REG2(r, nTEMP12, 6)<1>:w REG2(r, nTEMP14, 0)<0;2,2>:w + dp4 (8) REG2(r, nTEMP16, 0)<1>:f fROW_BGRX(4, 0)<0;8,1> fRGB_to_U_Coef_Float<0;4,1>:f + mov (2) REG2(r, nTEMP14, 0)<1>:d REG2(r, nTEMP16, 0)<0;2,4>:f + mov (2) REG2(r, nTEMP12, 8)<1>:w REG2(r, nTEMP14, 0)<0;2,2>:w + dp4 (8) REG2(r, nTEMP16, 0)<1>:f fROW_BGRX(5, 0)<0;8,1> fRGB_to_U_Coef_Float<0;4,1>:f + mov (2) REG2(r, nTEMP14, 0)<1>:d REG2(r, nTEMP16, 0)<0;2,4>:f + mov (2) REG2(r, nTEMP12, 10)<1>:w REG2(r, nTEMP14, 0)<0;2,2>:w + dp4 (8) REG2(r, nTEMP16, 0)<1>:f fROW_BGRX(6, 0)<0;8,1> fRGB_to_U_Coef_Float<0;4,1>:f + mov (2) REG2(r, nTEMP14, 0)<1>:d REG2(r, nTEMP16, 0)<0;2,4>:f + mov (2) REG2(r, nTEMP12, 12)<1>:w REG2(r, nTEMP14, 0)<0;2,2>:w + dp4 (8) REG2(r, nTEMP16, 0)<1>:f fROW_BGRX(7, 0)<0;8,1> fRGB_to_U_Coef_Float<0;4,1>:f + mov (2) REG2(r, nTEMP14, 0)<1>:d REG2(r, nTEMP16, 0)<0;2,4>:f + mov (2) REG2(r, nTEMP12, 14)<1>:w REG2(r, nTEMP14, 0)<0;2,2>:w + add (16) REG2(r, nTEMP12, 0)<1>:w REG2(r, nTEMP12, 0)<0;16,1>:w 128:w + // #### write U to the 1 row + mov (16) uwDEST_U(%1)<1> REG2(r,nTEMP12, 0)<0;16,2>:ub + + // ###### do one row for V + // ##### dp4(nTEMP16) and save result to uw format(nTEMP12) + dp4 (8) REG2(r, nTEMP16, 0)<1>:f fROW_BGRX(0, 0)<0;8,1> fRGB_to_V_Coef_Float<0;4,1>:f + mov (2) REG2(r, nTEMP14, 0)<1>:d REG2(r, nTEMP16, 0)<0;2,4>:f + mov (2) REG2(r, nTEMP12, 0)<1>:w REG2(r, nTEMP14, 0)<0;2,2>:w + dp4 (8) REG2(r, nTEMP16, 0)<1>:f fROW_BGRX(1, 0)<0;8,1> fRGB_to_V_Coef_Float<0;4,1>:f + mov (2) REG2(r, nTEMP14, 0)<1>:d REG2(r, nTEMP16, 0)<0;2,4>:f + mov (2) REG2(r, nTEMP12, 2)<1>:w REG2(r, nTEMP14, 0)<0;2,2>:w + dp4 (8) REG2(r, nTEMP16, 0)<1>:f fROW_BGRX(2, 0)<0;8,1> fRGB_to_V_Coef_Float<0;4,1>:f + mov (2) REG2(r, nTEMP14, 0)<1>:d REG2(r, nTEMP16, 0)<0;2,4>:f + mov (2) REG2(r, nTEMP12, 4)<1>:w REG2(r, nTEMP14, 0)<0;2,2>:w + dp4 (8) REG2(r, nTEMP16, 0)<1>:f fROW_BGRX(3, 0)<0;8,1> fRGB_to_V_Coef_Float<0;4,1>:f + mov (2) REG2(r, nTEMP14, 0)<1>:d REG2(r, nTEMP16, 0)<0;2,4>:f + mov (2) REG2(r, nTEMP12, 6)<1>:w REG2(r, nTEMP14, 0)<0;2,2>:w + dp4 (8) REG2(r, nTEMP16, 0)<1>:f fROW_BGRX(4, 0)<0;8,1> fRGB_to_V_Coef_Float<0;4,1>:f + mov (2) REG2(r, nTEMP14, 0)<1>:d REG2(r, nTEMP16, 0)<0;2,4>:f + mov (2) REG2(r, nTEMP12, 8)<1>:w REG2(r, nTEMP14, 0)<0;2,2>:w + dp4 (8) REG2(r, nTEMP16, 0)<1>:f fROW_BGRX(5, 0)<0;8,1> fRGB_to_V_Coef_Float<0;4,1>:f + mov (2) REG2(r, nTEMP14, 0)<1>:d REG2(r, nTEMP16, 0)<0;2,4>:f + mov (2) REG2(r, nTEMP12, 10)<1>:w REG2(r, nTEMP14, 0)<0;2,2>:w + dp4 (8) REG2(r, nTEMP16, 0)<1>:f fROW_BGRX(6, 0)<0;8,1> fRGB_to_V_Coef_Float<0;4,1>:f + mov (2) REG2(r, nTEMP14, 0)<1>:d REG2(r, nTEMP16, 0)<0;2,4>:f + mov (2) REG2(r, nTEMP12, 12)<1>:w REG2(r, nTEMP14, 0)<0;2,2>:w + dp4 (8) REG2(r, nTEMP16, 0)<1>:f fROW_BGRX(7, 0)<0;8,1> fRGB_to_V_Coef_Float<0;4,1>:f + mov (2) REG2(r, nTEMP14, 0)<1>:d REG2(r, nTEMP16, 0)<0;2,4>:f + mov (2) REG2(r, nTEMP12, 14)<1>:w REG2(r, nTEMP14, 0)<0;2,2>:w + add (16) REG2(r, nTEMP12, 0)<1>:w REG2(r, nTEMP12, 0)<0;16,1>:w 128:w + + // #### write V to the 1 row + mov (16) uwDEST_V(%1)<1> REG2(r,nTEMP12, 0)<0;16,2>:ub +} diff --git a/src/shaders/post_processing/gen5_6/Common/RGBX_to_YUV_Coef.asm b/src/shaders/post_processing/gen5_6/Common/RGBX_to_YUV_Coef.asm new file mode 100755 index 0000000..5c193e2 --- /dev/null +++ b/src/shaders/post_processing/gen5_6/Common/RGBX_to_YUV_Coef.asm @@ -0,0 +1,64 @@ +/* + * All Video Processing kernels + * Copyright © <2010>, Intel Corporation. + * + * This program is licensed under the terms and conditions of the + * Eclipse Public License (EPL), version 1.0. The full text of the EPL is at + * http://www.opensource.org/licenses/eclipse-1.0.php. + * + * Authors: + * Halley Zhao <halley.zhao@intel.com> + */ + +// Module name: RGB_to_YUV_Coef.asm +//---------------------------------------------------------------- + +// is src surface |R|G|B|X| layout? otherwise it is |B|G|R|X| +and.nz.f0.1 (1) dNULLREG r1.1:ud 0xFF000000:ud +#ifdef FIX_POINT_CONVERSION + // Y = ( ( 66 * R + 129 * G + 25 * B + 128 ) >> 8) + 16 + (-f0.1) mov (1) REG2(r, nTEMP0, 0):ud 0x00428119:ud // used as unsigned byte + ( f0.1) mov (1) REG2(r, nTEMP0, 0):ud 0x00198142:ud // used as unsigned byte + // U = ( ( -38 * R - 74 * G + 112 * B + 128 ) >> 8) + 128 + (-f0.1) mov (1) REG2(r, nTEMP0, 1):ud 0x00DAB670:ud // used as signed byte + ( f0.1) mov (1) REG2(r, nTEMP0, 1):ud 0x0070B6DA:ud // used as signed byte + // V = ( ( 112 * R - 94 * G - 18 * B + 128 ) >> 8) + 128 + (-f0.1) mov (1) REG2(r, nTEMP0, 2):ud 0x0070A2EEud // used as signed byte + ( f0.1) mov (1) REG2(r, nTEMP0, 2):ud 0x00EEA270ud // used as signed byte + + #define ubRGB_to_Y_Coef_Fix REG2(r, nTEMP0, 0) + #define bRGB_to_U_Coef_Fix REG2(r, nTEMP0, 4) + #define bRGB_to_V_Coef_Fix REG2(r, nTEMP0, 8) +#else + // Y = 0.299R + 0.587G + 0.114B + (-f0.1) mov (1) REG2(r, nTEMP8, 0):f 0.114f // B coef + ( f0.1) mov (1) REG2(r, nTEMP8, 2):f 0.114f // R coef + mov (1) REG2(r, nTEMP8, 1):f 0.587f // G coef + (-f0.1) mov (1) REG2(r, nTEMP8, 2):f 0.299f // R coef + ( f0.1) mov (1) REG2(r, nTEMP8, 0):f 0.299f // B coef + mov (1) REG2(r, nTEMP8, 3):f 0.000f // A coef + + // Cb= -0.169R - 0.331G + 0.499B + 128 + // U = -0.147R - 0.289G + 0.436B + 128 + (-f0.1) mov (1) REG2(r, nTEMP8, 4):f 0.436f // B coef + ( f0.1) mov (1) REG2(r, nTEMP8, 6):f 0.436f // R coef + mov (1) REG2(r, nTEMP8, 5):f -0.289f // G coef + (-f0.1) mov (1) REG2(r, nTEMP8, 6):f -0.147f // R coef + ( f0.1) mov (1) REG2(r, nTEMP8, 4):f -0.147f // B coef + mov (1) REG2(r, nTEMP8, 7):f 0.000f // A coef + + // Cr= 0.499R - 0.418G - 0.0813B+ 128 + // V = 0.615R - 0.515G - 0.100B + 128 + (-f0.1) mov (1) REG2(r, nTEMP10, 0):f -0.100f // B coef + ( f0.1) mov (1) REG2(r, nTEMP10, 2):f -0.100f // R coef + mov (1) REG2(r, nTEMP10, 1):f -0.515f // G coef + (-f0.1) mov (1) REG2(r, nTEMP10, 2):f 0.615f // R coef + ( f0.1) mov (1) REG2(r, nTEMP10, 0):f 0.615f // B coef + mov (1) REG2(r, nTEMP10, 3):f 0.000f // A coef + + #define fRGB_to_Y_Coef_Float REG2(r, nTEMP8, 0) + #define fRGB_to_U_Coef_Float REG2(r, nTEMP8, 4) + #define fRGB_to_V_Coef_Float REG2(r, nTEMP10, 0) + .declare fROW_BGRX Base=REG(r,nTEMP0) ElementSize=4 SrcRegion=REGION(8,8) Type=f // r nTEMP0 - r nTEMP7 +#endif + diff --git a/src/shaders/post_processing/gen5_6/Makefile.am b/src/shaders/post_processing/gen5_6/Makefile.am index 1cc1ecb..8658938 100755 --- a/src/shaders/post_processing/gen5_6/Makefile.am +++ b/src/shaders/post_processing/gen5_6/Makefile.am @@ -20,6 +20,7 @@ INTEL_PP_G4B_GEN5 = \ pl3_load_save_pa.g4b.gen5 \ pa_load_save_nv12.g4b.gen5 \ pa_load_save_pl3.g4b.gen5 \ + rgbx_load_save_nv12.g4b.gen5 \ $(NULL) INTEL_PP_G6B = \ @@ -35,6 +36,7 @@ INTEL_PP_G6B = \ pl3_load_save_pa.g6b \ pa_load_save_nv12.g6b \ pa_load_save_pl3.g6b \ + rgbx_load_save_nv12.g6b \ $(NULL) INTEL_PP_ASM = \ @@ -50,6 +52,7 @@ INTEL_PP_ASM = \ pl3_load_save_pa.asm \ pa_load_save_nv12.asm \ pa_load_save_pl3.asm \ + rgbx_load_save_nv12.asm \ $(NULL) INTEL_PP_ASM += \ @@ -86,6 +89,10 @@ INTEL_PP_ASM += \ Common/RGB16x8_Save_RGB16.asm \ Common/RGB16x8_Save_Y416.asm \ Common/RGB_Pack.asm \ + Common/RGBX_Load_16x8.asm \ + Common/RGBX_to_YUV_Coef.asm \ + Common/RGBX_Save_YUV_Fix.asm \ + Common/RGBX_Save_YUV_Float.asm \ Common/SetupVPKernel.asm \ Common/readSampler16x1.asm \ Core_Kernels/AVS_SetupFirstBlock.asm \ @@ -145,6 +152,7 @@ INTEL_PP_INC = \ Common/RGB16x8_Save_RGB.inc \ Common/RGB16x8_Save_RGB16.inc \ Common/RGB16x8_Save_Y416.inc \ + Common/RGBX_Load_16x8.inc \ Common/common.inc \ Common/undefall.inc \ Core_Kernels/AVS_IEF.inc \ diff --git a/src/shaders/post_processing/gen5_6/rgbx_load_save_nv12.asm b/src/shaders/post_processing/gen5_6/rgbx_load_save_nv12.asm new file mode 100755 index 0000000..4922cc7 --- /dev/null +++ b/src/shaders/post_processing/gen5_6/rgbx_load_save_nv12.asm @@ -0,0 +1,26 @@ +// Module name: RGBX_LOAD_SAVE_NV12 +.kernel RGBX_LOAD_SAVE_NV12 +.code +#define FIX_POINT_CONVERSION +// #define FLOAT_POINT_CONVERSION + +#include "SetupVPKernel.asm" +#include "RGBX_to_YUV_Coef.asm" +#include "Multiple_Loop_Head.asm" +#include "RGBX_Load_16x8.asm" +#ifdef FIX_POINT_CONVERSION + #include "RGBX_Save_YUV_Fix.asm" +#else + #include "RGBX_Save_YUV_Float.asm" +#endif +#include "PL16x8_PL8x4.asm" +#include "PL8x4_Save_NV12.asm" +#include "Multiple_Loop.asm" + +END_THREAD // End of Thread + +.end_code + +.end_kernel + +// end of rgbx_load_save_nv12.asm diff --git a/src/shaders/post_processing/gen5_6/rgbx_load_save_nv12.g4b.gen5 b/src/shaders/post_processing/gen5_6/rgbx_load_save_nv12.g4b.gen5 new file mode 100644 index 0000000..2a42c37 --- /dev/null +++ b/src/shaders/post_processing/gen5_6/rgbx_load_save_nv12.g4b.gen5 @@ -0,0 +1,566 @@ + { 0x00600001, 0x21000021, 0x008d0000, 0x00000000 }, + { 0x02000005, 0x20000c24, 0x02000024, 0xff000000 }, + { 0x00110001, 0x24400061, 0x02000000, 0x00428119 }, + { 0x00010001, 0x24400061, 0x02000000, 0x00198142 }, + { 0x00110001, 0x24440061, 0x02000000, 0x00dab670 }, + { 0x00010001, 0x24440061, 0x02000000, 0x0070b6da }, + { 0x00110001, 0x24480061, 0x02000000, 0x0070a2ee }, + { 0x00010001, 0x24480061, 0x02000000, 0x00eea270 }, + { 0x00000441, 0x20842e2d, 0x000000b7, 0x00100010 }, + { 0x00000c01, 0x2086022d, 0x000000bb, 0x00000000 }, + { 0x00000801, 0x208a01ad, 0x000000a0, 0x00000000 }, + { 0x00200001, 0x209403bd, 0x006600a4, 0x00000000 }, + { 0x00000040, 0x208435ad, 0x00000084, 0x000000a0 }, + { 0x00200040, 0x210035a5, 0x004500a0, 0x00450074 }, + { 0x00000409, 0x21003da5, 0x00000100, 0x00020002 }, + { 0x00000801, 0x21080061, 0x00000000, 0x0007001f }, + { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 }, + { 0x01600031, 0x27000c01, 0x408d0000, 0x0288a001 }, + { 0x00000040, 0x21003ca5, 0x00000100, 0x00200020 }, + { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 }, + { 0x01600031, 0x28000c01, 0x408d0000, 0x0288a001 }, + { 0x00000001, 0x22000060, 0x00000000, 0x08000700 }, + { 0x00800041, 0x24c04629, 0x00118000, 0x00090440 }, + { 0x00800041, 0x24e04629, 0x00118010, 0x00090440 }, + { 0x00800041, 0x25004629, 0x00118400, 0x00090440 }, + { 0x00800041, 0x25204629, 0x00118410, 0x00090440 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x21400229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x00118000, 0x00090444 }, + { 0x00800041, 0x24e0562d, 0x00118010, 0x00090444 }, + { 0x00800041, 0x2500562d, 0x00118400, 0x00090444 }, + { 0x00800041, 0x2520562d, 0x00118410, 0x00090444 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x22400229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x00118000, 0x00090448 }, + { 0x00800041, 0x24e0562d, 0x00118010, 0x00090448 }, + { 0x00800041, 0x2500562d, 0x00118400, 0x00090448 }, + { 0x00800041, 0x2520562d, 0x00118410, 0x00090448 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x23400229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c04629, 0x00118020, 0x00090440 }, + { 0x00800041, 0x24e04629, 0x00118030, 0x00090440 }, + { 0x00800041, 0x25004629, 0x00118420, 0x00090440 }, + { 0x00800041, 0x25204629, 0x00118430, 0x00090440 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x21600229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x00118020, 0x00090444 }, + { 0x00800041, 0x24e0562d, 0x00118030, 0x00090444 }, + { 0x00800041, 0x2500562d, 0x00118420, 0x00090444 }, + { 0x00800041, 0x2520562d, 0x00118430, 0x00090444 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x22600229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x00118020, 0x00090448 }, + { 0x00800041, 0x24e0562d, 0x00118030, 0x00090448 }, + { 0x00800041, 0x2500562d, 0x00118420, 0x00090448 }, + { 0x00800041, 0x2520562d, 0x00118430, 0x00090448 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x23600229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c04629, 0x00118040, 0x00090440 }, + { 0x00800041, 0x24e04629, 0x00118050, 0x00090440 }, + { 0x00800041, 0x25004629, 0x00118440, 0x00090440 }, + { 0x00800041, 0x25204629, 0x00118450, 0x00090440 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x21800229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x00118040, 0x00090444 }, + { 0x00800041, 0x24e0562d, 0x00118050, 0x00090444 }, + { 0x00800041, 0x2500562d, 0x00118440, 0x00090444 }, + { 0x00800041, 0x2520562d, 0x00118450, 0x00090444 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x22800229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x00118040, 0x00090448 }, + { 0x00800041, 0x24e0562d, 0x00118050, 0x00090448 }, + { 0x00800041, 0x2500562d, 0x00118440, 0x00090448 }, + { 0x00800041, 0x2520562d, 0x00118450, 0x00090448 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x23800229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c04629, 0x00118060, 0x00090440 }, + { 0x00800041, 0x24e04629, 0x00118070, 0x00090440 }, + { 0x00800041, 0x25004629, 0x00118460, 0x00090440 }, + { 0x00800041, 0x25204629, 0x00118470, 0x00090440 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x21a00229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x00118060, 0x00090444 }, + { 0x00800041, 0x24e0562d, 0x00118070, 0x00090444 }, + { 0x00800041, 0x2500562d, 0x00118460, 0x00090444 }, + { 0x00800041, 0x2520562d, 0x00118470, 0x00090444 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x22a00229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x00118060, 0x00090448 }, + { 0x00800041, 0x24e0562d, 0x00118070, 0x00090448 }, + { 0x00800041, 0x2500562d, 0x00118460, 0x00090448 }, + { 0x00800041, 0x2520562d, 0x00118470, 0x00090448 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x23a00229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c04629, 0x00118080, 0x00090440 }, + { 0x00800041, 0x24e04629, 0x00118090, 0x00090440 }, + { 0x00800041, 0x25004629, 0x00118480, 0x00090440 }, + { 0x00800041, 0x25204629, 0x00118490, 0x00090440 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x21c00229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x00118080, 0x00090444 }, + { 0x00800041, 0x24e0562d, 0x00118090, 0x00090444 }, + { 0x00800041, 0x2500562d, 0x00118480, 0x00090444 }, + { 0x00800041, 0x2520562d, 0x00118490, 0x00090444 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x22c00229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x00118080, 0x00090448 }, + { 0x00800041, 0x24e0562d, 0x00118090, 0x00090448 }, + { 0x00800041, 0x2500562d, 0x00118480, 0x00090448 }, + { 0x00800041, 0x2520562d, 0x00118490, 0x00090448 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x23c00229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c04629, 0x001180a0, 0x00090440 }, + { 0x00800041, 0x24e04629, 0x001180b0, 0x00090440 }, + { 0x00800041, 0x25004629, 0x001184a0, 0x00090440 }, + { 0x00800041, 0x25204629, 0x001184b0, 0x00090440 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x21e00229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x001180a0, 0x00090444 }, + { 0x00800041, 0x24e0562d, 0x001180b0, 0x00090444 }, + { 0x00800041, 0x2500562d, 0x001184a0, 0x00090444 }, + { 0x00800041, 0x2520562d, 0x001184b0, 0x00090444 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x22e00229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x001180a0, 0x00090448 }, + { 0x00800041, 0x24e0562d, 0x001180b0, 0x00090448 }, + { 0x00800041, 0x2500562d, 0x001184a0, 0x00090448 }, + { 0x00800041, 0x2520562d, 0x001184b0, 0x00090448 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x23e00229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c04629, 0x001180c0, 0x00090440 }, + { 0x00800041, 0x24e04629, 0x001180d0, 0x00090440 }, + { 0x00800041, 0x25004629, 0x001184c0, 0x00090440 }, + { 0x00800041, 0x25204629, 0x001184d0, 0x00090440 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x22000229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x001180c0, 0x00090444 }, + { 0x00800041, 0x24e0562d, 0x001180d0, 0x00090444 }, + { 0x00800041, 0x2500562d, 0x001184c0, 0x00090444 }, + { 0x00800041, 0x2520562d, 0x001184d0, 0x00090444 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x23000229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x001180c0, 0x00090448 }, + { 0x00800041, 0x24e0562d, 0x001180d0, 0x00090448 }, + { 0x00800041, 0x2500562d, 0x001184c0, 0x00090448 }, + { 0x00800041, 0x2520562d, 0x001184d0, 0x00090448 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x24000229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c04629, 0x001180e0, 0x00090440 }, + { 0x00800041, 0x24e04629, 0x001180f0, 0x00090440 }, + { 0x00800041, 0x25004629, 0x001184e0, 0x00090440 }, + { 0x00800041, 0x25204629, 0x001184f0, 0x00090440 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x22200229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x001180e0, 0x00090444 }, + { 0x00800041, 0x24e0562d, 0x001180f0, 0x00090444 }, + { 0x00800041, 0x2500562d, 0x001184e0, 0x00090444 }, + { 0x00800041, 0x2520562d, 0x001184f0, 0x00090444 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x23200229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x001180e0, 0x00090448 }, + { 0x00800041, 0x24e0562d, 0x001180f0, 0x00090448 }, + { 0x00800041, 0x2500562d, 0x001184e0, 0x00090448 }, + { 0x00800041, 0x2520562d, 0x001184f0, 0x00090448 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x24200229, 0x00110540, 0x00000000 }, + { 0x00600001, 0x22400129, 0x00ae0240, 0x00000000 }, + { 0x00600001, 0x23400129, 0x00ae0340, 0x00000000 }, + { 0x00600001, 0x22500129, 0x00ae0280, 0x00000000 }, + { 0x00600001, 0x23500129, 0x00ae0380, 0x00000000 }, + { 0x00600001, 0x22600129, 0x00ae02c0, 0x00000000 }, + { 0x00600001, 0x23600129, 0x00ae03c0, 0x00000000 }, + { 0x00600001, 0x22700129, 0x00ae0300, 0x00000000 }, + { 0x00600001, 0x23700129, 0x00ae0400, 0x00000000 }, + { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 }, + { 0x00200001, 0x202001a6, 0x004500a0, 0x00000000 }, + { 0x00000001, 0x20280062, 0x00000000, 0x0007000f }, + { 0x00000005, 0x24000c20, 0x000000b8, 0x00ffffff }, + { 0x04000010, 0x20000c04, 0x00000400, 0x00ffffff }, + { 0x00010220, 0x34001c00, 0x00001400, 0x00000056 }, + { 0x01600031, 0x27000c01, 0x408d0000, 0x0248a007 }, + { 0x0000040c, 0x21043da1, 0x000000a2, 0x00010001 }, + { 0x00000801, 0x21080061, 0x00000000, 0x0003000f }, + { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 }, + { 0x01600031, 0x28000c01, 0x408d0000, 0x0228a008 }, + { 0x00200001, 0x210001a1, 0x004500a0, 0x00000000 }, + { 0x00000001, 0x21080061, 0x00000000, 0x0007000f }, + { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 }, + { 0x00000001, 0x26020228, 0x000000ba, 0x00000000 }, + { 0x00610001, 0x24400129, 0x020000b8, 0x00000000 }, + { 0x00710001, 0x24400169, 0x02000000, 0x00000000 }, + { 0x00000001, 0x24600061, 0x00000000, 0x00040001 }, + { 0x00000001, 0x24640061, 0x00000000, 0x00400010 }, + { 0x00000001, 0x24680061, 0x00000000, 0x04000100 }, + { 0x00000001, 0x246c0061, 0x00000000, 0x40001000 }, + { 0x00000001, 0x26020128, 0x00000440, 0x00000000 }, + { 0x00910001, 0x41400231, 0x02b10700, 0x00000000 }, + { 0x02600005, 0x2000252c, 0x02000440, 0x008d0460 }, + { 0x00710001, 0x42400231, 0x02ae0800, 0x00000000 }, + { 0x00710001, 0x43400231, 0x02ae0801, 0x00000000 }, + { 0x00000001, 0x26020128, 0x00000442, 0x00000000 }, + { 0x00910001, 0x41600231, 0x02b10710, 0x00000000 }, + { 0x00000001, 0x26020128, 0x00000444, 0x00000000 }, + { 0x00910001, 0x41800231, 0x02b10720, 0x00000000 }, + { 0x02600005, 0x2000252c, 0x02000444, 0x008d0460 }, + { 0x00710001, 0x42500231, 0x02ae0810, 0x00000000 }, + { 0x00710001, 0x43500231, 0x02ae0811, 0x00000000 }, + { 0x00000001, 0x26020128, 0x00000446, 0x00000000 }, + { 0x00910001, 0x41a00231, 0x02b10730, 0x00000000 }, + { 0x00000001, 0x26020128, 0x00000448, 0x00000000 }, + { 0x00910001, 0x41c00231, 0x02b10740, 0x00000000 }, + { 0x02600005, 0x2000252c, 0x02000448, 0x008d0460 }, + { 0x00710001, 0x42600231, 0x02ae0820, 0x00000000 }, + { 0x00710001, 0x43600231, 0x02ae0821, 0x00000000 }, + { 0x00000001, 0x26020128, 0x0000044a, 0x00000000 }, + { 0x00910001, 0x41e00231, 0x02b10750, 0x00000000 }, + { 0x00000001, 0x26020128, 0x0000044c, 0x00000000 }, + { 0x00910001, 0x42000231, 0x02b10760, 0x00000000 }, + { 0x02600005, 0x2000252c, 0x0200044c, 0x008d0460 }, + { 0x00710001, 0x42700231, 0x02ae0830, 0x00000000 }, + { 0x00710001, 0x43700231, 0x02ae0831, 0x00000000 }, + { 0x00000001, 0x26020128, 0x0000044e, 0x00000000 }, + { 0x00910001, 0x42200231, 0x02b10770, 0x00000000 }, + { 0x00800001, 0x20400232, 0x00d20140, 0x00000000 }, + { 0x00800001, 0x20500232, 0x00d20160, 0x00000000 }, + { 0x00800001, 0x20600232, 0x00d20180, 0x00000000 }, + { 0x00800001, 0x20700232, 0x00d201a0, 0x00000000 }, + { 0x00800001, 0x20800232, 0x00d201c0, 0x00000000 }, + { 0x00800001, 0x20900232, 0x00d201e0, 0x00000000 }, + { 0x00800001, 0x20a00232, 0x00d20200, 0x00000000 }, + { 0x00800001, 0x20b00232, 0x00d20220, 0x00000000 }, + { 0x01600031, 0x20000c04, 0x508d0000, 0x0a082007 }, + { 0x00200001, 0x210001a5, 0x004500a0, 0x00000000 }, + { 0x0000000c, 0x21043ca5, 0x00000104, 0x00010001 }, + { 0x00000001, 0x21080061, 0x00000000, 0x0003000f }, + { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 }, + { 0x00800001, 0x40400232, 0x00d20240, 0x00000000 }, + { 0x00800001, 0x40410232, 0x00d20340, 0x00000000 }, + { 0x00800001, 0x40600232, 0x00d20260, 0x00000000 }, + { 0x00800001, 0x40610232, 0x00d20360, 0x00000000 }, + { 0x01600031, 0x20000c04, 0x508d0000, 0x06082008 }, + { 0x01000040, 0x20863dad, 0x00000086, 0xffffffff }, + { 0x00000040, 0x20a03dad, 0x000000a0, 0x00100010 }, + { 0x05000010, 0x200035ac, 0x020000a0, 0x00000084 }, + { 0x00010220, 0x34001c00, 0x00001400, 0x00000008 }, + { 0x00010220, 0x34001c00, 0x02001400, 0xfffffbbe }, + { 0x00000001, 0x20a001ad, 0x0000008a, 0x00000000 }, + { 0x00000040, 0x20a23dad, 0x000000a2, 0x00080008 }, + { 0x00000220, 0x34001c00, 0x00001400, 0xfffffbb8 }, + { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 }, + { 0x00600001, 0x21e00022, 0x008d0000, 0x00000000 }, + { 0x0f000031, 0x20000c04, 0x708d0000, 0x82000000 }, + { 0x00600001, 0x21e00022, 0x008d0000, 0x00000000 }, + { 0x0f000031, 0x20000c04, 0x708d0000, 0x82000000 }, diff --git a/src/shaders/post_processing/gen5_6/rgbx_load_save_nv12.g6b b/src/shaders/post_processing/gen5_6/rgbx_load_save_nv12.g6b new file mode 100644 index 0000000..8b7b25b --- /dev/null +++ b/src/shaders/post_processing/gen5_6/rgbx_load_save_nv12.g6b @@ -0,0 +1,639 @@ + { 0x00600001, 0x20e00061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x21000061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x21200061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x21400061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x21600061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x21800061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x21a00061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x21c00061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x21e00061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x22000061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x22200061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x22400061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x22600061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x22800061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x22a00061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x22c00061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x22e00061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x23000061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x23200061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x23400061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x23600061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x23800061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x23a00061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x23c00061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x23e00061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x24000061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x24200061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x24400061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x24600061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x24800061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x24a00061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x24c00061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x24e00061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x25000061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x25200061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x25400061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x25600061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x25800061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x25a00061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x25c00061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x25e00061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x26000061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x26200061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x26400061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x26600061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x26800061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x26a00061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x26c00061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x26e00061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x27000061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x27200061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x27400061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x27600061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x27800061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x27a00061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x27c00061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x27e00061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x28000061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x28200061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x28400061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x28600061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x28800061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x28a00061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x28c00061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x28e00061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x29000061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x29200061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x29400061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x29600061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x29800061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x29a00061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x29c00061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x29e00061, 0x00000000, 0x00000000 }, + { 0x00600001, 0x21000021, 0x008d0000, 0x00000000 }, + { 0x02000005, 0x20000c24, 0x02000024, 0xff000000 }, + { 0x00110001, 0x24400061, 0x02000000, 0x00428119 }, + { 0x00010001, 0x24400061, 0x02000000, 0x00198142 }, + { 0x00110001, 0x24440061, 0x02000000, 0x00dab670 }, + { 0x00010001, 0x24440061, 0x02000000, 0x0070b6da }, + { 0x00110001, 0x24480061, 0x02000000, 0x0070a2ee }, + { 0x00010001, 0x24480061, 0x02000000, 0x00eea270 }, + { 0x00000441, 0x20842e2d, 0x000000b7, 0x00100010 }, + { 0x00000c01, 0x2086022d, 0x000000bb, 0x00000000 }, + { 0x00000801, 0x208a01ad, 0x000000a0, 0x00000000 }, + { 0x00200001, 0x209403bd, 0x006600a4, 0x00000000 }, + { 0x00000040, 0x208435ad, 0x00000084, 0x000000a0 }, + { 0x00200040, 0x210035a5, 0x004500a0, 0x00450074 }, + { 0x00000409, 0x21003da5, 0x00000100, 0x00020002 }, + { 0x00000801, 0x21080061, 0x00000000, 0x0007001f }, + { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 }, + { 0x04600031, 0x27000cc1, 0x00000020, 0x02898001 }, + { 0x00000040, 0x21003ca5, 0x00000100, 0x00200020 }, + { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 }, + { 0x04600031, 0x28000cc1, 0x00000020, 0x02898001 }, + { 0x00000001, 0x22000060, 0x00000000, 0x08000700 }, + { 0x00800041, 0x24c04629, 0x00118000, 0x00090440 }, + { 0x00800041, 0x24e04629, 0x00118010, 0x00090440 }, + { 0x00800041, 0x25004629, 0x00118400, 0x00090440 }, + { 0x00800041, 0x25204629, 0x00118410, 0x00090440 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x21400229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x00118000, 0x00090444 }, + { 0x00800041, 0x24e0562d, 0x00118010, 0x00090444 }, + { 0x00800041, 0x2500562d, 0x00118400, 0x00090444 }, + { 0x00800041, 0x2520562d, 0x00118410, 0x00090444 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x22400229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x00118000, 0x00090448 }, + { 0x00800041, 0x24e0562d, 0x00118010, 0x00090448 }, + { 0x00800041, 0x2500562d, 0x00118400, 0x00090448 }, + { 0x00800041, 0x2520562d, 0x00118410, 0x00090448 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x23400229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c04629, 0x00118020, 0x00090440 }, + { 0x00800041, 0x24e04629, 0x00118030, 0x00090440 }, + { 0x00800041, 0x25004629, 0x00118420, 0x00090440 }, + { 0x00800041, 0x25204629, 0x00118430, 0x00090440 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x21600229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x00118020, 0x00090444 }, + { 0x00800041, 0x24e0562d, 0x00118030, 0x00090444 }, + { 0x00800041, 0x2500562d, 0x00118420, 0x00090444 }, + { 0x00800041, 0x2520562d, 0x00118430, 0x00090444 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x22600229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x00118020, 0x00090448 }, + { 0x00800041, 0x24e0562d, 0x00118030, 0x00090448 }, + { 0x00800041, 0x2500562d, 0x00118420, 0x00090448 }, + { 0x00800041, 0x2520562d, 0x00118430, 0x00090448 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x23600229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c04629, 0x00118040, 0x00090440 }, + { 0x00800041, 0x24e04629, 0x00118050, 0x00090440 }, + { 0x00800041, 0x25004629, 0x00118440, 0x00090440 }, + { 0x00800041, 0x25204629, 0x00118450, 0x00090440 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x21800229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x00118040, 0x00090444 }, + { 0x00800041, 0x24e0562d, 0x00118050, 0x00090444 }, + { 0x00800041, 0x2500562d, 0x00118440, 0x00090444 }, + { 0x00800041, 0x2520562d, 0x00118450, 0x00090444 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x22800229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x00118040, 0x00090448 }, + { 0x00800041, 0x24e0562d, 0x00118050, 0x00090448 }, + { 0x00800041, 0x2500562d, 0x00118440, 0x00090448 }, + { 0x00800041, 0x2520562d, 0x00118450, 0x00090448 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x23800229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c04629, 0x00118060, 0x00090440 }, + { 0x00800041, 0x24e04629, 0x00118070, 0x00090440 }, + { 0x00800041, 0x25004629, 0x00118460, 0x00090440 }, + { 0x00800041, 0x25204629, 0x00118470, 0x00090440 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x21a00229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x00118060, 0x00090444 }, + { 0x00800041, 0x24e0562d, 0x00118070, 0x00090444 }, + { 0x00800041, 0x2500562d, 0x00118460, 0x00090444 }, + { 0x00800041, 0x2520562d, 0x00118470, 0x00090444 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x22a00229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x00118060, 0x00090448 }, + { 0x00800041, 0x24e0562d, 0x00118070, 0x00090448 }, + { 0x00800041, 0x2500562d, 0x00118460, 0x00090448 }, + { 0x00800041, 0x2520562d, 0x00118470, 0x00090448 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x23a00229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c04629, 0x00118080, 0x00090440 }, + { 0x00800041, 0x24e04629, 0x00118090, 0x00090440 }, + { 0x00800041, 0x25004629, 0x00118480, 0x00090440 }, + { 0x00800041, 0x25204629, 0x00118490, 0x00090440 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x21c00229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x00118080, 0x00090444 }, + { 0x00800041, 0x24e0562d, 0x00118090, 0x00090444 }, + { 0x00800041, 0x2500562d, 0x00118480, 0x00090444 }, + { 0x00800041, 0x2520562d, 0x00118490, 0x00090444 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x22c00229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x00118080, 0x00090448 }, + { 0x00800041, 0x24e0562d, 0x00118090, 0x00090448 }, + { 0x00800041, 0x2500562d, 0x00118480, 0x00090448 }, + { 0x00800041, 0x2520562d, 0x00118490, 0x00090448 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x23c00229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c04629, 0x001180a0, 0x00090440 }, + { 0x00800041, 0x24e04629, 0x001180b0, 0x00090440 }, + { 0x00800041, 0x25004629, 0x001184a0, 0x00090440 }, + { 0x00800041, 0x25204629, 0x001184b0, 0x00090440 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x21e00229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x001180a0, 0x00090444 }, + { 0x00800041, 0x24e0562d, 0x001180b0, 0x00090444 }, + { 0x00800041, 0x2500562d, 0x001184a0, 0x00090444 }, + { 0x00800041, 0x2520562d, 0x001184b0, 0x00090444 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x22e00229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x001180a0, 0x00090448 }, + { 0x00800041, 0x24e0562d, 0x001180b0, 0x00090448 }, + { 0x00800041, 0x2500562d, 0x001184a0, 0x00090448 }, + { 0x00800041, 0x2520562d, 0x001184b0, 0x00090448 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x23e00229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c04629, 0x001180c0, 0x00090440 }, + { 0x00800041, 0x24e04629, 0x001180d0, 0x00090440 }, + { 0x00800041, 0x25004629, 0x001184c0, 0x00090440 }, + { 0x00800041, 0x25204629, 0x001184d0, 0x00090440 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x22000229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x001180c0, 0x00090444 }, + { 0x00800041, 0x24e0562d, 0x001180d0, 0x00090444 }, + { 0x00800041, 0x2500562d, 0x001184c0, 0x00090444 }, + { 0x00800041, 0x2520562d, 0x001184d0, 0x00090444 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x23000229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x001180c0, 0x00090448 }, + { 0x00800041, 0x24e0562d, 0x001180d0, 0x00090448 }, + { 0x00800041, 0x2500562d, 0x001184c0, 0x00090448 }, + { 0x00800041, 0x2520562d, 0x001184d0, 0x00090448 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x24000229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c04629, 0x001180e0, 0x00090440 }, + { 0x00800041, 0x24e04629, 0x001180f0, 0x00090440 }, + { 0x00800041, 0x25004629, 0x001184e0, 0x00090440 }, + { 0x00800041, 0x25204629, 0x001184f0, 0x00090440 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x22200229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x001180e0, 0x00090444 }, + { 0x00800041, 0x24e0562d, 0x001180f0, 0x00090444 }, + { 0x00800041, 0x2500562d, 0x001184e0, 0x00090444 }, + { 0x00800041, 0x2520562d, 0x001184f0, 0x00090444 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x23200229, 0x00110540, 0x00000000 }, + { 0x00800041, 0x24c0562d, 0x001180e0, 0x00090448 }, + { 0x00800041, 0x24e0562d, 0x001180f0, 0x00090448 }, + { 0x00800041, 0x2500562d, 0x001184e0, 0x00090448 }, + { 0x00800041, 0x2520562d, 0x001184f0, 0x00090448 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 }, + { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 }, + { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 }, + { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 }, + { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 }, + { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 }, + { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 }, + { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 }, + { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 }, + { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 }, + { 0x00800001, 0x25400231, 0x00120541, 0x00000000 }, + { 0x00800001, 0x24200229, 0x00110540, 0x00000000 }, + { 0x00600001, 0x22400129, 0x00ae0240, 0x00000000 }, + { 0x00600001, 0x23400129, 0x00ae0340, 0x00000000 }, + { 0x00600001, 0x22500129, 0x00ae0280, 0x00000000 }, + { 0x00600001, 0x23500129, 0x00ae0380, 0x00000000 }, + { 0x00600001, 0x22600129, 0x00ae02c0, 0x00000000 }, + { 0x00600001, 0x23600129, 0x00ae03c0, 0x00000000 }, + { 0x00600001, 0x22700129, 0x00ae0300, 0x00000000 }, + { 0x00600001, 0x23700129, 0x00ae0400, 0x00000000 }, + { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 }, + { 0x00200001, 0x202001a6, 0x004500a0, 0x00000000 }, + { 0x00000001, 0x20280062, 0x00000000, 0x0007000f }, + { 0x00000005, 0x24000c20, 0x000000b8, 0x00ffffff }, + { 0x04000010, 0x20000c04, 0x00000400, 0x00ffffff }, + { 0x00010220, 0x34001c00, 0x00001400, 0x00000056 }, + { 0x04600031, 0x27000cc1, 0x00000020, 0x02498007 }, + { 0x0000040c, 0x21043da1, 0x000000a2, 0x00010001 }, + { 0x00000801, 0x21080061, 0x00000000, 0x0003000f }, + { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 }, + { 0x04600031, 0x28000cc1, 0x00000020, 0x02298008 }, + { 0x00200001, 0x210001a1, 0x004500a0, 0x00000000 }, + { 0x00000001, 0x21080061, 0x00000000, 0x0007000f }, + { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 }, + { 0x00000001, 0x26020228, 0x000000ba, 0x00000000 }, + { 0x00610001, 0x24400129, 0x020000b8, 0x00000000 }, + { 0x00710001, 0x24400169, 0x02000000, 0x00000000 }, + { 0x00000001, 0x24600061, 0x00000000, 0x00040001 }, + { 0x00000001, 0x24640061, 0x00000000, 0x00400010 }, + { 0x00000001, 0x24680061, 0x00000000, 0x04000100 }, + { 0x00000001, 0x246c0061, 0x00000000, 0x40001000 }, + { 0x00000001, 0x26020128, 0x00000440, 0x00000000 }, + { 0x00910001, 0x41400231, 0x02b10700, 0x00000000 }, + { 0x02600005, 0x2000252c, 0x02000440, 0x008d0460 }, + { 0x00710001, 0x42400231, 0x02ae0800, 0x00000000 }, + { 0x00710001, 0x43400231, 0x02ae0801, 0x00000000 }, + { 0x00000001, 0x26020128, 0x00000442, 0x00000000 }, + { 0x00910001, 0x41600231, 0x02b10710, 0x00000000 }, + { 0x00000001, 0x26020128, 0x00000444, 0x00000000 }, + { 0x00910001, 0x41800231, 0x02b10720, 0x00000000 }, + { 0x02600005, 0x2000252c, 0x02000444, 0x008d0460 }, + { 0x00710001, 0x42500231, 0x02ae0810, 0x00000000 }, + { 0x00710001, 0x43500231, 0x02ae0811, 0x00000000 }, + { 0x00000001, 0x26020128, 0x00000446, 0x00000000 }, + { 0x00910001, 0x41a00231, 0x02b10730, 0x00000000 }, + { 0x00000001, 0x26020128, 0x00000448, 0x00000000 }, + { 0x00910001, 0x41c00231, 0x02b10740, 0x00000000 }, + { 0x02600005, 0x2000252c, 0x02000448, 0x008d0460 }, + { 0x00710001, 0x42600231, 0x02ae0820, 0x00000000 }, + { 0x00710001, 0x43600231, 0x02ae0821, 0x00000000 }, + { 0x00000001, 0x26020128, 0x0000044a, 0x00000000 }, + { 0x00910001, 0x41e00231, 0x02b10750, 0x00000000 }, + { 0x00000001, 0x26020128, 0x0000044c, 0x00000000 }, + { 0x00910001, 0x42000231, 0x02b10760, 0x00000000 }, + { 0x02600005, 0x2000252c, 0x0200044c, 0x008d0460 }, + { 0x00710001, 0x42700231, 0x02ae0830, 0x00000000 }, + { 0x00710001, 0x43700231, 0x02ae0831, 0x00000000 }, + { 0x00000001, 0x26020128, 0x0000044e, 0x00000000 }, + { 0x00910001, 0x42200231, 0x02b10770, 0x00000000 }, + { 0x00800001, 0x20400232, 0x00d20140, 0x00000000 }, + { 0x00800001, 0x20500232, 0x00d20160, 0x00000000 }, + { 0x00800001, 0x20600232, 0x00d20180, 0x00000000 }, + { 0x00800001, 0x20700232, 0x00d201a0, 0x00000000 }, + { 0x00800001, 0x20800232, 0x00d201c0, 0x00000000 }, + { 0x00800001, 0x20900232, 0x00d201e0, 0x00000000 }, + { 0x00800001, 0x20a00232, 0x00d20200, 0x00000000 }, + { 0x00800001, 0x20b00232, 0x00d20220, 0x00000000 }, + { 0x05600031, 0x20000cc4, 0x00000020, 0x0a094007 }, + { 0x00200001, 0x210001a5, 0x004500a0, 0x00000000 }, + { 0x0000000c, 0x21043ca5, 0x00000104, 0x00010001 }, + { 0x00000001, 0x21080061, 0x00000000, 0x0003000f }, + { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 }, + { 0x00800001, 0x40400232, 0x00d20240, 0x00000000 }, + { 0x00800001, 0x40410232, 0x00d20340, 0x00000000 }, + { 0x00800001, 0x40600232, 0x00d20260, 0x00000000 }, + { 0x00800001, 0x40610232, 0x00d20360, 0x00000000 }, + { 0x05600031, 0x20000cc4, 0x00000020, 0x06094008 }, + { 0x01000040, 0x20863dad, 0x00000086, 0xffffffff }, + { 0x00000040, 0x20a03dad, 0x000000a0, 0x00100010 }, + { 0x05000010, 0x200035ac, 0x020000a0, 0x00000084 }, + { 0x00010220, 0x34001c00, 0x00001400, 0x00000008 }, + { 0x00010220, 0x34001c00, 0x02001400, 0xfffffbbe }, + { 0x00000001, 0x20a001ad, 0x0000008a, 0x00000000 }, + { 0x00000040, 0x20a23dad, 0x000000a2, 0x00080008 }, + { 0x00000220, 0x34001c00, 0x00001400, 0xfffffbb8 }, + { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 }, + { 0x00600001, 0x21e00022, 0x008d0000, 0x00000000 }, + { 0x07000031, 0x20001cc4, 0x000001e0, 0x82000010 }, + { 0x00600001, 0x21e00022, 0x008d0000, 0x00000000 }, + { 0x07000031, 0x20001cc4, 0x000001e0, 0x82000010 }, |