diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2011-10-06 08:03:38 -0700 |
---|---|---|
committer | Ronald S. Bultje <rsbultje@gmail.com> | 2011-10-11 07:50:48 -0700 |
commit | 92fb52d9060a146f31da6f07ea9ce7867294e153 (patch) | |
tree | d3467aa987fd7dbb8c32041611805532bca73ce1 /libavcodec/simple_idct.c | |
parent | 8babfc033ecb6332155c1f8879e54dee41d16952 (diff) | |
download | ffmpeg-92fb52d9060a146f31da6f07ea9ce7867294e153.tar.gz |
prores: extract idct into its own dspcontext and merge with put_pixels.
Diffstat (limited to 'libavcodec/simple_idct.c')
-rw-r--r-- | libavcodec/simple_idct.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libavcodec/simple_idct.c b/libavcodec/simple_idct.c index b62658bdb3..c6cd9080df 100644 --- a/libavcodec/simple_idct.c +++ b/libavcodec/simple_idct.c @@ -221,3 +221,20 @@ void ff_simple_idct44_add(uint8_t *dest, int line_size, DCTELEM *block) idct4col_add(dest + i, line_size, block + i); } } + +void ff_prores_idct(DCTELEM *block, const int16_t *qmat) +{ + int i; + + for (i = 0; i < 64; i++) + block[i] *= qmat[i]; + + for (i = 0; i < 8; i++) + idctRowCondDC_10(block + i*8); + + for (i = 0; i < 64; i++) + block[i] >>= 2; + + for (i = 0; i < 8; i++) + idctSparseCol_10(block + i); +} |