Commit 0dc7df28 authored by Måns Rullgård's avatar Måns Rullgård

DCA: use some type-punning in qmf_32_subbands()

Originally committed as revision 22847 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 6b174197
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
#include <stddef.h> #include <stddef.h>
#include <stdio.h> #include <stdio.h>
#include "libavutil/intreadwrite.h"
#include "avcodec.h" #include "avcodec.h"
#include "dsputil.h" #include "dsputil.h"
#include "fft.h" #include "fft.h"
...@@ -770,8 +771,8 @@ static void qmf_32_subbands(DCAContext * s, int chans, ...@@ -770,8 +771,8 @@ static void qmf_32_subbands(DCAContext * s, int chans,
for (subindex = 0; subindex < 8; subindex++) { for (subindex = 0; subindex < 8; subindex++) {
/* Load in one sample from each subband and clear inactive subbands */ /* Load in one sample from each subband and clear inactive subbands */
for (i = 0; i < s->subband_activity[chans]; i++){ for (i = 0; i < s->subband_activity[chans]; i++){
if((i-1)&2) s->raXin[i] = -samples_in[i][subindex]; uint32_t v = AV_RN32A(&samples_in[i][subindex]) ^ ((i-1)&2)<<30;
else s->raXin[i] = samples_in[i][subindex]; AV_WN32A(&s->raXin[i], v);
} }
for (; i < 32; i++) for (; i < 32; i++)
s->raXin[i] = 0.0; s->raXin[i] = 0.0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment