]> git.sesse.net Git - vlc/commitdiff
Use filter helpers.
authorLaurent Aimar <fenrir@videolan.org>
Sat, 19 Jul 2008 13:41:59 +0000 (15:41 +0200)
committerLaurent Aimar <fenrir@videolan.org>
Sat, 19 Jul 2008 22:53:21 +0000 (00:53 +0200)
29 files changed:
modules/codec/avcodec/deinterlace.c
modules/video_filter/adjust.c
modules/video_filter/colorthres.c
modules/video_filter/croppadd.c
modules/video_filter/deinterlace.c
modules/video_filter/erase.c
modules/video_filter/extract.c
modules/video_filter/gaussianblur.c
modules/video_filter/gradient.c
modules/video_filter/grain.c
modules/video_filter/invert.c
modules/video_filter/logo.c
modules/video_filter/marq.c
modules/video_filter/mosaic.c
modules/video_filter/motionblur.c
modules/video_filter/motiondetect.c
modules/video_filter/noise.c
modules/video_filter/osdmenu.c
modules/video_filter/postproc.c
modules/video_filter/psychedelic.c
modules/video_filter/remoteosd.c
modules/video_filter/ripple.c
modules/video_filter/rotate.c
modules/video_filter/rss.c
modules/video_filter/rv32.c
modules/video_filter/scale.c
modules/video_filter/sharpen.c
modules/video_filter/swscale.c
modules/video_filter/wave.c

index f44289ab2843913f5cc4db1915fb4af9419587fb..b297bbdd0ed5b1e8154ceebe7dc09033c4d419f1 100644 (file)
@@ -122,9 +122,12 @@ static picture_t *Deinterlace( filter_t *p_filter, picture_t *p_pic )
     int i, i_res = -1;
 
     /* Request output picture */
-    p_pic_dst = p_filter->pf_vout_buffer_new( p_filter );
+    p_pic_dst = filter_NewPicture( p_filter );
     if( !p_pic_dst )
+    {
+        picture_Release( p_pic );
         return NULL;
+    }
 
     /* Prepare the AVPictures for the conversion */
     for( i = 0; i < p_pic->i_planes; i++ )
@@ -144,7 +147,8 @@ static picture_t *Deinterlace( filter_t *p_filter, picture_t *p_pic )
     if( i_res == -1 )
     {
         msg_Err( p_filter, "deinterlacing picture failed" );
-        p_filter->pf_vout_buffer_del( p_filter, p_pic_dst );
+        filter_DeletePicture( p_filter, p_pic_dst );
+        picture_Release( p_pic );
         return NULL;
     }
 
index b3781926de974e0b65d4183ebea5362a39ccb91e..a4bf4ef945ee5a0e0eb96d48490ed130d6f968ba 100644 (file)
@@ -215,10 +215,9 @@ static picture_t *FilterPlanar( filter_t *p_filter, picture_t *p_pic )
 
     if( !p_pic ) return NULL;
 
-    p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+    p_outpic = filter_NewPicture( p_filter );
     if( !p_outpic )
     {
-        msg_Warn( p_filter, "can't get output picture" );
         picture_Release( p_pic );
         return NULL;
     }
index 2a393181a9d9ec6c288c3c45231973f721c993e8..a4e40a2c243a6b736a396f1fff416f8dad5f0c29 100644 (file)
@@ -162,10 +162,9 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
 
     if( !p_pic ) return NULL;
 
-    p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+    p_outpic = filter_NewPicture( p_filter );
     if( !p_outpic )
     {
-        msg_Warn( p_filter, "can't get output picture" );
         picture_Release( p_pic );
         return NULL;
     }
index 3f17320787f6f64e9268a9ae87119c2844a68fc3..3f9f64883d5b8a8addb950ddc251d1098a759cfb 100644 (file)
@@ -215,10 +215,9 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
     if( !p_pic ) return NULL;
 
     /* Request output picture */
-    p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+    p_outpic = filter_NewPicture( p_filter );
     if( !p_outpic )
     {
-        msg_Warn( p_filter, "can't get output picture" );
         picture_Release( p_pic );
         return NULL;
     }
