Minor fix to invert
authorlilo_booter <lilo_booter@d19143bc-622f-0410-bfdd-b5b2a6649095>
Sat, 31 Jul 2004 20:39:44 +0000 (20:39 +0000)
committerlilo_booter <lilo_booter@d19143bc-622f-0410-bfdd-b5b2a6649095>
Sat, 31 Jul 2004 20:39:44 +0000 (20:39 +0000)
git-svn-id: https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt@348 d19143bc-622f-0410-bfdd-b5b2a6649095

src/modules/plus/filter_invert.c

index 407a587..3eb8c4a 100644 (file)
 #include <stdlib.h>
 #include <math.h>
 
+static inline int clamp( int v, int l, int u )
+{
+       return v < l ? l : ( v > u ? u : v );
+}
+
 /** Do it :-).
 */
 
@@ -43,8 +48,8 @@ static int filter_get_image( mlt_frame this, uint8_t **image, mlt_image_format *
 
                while ( p != q )
                {
-                       *p ++ = 251 - *r ++;
-                       *p ++ = 251 - *r ++;
+                       *p ++ = clamp( 251 - *r ++, 16, 235 );
+                       *p ++ = clamp( 256 - *r ++, 16, 240 );
                }
        }