comparison postprocess.c @ 32:cb746db3fd32 libpostproc

Rename ABS macro to FFABS.
author diego
date Wed, 11 Oct 2006 23:17:58 +0000
parents 81ad3274583c
children 48b25c548895
comparison
equal deleted inserted replaced
31:81ad3274583c 32:cb746db3fd32
328 int y; 328 int y;
329 for(y=0; y<BLOCK_SIZE; y++) 329 for(y=0; y<BLOCK_SIZE; y++)
330 { 330 {
331 const int middleEnergy= 5*(dst[4] - dst[3]) + 2*(dst[2] - dst[5]); 331 const int middleEnergy= 5*(dst[4] - dst[3]) + 2*(dst[2] - dst[5]);
332 332
333 if(ABS(middleEnergy) < 8*c->QP) 333 if(FFABS(middleEnergy) < 8*c->QP)
334 { 334 {
335 const int q=(dst[3] - dst[4])/2; 335 const int q=(dst[3] - dst[4])/2;
336 const int leftEnergy= 5*(dst[2] - dst[1]) + 2*(dst[0] - dst[3]); 336 const int leftEnergy= 5*(dst[2] - dst[1]) + 2*(dst[0] - dst[3]);
337 const int rightEnergy= 5*(dst[6] - dst[5]) + 2*(dst[4] - dst[7]); 337 const int rightEnergy= 5*(dst[6] - dst[5]) + 2*(dst[4] - dst[7]);
338 338
339 int d= ABS(middleEnergy) - FFMIN( ABS(leftEnergy), ABS(rightEnergy) ); 339 int d= FFABS(middleEnergy) - FFMIN( FFABS(leftEnergy), FFABS(rightEnergy) );
340 d= FFMAX(d, 0); 340 d= FFMAX(d, 0);
341 341
342 d= (5*d + 32) >> 6; 342 d= (5*d + 32) >> 6;
343 d*= FFSIGN(-middleEnergy); 343 d*= FFSIGN(-middleEnergy);
344 344
367 static inline void doHorizLowPass_C(uint8_t dst[], int stride, PPContext *c) 367 static inline void doHorizLowPass_C(uint8_t dst[], int stride, PPContext *c)
368 { 368 {
369 int y; 369 int y;
370 for(y=0; y<BLOCK_SIZE; y++) 370 for(y=0; y<BLOCK_SIZE; y++)
371 { 371 {
372 const int first= ABS(dst[-1] - dst[0]) < c->QP ? dst[-1] : dst[0]; 372 const int first= FFABS(dst[-1] - dst[0]) < c->QP ? dst[-1] : dst[0];
373 const int last= ABS(dst[8] - dst[7]) < c->QP ? dst[8] : dst[7]; 373 const int last= FFABS(dst[8] - dst[7]) < c->QP ? dst[8] : dst[7];
374 374
375 int sums[10]; 375 int sums[10];
376 sums[0] = 4*first + dst[0] + dst[1] + dst[2] + 4; 376 sums[0] = 4*first + dst[0] + dst[1] + dst[2] + 4;
377 sums[1] = sums[0] - first + dst[3]; 377 sums[1] = sums[0] - first + dst[3];
378 sums[2] = sums[1] - first + dst[4]; 378 sums[2] = sums[1] - first + dst[4];
443 { 443 {
444 int a= src[1] - src[2]; 444 int a= src[1] - src[2];
445 int b= src[3] - src[4]; 445 int b= src[3] - src[4];
446 int c= src[5] - src[6]; 446 int c= src[5] - src[6];
447 447
448 int d= FFMAX(ABS(b) - (ABS(a) + ABS(c))/2, 0); 448 int d= FFMAX(FFABS(b) - (FFABS(a) + FFABS(c))/2, 0);
449 449
450 if(d < QP) 450 if(d < QP)
451 { 451 {
452 int v = d * FFSIGN(-b); 452 int v = d * FFSIGN(-b);
453 453
503 if(src[(x+1)*step] > max) max= src[(x+1)*step]; 503 if(src[(x+1)*step] > max) max= src[(x+1)*step];
504 if(src[ x *step] < min) min= src[ x *step]; 504 if(src[ x *step] < min) min= src[ x *step];
505 } 505 }
506 } 506 }
507 if(max-min < 2*QP){ 507 if(max-min < 2*QP){
508 const int first= ABS(src[-1*step] - src[0]) < QP ? src[-1*step] : src[0]; 508 const int first= FFABS(src[-1*step] - src[0]) < QP ? src[-1*step] : src[0];
509 const int last= ABS(src[8*step] - src[7*step]) < QP ? src[8*step] : src[7*step]; 509 const int last= FFABS(src[8*step] - src[7*step]) < QP ? src[8*step] : src[7*step];
510 510
511 int sums[10]; 511 int sums[10];
512 sums[0] = 4*first + src[0*step] + src[1*step] + src[2*step] + 4; 512 sums[0] = 4*first + src[0*step] + src[1*step] + src[2*step] + 4;
513 sums[1] = sums[0] - first + src[3*step]; 513 sums[1] = sums[0] - first + src[3*step];
514 sums[2] = sums[1] - first + src[4*step]; 514 sums[2] = sums[1] - first + src[4*step];
530 src[7*step]= (sums[7] + sums[9] + 2*src[7*step])>>4; 530 src[7*step]= (sums[7] + sums[9] + 2*src[7*step])>>4;
531 } 531 }
532 }else{ 532 }else{
533 const int middleEnergy= 5*(src[4*step] - src[3*step]) + 2*(src[2*step] - src[5*step]); 533 const int middleEnergy= 5*(src[4*step] - src[3*step]) + 2*(src[2*step] - src[5*step]);
534 534
535 if(ABS(middleEnergy) < 8*QP) 535 if(FFABS(middleEnergy) < 8*QP)
536 { 536 {
537 const int q=(src[3*step] - src[4*step])/2; 537 const int q=(src[3*step] - src[4*step])/2;
538 const int leftEnergy= 5*(src[2*step] - src[1*step]) + 2*(src[0*step] - src[3*step]); 538 const int leftEnergy= 5*(src[2*step] - src[1*step]) + 2*(src[0*step] - src[3*step]);
539 const int rightEnergy= 5*(src[6*step] - src[5*step]) + 2*(src[4*step] - src[7*step]); 539 const int rightEnergy= 5*(src[6*step] - src[5*step]) + 2*(src[4*step] - src[7*step]);
540 540
541 int d= ABS(middleEnergy) - FFMIN( ABS(leftEnergy), ABS(rightEnergy) ); 541 int d= FFABS(middleEnergy) - FFMIN( FFABS(leftEnergy), FFABS(rightEnergy) );
542 d= FFMAX(d, 0); 542 d= FFMAX(d, 0);
543 543
544 d= (5*d + 32) >> 6; 544 d= (5*d + 32) >> 6;
545 d*= FFSIGN(-middleEnergy); 545 d*= FFSIGN(-middleEnergy);
546 546
1043 { 1043 {
1044 int mbWidth = (width+15)>>4; 1044 int mbWidth = (width+15)>>4;
1045 int mbHeight= (height+15)>>4; 1045 int mbHeight= (height+15)>>4;
1046 PPMode *mode = (PPMode*)vm; 1046 PPMode *mode = (PPMode*)vm;
1047 PPContext *c = (PPContext*)vc; 1047 PPContext *c = (PPContext*)vc;
1048 int minStride= FFMAX(ABS(srcStride[0]), ABS(dstStride[0])); 1048 int minStride= FFMAX(FFABS(srcStride[0]), FFABS(dstStride[0]));
1049 int absQPStride = ABS(QPStride); 1049 int absQPStride = FFABS(QPStride);
1050 1050
1051 // c->stride and c->QPStride are always positive 1051 // c->stride and c->QPStride are always positive
1052 if(c->stride < minStride || c->qpStride < absQPStride) 1052 if(c->stride < minStride || c->qpStride < absQPStride)
1053 reallocBuffers(c, width, height, 1053 reallocBuffers(c, width, height,
1054 FFMAX(minStride, c->stride), 1054 FFMAX(minStride, c->stride),