diff twinvq.c @ 10104:0fa3d21b317e libavcodec

SSE optimized vector_clipf(). 10% faster TwinVQ decoding.
author vitor
date Thu, 27 Aug 2009 14:49:36 +0000
parents b870decf566d
children a04aca5587a7
line wrap: on
line diff
--- a/twinvq.c	Thu Aug 27 13:41:29 2009 +0000
+++ b/twinvq.c	Thu Aug 27 14:49:36 2009 +0000
@@ -825,7 +825,6 @@
     float *out = data;
     enum FrameType ftype;
     int window_type;
-    int i;
     static const enum FrameType wtype_to_ftype_table[] = {
         FT_LONG,   FT_LONG, FT_SHORT, FT_LONG,
         FT_MEDIUM, FT_LONG, FT_LONG,  FT_MEDIUM, FT_MEDIUM
@@ -860,8 +859,8 @@
         return buf_size;
     }
 
-    for (i=0; i < avctx->channels * mtab->size; i++)
-        out[i] = av_clipf(out[i], -32700./(1<<15), 32700./(1<<15));
+    tctx->dsp.vector_clipf(out, out, -32700./(1<<15), 32700./(1<<15),
+                           mtab->size);
 
     *data_size = mtab->size*avctx->channels*4;