changeset 2737:b37add61897a libavcodec

Vorbis sse fix by (Balatoni Denes: dbalatoni, programozo hu)
author michael
date Sun, 29 May 2005 22:11:05 +0000
parents aaa8b65d1253
children 53dbc3d8f94e
files vorbis.c vorbis.h
diffstat 2 files changed, 8 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/vorbis.c	Sun May 29 18:18:13 2005 +0000
+++ b/vorbis.c	Sun May 29 22:11:05 2005 +0000
@@ -155,6 +155,8 @@
     av_freep(&vc->channel_floors);
     av_freep(&vc->saved);
     av_freep(&vc->ret);
+    av_freep(&vc->buf);
+    av_freep(&vc->buf_tmp);
 
     av_freep(&vc->residues);
     av_freep(&vc->modes);
@@ -759,6 +761,8 @@
     vc->channel_floors=(float *)av_malloc((vc->blocksize_1/2)*vc->audio_channels * sizeof(float));
     vc->saved=(float *)av_malloc((vc->blocksize_1/2)*vc->audio_channels * sizeof(float));
     vc->ret=(float *)av_malloc((vc->blocksize_1/2)*vc->audio_channels * sizeof(float));
+    vc->buf=(float *)av_malloc(vc->blocksize_1 * sizeof(float));
+    vc->buf_tmp=(float *)av_malloc(vc->blocksize_1 * sizeof(float));
     vc->saved_start=0;
 
     ff_mdct_init(&vc->mdct0, bl0, 1);
@@ -1327,8 +1331,8 @@
         float *ret=vc->ret;
         const float *lwin=vc->lwin;
         const float *swin=vc->swin;
-        float buf[blocksize];
-        float buf_tmp[blocksize];
+        float *buf=vc->buf;
+        float *buf_tmp=vc->buf_tmp;
 
         ch_floor_ptr=vc->channel_floors+j*blocksize/2;
 
--- a/vorbis.h	Sun May 29 18:18:13 2005 +0000
+++ b/vorbis.h	Sun May 29 22:11:05 2005 +0000
@@ -88,6 +88,8 @@
     float *saved;
     uint_fast16_t saved_start;
     float *ret;
+    float *buf;
+    float *buf_tmp;
 } vorbis_context;