prores: extract idct into its own dspcontext and merge with put_pixels.
[ffmpeg.git] / libavcodec / simple_idct.c
index b62658b..c6cd908 100644 (file)
@@ -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);
+}