[FFmpeg-soc] [soc]: r925 - dirac/libavcodec/dirac_arith.c

marco subversion at mplayerhq.hu
Sat Aug 18 00:28:25 CEST 2007


Author: marco
Date: Sat Aug 18 00:28:25 2007
New Revision: 925

Log:
Fix a regression in updating the arithmetic coding contexts

Modified:
   dirac/libavcodec/dirac_arith.c

Modified: dirac/libavcodec/dirac_arith.c
==============================================================================
--- dirac/libavcodec/dirac_arith.c	(original)
+++ dirac/libavcodec/dirac_arith.c	Sat Aug 18 00:28:25 2007
@@ -170,11 +170,11 @@ void dirac_arith_put_bit(dirac_arith_sta
 
     if (bit == 0) {
         arith->range  = (arith->range * prob_zero) >> 16;
-        arith->contexts[context] -= arith_lookup[arith->contexts[context] >> 8];
+        arith->contexts[context] += arith_lookup[255 - (arith->contexts[context] >> 8)];
     } else {
         arith->low   += (arith->range * prob_zero) >> 16;
         arith->range -= (arith->range * prob_zero) >> 16;
-        arith->contexts[context] += arith_lookup[255 - (arith->contexts[context] >> 8)];
+        arith->contexts[context] -= arith_lookup[arith->contexts[context] >> 8];
     }
 
     /* Renormalisation and output.  */



More information about the FFmpeg-soc mailing list