[FFmpeg-cvslog] r13504 - trunk/libavcodec/ra144.c

vitor subversion
Wed May 28 22:36:11 CEST 2008


Author: vitor
Date: Wed May 28 22:36:11 2008
New Revision: 13504

Log:
Remove dec1() function

Modified:
   trunk/libavcodec/ra144.c

Modified: trunk/libavcodec/ra144.c
==============================================================================
--- trunk/libavcodec/ra144.c	(original)
+++ trunk/libavcodec/ra144.c	Wed May 28 22:36:11 2008
@@ -242,16 +242,6 @@ static void do_output_subblock(RA144Cont
     final(gsp, block, output_buffer, ractx->buffer, BLOCKSIZE);
 }
 
-static int dec1(int16_t *decsp, const int *data, const int16_t *inp, int f)
-{
-    int i;
-
-    for (i=0; i<30; i++)
-        *(decsp++) = *(inp++);
-
-    return rms(data, f);
-}
-
 static int eq(const int16_t *in, int *target)
 {
     int retval = 0;
@@ -311,10 +301,13 @@ static int dec2(RA144Context *ractx, int
     if (eq(decsp, work)) {
         // The interpolated coefficients are unstable, copy either new or old
         // coefficients
-        if (copynew)
-            return dec1(decsp, ractx->lpc_refl, ractx->lpc_coef, f);
-        else
-            return dec1(decsp, ractx->lpc_refl_old, ractx->lpc_coef_old, f);
+        if (copynew) {
+            memcpy(decsp, ractx->lpc_coef, 30*sizeof(*decsp));
+            return rms(ractx->lpc_refl, f);
+        } else {
+            memcpy(decsp, ractx->lpc_coef_old, 30*sizeof(*decsp));
+            return rms(ractx->lpc_refl_old, f);
+        }
     } else {
         return rms(work, f);
     }
@@ -326,14 +319,16 @@ static int ra144_decode_frame(AVCodecCon
                               const uint8_t * buf, int buf_size)
 {
     static const uint8_t sizes[10] = {6, 5, 5, 4, 4, 3, 3, 3, 3, 2};
+    RA144Context *ractx = avctx->priv_data;
     unsigned int gbuf1[4];
-    uint16_t gbuf2[4][30];
+    uint16_t coef_table[3][30];
+    uint16_t *gbuf2[4] =
+        {coef_table[0], coef_table[1], coef_table[2], ractx->lpc_coef};
     unsigned int a, c;
     int i;
     int16_t *data = vdata;
     unsigned int energy;
 
-    RA144Context *ractx = avctx->priv_data;
     GetBitContext gb;
 
     if(buf_size < 20) {
@@ -355,7 +350,7 @@ static int ra144_decode_frame(AVCodecCon
     gbuf1[0] = dec2(ractx, gbuf2[0], 0, 0, ractx->old_energy);
     gbuf1[1] = dec2(ractx, gbuf2[1], 1, energy > ractx->old_energy, a);
     gbuf1[2] = dec2(ractx, gbuf2[2], 2, 1, energy);
-    gbuf1[3] = dec1(gbuf2[3], ractx->lpc_refl, ractx->lpc_coef, energy);
+    gbuf1[3] = rms(ractx->lpc_refl, energy);
 
     /* do output */
     for (c=0; c<4; c++) {




More information about the ffmpeg-cvslog mailing list