]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/simple_idct.c
fftools/ffmpeg: use a bsf list instead of individual bsfs
[ffmpeg] / libavcodec / simple_idct.c
index 78b29c0fe3e03d8ebee94a3966729f5770e66862..3b2e73653819e541306c69b3604df29e7b9e232e 100644 (file)
@@ -236,7 +236,7 @@ void ff_simple_idct44_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
     }
 }
 
-void ff_prores_idct(int16_t *block, const int16_t *qmat)
+void ff_prores_idct_10(int16_t *block, const int16_t *qmat)
 {
     int i;
 
@@ -251,3 +251,19 @@ void ff_prores_idct(int16_t *block, const int16_t *qmat)
         idctSparseCol_extrashift_10(block + i);
     }
 }
+
+void ff_prores_idct_12(int16_t *block, const int16_t *qmat)
+{
+    int i;
+
+    for (i = 0; i < 64; i++)
+        block[i] *= qmat[i];
+
+    for (i = 0; i < 8; i++)
+        idctRowCondDC_int16_12bit(block + i*8, 0);
+
+    for (i = 0; i < 8; i++) {
+        block[i] += 8192;
+        idctSparseCol_int16_12bit(block + i);
+    }
+}