summaryrefslogtreecommitdiff
path: root/libavcodec/simple_idct.c
diff options
context:
space:
mode:
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);
+}