Mercurial > libavcodec.hg
diff jrevdct.c @ 2257:5f64a30339e5 libavcodec
1/4 resolution decoding
author | michael |
---|---|
date | Sun, 26 Sep 2004 00:18:12 +0000 |
parents | 7e0b2e86afa9 |
children | 12e75af1d44c |
line wrap: on
line diff
--- a/jrevdct.c Sat Sep 25 23:18:58 2004 +0000 +++ b/jrevdct.c Sun Sep 26 00:18:12 2004 +0000 @@ -1203,8 +1203,6 @@ register int *idataptr = (int*)dataptr; - /* WARNING: we do the same permutation as MMX idct to simplify the - video core */ d0 = dataptr[0]; d2 = dataptr[1]; d4 = dataptr[2]; @@ -1627,6 +1625,20 @@ } } +void j_rev_dct2(DCTBLOCK data){ + int d00, d01, d10, d11; + + data[0] += 4; + d00 = data[0+0*DCTSTRIDE] + data[1+0*DCTSTRIDE]; + d01 = data[0+0*DCTSTRIDE] - data[1+0*DCTSTRIDE]; + d10 = data[0+1*DCTSTRIDE] + data[1+1*DCTSTRIDE]; + d11 = data[0+1*DCTSTRIDE] - data[1+1*DCTSTRIDE]; + + data[0+0*DCTSTRIDE]= (d00 + d10)>>3; + data[1+0*DCTSTRIDE]= (d01 + d11)>>3; + data[0+1*DCTSTRIDE]= (d00 - d10)>>3; + data[1+1*DCTSTRIDE]= (d01 - d11)>>3; +} #undef FIX #undef CONST_BITS