i965_drv_video: fix AVC mc kernel
authorXiang, Haihao <haihao.xiang@intel.com>
Fri, 18 Jun 2010 08:00:48 +0000 (16:00 +0800)
committerXiang, Haihao <haihao.xiang@intel.com>
Fri, 18 Jun 2010 08:00:48 +0000 (16:00 +0800)
i965_drv_video/shaders/h264/mc/avc_mc.g4b
i965_drv_video/shaders/h264/mc/avc_mc.g4b.gen5
i965_drv_video/shaders/h264/mc/intra_Pred_8x8_Y.asm

index f627326..cdee6ac 100644 (file)
    { 0x80800040, 0xd04045b1, 0x00b18840, 0x002c0744 },
    { 0x80800040, 0xd06045b1, 0x00b18860, 0x002c0746 },
    { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x02800005, 0x20003da0, 0x00000708, 0x00020002 },
+   { 0x02802005, 0x20003da0, 0x00000708, 0x00020002 },
    { 0x02600005, 0x20003da0, 0x02000708, 0x00010001 },
    { 0x009a0001, 0x27200169, 0x00000000, 0x80808080 },
    { 0x00780001, 0x27400231, 0x028d0724, 0x00000000 },
    { 0x00800040, 0x24003e2c, 0x00b10726, 0x00020002 },
    { 0x00800048, 0x24003e2c, 0x00b10725, 0x00020002 },
    { 0x00800048, 0x24003e2c, 0x00b10724, 0x00010001 },
-   { 0x00800008, 0x25e03d89, 0x00240400, 0x00020002 },
+   { 0x00800008, 0x25e03d89, 0x002d0400, 0x00020002 },
    { 0x80800040, 0xd0003531, 0x00ad05c0, 0x00b18800 },
    { 0x80800040, 0xd0203531, 0x00ad05c2, 0x00b18820 },
    { 0x80800040, 0xd0403531, 0x00ad05c4, 0x00b18840 },
    { 0x00800040, 0x24003e2c, 0x00b10742, 0x00020002 },
    { 0x00800048, 0x24003e2c, 0x00b10741, 0x00020002 },
    { 0x00800048, 0x24003e2c, 0x00b10740, 0x00010001 },
-   { 0x00800008, 0x25e03d89, 0x00240400, 0x00020002 },
+   { 0x00800008, 0x25e03d89, 0x002d0400, 0x00020002 },
    { 0x00800001, 0x45c10231, 0x00d205e0, 0x00000000 },
    { 0x80800040, 0xd0003631, 0x004d05c0, 0x00b18800 },
    { 0x80800040, 0xd0203631, 0x004d05c4, 0x00b18820 },
index f627326..cdee6ac 100644 (file)
    { 0x80800040, 0xd04045b1, 0x00b18840, 0x002c0744 },
    { 0x80800040, 0xd06045b1, 0x00b18860, 0x002c0746 },
    { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x02800005, 0x20003da0, 0x00000708, 0x00020002 },
+   { 0x02802005, 0x20003da0, 0x00000708, 0x00020002 },
    { 0x02600005, 0x20003da0, 0x02000708, 0x00010001 },
    { 0x009a0001, 0x27200169, 0x00000000, 0x80808080 },
    { 0x00780001, 0x27400231, 0x028d0724, 0x00000000 },
    { 0x00800040, 0x24003e2c, 0x00b10726, 0x00020002 },
    { 0x00800048, 0x24003e2c, 0x00b10725, 0x00020002 },
    { 0x00800048, 0x24003e2c, 0x00b10724, 0x00010001 },
-   { 0x00800008, 0x25e03d89, 0x00240400, 0x00020002 },
+   { 0x00800008, 0x25e03d89, 0x002d0400, 0x00020002 },
    { 0x80800040, 0xd0003531, 0x00ad05c0, 0x00b18800 },
    { 0x80800040, 0xd0203531, 0x00ad05c2, 0x00b18820 },
    { 0x80800040, 0xd0403531, 0x00ad05c4, 0x00b18840 },
    { 0x00800040, 0x24003e2c, 0x00b10742, 0x00020002 },
    { 0x00800048, 0x24003e2c, 0x00b10741, 0x00020002 },
    { 0x00800048, 0x24003e2c, 0x00b10740, 0x00010001 },
-   { 0x00800008, 0x25e03d89, 0x00240400, 0x00020002 },
+   { 0x00800008, 0x25e03d89, 0x002d0400, 0x00020002 },
    { 0x00800001, 0x45c10231, 0x00d205e0, 0x00000000 },
    { 0x80800040, 0xd0003631, 0x004d05c0, 0x00b18800 },
    { 0x80800040, 0xd0203631, 0x004d05c4, 0x00b18820 },
index ce77771..c4f245e 100644 (file)
@@ -210,7 +210,7 @@ INTRA_8X8_VERT_LEFT:
        add (16)                acc0<1>:w               REF_TOP(0,2)REGION(16,1)        2:w             // p[x+2]+2\r
        mac (16)                acc0<1>:w               REF_TOP(0,1)REGION(16,1)        2:w             // 2*p[x+1]+p[x+2]+2\r
        mac (16)                acc0<1>:w               REF_TOP(0)REGION(16,1)          1:w             // p[x]+2*p[x+1]+p[x+2]+2\r
-       shr (16)                PRED_YW(15)<1>  acc0<1>:w       2:w             // (p[x]+2*p[x+1]+p[x+2]+2)>>2\r
+       shr (16)                PRED_YW(15)<1>  acc0<1;8,1>:w   2:w             // (p[x]+2*p[x+1]+p[x+2]+2)>>2\r
 \r
        // Add error block\r
     $for(0,0; <4; 1,32) {\r
@@ -229,7 +229,7 @@ INTRA_8X8_HOR_UP:
        add (16)        acc0<1>:w               REF_LEFT(0,2)REGION(16,1)       2:w             // p[y+2]+2\r
        mac (16)        acc0<1>:w               REF_LEFT(0,1)REGION(16,1)       2:w             // 2*p[y+1]+p[y+2]+2\r
        mac (16)        acc0<1>:w               REF_LEFT(0)REGION(16,1)         1:w             // p[y]+2*p[y+1]+p[y+2]+2\r
-       shr (16)        PRED_YW(15)<1>  acc0<1>:w       2:w             // (p[y]+2*p[y+1]+p[y+2]+2)>>2\r
+       shr (16)        PRED_YW(15)<1>  acc0<1;8,1>:w   2:w             // (p[y]+2*p[y+1]+p[y+2]+2)>>2\r
 \r
        // Merge even/odd pixels\r
        // The predicted data need to be stored in byte type (22 bytes are required)\r