Browse Source

higher accuracy

Originally committed as revision 897 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Michael Niedermayer 23 years ago
parent
commit
004c18ee9c
1 changed files with 4 additions and 2 deletions
  1. +4
    -2
      libavcodec/jfdctint.c

+ 4
- 2
libavcodec/jfdctint.c View File

@@ -30,8 +30,10 @@

#define SHIFT_TEMPS
#define DCTSIZE 8
#define BITS_IN_JSAMPLE 8
#define GLOBAL(x) x
#define RIGHT_SHIFT(x, n) ((x) >> (n))
#define MULTIPLY16C16(var,const) ((var)*(const))

#if 1 //def USE_ACCURATE_ROUNDING
#define DESCALE(x,n) RIGHT_SHIFT((x) + (1 << ((n) - 1)), n)
@@ -85,7 +87,7 @@

#if BITS_IN_JSAMPLE == 8
#define CONST_BITS 13
#define PASS1_BITS 2
#define PASS1_BITS 4 /* set this to 2 if 16x16 multiplies are faster */
#else
#define CONST_BITS 13
#define PASS1_BITS 1 /* lose a little precision to avoid overflow */
@@ -134,7 +136,7 @@
* For 12-bit samples, a full 32-bit multiplication will be needed.
*/

#if BITS_IN_JSAMPLE == 8
#if BITS_IN_JSAMPLE == 8 && CONST_BITS<=13 && PASS1_BITS<=2
#define MULTIPLY(var,const) MULTIPLY16C16(var,const)
#else
#define MULTIPLY(var,const) ((var) * (const))


Loading…
Cancel
Save