[FFmpeg-cvslog] avcodec/simple_idct_template: adjust coeffs for 12bit idct

Michael Niedermayer git at videolan.org
Sun Sep 15 03:45:45 CEST 2013


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sun Sep 15 03:21:03 2013 +0200| [529540759f285f251a198b6f55bb8cd451ab28e8] | committer: Michael Niedermayer

avcodec/simple_idct_template: adjust coeffs for 12bit idct

This prevents overflows with 12bit jpegs
Fixes Ticket2952

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=529540759f285f251a198b6f55bb8cd451ab28e8
---

 libavcodec/simple_idct_template.c |   14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/libavcodec/simple_idct_template.c b/libavcodec/simple_idct_template.c
index ffd7578..64a7be0 100644
--- a/libavcodec/simple_idct_template.c
+++ b/libavcodec/simple_idct_template.c
@@ -64,6 +64,7 @@
 
 #elif BIT_DEPTH == 10 || BIT_DEPTH == 12
 
+#if BIT_DEPTH == 10
 #define W1 90901
 #define W2 85627
 #define W3 77062
@@ -72,13 +73,20 @@
 #define W6 35468
 #define W7 18081
 
-#if BIT_DEPTH == 10
 #define ROW_SHIFT 15
 #define COL_SHIFT 20
 #define DC_SHIFT 1
 #else
-#define ROW_SHIFT 17
-#define COL_SHIFT 18
+#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
 



More information about the ffmpeg-cvslog mailing list