? 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

Reply via email to