Revision d1cc6e46 libavcodec/vc1dsp.c
libavcodec/vc1dsp.c  

194  194 
for(i = 0; i < 8; i++){ 
195  195 
t1 = 17 * (src[ 0] + src[16]) + 64; 
196  196 
t2 = 17 * (src[ 0]  src[16]) + 64; 
197 
t3 = 22 * src[ 8]; 

198 
t4 = 22 * src[24]; 

199 
t5 = 10 * src[ 8]; 

200 
t6 = 10 * src[24]; 

197 
t3 = 22 * src[ 8] + 10 * src[24]; 

198 
t4 = 22 * src[24]  10 * src[ 8]; 

201  199  
202 
dest[0*linesize] = cm[dest[0*linesize] + ((t1 + t3 + t6) >> 7)];


203 
dest[1*linesize] = cm[dest[1*linesize] + ((t2  t4 + t5) >> 7)];


204 
dest[2*linesize] = cm[dest[2*linesize] + ((t2 + t4  t5) >> 7)];


205 
dest[3*linesize] = cm[dest[3*linesize] + ((t1  t3  t6) >> 7)];


200 
dest[0*linesize] = cm[dest[0*linesize] + ((t1 + t3) >> 7)]; 

201 
dest[1*linesize] = cm[dest[1*linesize] + ((t2  t4) >> 7)]; 

202 
dest[2*linesize] = cm[dest[2*linesize] + ((t2 + t4) >> 7)]; 

203 
dest[3*linesize] = cm[dest[3*linesize] + ((t1  t3) >> 7)]; 

206  204  
207  205 
src ++; 
208  206 
dest++; 
...  ...  
223  221 
for(i = 0; i < 8; i++){ 
224  222 
t1 = 17 * (src[0] + src[2]) + 4; 
225  223 
t2 = 17 * (src[0]  src[2]) + 4; 
226 
t3 = 22 * src[1]; 

227 
t4 = 22 * src[3]; 

228 
t5 = 10 * src[1]; 

229 
t6 = 10 * src[3]; 

224 
t3 = 22 * src[1] + 10 * src[3]; 

225 
t4 = 22 * src[3]  10 * src[1]; 

230  226  
231 
dst[0] = (t1 + t3 + t6) >> 3;


232 
dst[1] = (t2  t4 + t5) >> 3;


233 
dst[2] = (t2 + t4  t5) >> 3;


234 
dst[3] = (t1  t3  t6) >> 3;


227 
dst[0] = (t1 + t3) >> 3; 

228 
dst[1] = (t2  t4) >> 3; 

229 
dst[2] = (t2 + t4) >> 3; 

230 
dst[3] = (t1  t3) >> 3; 

235  231  
236  232 
src += 8; 
237  233 
dst += 8; 
...  ...  
273  269 
static void vc1_inv_trans_4x4_c(uint8_t *dest, int linesize, DCTELEM *block) 
274  270 
{ 
275  271 
int i; 
276 
register int t1,t2,t3,t4,t5,t6;


272 
register int t1,t2,t3,t4; 

277  273 
DCTELEM *src, *dst; 
278  274 
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP; 
279  275  
...  ...  
282  278 
for(i = 0; i < 4; i++){ 
283  279 
t1 = 17 * (src[0] + src[2]) + 4; 
284  280 
t2 = 17 * (src[0]  src[2]) + 4; 
285 
t3 = 22 * src[1]; 

286 
t4 = 22 * src[3]; 

287 
t5 = 10 * src[1]; 

288 
t6 = 10 * src[3]; 

281 
t3 = 22 * src[1] + 10 * src[3]; 

282 
t4 = 22 * src[3]  10 * src[1]; 

289  283  
290 
dst[0] = (t1 + t3 + t6) >> 3;


291 
dst[1] = (t2  t4 + t5) >> 3;


292 
dst[2] = (t2 + t4  t5) >> 3;


293 
dst[3] = (t1  t3  t6) >> 3;


284 
dst[0] = (t1 + t3) >> 3; 

285 
dst[1] = (t2  t4) >> 3; 

286 
dst[2] = (t2 + t4) >> 3; 

287 
dst[3] = (t1  t3) >> 3; 

294  288  
295  289 
src += 8; 
296  290 
dst += 8; 
...  ...  
300  294 
for(i = 0; i < 4; i++){ 
301  295 
t1 = 17 * (src[ 0] + src[16]) + 64; 
302  296 
t2 = 17 * (src[ 0]  src[16]) + 64; 
303 
t3 = 22 * src[ 8]; 

304 
t4 = 22 * src[24]; 

305 
t5 = 10 * src[ 8]; 

306 
t6 = 10 * src[24]; 

307  
308 
dest[0*linesize] = cm[dest[0*linesize] + ((t1 + t3 + t6) >> 7)]; 

309 
dest[1*linesize] = cm[dest[1*linesize] + ((t2  t4 + t5) >> 7)]; 

310 
dest[2*linesize] = cm[dest[2*linesize] + ((t2 + t4  t5) >> 7)]; 

311 
dest[3*linesize] = cm[dest[3*linesize] + ((t1  t3  t6) >> 7)]; 

297 
t3 = 22 * src[ 8] + 10 * src[24]; 

298 
t4 = 22 * src[24]  10 * src[ 8]; 

299  
300 
dest[0*linesize] = cm[dest[0*linesize] + ((t1 + t3) >> 7)]; 

301 
dest[1*linesize] = cm[dest[1*linesize] + ((t2  t4) >> 7)]; 

302 
dest[2*linesize] = cm[dest[2*linesize] + ((t2 + t4) >> 7)]; 

303 
dest[3*linesize] = cm[dest[3*linesize] + ((t1  t3) >> 7)]; 

312  304  
313  305 
src ++; 
314  306 
dest++; 
Also available in: Unified diff