[vlc-commits] commit: Prepare doubling frame rate in deinterlace filter. (Laurent Aimar )

git at videolan.org git at videolan.org
Wed Aug 11 22:10:16 CEST 2010


vlc | branch: master | Laurent Aimar <fenrir at videolan.org> | Thu Jul 22 23:38:14 2010 +0200| [121a30e2dcb0f5444d53e5664f8e3e044f52b080] | committer: Laurent Aimar 

Prepare doubling frame rate in deinterlace filter.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=121a30e2dcb0f5444d53e5664f8e3e044f52b080
---

 modules/video_filter/deinterlace.c |   25 ++++++++++++-------------
 1 files changed, 12 insertions(+), 13 deletions(-)

diff --git a/modules/video_filter/deinterlace.c b/modules/video_filter/deinterlace.c
index 13b4e06..d525551 100644
--- a/modules/video_filter/deinterlace.c
+++ b/modules/video_filter/deinterlace.c
@@ -1536,22 +1536,21 @@ static int RenderYadif( filter_t *p_filter, picture_t *p_dst, picture_t *p_src,
 static picture_t *Deinterlace( filter_t *p_filter, picture_t *p_pic )
 {
     filter_sys_t *p_sys = p_filter->p_sys;
-    picture_t *p_pic_dst;
+    picture_t *p_dst[2];
 
     /* Request output picture */
-    p_pic_dst = filter_NewPicture( p_filter );
-    if( p_pic_dst == NULL )
+    p_dst[0] = filter_NewPicture( p_filter );
+    if( p_dst[0] == NULL )
     {
         picture_Release( p_pic );
         return NULL;
     }
-
-    picture_CopyProperties( p_pic_dst, p_pic );
+    picture_CopyProperties( p_dst[0], p_pic );
 
     switch( p_sys->i_mode )
     {
         case DEINTERLACE_DISCARD:
-            RenderDiscard( p_filter, p_pic_dst, p_pic, 0 );
+            RenderDiscard( p_filter, p_dst[0], p_pic, 0 );
             break;
 
         case DEINTERLACE_BOB:
@@ -1570,19 +1569,19 @@ static picture_t *Deinterlace( filter_t *p_filter, picture_t *p_pic )
             goto drop;
 
         case DEINTERLACE_MEAN:
-            RenderMean( p_filter, p_pic_dst, p_pic );
+            RenderMean( p_filter, p_dst[0], p_pic );
             break;
 
         case DEINTERLACE_BLEND:
-            RenderBlend( p_filter, p_pic_dst, p_pic );
+            RenderBlend( p_filter, p_dst[0], p_pic );
             break;
 
         case DEINTERLACE_X:
-            RenderX( p_pic_dst, p_pic );
+            RenderX( p_dst[0], p_pic );
             break;
 
         case DEINTERLACE_YADIF:
-            if( RenderYadif( p_filter, p_pic_dst, p_pic, 0, 0 ) )
+            if( RenderYadif( p_filter, p_dst[0], p_pic, 0, 0 ) )
                 goto drop;
             break;
 
@@ -1593,13 +1592,13 @@ static picture_t *Deinterlace( filter_t *p_filter, picture_t *p_pic )
             goto drop;
     }
 
-    p_pic_dst->b_progressive = true;
+    p_dst[0]->b_progressive = true;
 
     picture_Release( p_pic );
-    return p_pic_dst;
+    return p_dst[0];
 
 drop:
-    picture_Release( p_pic_dst );
+    picture_Release( p_dst[0] );
     picture_Release( p_pic );
     return NULL;
 }



More information about the vlc-commits mailing list