emms_c(); //FIXME remove
}
-static inline void dct_single_coeff_elimination(MpegEncContext *s, int n, int threshold, int skip_dc)
+static inline void dct_single_coeff_elimination(MpegEncContext *s, int n, int threshold)
{
static const char tab[64]=
{3,2,2,1,1,1,1,1,
int i;
DCTELEM *block= s->block[n];
const int last_index= s->block_last_index[n];
+ int skip_dc;
- if(skip_dc) skip_dc=1;
if(threshold<0){
skip_dc=0;
threshold= -threshold;
- }
+ }else
+ skip_dc=1;
/* are all which we could set to zero are allready zero? */
if(last_index<=skip_dc - 1) return;
}
if(s->luma_elim_threshold && !s->mb_intra)
for(i=0; i<4; i++)
- dct_single_coeff_elimination(s, i, s->luma_elim_threshold, 0);
+ dct_single_coeff_elimination(s, i, s->luma_elim_threshold);
if(s->chroma_elim_threshold && !s->mb_intra)
for(i=4; i<6; i++)
- dct_single_coeff_elimination(s, i, s->chroma_elim_threshold, 1);
+ dct_single_coeff_elimination(s, i, s->chroma_elim_threshold);
}
if((s->flags&CODEC_FLAG_GRAY) && s->mb_intra){