? sound_under_gcc_2.96.diff
Index: plugins/libmpeg_audiodec/filter.cpp
===================================================================
RCS file: /cvsroot/avifile/avifile-0.6/plugins/libmpeg_audiodec/filter.cpp,v
retrieving revision 1.1.1.1
diff -r1.1.1.1 filter.cpp
159,317d158
< #define SAVE \
< raw=(int)(r*scalefactor); \
< if(raw>MAXSCALE)raw=MAXSCALE;else if(raw<MINSCALE)raw=MINSCALE; \
< putraw(raw);
< #define OS r=*vp * *dp++
< #define XX vp+=15;r+=*vp * *dp++
< #define OP r+=*--vp * *dp++
<
< inline void Mpegtoraw::generatesingle(void)
< {
< int i;
< register REAL r, *vp;
< register const REAL *dp;
< int raw;
<
< i=32;
< dp=filter;
< vp=calcbufferL[currentcalcbuffer]+calcbufferoffset;
< // actual_v+actual_write_pos;
<
< switch (calcbufferoffset)
< {
< case 0:for(;i;i--,vp+=15){
< OS;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 1:for(;i;i--,vp+=15){
< OS;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 2:for(;i;i--,vp+=15){
< OS;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 3:for(;i;i--,vp+=15){
< OS;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 4:for(;i;i--,vp+=15){
< OS;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 5:for(;i;i--,vp+=15){
< OS;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 6:for(;i;i--,vp+=15){
< OS;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 7:for(;i;i--,vp+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 8:for(;i;i--,vp+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 9:for(;i;i--,vp+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 10:for(;i;i--,vp+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;
< SAVE;}break;
< case 11:for(;i;i--,vp+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;
< SAVE;}break;
< case 12:for(;i;i--,vp+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;
< SAVE;}break;
< case 13:for(;i;i--,vp+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;
< SAVE;}break;
< case 14:for(;i;i--,vp+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;
< SAVE;}break;
< case 15:for(;i;i--,vp+=31){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< }
< }
<
< #undef OS
< #undef XX
< #undef OP
< #undef SAVE
<
< #define SAVE \
< raw=(int)(r1*scalefactor); \
< if(raw>MAXSCALE)raw=MAXSCALE;else if(raw<MINSCALE)raw=MINSCALE; \
< putraw(raw); \
< raw=(int)(r2*scalefactor); \
< if(raw>MAXSCALE)raw=MAXSCALE;else if(raw<MINSCALE)raw=MINSCALE; \
< putraw(raw);
< #define OS r1=*vp1 * *dp; \
< r2=*vp2 * *dp++
< #define XX vp1+=15;r1+=*vp1 * *dp; \
< vp2+=15;r2+=*vp2 * *dp++
< #define OP r1+=*--vp1 * *dp; \
< r2+=*--vp2 * *dp++
<
<
< inline void Mpegtoraw::generate(void)
< {
< int i;
< REAL r1,r2;
< register REAL *vp1,*vp2;
< register const REAL *dp;
< int raw;
<
< dp=filter;
< vp1=calcbufferL[currentcalcbuffer]+calcbufferoffset;
< vp2=calcbufferR[currentcalcbuffer]+calcbufferoffset;
< // actual_v+actual_write_pos;
<
< i=32;
< switch (calcbufferoffset)
< {
< case 0:for(;i;i--,vp1+=15,vp2+=15){
< OS;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 1:for(;i;i--,vp1+=15,vp2+=15){
< OS;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 2:for(;i;i--,vp1+=15,vp2+=15){
< OS;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 3:for(;i;i--,vp1+=15,vp2+=15){
< OS;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 4:for(;i;i--,vp1+=15,vp2+=15){
< OS;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 5:for(;i;i--,vp1+=15,vp2+=15){
< OS;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 6:for(;i;i--,vp1+=15,vp2+=15){
< OS;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 7:for(;i;i--,vp1+=15,vp2+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 8:for(;i;i--,vp1+=15,vp2+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 9:for(;i;i--,vp1+=15,vp2+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 10:for(;i;i--,vp1+=15,vp2+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;
< SAVE;}break;
< case 11:for(;i;i--,vp1+=15,vp2+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;
< SAVE;}break;
< case 12:for(;i;i--,vp1+=15,vp2+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;
< SAVE;}break;
< case 13:for(;i;i--,vp1+=15,vp2+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;
< SAVE;}break;
< case 14:for(;i;i--,vp1+=15,vp2+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;
< SAVE;}break;
< case 15:for(;i;i--,vp1+=31,vp2+=31){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< }
< }
Index: plugins/libmpeg_audiodec/filter_2.cpp
===================================================================
RCS file: /cvsroot/avifile/avifile-0.6/plugins/libmpeg_audiodec/filter_2.cpp,v
retrieving revision 1.1.1.1
diff -r1.1.1.1 filter_2.cpp
178,341d177
<
< #define SAVE \
< raw=(int)(r*scalefactor); \
< if(raw>MAXSCALE)raw=MAXSCALE;else if(raw<MINSCALE)raw=MINSCALE; \
< putraw(raw); \
< dp+=16;vp+=15+(15-14)
< #define OS r=*vp * *dp++
< #define XX vp+=15;r+=*vp * *dp++
< #define OP r+=*--vp * *dp++
<
< inline void Mpegtoraw::generatesingle_2(void)
< {
< int i;
< register REAL r, *vp;
< register const REAL *dp;
< int raw;
<
< i=32/2;
< dp=filter;
< vp=calcbufferL[currentcalcbuffer]+calcbufferoffset;
< // actual_v+actual_write_pos;
<
< switch (calcbufferoffset)
< {
< case 0:for(;i;i--,vp+=15){
< OS;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 1:for(;i;i--,vp+=15){
< OS;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 2:for(;i;i--,vp+=15){
< OS;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 3:for(;i;i--,vp+=15){
< OS;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 4:for(;i;i--,vp+=15){
< OS;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 5:for(;i;i--,vp+=15){
< OS;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 6:for(;i;i--,vp+=15){
< OS;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 7:for(;i;i--,vp+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 8:for(;i;i--,vp+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 9:for(;i;i--,vp+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 10:for(;i;i--,vp+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;
< SAVE;}break;
< case 11:for(;i;i--,vp+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;
< SAVE;}break;
< case 12:for(;i;i--,vp+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;
< SAVE;}break;
< case 13:for(;i;i--,vp+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;
< SAVE;}break;
< case 14:for(;i;i--,vp+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;
< SAVE;}break;
< case 15:for(;i;i--,vp+=31){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< }
< }
<
< #undef OS
< #undef XX
< #undef OP
< #undef SAVE
<
< #define SAVE \
< raw=(int)(r1*scalefactor); \
< if(raw>MAXSCALE)raw=MAXSCALE;else if(raw<MINSCALE)raw=MINSCALE; \
< putraw(raw); \
< raw=(int)(r2*scalefactor); \
< if(raw>MAXSCALE)raw=MAXSCALE;else if(raw<MINSCALE)raw=MINSCALE; \
< putraw(raw); \
< dp+=16;vp1+=15+(15-14);vp2+=15+(15-14)
< #define OS r1=*vp1 * *dp; \
< r2=*vp2 * *dp++
< #define XX vp1+=15;r1+=*vp1 * *dp; \
< vp2+=15;r2+=*vp2 * *dp++
< #define OP r1+=*--vp1 * *dp; \
< r2+=*--vp2 * *dp++
<
<
< inline void Mpegtoraw::generate_2(void)
< {
< int i;
< REAL r1,r2;
< register REAL *vp1,*vp2;
< register const REAL *dp;
< int raw;
<
< dp=filter;
< vp1=calcbufferL[currentcalcbuffer]+calcbufferoffset;
< vp2=calcbufferR[currentcalcbuffer]+calcbufferoffset;
< // actual_v+actual_write_pos;
<
< i=32/2;
< switch (calcbufferoffset)
< {
< case 0:for(;i;i--,vp1+=15,vp2+=15){
< OS;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 1:for(;i;i--,vp1+=15,vp2+=15){
< OS;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 2:for(;i;i--,vp1+=15,vp2+=15){
< OS;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 3:for(;i;i--,vp1+=15,vp2+=15){
< OS;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 4:for(;i;i--,vp1+=15,vp2+=15){
< OS;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 5:for(;i;i--,vp1+=15,vp2+=15){
< OS;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 6:for(;i;i--,vp1+=15,vp2+=15){
< OS;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 7:for(;i;i--,vp1+=15,vp2+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 8:for(;i;i--,vp1+=15,vp2+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 9:for(;i;i--,vp1+=15,vp2+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;
< SAVE;}break;
< case 10:for(;i;i--,vp1+=15,vp2+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;
< SAVE;}break;
< case 11:for(;i;i--,vp1+=15,vp2+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;
< SAVE;}break;
< case 12:for(;i;i--,vp1+=15,vp2+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;
< SAVE;}break;
< case 13:for(;i;i--,vp1+=15,vp2+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;
< SAVE;}break;
< case 14:for(;i;i--,vp1+=15,vp2+=15){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;
< SAVE;}break;
< case 15:for(;i;i--,vp1+=31,vp2+=31){
< OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
< SAVE;}break;
< }
< }
<
<
Index: plugins/libmpeg_audiodec/mpegsound.h
===================================================================
RCS file: /cvsroot/avifile/avifile-0.6/plugins/libmpeg_audiodec/mpegsound.h,v
retrieving revision 1.10
diff -r1.10 mpegsound.h
466a467,793
> #define SAVE \
> raw=(int)(r*scalefactor); \
> if(raw>MAXSCALE)raw=MAXSCALE;else if(raw<MINSCALE)raw=MINSCALE; \
> putraw(raw); \
> dp+=16;vp+=15+(15-14)
> #define OS r=*vp * *dp++
> #define XX vp+=15;r+=*vp * *dp++
> #define OP r+=*--vp * *dp++
>
> inline void Mpegtoraw::generatesingle_2(void)
> {
> int i;
> register REAL r, *vp;
> register const REAL *dp;
> int raw;
>
> i=32/2;
> dp=filter;
> vp=calcbufferL[currentcalcbuffer]+calcbufferoffset;
> // actual_v+actual_write_pos;
>
> switch (calcbufferoffset)
> {
> case 0:for(;i;i--,vp+=15){
> OS;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 1:for(;i;i--,vp+=15){
> OS;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 2:for(;i;i--,vp+=15){
> OS;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 3:for(;i;i--,vp+=15){
> OS;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 4:for(;i;i--,vp+=15){
> OS;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 5:for(;i;i--,vp+=15){
> OS;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 6:for(;i;i--,vp+=15){
> OS;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 7:for(;i;i--,vp+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 8:for(;i;i--,vp+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 9:for(;i;i--,vp+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 10:for(;i;i--,vp+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;
> SAVE;}break;
> case 11:for(;i;i--,vp+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;
> SAVE;}break;
> case 12:for(;i;i--,vp+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;
> SAVE;}break;
> case 13:for(;i;i--,vp+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;
> SAVE;}break;
> case 14:for(;i;i--,vp+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;
> SAVE;}break;
> case 15:for(;i;i--,vp+=31){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> }
> }
>
> #undef OS
> #undef XX
> #undef OP
> #undef SAVE
>
>
> #define SAVE \
> raw=(int)(r1*scalefactor); \
> if(raw>MAXSCALE)raw=MAXSCALE;else if(raw<MINSCALE)raw=MINSCALE; \
> putraw(raw); \
> raw=(int)(r2*scalefactor); \
> if(raw>MAXSCALE)raw=MAXSCALE;else if(raw<MINSCALE)raw=MINSCALE; \
> putraw(raw); \
> dp+=16;vp1+=15+(15-14);vp2+=15+(15-14)
> #define OS r1=*vp1 * *dp; \
> r2=*vp2 * *dp++
> #define XX vp1+=15;r1+=*vp1 * *dp; \
> vp2+=15;r2+=*vp2 * *dp++
> #define OP r1+=*--vp1 * *dp; \
> r2+=*--vp2 * *dp++
>
>
> inline void Mpegtoraw::generate_2(void)
> {
> int i;
> REAL r1,r2;
> register REAL *vp1,*vp2;
> register const REAL *dp;
> int raw;
>
> dp=filter;
> vp1=calcbufferL[currentcalcbuffer]+calcbufferoffset;
> vp2=calcbufferR[currentcalcbuffer]+calcbufferoffset;
> // actual_v+actual_write_pos;
>
> i=32/2;
> switch (calcbufferoffset)
> {
> case 0:for(;i;i--,vp1+=15,vp2+=15){
> OS;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 1:for(;i;i--,vp1+=15,vp2+=15){
> OS;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 2:for(;i;i--,vp1+=15,vp2+=15){
> OS;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 3:for(;i;i--,vp1+=15,vp2+=15){
> OS;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 4:for(;i;i--,vp1+=15,vp2+=15){
> OS;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 5:for(;i;i--,vp1+=15,vp2+=15){
> OS;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 6:for(;i;i--,vp1+=15,vp2+=15){
> OS;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 7:for(;i;i--,vp1+=15,vp2+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 8:for(;i;i--,vp1+=15,vp2+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 9:for(;i;i--,vp1+=15,vp2+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 10:for(;i;i--,vp1+=15,vp2+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;
> SAVE;}break;
> case 11:for(;i;i--,vp1+=15,vp2+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;
> SAVE;}break;
> case 12:for(;i;i--,vp1+=15,vp2+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;
> SAVE;}break;
> case 13:for(;i;i--,vp1+=15,vp2+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;
> SAVE;}break;
> case 14:for(;i;i--,vp1+=15,vp2+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;
> SAVE;}break;
> case 15:for(;i;i--,vp1+=31,vp2+=31){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> }
> }
>
> #undef OS
> #undef XX
> #undef OP
> #undef SAVE
>
> #define SAVE \
> raw=(int)(r*scalefactor); \
> if(raw>MAXSCALE)raw=MAXSCALE;else if(raw<MINSCALE)raw=MINSCALE; \
> putraw(raw);
> #define OS r=*vp * *dp++
> #define XX vp+=15;r+=*vp * *dp++
> #define OP r+=*--vp * *dp++
>
> inline void Mpegtoraw::generatesingle(void)
> {
> int i;
> register REAL r, *vp;
> register const REAL *dp;
> int raw;
>
> i=32;
> dp=filter;
> vp=calcbufferL[currentcalcbuffer]+calcbufferoffset;
> // actual_v+actual_write_pos;
>
> switch (calcbufferoffset)
> {
> case 0:for(;i;i--,vp+=15){
> OS;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 1:for(;i;i--,vp+=15){
> OS;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 2:for(;i;i--,vp+=15){
> OS;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 3:for(;i;i--,vp+=15){
> OS;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 4:for(;i;i--,vp+=15){
> OS;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 5:for(;i;i--,vp+=15){
> OS;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 6:for(;i;i--,vp+=15){
> OS;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 7:for(;i;i--,vp+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 8:for(;i;i--,vp+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 9:for(;i;i--,vp+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 10:for(;i;i--,vp+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;
> SAVE;}break;
> case 11:for(;i;i--,vp+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;
> SAVE;}break;
> case 12:for(;i;i--,vp+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;
> SAVE;}break;
> case 13:for(;i;i--,vp+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;
> SAVE;}break;
> case 14:for(;i;i--,vp+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;
> SAVE;}break;
> case 15:for(;i;i--,vp+=31){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> }
> }
>
> #undef OS
> #undef XX
> #undef OP
> #undef SAVE
>
> #define SAVE \
> raw=(int)(r1*scalefactor); \
> if(raw>MAXSCALE)raw=MAXSCALE;else if(raw<MINSCALE)raw=MINSCALE; \
> putraw(raw); \
> raw=(int)(r2*scalefactor); \
> if(raw>MAXSCALE)raw=MAXSCALE;else if(raw<MINSCALE)raw=MINSCALE; \
> putraw(raw);
> #define OS r1=*vp1 * *dp; \
> r2=*vp2 * *dp++
> #define XX vp1+=15;r1+=*vp1 * *dp; \
> vp2+=15;r2+=*vp2 * *dp++
> #define OP r1+=*--vp1 * *dp; \
> r2+=*--vp2 * *dp++
>
>
> inline void Mpegtoraw::generate(void)
> {
> int i;
> REAL r1,r2;
> register REAL *vp1,*vp2;
> register const REAL *dp;
> int raw;
>
> dp=filter;
> vp1=calcbufferL[currentcalcbuffer]+calcbufferoffset;
> vp2=calcbufferR[currentcalcbuffer]+calcbufferoffset;
> // actual_v+actual_write_pos;
>
> i=32;
> switch (calcbufferoffset)
> {
> case 0:for(;i;i--,vp1+=15,vp2+=15){
> OS;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 1:for(;i;i--,vp1+=15,vp2+=15){
> OS;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 2:for(;i;i--,vp1+=15,vp2+=15){
> OS;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 3:for(;i;i--,vp1+=15,vp2+=15){
> OS;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 4:for(;i;i--,vp1+=15,vp2+=15){
> OS;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 5:for(;i;i--,vp1+=15,vp2+=15){
> OS;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 6:for(;i;i--,vp1+=15,vp2+=15){
> OS;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 7:for(;i;i--,vp1+=15,vp2+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 8:for(;i;i--,vp1+=15,vp2+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 9:for(;i;i--,vp1+=15,vp2+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;OP;
> SAVE;}break;
> case 10:for(;i;i--,vp1+=15,vp2+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;OP;
> SAVE;}break;
> case 11:for(;i;i--,vp1+=15,vp2+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;OP;
> SAVE;}break;
> case 12:for(;i;i--,vp1+=15,vp2+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;OP;
> SAVE;}break;
> case 13:for(;i;i--,vp1+=15,vp2+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;OP;
> SAVE;}break;
> case 14:for(;i;i--,vp1+=15,vp2+=15){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;XX;
> SAVE;}break;
> case 15:for(;i;i--,vp1+=31,vp2+=31){
> OS;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;OP;
> SAVE;}break;
> }
> }
_______________________________________________
Avifile mailing list
[EMAIL PROTECTED]
http://prak.org/mailman/listinfo/avifile