diff options
Diffstat (limited to 'ffmpeg/libavcodec/simple_idct_template.c')
| -rw-r--r-- | ffmpeg/libavcodec/simple_idct_template.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/ffmpeg/libavcodec/simple_idct_template.c b/ffmpeg/libavcodec/simple_idct_template.c index dabfbda..64a7be0 100644 --- a/ffmpeg/libavcodec/simple_idct_template.c +++ b/ffmpeg/libavcodec/simple_idct_template.c @@ -62,8 +62,9 @@ #define MUL(a, b) MUL16(a, b) #define MAC(a, b, c) MAC16(a, b, c) -#elif BIT_DEPTH == 10 +#elif BIT_DEPTH == 10 || BIT_DEPTH == 12 +#if BIT_DEPTH == 10 #define W1 90901 #define W2 85627 #define W3 77062 @@ -75,6 +76,19 @@ #define ROW_SHIFT 15 #define COL_SHIFT 20 #define DC_SHIFT 1 +#else +#define W1 45451 +#define W2 42813 +#define W3 38531 +#define W4 32767 +#define W5 25746 +#define W6 17734 +#define W7 9041 + +#define ROW_SHIFT 16 +#define COL_SHIFT 17 +#define DC_SHIFT -1 +#endif #define MUL(a, b) ((a) * (b)) #define MAC(a, b, c) ((a) += (b) * (c)) |
