[FFmpeg-devel] [PATCH 5/5] DCA: use SDIVMOD

Mans Rullgard mans
Mon Apr 12 00:05:54 CEST 2010


---
 libavcodec/dca.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/libavcodec/dca.c b/libavcodec/dca.c
index 7a6841d..6f944f2 100644
--- a/libavcodec/dca.c
+++ b/libavcodec/dca.c
@@ -34,6 +34,7 @@
 #include "avcodec.h"
 #include "dsputil.h"
 #include "fft.h"
+#include "mathops.h"
 #include "get_bits.h"
 #include "put_bits.h"
 #include "dcadata.h"
@@ -889,17 +890,16 @@ static void dca_downmix(float *samples, int srcfmt,
     }
 }
 
-
 /* Very compact version of the block code decoder that does not use table
  * look-up but is slightly slower */
 static int decode_blockcode(int code, int levels, int *values)
 {
-    int i;
+    int i, mod;
     int offset = (levels - 1) >> 1;
 
     for (i = 0; i < 4; i++) {
-        values[i] = (code % levels) - offset;
-        code /= levels;
+        SDIVMOD(code, mod, code, levels);
+        values[i] = mod - offset;
     }
 
     if (code == 0)
-- 
1.7.0.4




More information about the ffmpeg-devel mailing list