diff ivi_common.c @ 11853:1547c744b8d4 libavcodec

Prepare Indeo4 (step 1): upscale indeo5 base tables by 2 and convert those into uint16_t.
author maxim
date Tue, 08 Jun 2010 09:20:12 +0000
parents 25ce7aff1e1d
children 7204cb7dd601
line wrap: on
line diff
--- a/ivi_common.c	Tue Jun 08 09:01:14 2010 +0000
+++ b/ivi_common.c	Tue Jun 08 09:20:12 2010 +0000
@@ -338,7 +338,8 @@
     RVMapDesc   *rvmap = band->rv_map;
     void (*mc_with_delta_func)(int16_t *buf, const int16_t *ref_buf, uint32_t pitch, int mc_type);
     void (*mc_no_delta_func)  (int16_t *buf, const int16_t *ref_buf, uint32_t pitch, int mc_type);
-    const uint8_t   *base_tab, *scale_tab;
+    const uint16_t  *base_tab;
+    const uint8_t   *scale_tab;
 
     prev_dc = 0; /* init intra prediction for the DC coefficient */
 
@@ -414,7 +415,7 @@
                     if (IVI_DEBUG && !val)
                         av_log(NULL, AV_LOG_ERROR, "Val = 0 encountered!\n");
 
-                    q = (base_tab[pos] * scale_tab[quant]) >> 8;
+                    q = (base_tab[pos] * scale_tab[quant]) >> 9;
                     if (q > 1)
                         val = val * q + FFSIGN(val) * (((q ^ 1) - 1) >> 1);
                     trvec[pos] = val;