X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fvideo_filter%2Fpsychedelic.c;h=9ea7301346158d7efcf10c998f1a01564cc5b7fa;hb=e29b2a0e671308993deab46394f6de15f10033e5;hp=ab6f92e53f032517a62e561817dc8b366042738b;hpb=f485214f09dd284cbb85674e937fbbb0a6032a2e;p=vlc diff --git a/modules/video_filter/psychedelic.c b/modules/video_filter/psychedelic.c index ab6f92e53f..9ea7301346 100644 --- a/modules/video_filter/psychedelic.c +++ b/modules/video_filter/psychedelic.c @@ -25,13 +25,14 @@ /***************************************************************************** * Preamble *****************************************************************************/ -#include /* malloc(), free() */ -#include #include /* sin(), cos() */ +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + #include -#include #include "vlc_filter.h" #include "vlc_image.h" @@ -49,7 +50,7 @@ static picture_t *Filter( filter_t *, picture_t * ); *****************************************************************************/ vlc_module_begin(); set_description( _("Psychedelic video filter") ); - set_shortname( N_( "Psychedelic" )); + set_shortname( _( "Psychedelic" )); set_capability( "video filter2", 0 ); set_category( CAT_VIDEO ); set_subcategory( SUBCAT_VIDEO_VFILTER ); @@ -136,7 +137,8 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic ) uint8_t u,v; picture_t *p_converted; - video_format_t fmt_out = {0}; + video_format_t fmt_out; + memset( &fmt_out, 0, sizeof(video_format_t) ); fmt_out.p_palette = NULL; if( !p_pic ) return NULL; @@ -158,9 +160,11 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic ) v = p_filter->p_sys->v; for( y = 0; yp[U_PLANE].i_lines; y++) { - memset( p_outpic->p[U_PLANE].p_pixels+y*p_outpic->p[U_PLANE].i_pitch, + p_filter->p_libvlc->pf_memset( + p_outpic->p[U_PLANE].p_pixels+y*p_outpic->p[U_PLANE].i_pitch, u, p_outpic->p[U_PLANE].i_pitch ); - memset( p_outpic->p[V_PLANE].p_pixels+y*p_outpic->p[V_PLANE].i_pitch, + p_filter->p_libvlc->pf_memset( + p_outpic->p[V_PLANE].p_pixels+y*p_outpic->p[V_PLANE].i_pitch, v, p_outpic->p[V_PLANE].i_pitch ); if( v == 0 && u != 0 ) u --; @@ -184,6 +188,8 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic ) p_converted = image_Convert( p_filter->p_sys->p_image, p_pic, &(p_pic->format), &fmt_out ); + if( p_converted ) + { #define copyimage( plane, b ) \ for( y=0; yp[plane].i_visible_lines; y++) { \ for( x=0; xp[plane].i_visible_pitch; x++) { \ @@ -204,6 +210,11 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic ) #undef copyimage p_converted->pf_release( p_converted ); + } + else + { + msg_Err( p_filter, "Image scaling failed miserably." ); + } p_filter->p_sys->x += p_filter->p_sys->xinc; p_filter->p_sys->y += p_filter->p_sys->yinc;