summaryrefslogtreecommitdiff
path: root/apps/codecs/libtremor/floor0.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs/libtremor/floor0.c')
-rw-r--r--apps/codecs/libtremor/floor0.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/apps/codecs/libtremor/floor0.c b/apps/codecs/libtremor/floor0.c
index 5062450748..075bc36ef7 100644
--- a/apps/codecs/libtremor/floor0.c
+++ b/apps/codecs/libtremor/floor0.c
@@ -200,16 +200,19 @@ static void vorbis_lsp_to_curve(ogg_int32_t *curve,int *map,int n,int ln,
200 200
201#else 201#else
202 202
203 qi*=labs(ilsp[0]-wi); 203 j=1;
204 pi*=labs(ilsp[1]-wi); 204 if(m>1){
205 205 qi*=labs(ilsp[0]-wi);
206 for(j=3;j<m;j+=2){ 206 pi*=labs(ilsp[1]-wi);
207 if(!(shift=MLOOP_1[(pi|qi)>>25])) 207
208 if(!(shift=MLOOP_2[(pi|qi)>>19])) 208 for(j+=2;j<m;j+=2){
209 shift=MLOOP_3[(pi|qi)>>16]; 209 if(!(shift=MLOOP_1[(pi|qi)>>25]))
210 qi=(qi>>shift)*labs(ilsp[j-1]-wi); 210 if(!(shift=MLOOP_2[(pi|qi)>>19]))
211 pi=(pi>>shift)*labs(ilsp[j]-wi); 211 shift=MLOOP_3[(pi|qi)>>16];
212 qexp+=shift; 212 qi=(qi>>shift)*labs(ilsp[j-1]-wi);
213 pi=(pi>>shift)*labs(ilsp[j]-wi);
214 qexp+=shift;
215 }
213 } 216 }
214 if(!(shift=MLOOP_1[(pi|qi)>>25])) 217 if(!(shift=MLOOP_1[(pi|qi)>>25]))
215 if(!(shift=MLOOP_2[(pi|qi)>>19])) 218 if(!(shift=MLOOP_2[(pi|qi)>>19]))