index 9328491d168422682495f889cd4ed26e0222ea49..4ec8333340263f2b8b58aac34e0be95215aaf830 100644 (file)
@@ -2106,12 +2106,9 @@ static picture_t *Deinterlace( filter_t *p_filter, picture_t *p_pic )
     picture_t *p_pic_dst;
 
     /* Request output picture */
-    p_pic_dst = p_filter->pf_vout_buffer_new( p_filter );
+    p_pic_dst = filter_NewPicture( p_filter );
     if( p_pic_dst == NULL )
-    {
-        msg_Warn( p_filter, "can't get output picture" );
-        return NULL;
-    }
+        return p_pic;
 
     switch( p_vout->p_sys->i_mode )
     {
index cde3a8a362b68f8a3b52ca2b220398d54ec7c520..33f507bf2ef86099b7b04d6bfd7d046dc9bd2d3f 100644 (file)
@@ -202,10 +202,9 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
 
     if( !p_pic ) return NULL;
 
-    p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+    p_outpic = filter_NewPicture( p_filter );
     if( !p_outpic )
     {
-        msg_Warn( p_filter, "can't get output picture" );
         picture_Release( p_pic );
         return NULL;
     }
index 7c78400c8752de71e86ab6c15603aac88b383458..23716f018307be673ef1697208fab86675144001 100644 (file)
@@ -172,10 +172,9 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
 
     if( !p_pic ) return NULL;
 
-    p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+    p_outpic = filter_NewPicture( p_filter );
     if( !p_outpic )
     {
-        msg_Warn( p_filter, "can't get output picture" );
         picture_Release( p_pic );
         return NULL;
     }
index 373857afb7e15782da8755adb50bb9499930b3d1..f0df0109070b1364dfeed39ae5bdc511c9535e1e 100644 (file)
@@ -193,10 +193,9 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
 
     if( !p_pic ) return NULL;
 
-    p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+    p_outpic = filter_NewPicture( p_filter );
     if( !p_outpic )
     {
-        msg_Warn( p_filter, "can't get output picture" );
         picture_Release( p_pic );
         return NULL;
     }
index ac10a35132866513a5db872f38e037182dfe8abe..f1c57cdeefe761bdfa96ba2b255b5f1bf54c1f56 100644 (file)
@@ -233,10 +233,9 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
 
     if( !p_pic ) return NULL;
 
-    p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+    p_outpic = filter_NewPicture( p_filter );
     if( !p_outpic )
     {
-        msg_Warn( p_filter, "can't get output picture" );
         picture_Release( p_pic );
         return NULL;
     }
index 8826628e2485e28d01b922be2d6ede42e757b238..e28b210c8803886212603a0d7c7115663c7468e6 100644 (file)
@@ -106,10 +106,9 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
 
     if( !p_pic ) return NULL;
 
-    p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+    p_outpic = filter_NewPicture( p_filter );
     if( !p_outpic )
     {
-        msg_Warn( p_filter, "can't get output picture" );
         picture_Release( p_pic );
         return NULL;
     }
index df1a168b12f404faf4e979d841c292f98d6492e2..1700c1d7eb7fab4234a0c8e0722305b228ec4d89 100644 (file)
@@ -113,7 +113,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
 
     if( !p_pic ) return NULL;
 
-    p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+    p_outpic = filter_NewPicture( p_filter );
     if( !p_outpic )
     {
         msg_Warn( p_filter, "can't get output picture" );
index 541fc196a14a1063d95cf27b08f9514b328a4f51..f274dc2f67195a23c325834129e5d80296d259bd 100644 (file)
@@ -819,7 +819,7 @@ static subpicture_t *Filter( filter_t *p_filter, mtime_t date )
     p_pic = p_logo->p_pic;
 
     /* Allocate the subpicture internal data. */
-    p_spu = p_filter->pf_sub_buffer_new( p_filter );
+    p_spu = filter_NewSubpicture( p_filter );
     if( !p_spu )
     {
         vlc_mutex_unlock( &p_logo_list->lock );
index 091cc8761ede0a6be748f48c25ac1e8173c15705..a170b67fd5261dccea249d4e2f3f090710b78e2c 100644 (file)
@@ -276,7 +276,7 @@ static subpicture_t *Filter( filter_t *p_filter, mtime_t date )
     if( p_sys->b_need_update == false )
         goto out;
 
-    p_spu = p_filter->pf_sub_buffer_new( p_filter );
+    p_spu = filter_NewSubpicture( p_filter );
     if( !p_spu )
         goto out;
 
index b62da83cdcc90ebc3db6e88d968d9500dbc2b12d..379b25ed12f7d62391cf539873068b649e677673 100644 (file)
@@ -448,11 +448,9 @@ static subpicture_t *Filter( filter_t *p_filter, mtime_t date )
     subpicture_region_t *p_region_prev = NULL;
 
     /* Allocate the subpicture internal data. */
-    p_spu = p_filter->pf_sub_buffer_new( p_filter );
+    p_spu = filter_NewSubpicture( p_filter );
     if( !p_spu )
-    {
         return NULL;
-    }
 
     /* Initialize subpicture */
     p_spu->i_channel = 0;
index 42043ab8ee6d4b8db76719bb73b3faeb26f85656..4b9bafeb7172fa7a6e02b2ef0d13c3b4f60fd57c 100644 (file)
@@ -137,10 +137,9 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
 
     if( !p_pic ) return NULL;
 
-    p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+    p_outpic = filter_NewPicture( p_filter );
     if( !p_outpic )
     {
-        msg_Warn( p_filter, "can't get output picture" );
         picture_Release( p_pic );
         return NULL;
     }
index 4b80c7a6096003c98fc817cf81493c5889db4214..d4783e20e419742947adda57a5501ff66018d459 100644 (file)
@@ -151,7 +151,6 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_inpic )
     uint8_t *p_oldpix;
     uint8_t *p_oldpix_u;
     uint8_t *p_oldpix_v;
-    uint8_t *p_outpix;
     uint32_t *p_buf;
     uint32_t *p_buf2;
 
@@ -180,22 +179,14 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_inpic )
     p_buf = p_sys->p_buf;
     p_buf2 = p_sys->p_buf2;
 
-    p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+    p_outpic = filter_NewPicture( p_filter );
     if( !p_outpic )
     {
-        msg_Warn( p_filter, "can't get output picture" );
         picture_Release( p_inpic );
         return NULL;
     }
 
-    p_outpix = p_outpic->p[Y_PLANE].p_pixels;
-    vlc_memcpy( p_outpic->p[Y_PLANE].p_pixels, p_inpic->p[Y_PLANE].p_pixels,
-        p_inpic->p[Y_PLANE].i_pitch * p_inpic->p[Y_PLANE].i_visible_lines );
-    vlc_memcpy( p_outpic->p[U_PLANE].p_pixels, p_inpic->p[U_PLANE].p_pixels,
-        p_inpic->p[U_PLANE].i_pitch * p_inpic->p[U_PLANE].i_visible_lines );
-    vlc_memcpy( p_outpic->p[V_PLANE].p_pixels, p_inpic->p[V_PLANE].p_pixels,
-        p_inpic->p[V_PLANE].i_pitch * p_inpic->p[V_PLANE].i_visible_lines );
-
+    vout_CopyPicture( p_filter, p_outpic, p_inpic );
     vlc_mutex_lock( &p_filter->p_sys->lock );
 
     /**
@@ -293,33 +284,36 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_inpic )
      * Count final number of shapes
      * Draw rectangles (there can be more than 1 moving shape in 1 rectangle)
      */
+    uint8_t *p_outpix = p_outpic->p[Y_PLANE].p_pixels;
+    const int i_dst_pitch = p_outpic->p[Y_PLANE].i_pitch;
     j = 0;
     for( i = 1; i < last; i++ )
     {
         if( colors[i] == i && color_x_min[i] != -1 )
         {
-            if( ( color_y_max[i] - color_y_min[i] ) * ( color_x_max[i] - color_x_min[i] ) < 16 ) continue;
+            if( ( color_y_max[i] - color_y_min[i] ) * ( color_x_max[i] - color_x_min[i] ) < 16 )
+                continue;
             j++;
             int x, y;
             y = color_y_min[i];
             for( x = color_x_min[i]; x <= color_x_max[i]; x++ )
             {
-                p_outpix[y*i_src_pitch+x] = 0xff;
+                p_outpix[y*i_dst_pitch+x] = 0xff;
             }
             y = color_y_max[i];
             for( x = color_x_min[i]; x <= color_x_max[i]; x++ )
             {
-                p_outpix[y*i_src_pitch+x] = 0xff;
+                p_outpix[y*i_dst_pitch+x] = 0xff;
             }
             x = color_x_min[i];
             for( y = color_y_min[i]; y <= color_y_max[i]; y++ )
             {
-                p_outpix[y*i_src_pitch+x] = 0xff;
+                p_outpix[y*i_dst_pitch+x] = 0xff;
             }
             x = color_x_max[i];
             for( y = color_y_min[i]; y <= color_y_max[i]; y++ )
             {
-                p_outpix[y*i_src_pitch+x] = 0xff;
+                p_outpix[y*i_dst_pitch+x] = 0xff;
             }
         }
     }
@@ -395,10 +389,9 @@ static picture_t *FilterPacked( filter_t *p_filter, picture_t *p_inpic )
         return p_inpic;
     }
 
