aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/simple_idct.c
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2011-10-06 08:03:38 -0700
committerRonald S. Bultje <rsbultje@gmail.com>2011-10-11 07:50:48 -0700
commit92fb52d9060a146f31da6f07ea9ce7867294e153 (patch)
treed3467aa987fd7dbb8c32041611805532bca73ce1 /libavcodec/simple_idct.c
parent8babfc033ecb6332155c1f8879e54dee41d16952 (diff)
downloadffmpeg-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.c17
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);
+}