From: Xiang, Haihao Date: Fri, 18 Jun 2010 08:00:48 +0000 (+0800) Subject: i965_drv_video: fix AVC mc kernel X-Git-Tag: libva-1.0.4~32 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=120cee22a983a4e74542765a2bf85ad003761335;p=profile%2Fivi%2Flibva.git i965_drv_video: fix AVC mc kernel --- 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)