]> git.sesse.net Git - vlc/blobdiff - modules/video_filter/gaussianblur.c
Added an access using avformat protocol support.
[vlc] / modules / video_filter / gaussianblur.c
index 97019f789f207a64319ceadfbf71b8065e8db08b..995b9290c5b7250770b7b453eb7d68f641b2eaef 100644 (file)
@@ -31,8 +31,9 @@
 
 #include <vlc_common.h>
 #include <vlc_plugin.h>
+#include <vlc_memory.h>
 
-#include "vlc_filter.h"
+#include <vlc_filter.h>
 #include "filter_picture.h"
 
 #include <math.h>                                          /* exp(), sqrt() */
@@ -99,7 +100,7 @@ static void gaussianblur_InitDistribution( filter_sys_t *p_sys )
 {
     double f_sigma = p_sys->f_sigma;
     int i_dim = (int)(3.*f_sigma);
-    type_t *pt_distribution = malloc( (2*i_dim+1) * sizeof( type_t ) );
+    type_t *pt_distribution = xmalloc( (2*i_dim+1) * sizeof( type_t ) );
     int x;
 
     for( x = -i_dim; x <= i_dim; x++ )
@@ -199,10 +200,9 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
     }
     if( !p_sys->pt_buffer )
     {
-        p_sys->pt_buffer = realloc( p_sys->pt_buffer,
-                                    p_pic->p[Y_PLANE].i_visible_lines *
-                                        p_pic->p[Y_PLANE].i_pitch *
-                                        sizeof( type_t ) );
+        p_sys->pt_buffer = realloc_or_free( p_sys->pt_buffer,
+                               p_pic->p[Y_PLANE].i_visible_lines *
+                               p_pic->p[Y_PLANE].i_pitch * sizeof( type_t ) );
     }
 
     pt_buffer = p_sys->pt_buffer;
@@ -213,7 +213,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
         const int i_pitch = p_pic->p[Y_PLANE].i_pitch;
         int i_col, i_line;
 
-        p_sys->pt_scale = malloc( i_visible_lines * i_pitch * sizeof( type_t ) );
+        p_sys->pt_scale = xmalloc( i_visible_lines * i_pitch * sizeof( type_t ) );
         pt_scale = p_sys->pt_scale;
 
         for( i_line = 0 ; i_line < i_visible_lines ; i_line++ )