]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/simple_idct.c
Merge remote-tracking branch 'qatar/master'
[ffmpeg] / libavcodec / simple_idct.c
index ffe5a0b07059249e25dcce924fa91d70fc3edd8b..0676cf65fca1422761469eedbd85efe1082a2f10 100644 (file)
@@ -108,7 +108,7 @@ void ff_simple_idct248_put(uint8_t *dest, int line_size, DCTELEM *block)
 
     /* IDCT8 on each line */
     for(i=0; i<8; i++) {
-        idctRowCondDC_8(block + i*8);
+        idctRowCondDC_8(block + i*8, 0);
     }
 
     /* IDCT4 and store */
@@ -183,7 +183,7 @@ void ff_simple_idct84_add(uint8_t *dest, int line_size, DCTELEM *block)
 
     /* IDCT8 on each line */
     for(i=0; i<4; i++) {
-        idctRowCondDC_8(block + i*8);
+        idctRowCondDC_8(block + i*8, 0);
     }
 
     /* IDCT4 and store */
@@ -221,3 +221,17 @@ 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, 2);
+
+    for (i = 0; i < 8; i++)
+        idctSparseCol_10(block + i);
+}