summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXiang, Haihao <haihao.xiang@intel.com>2010-06-18 16:00:48 +0800
committerXiang, Haihao <haihao.xiang@intel.com>2010-06-18 16:00:48 +0800
commit120cee22a983a4e74542765a2bf85ad003761335 (patch)
treeae35d4ff0e08d7b2bcdd9a36f83bd08a513cba38
parent58d7059760f6f733c4af56cc6710e14211d07407 (diff)
downloadlibva-120cee22a983a4e74542765a2bf85ad003761335.tar.gz
i965_drv_video: fix AVC mc kernel
-rw-r--r--i965_drv_video/shaders/h264/mc/avc_mc.g4b6
-rw-r--r--i965_drv_video/shaders/h264/mc/avc_mc.g4b.gen56
-rw-r--r--i965_drv_video/shaders/h264/mc/intra_Pred_8x8_Y.asm4
3 files changed, 8 insertions, 8 deletions
diff --git a/i965_drv_video/shaders/h264/mc/avc_mc.g4b b/i965_drv_video/shaders/h264/mc/avc_mc.g4b
index f627326..cdee6ac 100644
--- a/i965_drv_video/shaders/h264/mc/avc_mc.g4b
+++ b/i965_drv_video/shaders/h264/mc/avc_mc.g4b
@@ -344,7 +344,7 @@
{ 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 },
@@ -423,7 +423,7 @@
{ 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 },
@@ -434,7 +434,7 @@
{ 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 },
diff --git a/i965_drv_video/shaders/h264/mc/avc_mc.g4b.gen5 b/i965_drv_video/shaders/h264/mc/avc_mc.g4b.gen5
index f627326..cdee6ac 100644
--- a/i965_drv_video/shaders/h264/mc/avc_mc.g4b.gen5
+++ b/i965_drv_video/shaders/h264/mc/avc_mc.g4b.gen5
@@ -344,7 +344,7 @@
{ 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 },
@@ -423,7 +423,7 @@
{ 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 },
@@ -434,7 +434,7 @@
{ 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 },
diff --git a/i965_drv_video/shaders/h264/mc/intra_Pred_8x8_Y.asm b/i965_drv_video/shaders/h264/mc/intra_Pred_8x8_Y.asm
index ce77771..c4f245e 100644
--- a/i965_drv_video/shaders/h264/mc/intra_Pred_8x8_Y.asm
+++ b/i965_drv_video/shaders/h264/mc/intra_Pred_8x8_Y.asm
@@ -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
mac (16) acc0<1>:w REF_TOP(0,1)REGION(16,1) 2:w // 2*p[x+1]+p[x+2]+2
mac (16) acc0<1>:w REF_TOP(0)REGION(16,1) 1:w // p[x]+2*p[x+1]+p[x+2]+2
- shr (16) PRED_YW(15)<1> acc0<1>:w 2:w // (p[x]+2*p[x+1]+p[x+2]+2)>>2
+ shr (16) PRED_YW(15)<1> acc0<1;8,1>:w 2:w // (p[x]+2*p[x+1]+p[x+2]+2)>>2
// Add error block
$for(0,0; <4; 1,32) {
@@ -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
mac (16) acc0<1>:w REF_LEFT(0,1)REGION(16,1) 2:w // 2*p[y+1]+p[y+2]+2
mac (16) acc0<1>:w REF_LEFT(0)REGION(16,1) 1:w // p[y]+2*p[y+1]+p[y+2]+2
- shr (16) PRED_YW(15)<1> acc0<1>:w 2:w // (p[y]+2*p[y+1]+p[y+2]+2)>>2
+ shr (16) PRED_YW(15)<1> acc0<1;8,1>:w 2:w // (p[y]+2*p[y+1]+p[y+2]+2)>>2
// Merge even/odd pixels
// The predicted data need to be stored in byte type (22 bytes are required)