[FFmpeg-cvslog] Revert bink dequantization hack that is no longer necessary.

Reimar Döffinger git at videolan.org
Sat Jul 30 11:24:31 CEST 2011


ffmpeg | branch: master | Reimar Döffinger <Reimar.Doeffinger at gmx.de> | Sat Jul 30 11:22:11 2011 +0200| [0e29c4f761575d60c764e56ed1d07b432eaf0262] | committer: Reimar Döffinger

Revert bink dequantization hack that is no longer necessary.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger at gmx.de>

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

 libavcodec/bink.c |   20 ++------------------
 1 files changed, 2 insertions(+), 18 deletions(-)

diff --git a/libavcodec/bink.c b/libavcodec/bink.c
index 534d63b..6b58f77 100644
--- a/libavcodec/bink.c
+++ b/libavcodec/bink.c
@@ -572,22 +572,6 @@ static inline int binkb_get_value(BinkContext *c, int bundle_num)
     return ret;
 }
 
-static inline DCTELEM dequant(DCTELEM in, uint32_t quant, int dc)
-{
-    /* Note: multiplication is unsigned but we want signed shift
-     * otherwise clipping breaks.
-     * TODO: The official decoder does not use clipping at all
-     * but instead uses the full 32-bit result.
-     * However clipping at least gets rid of the case that a
-     * half-black half-white intra block gets black and white swapped
-     * and should cause at most minor differences (except for DC). */
-    int32_t res = in * quant;
-    res >>= 11;
-    if (!dc)
-        res = av_clip_int16(res);
-    return res;
-}
-
 /**
  * Read 8x8 block of DCT coefficients.
  *
@@ -686,10 +670,10 @@ static int read_dct_coeffs(GetBitContext *gb, int32_t block[64], const uint8_t *
 
     quant = quant_matrices[quant_idx];
 
-    block[0] = dequant(block[0], quant[0], 1);
+    block[0] = (block[0] * quant[0]) >> 11;
     for (i = 0; i < coef_count; i++) {
         int idx = coef_idx[i];
-        block[scan[idx]] = dequant(block[scan[idx]], quant[idx], 0);
+        block[scan[idx]] = (block[scan[idx]] * quant[idx]) >> 11;
     }
 
     return 0;



More information about the ffmpeg-cvslog mailing list