Mercurial > libpostproc.hg
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), |