]> git.sesse.net Git - vlc/blobdiff - modules/video_filter/motiondetect.c
Fixed colorthres/erase/extract/gaussianblur/gradient/motionblur/motiondetect/noise...
[vlc] / modules / video_filter / motiondetect.c
index 79946d989a678581cd66c165711ecf47bbd9b8fb..a7062cfac662f7be0f0317b192c847acbc9cfd89 100644 (file)
@@ -168,13 +168,6 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_inpic )
     const uint8_t *p_inpix = p_inpic->p[Y_PLANE].p_pixels;
     const int i_src_pitch = p_inpic->p[Y_PLANE].i_pitch;
 
-    if( !p_sys->b_old )
-    {
-        picture_Copy( p_sys->p_old, p_inpic );
-        p_sys->b_old = true;
-        return p_inpic;
-    }
-
     p_outpic = filter_NewPicture( p_filter );
     if( !p_outpic )
     {
@@ -183,6 +176,14 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_inpic )
     }
     picture_Copy( p_outpic, p_inpic );
 
+    if( !p_sys->b_old )
+    {
+        picture_Copy( p_sys->p_old, p_inpic );
+        picture_Release( p_inpic );
+        p_sys->b_old = true;
+        return p_outpic;
+    }
+
     /**
      * Substract Y planes
      */