-    p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+    p_outpic = filter_NewPicture( p_filter );
     if( !p_outpic )
     {
-        msg_Warn( p_filter, "can't get output picture" );
         picture_Release( p_inpic );
         return NULL;
     }
index 1c461bc0491ce18465b3a919f28161f90a3cb09a..e61391e3e4e2787dbcd52ac29d12b806ed003248 100644 (file)
@@ -119,7 +119,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
 
     if( !p_pic ) return NULL;
 
-    p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+    p_outpic = filter_NewPicture( p_filter );
     if( !p_outpic )
     {
         msg_Warn( p_filter, "can't get output picture" );
index 28818f3ff231e887cde2f17332afc3cdd751cdcc..58b593963e977b359a3eff98e0657134c100cfb1 100644 (file)
@@ -462,8 +462,9 @@ static subpicture_t *Filter( filter_t *p_filter, mtime_t i_date )
         return NULL; /* we are too early, so wait */
 
     /* Allocate the subpicture internal data. */
-    p_spu = p_filter->pf_sub_buffer_new( p_filter );
-    if( !p_spu ) return NULL;
+    p_spu = filter_NewSubpicture( p_filter );
+    if( !p_spu )
+        return NULL;
 
     p_spu->b_ephemer = true;
     p_spu->b_fade = true;
index 83b309988f8d65883fe33078f6eeb7f4621bff08..e05d773beae374eb468cd71ee225b31c829d298f 100644 (file)
@@ -274,10 +274,9 @@ static picture_t *PostprocPict( filter_t *p_filter, picture_t *p_pic )
         return p_pic;
     }
 
