]> git.sesse.net Git - vlc/blobdiff - modules/video_filter/colorthres.c
deinterlace: u_cpu is used only if MMXEXT can be compiled
[vlc] / modules / video_filter / colorthres.c
index c6c44e071cc8aee2338068cd7a8061bd77aedc66..0f81424b7eb2d48996edc9c33c7945425ee3f1fa 100644 (file)
@@ -72,12 +72,12 @@ vlc_module_begin ()
     set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
     set_capability( "video filter2", 0 )
-    add_integer( CFG_PREFIX "color", 0x00FF0000, NULL, COLOR_TEXT,
+    add_integer( CFG_PREFIX "color", 0x00FF0000, COLOR_TEXT,
                  COLOR_LONGTEXT, false )
-        change_integer_list( pi_color_values, ppsz_color_descriptions, NULL )
-    add_integer( CFG_PREFIX "saturationthres", 20, NULL,
+        change_integer_list( pi_color_values, ppsz_color_descriptions )
+    add_integer( CFG_PREFIX "saturationthres", 20,
                  N_("Saturaton threshold"), "", false )
-    add_integer( CFG_PREFIX "similaritythres", 15, NULL,
+    add_integer( CFG_PREFIX "similaritythres", 15,
                  N_("Similarity threshold"), "", false )
     set_callbacks( Create, Destroy )
 vlc_module_end ()
@@ -287,9 +287,14 @@ static picture_t *FilterPacked( filter_t *p_filter, picture_t *p_pic )
         return NULL;
     }
 
-    int i_y_offset = 0, i_u_offset = 0, i_v_offset = 0;
-    GetPackedYuvOffsets( p_filter->fmt_in.video.i_chroma,
-                         &i_y_offset, &i_u_offset, &i_v_offset );
+    int i_y_offset, i_u_offset, i_v_offset;
+    int i_ret = GetPackedYuvOffsets( p_filter->fmt_in.video.i_chroma,
+                                     &i_y_offset, &i_u_offset, &i_v_offset );
+    if( i_ret == VLC_EGENERIC )
+    {
+        picture_Release( p_pic );
+        return NULL;
+    }
 
     /*
      * Copy Y and do the U and V planes