Module: libav
Branch: master
Commit: 5e5ce70f192274ab8d1564170f7f9dc12d503311

Author:    Justin Ruggles <[email protected]>
Committer: Justin Ruggles <[email protected]>
Date:      Wed Oct 12 23:27:32 2011 -0400

truespeech: decode directly to output buffer instead of a temp buffer

---

 libavcodec/truespeech.c |   16 ++++++----------
 1 files changed, 6 insertions(+), 10 deletions(-)

diff --git a/libavcodec/truespeech.c b/libavcodec/truespeech.c
index 555ec87..eec77ea 100644
--- a/libavcodec/truespeech.c
+++ b/libavcodec/truespeech.c
@@ -346,7 +346,6 @@ static int truespeech_decode_frame(AVCodecContext *avctx,
     int i, j;
     short *samples = data;
     int consumed = 0;
-    int16_t out_buf[240];
     int iterations, out_size;
 
     iterations = buf_size / 32;
@@ -363,6 +362,8 @@ static int truespeech_decode_frame(AVCodecContext *avctx,
         return AVERROR(EINVAL);
     }
 
+    memset(samples, 0, out_size);
+
     for(j = 0; j < iterations; j++) {
         truespeech_read_frame(c, buf + consumed);
         consumed += 32;
@@ -370,20 +371,15 @@ static int truespeech_decode_frame(AVCodecContext *avctx,
         truespeech_correlate_filter(c);
         truespeech_filters_merge(c);
 
-        memset(out_buf, 0, 240 * 2);
         for(i = 0; i < 4; i++) {
             truespeech_apply_twopoint_filter(c, i);
-            truespeech_place_pulses(c, out_buf + i * 60, i);
-            truespeech_update_filters(c, out_buf + i * 60, i);
-            truespeech_synth(c, out_buf + i * 60, i);
+            truespeech_place_pulses  (c, samples, i);
+            truespeech_update_filters(c, samples, i);
+            truespeech_synth         (c, samples, i);
+            samples += 60;
         }
 
         truespeech_save_prevvec(c);
-
-        /* finally output decoded frame */
-        for(i = 0; i < 240; i++)
-            *samples++ = out_buf[i];
-
     }
 
     *data_size = out_size;

_______________________________________________
libav-commits mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-commits

Reply via email to