X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fsimple_idct.c;h=0676cf65fca1422761469eedbd85efe1082a2f10;hb=4640da7e58509996ff03b1a0b018ca8f337391c7;hp=ffe5a0b07059249e25dcce924fa91d70fc3edd8b;hpb=edae3dbf1d9d7d76af961914c07998eb7bbb482b;p=ffmpeg diff --git a/libavcodec/simple_idct.c b/libavcodec/simple_idct.c index ffe5a0b0705..0676cf65fca 100644 --- a/libavcodec/simple_idct.c +++ b/libavcodec/simple_idct.c @@ -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); +}