OSDN Git Service

Change libpostproc to use the FFMIN/FFMAX macros from libavutil.
authorDiego Biurrun <diego@biurrun.de>
Tue, 10 Oct 2006 08:09:12 +0000 (08:09 +0000)
committerDiego Biurrun <diego@biurrun.de>
Tue, 10 Oct 2006 08:09:12 +0000 (08:09 +0000)
Originally committed as revision 6622 to svn://svn.ffmpeg.org/ffmpeg/trunk

libpostproc/postprocess.c
libpostproc/postprocess_template.c

index 358656b..52548c3 100644 (file)
@@ -99,9 +99,6 @@ try to unroll inner for(x=0 ... loop to avoid these damn if(x ... checks
 #include <altivec.h>
 #endif
 
-#define MIN(a,b) ((a) > (b) ? (b) : (a))
-#define MAX(a,b) ((a) < (b) ? (b) : (a))
-
 #define GET_MODE_BUFFER_SIZE 500
 #define OPTIONS_ARRAY_SIZE 10
 #define BLOCK_SIZE 8
@@ -341,8 +338,8 @@ static inline void doHorizDefFilter_C(uint8_t dst[], int stride, PPContext *c)
                         const int leftEnergy=  5*(dst[2] - dst[1]) + 2*(dst[0] - dst[3]);
                         const int rightEnergy= 5*(dst[6] - dst[5]) + 2*(dst[4] - dst[7]);
 
-                        int d= ABS(middleEnergy) - MIN( ABS(leftEnergy), ABS(rightEnergy) );
-                        d= MAX(d, 0);
+                        int d= ABS(middleEnergy) - FFMIN( ABS(leftEnergy), ABS(rightEnergy) );
+                        d= FFMAX(d, 0);
 
                         d= (5*d + 32) >> 6;
                         d*= SIGN(-middleEnergy);
@@ -450,7 +447,7 @@ static inline void horizX1Filter(uint8_t *src, int stride, int QP)
                 int b= src[3] - src[4];
                 int c= src[5] - src[6];
 
-                int d= MAX(ABS(b) - (ABS(a) + ABS(c))/2, 0);
+                int d= FFMAX(ABS(b) - (ABS(a) + ABS(c))/2, 0);
 
                 if(d < QP)
                 {
@@ -543,8 +540,8 @@ static always_inline void do_a_deblock_C(uint8_t *src, int step, int stride, PPC
                                 const int leftEnergy=  5*(src[2*step] - src[1*step]) + 2*(src[0*step] - src[3*step]);
                                 const int rightEnergy= 5*(src[6*step] - src[5*step]) + 2*(src[4*step] - src[7*step]);
 
-                                int d= ABS(middleEnergy) - MIN( ABS(leftEnergy), ABS(rightEnergy) );
-                                d= MAX(d, 0);
+                                int d= ABS(middleEnergy) - FFMIN( ABS(leftEnergy), ABS(rightEnergy) );
+                                d= FFMAX(d, 0);
 
                                 d= (5*d + 32) >> 6;
                                 d*= SIGN(-middleEnergy);
@@ -1044,14 +1041,14 @@ void  pp_postprocess(uint8_t * src[3], int srcStride[3],
         int mbHeight= (height+15)>>4;
         PPMode *mode = (PPMode*)vm;
         PPContext *c = (PPContext*)vc;
-        int minStride= MAX(ABS(srcStride[0]), ABS(dstStride[0]));
+        int minStride= FFMAX(ABS(srcStride[0]), ABS(dstStride[0]));
         int absQPStride = ABS(QPStride);
 
         // c->stride and c->QPStride are always positive
         if(c->stride < minStride || c->qpStride < absQPStride)
                 reallocBuffers(c, width, height,
-                                MAX(minStride, c->stride),
-                                MAX(c->qpStride, absQPStride));
+                                FFMAX(minStride, c->stride),
+                                FFMAX(c->qpStride, absQPStride));
 
         if(QP_store==NULL || (mode->lumMode & FORCE_QUANT))
         {
index 6bdcfd2..bb6b326 100644 (file)
@@ -590,7 +590,7 @@ static inline void RENAME(vertX1Filter)(uint8_t *src, int stride, PPContext *co)
                 int c= src[l5] - src[l6];
 
                 int d= ABS(b) - ((ABS(a) + ABS(c))>>1);
-                d= MAX(d, 0);
+                d= FFMAX(d, 0);
 
                 if(d < co->QP*2)
                 {
@@ -851,8 +851,8 @@ static inline void RENAME(doVertDefFilter)(uint8_t src[], int stride, PPContext
                         const int leftEnergy=  5*(src[l3] - src[l2]) + 2*(src[l1] - src[l4]);
                         const int rightEnergy= 5*(src[l7] - src[l6]) + 2*(src[l5] - src[l8]);
 
-                        int d= ABS(middleEnergy) - MIN( ABS(leftEnergy), ABS(rightEnergy) );
-                        d= MAX(d, 0);
+                        int d= ABS(middleEnergy) - FFMIN( ABS(leftEnergy), ABS(rightEnergy) );
+                        d= FFMAX(d, 0);
 
                         d= (5*d + 32) >> 6;
                         d*= SIGN(-middleEnergy);
@@ -1155,8 +1155,8 @@ src-=8;
                         const int leftEnergy=  5*(src[l3] - src[l2]) + 2*(src[l1] - src[l4]);
                         const int rightEnergy= 5*(src[l7] - src[l6]) + 2*(src[l5] - src[l8]);
 
-                        int d= ABS(middleEnergy) - MIN( ABS(leftEnergy), ABS(rightEnergy) );
-                        d= MAX(d, 0);
+                        int d= ABS(middleEnergy) - FFMIN( ABS(leftEnergy), ABS(rightEnergy) );
+                        d= FFMAX(d, 0);
 
                         d= (5*d + 32) >> 6;
                         d*= SIGN(-middleEnergy);
@@ -1532,7 +1532,7 @@ DERING_CORE((%0, %1, 8)    ,(%%REGd, %1, 4),%%mm2,%%mm4,%%mm0,%%mm3,%%mm5,%%mm1,
                         for(x=1; x<9; x++)
                         {
                                 p++;
-                                *p = MIN(*p + 20, 255);
+                                *p = FFMIN(*p + 20, 255);
                         }
                 }
 //                src[0] = src[7]=src[stride*7]=src[stride*7 + 7]=255;
@@ -3566,14 +3566,14 @@ static void RENAME(postProcess)(uint8_t src[], int srcStride, uint8_t dst[], int
                         /* copy from line (copyAhead) to (copyAhead+7) of src, these will be copied with
                            blockcopy to dst later */
                         linecpy(tempSrc + srcStride*copyAhead, srcBlock + srcStride*copyAhead,
-                                MAX(height-y-copyAhead, 0), srcStride);
+                                FFMAX(height-y-copyAhead, 0), srcStride);
 
                         /* duplicate last line of src to fill the void upto line (copyAhead+7) */
-                        for(i=MAX(height-y, 8); i<copyAhead+8; i++)
+                        for(i=FFMAX(height-y, 8); i<copyAhead+8; i++)
                                 memcpy(tempSrc + srcStride*i, src + srcStride*(height-1), ABS(srcStride));
 
                         /* copy up to (copyAhead+1) lines of dst (line -1 to (copyAhead-1))*/
-                        linecpy(tempDst, dstBlock - dstStride, MIN(height-y+1, copyAhead+1), dstStride);
+                        linecpy(tempDst, dstBlock - dstStride, FFMIN(height-y+1, copyAhead+1), dstStride);
 
                         /* duplicate last line of dst to fill the void upto line (copyAhead) */
                         for(i=height-y+1; i<=copyAhead; i++)