*/
/**
- * @file libavcodec/vp3dsp.c
+ * @file
* Standard C DSP-oriented functions cribbed from the original VP3
* source code.
*/
}
void ff_vp3_idct_dc_add_c(uint8_t *dest/*align 8*/, int line_size, const DCTELEM *block/*align 16*/){
- const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
- int i, dc = block[0];
- dc = (46341*dc)>>16;
- dc = (46341*dc + (8<<16))>>20;
+ int i, dc = (block[0] + 15) >> 5;
+ const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP + dc;
for(i = 0; i < 8; i++){
- dest[0] = cm[dest[0]+dc];
- dest[1] = cm[dest[1]+dc];
- dest[2] = cm[dest[2]+dc];
- dest[3] = cm[dest[3]+dc];
- dest[4] = cm[dest[4]+dc];
- dest[5] = cm[dest[5]+dc];
- dest[6] = cm[dest[6]+dc];
- dest[7] = cm[dest[7]+dc];
+ dest[0] = cm[dest[0]];
+ dest[1] = cm[dest[1]];
+ dest[2] = cm[dest[2]];
+ dest[3] = cm[dest[3]];
+ dest[4] = cm[dest[4]];
+ dest[5] = cm[dest[5]];
+ dest[6] = cm[dest[6]];
+ dest[7] = cm[dest[7]];
dest += line_size;
}
}