提交 13c2469d 编写于 作者: M Michael Niedermayer

Vorbis sse fix by (Balatoni Denes: dbalatoni, programozo hu)

Originally committed as revision 4317 to svn://svn.ffmpeg.org/ffmpeg/trunk
上级 6d1feb02
......@@ -938,7 +938,7 @@ return 0;
EOF
builtin_vector=no
if $cc -o $TMPO $TMPC 2> /dev/null ; then
if $cc -msse -o $TMPO $TMPC 2> /dev/null ; then
builtin_vector=yes
fi
......
......@@ -155,6 +155,8 @@ static void vorbis_free(vorbis_context *vc) {
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 @@ static int vorbis_parse_id_hdr(vorbis_context *vc){
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 @@ static int vorbis_parse_audio_packet(vorbis_context *vc) {
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;
......
......@@ -88,6 +88,8 @@ typedef struct {
float *saved;
uint_fast16_t saved_start;
float *ret;
float *buf;
float *buf_tmp;
} vorbis_context;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册