summaryrefslogtreecommitdiff
path: root/ffmpeg/libavcodec/simple_idct_template.c
diff options
context:
space:
mode:
authorTim Redfern <tim@eclectronics.org>2013-12-29 12:19:38 +0000
committerTim Redfern <tim@eclectronics.org>2013-12-29 12:19:38 +0000
commitf7813a5324be39d13ab536c245d15dfc602a7849 (patch)
treefad99148b88823d34a5df2f0a25881a002eb291b /ffmpeg/libavcodec/simple_idct_template.c
parentb7a5a477b8ff4d4e3028b9dfb9a9df0a41463f92 (diff)
basic type mechanism working
Diffstat (limited to 'ffmpeg/libavcodec/simple_idct_template.c')
-rw-r--r--ffmpeg/libavcodec/simple_idct_template.c16
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))