-    picture_t *p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+    picture_t *p_outpic = filter_NewPicture( p_filter );
     if( !p_outpic )
     {
-        msg_Warn( p_filter, "can't get output picture" );
         picture_Release( p_pic );
         vlc_mutex_unlock( &p_sys->lock );
         return NULL;
index 7a9540acb16c1bfb6e50f8908b9e783767497412..88a2e3515f1d89167bcd34037a87d3f9c5e59788 100644 (file)
@@ -142,10 +142,9 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
 
     if( !p_pic ) return NULL;
 
-    p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+    p_outpic = filter_NewPicture( p_filter );
     if( !p_outpic )
     {
-        msg_Warn( p_filter, "can't get output picture" );
         picture_Release( p_pic );
         return NULL;
     }
index b7fbc78ccd5633883964c98cc926298cdec3c9a9..34c86dc122ceee432df63c0b5eadd345152eadc2 100644 (file)
@@ -1134,7 +1134,7 @@ static subpicture_t *Filter( filter_t *p_filter, mtime_t date )
     }
 
     /* Allocate the subpicture internal data. */
-    p_spu = p_filter->pf_sub_buffer_new( p_filter );
+    p_spu = filter_NewSubpicture( p_filter );
     if( !p_spu )
     {
         vlc_mutex_unlock( &p_sys->lock );
index eb9d2f5491c3bc1a9a61abc465ec84ec09ce6025..6d9776fe1849ac15ee8472f16b0ecdf3c8bf7c07 100644 (file)
@@ -121,10 +121,9 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
 
     if( !p_pic ) return NULL;
 
-    p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+    p_outpic = filter_NewPicture( p_filter );
     if( !p_outpic )
     {
-        msg_Warn( p_filter, "can't get output picture" );
         picture_Release( p_pic );
         return NULL;
     }
index 2fdf4408ece083e4783d1041e54538420d7218ec..55b7c9fbb88f805cd1d85427e0996dfa742f2b07 100644 (file)
@@ -172,10 +172,9 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
 
     if( !p_pic ) return NULL;
 
-    p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+    p_outpic = filter_NewPicture( p_filter );
     if( !p_outpic )
     {
-        msg_Warn( p_filter, "can't get output picture" );
         picture_Release( p_pic );
         return NULL;
     }
@@ -304,10 +303,9 @@ static picture_t *FilterPacked( filter_t *p_filter, picture_t *p_pic )
         return NULL;
     }
 
