Remove useless wrapper around ra288_decode_frame()
authorVitor Sessak <vitor1001@gmail.com>
Mon, 30 Jun 2008 19:30:27 +0000 (19:30 +0000)
committerVitor Sessak <vitor1001@gmail.com>
Mon, 30 Jun 2008 19:30:27 +0000 (19:30 +0000)
Originally committed as revision 14041 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/ra288.c

index 5e6a1aeba3b9851ce1b4bc965f9ae3baf7985e6c..6c0d7815c8f41c0265a1a18bf735551fc236ef9d 100644 (file)
@@ -205,14 +205,24 @@ static void update(Real288_internal *glob)
         colmult(glob->pr2, glob->st2, table2a, 10);
 }
 
-static void * decode_block(AVCodecContext * avctx, const unsigned char *in,
-                           signed short int *out, unsigned len)
+/* Decode a block (celp) */
+static int ra288_decode_frame(AVCodecContext * avctx, void *data,
+                              int *data_size, const uint8_t * buf,
+                              int buf_size)
 {
+    int16_t *out = data;
     int x, y;
     Real288_internal *glob = avctx->priv_data;
     GetBitContext gb;
 
-    init_get_bits(&gb, in, len * 8);
+    if (buf_size < avctx->block_align) {
+        av_log(avctx, AV_LOG_ERROR,
+               "Error! Input buffer is too small [%d<%d]\n",
+               buf_size, avctx->block_align);
+        return 0;
+    }
+
+    init_get_bits(&gb, buf, avctx->block_align * 8);
 
     for (x=0; x < 32; x++) {
         int amp_coef = get_bits(&gb, 3);
@@ -226,27 +236,7 @@ static void * decode_block(AVCodecContext * avctx, const unsigned char *in,
             update(glob);
     }
 
-    return out;
-}
-
-/* Decode a block (celp) */
-static int ra288_decode_frame(AVCodecContext * avctx, void *data,
-                              int *data_size, const uint8_t * buf,
-                              int buf_size)
-{
-    void *datao;
-
-    if (buf_size < avctx->block_align) {
-        av_log(avctx, AV_LOG_ERROR,
-               "Error! Input buffer is too small [%d<%d]\n",
-               buf_size, avctx->block_align);
-        return 0;
-    }
-
-    datao = data;
-    data = decode_block(avctx, buf, (signed short *)data, avctx->block_align);
-
-    *data_size = (char *)data - (char *)datao;
+    *data_size = (char *)out - (char *)data;
     return avctx->block_align;
 }