diff options
author | Martin Vignali <martin.vignali@gmail.com> | 2018-11-18 01:37:50 +0300 |
---|---|---|
committer | Martin Vignali <martin.vignali@gmail.com> | 2018-12-02 14:55:53 +0300 |
commit | 6a583261ea631e6da5593c4477e36fde9bc731ab (patch) | |
tree | 13498bb5f70be3d53a1ff57bdf55728933f72181 /libavcodec/simple_idct.c | |
parent | fddc92d45479950e5a2a718563f6347e26bc3c11 (diff) |
avcodec/proresdec : add 12b prores idct
based on patch by Kieran Kunhya
Diffstat (limited to 'libavcodec/simple_idct.c')
-rw-r--r-- | libavcodec/simple_idct.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/libavcodec/simple_idct.c b/libavcodec/simple_idct.c index 2171d71d06..3b2e736538 100644 --- a/libavcodec/simple_idct.c +++ b/libavcodec/simple_idct.c @@ -251,3 +251,19 @@ void ff_prores_idct_10(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); + } +} |