Sepia fix and affine/alpha clean up
[melted] / src / modules / plus / transition_affine.c
index e04f9ff..bd399e7 100644 (file)
@@ -620,14 +620,14 @@ static int transition_get_image( mlt_frame a_frame, uint8_t **image, mlt_image_f
                                {
                                        if ( alpha == NULL )
                                        {
-                                               dx -= dx & 1;
+                                               dx += dx & 1;
                                                *p ++ = *( b_image + dy * b_stride + ( dx << 1 ) );
                                                *p ++ = *( b_image + dy * b_stride + ( dx << 1 ) + ( ( x & 1 ) << 1 ) + 1 );
                                        }
                                        else
                                        {
-                                               dx -= dx & 1;
                                                mix = ( float )*( alpha + dy * b_width + dx ) / 255.0;
+                                               dx += dx & 1;
                                                *p ++ = *p * ( 1 - mix ) + mix * *( b_image + dy * b_stride + ( dx << 1 ) );
                                                *p ++ = *p * ( 1 - mix ) + mix * *( b_image + dy * b_stride + ( dx << 1 ) + ( ( x & 1 ) << 1 ) + 1 );
                                        }