-    p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+    p_outpic = filter_NewPicture( p_filter );
     if( !p_outpic )
     {
-        msg_Warn( p_filter, "can't get output picture" );
         picture_Release( p_pic );
         return NULL;
     }
index 6f4615adbd55d02e1c5b2fe58aa226d3c77f22fc..0465a2cb30b7166245d3381f1b9e75e1f36753f0 100644 (file)
@@ -429,7 +429,7 @@ static subpicture_t *Filter( filter_t *p_filter, mtime_t date )
         }
     }
 
-    p_spu = p_filter->pf_sub_buffer_new( p_filter );
+    p_spu = filter_NewSubpicture( p_filter );
     if( !p_spu )
     {
         vlc_mutex_unlock( &p_sys->lock );
index 89c1aa2ef49582e3deed1173c138b4ddf2074496..10c56995086892accff9fb7002a38283e3452a74 100644 (file)
@@ -105,10 +105,9 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
     unsigned int j;
 
     /* Request output picture */
-    p_pic_dst = p_filter->pf_vout_buffer_new( p_filter );
+    p_pic_dst = filter_NewPicture( p_filter );
     if( !p_pic_dst )
     {
-        msg_Warn( p_filter, "can't get output picture" );
         picture_Release( p_pic );
         return NULL;
     }
index 01033b8d00e4112357091411161c0b10cbc1a9e9..7aa4e98e2e23da36ed6a1ad3af3a37cea16cff04 100644 (file)
@@ -124,10 +124,9 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
         return NULL;
 
     /* Request output picture */
-    p_pic_dst = p_filter->pf_vout_buffer_new( p_filter );
+    p_pic_dst = filter_NewPicture( p_filter );
     if( !p_pic_dst )
     {
-        msg_Warn( p_filter, "can't get output picture" );
         picture_Release( p_pic );
         return NULL;
     }
index e975466927e49b70b133431d7eea09c520132b89..c95e69b83567cb29d3d216ffb002711aafbd813a 100644 (file)
@@ -172,10 +172,9 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
     if( !p_filter ) return NULL;
     if( !p_filter->p_sys ) return NULL;
 
-    p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+    p_outpic = filter_NewPicture( p_filter );
     if( !p_outpic )
     {
-        msg_Warn( p_filter, "can't get output picture" );
         picture_Release( p_pic );
         return NULL;
     }
index 5e0e8d0928ada326ec7c6b094f00f4a7844a3a1b..ba7a98192b02087af819b19a679d6755990dcf40 100644 (file)
@@ -283,13 +283,17 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
     int i_nb_planes = p_pic->i_planes;
 
     /* Check if format properties changed */
-    if( CheckInit( p_filter ) != VLC_SUCCESS ) return NULL;
+    if( CheckInit( p_filter ) != VLC_SUCCESS )
+    {
+        picture_Release( p_pic );
+        return NULL;
+    }
 
     /* Request output picture */
-    p_pic_dst = p_filter->pf_vout_buffer_new( p_filter );
+    p_pic_dst = filter_NewPicture( p_filter );
     if( !p_pic_dst )
     {
-        msg_Warn( p_filter, "can't get output picture" );
+        picture_Release( p_pic );
         return NULL;
     }
 
index 0a154a0240706f8da93045b849979346d8f9290b..03fb7c25879b159f8139851d9a4952692d218986 100644 (file)
@@ -122,10 +122,9 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
 
     if( !p_pic ) return NULL;
 
-    p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+    p_outpic = filter_NewPicture( p_filter );
     if( !p_outpic )
     {
-        msg_Warn( p_filter, "can't get output picture" );
         picture_Release( p_pic );
         return NULL;
     }