p_filter->fmt_in.video.i_chroma != VLC_FOURCC('Y','U','V','A') &&
p_filter->fmt_in.video.i_chroma != VLC_FOURCC('I','4','2','0') &&
p_filter->fmt_in.video.i_chroma != VLC_FOURCC('Y','V','1','2') &&
+ p_filter->fmt_in.video.i_chroma != VLC_FOURCC('R','V','3','2') &&
p_filter->fmt_in.video.i_chroma != VLC_FOURCC('R','G','B','A') ) ||
p_filter->fmt_in.video.i_chroma != p_filter->fmt_out.video.i_chroma )
{
/* Allocate the memory needed to store the decoder's structure */
if( ( p_filter->p_sys = p_sys =
(filter_sys_t *)malloc(sizeof(filter_sys_t)) ) == NULL )
- {
- msg_Err( p_filter, "out of memory" );
- return VLC_EGENERIC;
- }
+ return VLC_ENOMEM;
p_filter->pf_video_filter = Filter;
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" );
- if( p_pic->pf_release )
- p_pic->pf_release( p_pic );
+ picture_Release( p_pic );
return NULL;
}
- if( p_filter->fmt_in.video.i_chroma != VLC_FOURCC('R','G','B','A') )
+ if( p_filter->fmt_in.video.i_chroma != VLC_FOURCC('R','G','B','A') &&
+ p_filter->fmt_in.video.i_chroma != VLC_FOURCC('R','V','3','2') )
{
for( i_plane = 0; i_plane < p_pic_dst->i_planes; i_plane++ )
{
}
}
- p_pic_dst->date = p_pic->date;
- p_pic_dst->b_force = p_pic->b_force;
- p_pic_dst->i_nb_fields = p_pic->i_nb_fields;
- p_pic_dst->b_progressive = p_pic->b_progressive;
- p_pic_dst->b_top_field_first = p_pic->b_top_field_first;
-
- if( p_pic->pf_release )
- p_pic->pf_release( p_pic );
+ picture_CopyProperties( p_pic_dst, p_pic );
+ picture_Release( p_pic );
return p_pic_dst;
}