]> git.sesse.net Git - mlt/commitdiff
Minor mods
authorlilo_booter <lilo_booter@d19143bc-622f-0410-bfdd-b5b2a6649095>
Wed, 14 Jan 2004 13:01:05 +0000 (13:01 +0000)
committerlilo_booter <lilo_booter@d19143bc-622f-0410-bfdd-b5b2a6649095>
Wed, 14 Jan 2004 13:01:05 +0000 (13:01 +0000)
git-svn-id: https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt@75 d19143bc-622f-0410-bfdd-b5b2a6649095

mlt/src/framework/mlt_frame.c
src/framework/mlt_frame.c

index cb26ee944abf93738b744768b1f7464e8afe467b..f2fad14caaca6f9cde5849f2e7a0949e962a3579 100644 (file)
@@ -491,8 +491,23 @@ int mlt_frame_composite_yuv( mlt_frame this, mlt_frame that, int x, int y, float
 void *memfill( void *dst, void *src, int l, int elements )
 {
        int i = 0;
-       for ( i = 0; i < elements; i ++ )
-               dst = memcpy( dst, src, l ) + l;
+       if ( l == 2 )
+       {
+               uint8_t *p = dst;
+               uint8_t *src1 = src;
+               uint8_t *src2 = src + 1;
+               for ( i = 0; i < elements; i ++ )
+               {
+                       *p ++ = *src1;
+                       *p ++ = *src2;
+               }
+               dst = p;
+       }
+       else
+       {
+               for ( i = 0; i < elements; i ++ )
+                       dst = memcpy( dst, src, l ) + l;
+       }
        return dst;
 }
 
index cb26ee944abf93738b744768b1f7464e8afe467b..f2fad14caaca6f9cde5849f2e7a0949e962a3579 100644 (file)
@@ -491,8 +491,23 @@ int mlt_frame_composite_yuv( mlt_frame this, mlt_frame that, int x, int y, float
 void *memfill( void *dst, void *src, int l, int elements )
 {
        int i = 0;
-       for ( i = 0; i < elements; i ++ )
-               dst = memcpy( dst, src, l ) + l;
+       if ( l == 2 )
+       {
+               uint8_t *p = dst;
+               uint8_t *src1 = src;
+               uint8_t *src2 = src + 1;
+               for ( i = 0; i < elements; i ++ )
+               {
+                       *p ++ = *src1;
+                       *p ++ = *src2;
+               }
+               dst = p;
+       }
+       else
+       {
+               for ( i = 0; i < elements; i ++ )
+                       dst = memcpy( dst, src, l ) + l;
+       }
        return dst;
 }