commit 494eb6d3e1aaa5ab48eb93bad7618d3e9bbdbd98 Author: Loren Merritt Date: Thu Nov 12 14:56:44 2009 +0000 cosmetics in intra diff --git a/common/predict.c b/common/predict.c index 92e0992..0718c81 100644 --- a/common/predict.c +++ b/common/predict.c @@ -330,12 +330,10 @@ static void predict_8x8c_p( uint8_t *src ) ****************************************************************************/ #define SRC(x,y) src[(x)+(y)*FDEC_STRIDE] +#define SRC32(x,y) M32( &SRC(x,y) ) #define PREDICT_4x4_DC(v)\ - M32( &SRC(0,0) ) = v;\ - M32( &SRC(0,1) ) = v;\ - M32( &SRC(0,2) ) = v;\ - M32( &SRC(0,3) ) = v;\ + SRC32(0,0) = SRC32(0,1) = SRC32(0,2) = SRC32(0,3) = v; static void predict_4x4_dc_128( uint8_t *src ) { @@ -359,14 +357,14 @@ static void predict_4x4_dc( uint8_t *src ) } static void predict_4x4_h( uint8_t *src ) { - M32( &SRC(0,0) ) = SRC(-1,0) * 0x01010101; - M32( &SRC(0,1) ) = SRC(-1,1) * 0x01010101; - M32( &SRC(0,2) ) = SRC(-1,2) * 0x01010101; - M32( &SRC(0,3) ) = SRC(-1,3) * 0x01010101; + SRC32(0,0) = SRC(-1,0) * 0x01010101; + SRC32(0,1) = SRC(-1,1) * 0x01010101; + SRC32(0,2) = SRC(-1,2) * 0x01010101; + SRC32(0,3) = SRC(-1,3) * 0x01010101; } static void predict_4x4_v( uint8_t *src ) { - PREDICT_4x4_DC(M32( &SRC(0,-1)) ); + PREDICT_4x4_DC(SRC32(0,-1)); } #define PREDICT_4x4_LOAD_LEFT\ @@ -582,7 +580,7 @@ static void predict_8x8_dc( uint8_t *src, uint8_t edge[33] ) static void predict_8x8_h( uint8_t *src, uint8_t edge[33] ) { PREDICT_8x8_LOAD_LEFT -#define ROW(y) M32( src+y*FDEC_STRIDE+0 ) = 0x01010101U * l##y;\ +#define ROW(y) M32( src+y*FDEC_STRIDE+0 ) =\ M32( src+y*FDEC_STRIDE+4 ) = 0x01010101U * l##y; ROW(0); ROW(1); ROW(2); ROW(3); ROW(4); ROW(5); ROW(6); ROW(7); #undef ROW @@ -669,28 +667,27 @@ static void predict_8x8_hd( uint8_t *src, uint8_t edge[33] ) PREDICT_8x8_LOAD_TOP PREDICT_8x8_LOAD_LEFT PREDICT_8x8_LOAD_TOPLEFT - SRC(0,7)= (l6 + l7 + 1) >> 1; - SRC(1,7)= (l5 + 2*l6 + l7 + 2) >> 2; - SRC(0,6)=SRC(2,7)= (l5 + l6 + 1) >> 1; - SRC(1,6)=SRC(3,7)= (l4 + 2*l5 + l6 + 2) >> 2; - SRC(0,5)=SRC(2,6)=SRC(4,7)= (l4 + l5 + 1) >> 1; - SRC(1,5)=SRC(3,6)=SRC(5,7)= (l3 + 2*l4 + l5 + 2) >> 2; - SRC(0,4)=SRC(2,5)=SRC(4,6)=SRC(6,7)= (l3 + l4 + 1) >> 1; - SRC(1,4)=SRC(3,5)=SRC(5,6)=SRC(7,7)= (l2 + 2*l3 + l4 + 2) >> 2; - SRC(0,3)=SRC(2,4)=SRC(4,5)=SRC(6,6)= (l2 + l3 + 1) >> 1; - SRC(1,3)=SRC(3,4)=SRC(5,5)=SRC(7,6)= (l1 + 2*l2 + l3 + 2) >> 2; - SRC(0,2)=SRC(2,3)=SRC(4,4)=SRC(6,5)= (l1 + l2 + 1) >> 1; - SRC(1,2)=SRC(3,3)=SRC(5,4)=SRC(7,5)= (l0 + 2*l1 + l2 + 2) >> 2; - SRC(0,1)=SRC(2,2)=SRC(4,3)=SRC(6,4)= (l0 + l1 + 1) >> 1; - SRC(1,1)=SRC(3,2)=SRC(5,3)=SRC(7,4)= (lt + 2*l0 + l1 + 2) >> 2; - SRC(0,0)=SRC(2,1)=SRC(4,2)=SRC(6,3)= (lt + l0 + 1) >> 1; - SRC(1,0)=SRC(3,1)=SRC(5,2)=SRC(7,3)= (l0 + 2*lt + t0 + 2) >> 2; - SRC(2,0)=SRC(4,1)=SRC(6,2)= (t1 + 2*t0 + lt + 2) >> 2; - SRC(3,0)=SRC(5,1)=SRC(7,2)= (t2 + 2*t1 + t0 + 2) >> 2; - SRC(4,0)=SRC(6,1)= (t3 + 2*t2 + t1 + 2) >> 2; - SRC(5,0)=SRC(7,1)= (t4 + 2*t3 + t2 + 2) >> 2; - SRC(6,0)= (t5 + 2*t4 + t3 + 2) >> 2; - SRC(7,0)= (t6 + 2*t5 + t4 + 2) >> 2; + int p1 = pack8to16(F1(l6,l7), F2(l5,l6,l7)); + int p2 = pack8to16(F1(l5,l6), F2(l4,l5,l6)); + int p3 = pack8to16(F1(l4,l5), F2(l3,l4,l5)); + int p4 = pack8to16(F1(l3,l4), F2(l2,l3,l4)); + int p5 = pack8to16(F1(l2,l3), F2(l1,l2,l3)); + int p6 = pack8to16(F1(l1,l2), F2(l0,l1,l2)); + int p7 = pack8to16(F1(l0,l1), F2(lt,l0,l1)); + int p8 = pack8to16(F1(lt,l0), F2(l0,lt,t0)); + int p9 = pack8to16(F2(t1,t0,lt), F2(t2,t1,t0)); + int p10 = pack8to16(F2(t3,t2,t1), F2(t4,t3,t2)); + int p11 = pack8to16(F2(t5,t4,t3), F2(t6,t5,t4)); + SRC32(0,7)= pack16to32(p1,p2); + SRC32(0,6)= pack16to32(p2,p3); + SRC32(4,7)=SRC32(0,5)= pack16to32(p3,p4); + SRC32(4,6)=SRC32(0,4)= pack16to32(p4,p5); + SRC32(4,5)=SRC32(0,3)= pack16to32(p5,p6); + SRC32(4,4)=SRC32(0,2)= pack16to32(p6,p7); + SRC32(4,3)=SRC32(0,1)= pack16to32(p7,p8); + SRC32(4,2)=SRC32(0,0)= pack16to32(p8,p9); + SRC32(4,1)= pack16to32(p9,p10); + SRC32(4,0)= pack16to32(p10,p11); } static void predict_8x8_vl( uint8_t *src, uint8_t edge[33] ) { @@ -722,24 +719,22 @@ static void predict_8x8_vl( uint8_t *src, uint8_t edge[33] ) static void predict_8x8_hu( uint8_t *src, uint8_t edge[33] ) { PREDICT_8x8_LOAD_LEFT - SRC(0,0)= (l0 + l1 + 1) >> 1; - SRC(1,0)= (l0 + 2*l1 + l2 + 2) >> 2; - SRC(0,1)=SRC(2,0)= (l1 + l2 + 1) >> 1; - SRC(1,1)=SRC(3,0)= (l1 + 2*l2 + l3 + 2) >> 2; - SRC(0,2)=SRC(2,1)=SRC(4,0)= (l2 + l3 + 1) >> 1; - SRC(1,2)=SRC(3,1)=SRC(5,0)= (l2 + 2*l3 + l4 + 2) >> 2; - SRC(0,3)=SRC(2,2)=SRC(4,1)=SRC(6,0)= (l3 + l4 + 1) >> 1; - SRC(1,3)=SRC(3,2)=SRC(5,1)=SRC(7,0)= (l3 + 2*l4 + l5 + 2) >> 2; - SRC(0,4)=SRC(2,3)=SRC(4,2)=SRC(6,1)= (l4 + l5 + 1) >> 1; - SRC(1,4)=SRC(3,3)=SRC(5,2)=SRC(7,1)= (l4 + 2*l5 + l6 + 2) >> 2; - SRC(0,5)=SRC(2,4)=SRC(4,3)=SRC(6,2)= (l5 + l6 + 1) >> 1; - SRC(1,5)=SRC(3,4)=SRC(5,3)=SRC(7,2)= (l5 + 2*l6 + l7 + 2) >> 2; - SRC(0,6)=SRC(2,5)=SRC(4,4)=SRC(6,3)= (l6 + l7 + 1) >> 1; - SRC(1,6)=SRC(3,5)=SRC(5,4)=SRC(7,3)= (l6 + 3*l7 + 2) >> 2; - SRC(0,7)=SRC(1,7)=SRC(2,6)=SRC(2,7)=SRC(3,6)= - SRC(3,7)=SRC(4,5)=SRC(4,6)=SRC(4,7)=SRC(5,5)= - SRC(5,6)=SRC(5,7)=SRC(6,4)=SRC(6,5)=SRC(6,6)= - SRC(6,7)=SRC(7,4)=SRC(7,5)=SRC(7,6)=SRC(7,7)= l7; + int p1 = pack8to16(F1(l0,l1), F2(l0,l1,l2)); + int p2 = pack8to16(F1(l1,l2), F2(l1,l2,l3)); + int p3 = pack8to16(F1(l2,l3), F2(l2,l3,l4)); + int p4 = pack8to16(F1(l3,l4), F2(l3,l4,l5)); + int p5 = pack8to16(F1(l4,l5), F2(l4,l5,l6)); + int p6 = pack8to16(F1(l5,l6), F2(l5,l6,l7)); + int p7 = pack8to16(F1(l6,l7), F2(l6,l7,l7)); + int p8 = pack8to16(l7,l7); + SRC32(0,0)= pack16to32(p1,p2); + SRC32(0,1)= pack16to32(p2,p3); + SRC32(4,0)=SRC32(0,2)= pack16to32(p3,p4); + SRC32(4,1)=SRC32(0,3)= pack16to32(p4,p5); + SRC32(4,2)=SRC32(0,4)= pack16to32(p5,p6); + SRC32(4,3)=SRC32(0,5)= pack16to32(p6,p7); + SRC32(4,4)=SRC32(0,6)= pack16to32(p7,p8); + SRC32(4,5)=SRC32(4,6)= SRC32(0,7) = SRC32(4,7) = pack16to32(p8,p8); } /****************************************************************************