X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fsimple_idct.c;h=3b2e73653819e541306c69b3604df29e7b9e232e;hb=f821ae8591add999ce717d932a80673fc29b00f6;hp=78b29c0fe3e03d8ebee94a3966729f5770e66862;hpb=2d62e06ff6a9f3dbd78136c1dc4a315a727c6f00;p=ffmpeg diff --git a/libavcodec/simple_idct.c b/libavcodec/simple_idct.c index 78b29c0fe3e..3b2e7365381 100644 --- a/libavcodec/simple_idct.c +++ b/libavcodec/simple_idct.c @@ -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); + } +}