#include <vlc_common.h>
#include <vlc_plugin.h>
-#include <vlc_vout.h>
#include <vlc_image.h>
#include <vlc_filter.h>
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
set_capability( "video filter2", 0 )
- add_shortcut( "alphamask" )
- add_shortcut( "mask" )
+ add_shortcut( "alphamask", "mask" )
set_callbacks( Create, Destroy )
add_string( CFG_PREFIX "mask", NULL, NULL, MASK_TEXT,
filter_sys_t *p_sys;
char *psz_string;
- if( p_filter->fmt_in.video.i_chroma != VLC_FOURCC('Y','U','V','A') )
+ if( p_filter->fmt_in.video.i_chroma != VLC_CODEC_YUVA )
{
msg_Err( p_filter,
- "Unsupported input chroma \"%4s\". "
+ "Unsupported input chroma \"%4.4s\". "
"Alphamask can only use \"YUVA\".",
(char*)&p_filter->fmt_in.video.i_chroma );
return VLC_EGENERIC;
config_ChainParse( p_filter, CFG_PREFIX, ppsz_filter_options,
p_filter->p_cfg );
- vlc_mutex_init( &p_sys->mask_lock );
psz_string =
var_CreateGetStringCommand( p_filter, CFG_PREFIX "mask" );
- var_AddCallback( p_filter, CFG_PREFIX "mask", MaskCallback,
- p_filter );
- p_sys->p_mask = NULL;
if( psz_string && *psz_string )
{
LoadMask( p_filter, psz_string );
msg_Err( p_filter, "Error while loading mask (%s).",
psz_string );
}
+ else
+ p_sys->p_mask = NULL;
free( psz_string );
+ vlc_mutex_init( &p_sys->mask_lock );
+ var_AddCallback( p_filter, CFG_PREFIX "mask", MaskCallback,
+ p_filter );
p_filter->pf_video_filter = Filter;
return VLC_SUCCESS;
video_format_t fmt_in, fmt_out;
memset( &fmt_in, 0, sizeof( video_format_t ) );
memset( &fmt_out, 0, sizeof( video_format_t ) );
- fmt_out.i_chroma = VLC_FOURCC('Y','U','V','A');
+ fmt_out.i_chroma = VLC_CODEC_YUVA;
if( p_filter->p_sys->p_mask )
picture_Release( p_filter->p_sys->p_mask );
p_image = image_HandlerCreate( p_filter );