int i, i_res = -1;
/* 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 )
+ {
+ picture_Release( p_pic );
return NULL;
+ }
/* Prepare the AVPictures for the conversion */
for( i = 0; i < p_pic->i_planes; i++ )
if( i_res == -1 )
{
msg_Err( p_filter, "deinterlacing picture failed" );
- p_filter->pf_vout_buffer_del( p_filter, p_pic_dst );
+ filter_DeletePicture( p_filter, p_pic_dst );
+ picture_Release( p_pic );
return NULL;
}
if( !p_pic ) return NULL;
- p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+ p_outpic = filter_NewPicture( p_filter );
if( !p_outpic )
{
- msg_Warn( p_filter, "can't get output picture" );
picture_Release( p_pic );
return NULL;
}
if( !p_pic ) return NULL;
- p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+ p_outpic = filter_NewPicture( p_filter );
if( !p_outpic )
{
- msg_Warn( p_filter, "can't get output picture" );
picture_Release( p_pic );
return NULL;
}
if( !p_pic ) return NULL;
/* Request output picture */
- p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+ p_outpic = filter_NewPicture( p_filter );
if( !p_outpic )
{
- msg_Warn( p_filter, "can't get output picture" );
picture_Release( p_pic );
return NULL;
}
picture_t *p_pic_dst;
/* 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 == NULL )
- {
- msg_Warn( p_filter, "can't get output picture" );
- return NULL;
- }
+ return p_pic;
switch( p_vout->p_sys->i_mode )
{
if( !p_pic ) return NULL;
- p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+ p_outpic = filter_NewPicture( p_filter );
if( !p_outpic )
{
- msg_Warn( p_filter, "can't get output picture" );
picture_Release( p_pic );
return NULL;
}
if( !p_pic ) return NULL;
- p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+ p_outpic = filter_NewPicture( p_filter );
if( !p_outpic )
{
- msg_Warn( p_filter, "can't get output picture" );
picture_Release( p_pic );
return NULL;
}
if( !p_pic ) return NULL;
- p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+ p_outpic = filter_NewPicture( p_filter );
if( !p_outpic )
{
- msg_Warn( p_filter, "can't get output picture" );
picture_Release( p_pic );
return NULL;
}
if( !p_pic ) return NULL;
- p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+ p_outpic = filter_NewPicture( p_filter );
if( !p_outpic )
{
- msg_Warn( p_filter, "can't get output picture" );
picture_Release( p_pic );
return NULL;
}
if( !p_pic ) return NULL;
- p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+ p_outpic = filter_NewPicture( p_filter );
if( !p_outpic )
{
- msg_Warn( p_filter, "can't get output picture" );
picture_Release( p_pic );
return NULL;
}
if( !p_pic ) return NULL;
- p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+ p_outpic = filter_NewPicture( p_filter );
if( !p_outpic )
{
msg_Warn( p_filter, "can't get output picture" );
p_pic = p_logo->p_pic;
/* Allocate the subpicture internal data. */
- p_spu = p_filter->pf_sub_buffer_new( p_filter );
+ p_spu = filter_NewSubpicture( p_filter );
if( !p_spu )
{
vlc_mutex_unlock( &p_logo_list->lock );
if( p_sys->b_need_update == false )
goto out;
- p_spu = p_filter->pf_sub_buffer_new( p_filter );
+ p_spu = filter_NewSubpicture( p_filter );
if( !p_spu )
goto out;
subpicture_region_t *p_region_prev = NULL;
/* Allocate the subpicture internal data. */
- p_spu = p_filter->pf_sub_buffer_new( p_filter );
+ p_spu = filter_NewSubpicture( p_filter );
if( !p_spu )
- {
return NULL;
- }
/* Initialize subpicture */
p_spu->i_channel = 0;
if( !p_pic ) return NULL;
- p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+ p_outpic = filter_NewPicture( p_filter );
if( !p_outpic )
{
- msg_Warn( p_filter, "can't get output picture" );
picture_Release( p_pic );
return NULL;
}
uint8_t *p_oldpix;
uint8_t *p_oldpix_u;
uint8_t *p_oldpix_v;
- uint8_t *p_outpix;
uint32_t *p_buf;
uint32_t *p_buf2;
p_buf = p_sys->p_buf;
p_buf2 = p_sys->p_buf2;
- p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+ p_outpic = filter_NewPicture( p_filter );
if( !p_outpic )
{
- msg_Warn( p_filter, "can't get output picture" );
picture_Release( p_inpic );
return NULL;
}
- p_outpix = p_outpic->p[Y_PLANE].p_pixels;
- vlc_memcpy( p_outpic->p[Y_PLANE].p_pixels, p_inpic->p[Y_PLANE].p_pixels,
- p_inpic->p[Y_PLANE].i_pitch * p_inpic->p[Y_PLANE].i_visible_lines );
- vlc_memcpy( p_outpic->p[U_PLANE].p_pixels, p_inpic->p[U_PLANE].p_pixels,
- p_inpic->p[U_PLANE].i_pitch * p_inpic->p[U_PLANE].i_visible_lines );
- vlc_memcpy( p_outpic->p[V_PLANE].p_pixels, p_inpic->p[V_PLANE].p_pixels,
- p_inpic->p[V_PLANE].i_pitch * p_inpic->p[V_PLANE].i_visible_lines );
-
+ vout_CopyPicture( p_filter, p_outpic, p_inpic );
vlc_mutex_lock( &p_filter->p_sys->lock );
/**
* Count final number of shapes
* Draw rectangles (there can be more than 1 moving shape in 1 rectangle)
*/
+ uint8_t *p_outpix = p_outpic->p[Y_PLANE].p_pixels;
+ const int i_dst_pitch = p_outpic->p[Y_PLANE].i_pitch;
j = 0;
for( i = 1; i < last; i++ )
{
if( colors[i] == i && color_x_min[i] != -1 )
{
- if( ( color_y_max[i] - color_y_min[i] ) * ( color_x_max[i] - color_x_min[i] ) < 16 ) continue;
+ if( ( color_y_max[i] - color_y_min[i] ) * ( color_x_max[i] - color_x_min[i] ) < 16 )
+ continue;
j++;
int x, y;
y = color_y_min[i];
for( x = color_x_min[i]; x <= color_x_max[i]; x++ )
{
- p_outpix[y*i_src_pitch+x] = 0xff;
+ p_outpix[y*i_dst_pitch+x] = 0xff;
}
y = color_y_max[i];
for( x = color_x_min[i]; x <= color_x_max[i]; x++ )
{
- p_outpix[y*i_src_pitch+x] = 0xff;
+ p_outpix[y*i_dst_pitch+x] = 0xff;
}
x = color_x_min[i];
for( y = color_y_min[i]; y <= color_y_max[i]; y++ )
{
- p_outpix[y*i_src_pitch+x] = 0xff;
+ p_outpix[y*i_dst_pitch+x] = 0xff;
}
x = color_x_max[i];
for( y = color_y_min[i]; y <= color_y_max[i]; y++ )
{
- p_outpix[y*i_src_pitch+x] = 0xff;
+ p_outpix[y*i_dst_pitch+x] = 0xff;
}
}
}
return p_inpic;
}
- p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+ p_outpic = filter_NewPicture( p_filter );
if( !p_outpic )
{
- msg_Warn( p_filter, "can't get output picture" );
picture_Release( p_inpic );
return NULL;
}
if( !p_pic ) return NULL;
- p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+ p_outpic = filter_NewPicture( p_filter );
if( !p_outpic )
{
msg_Warn( p_filter, "can't get output picture" );
return NULL; /* we are too early, so wait */
/* Allocate the subpicture internal data. */
- p_spu = p_filter->pf_sub_buffer_new( p_filter );
- if( !p_spu ) return NULL;
+ p_spu = filter_NewSubpicture( p_filter );
+ if( !p_spu )
+ return NULL;
p_spu->b_ephemer = true;
p_spu->b_fade = true;
return p_pic;
}
- picture_t *p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+ picture_t *p_outpic = filter_NewPicture( p_filter );
if( !p_outpic )
{
- msg_Warn( p_filter, "can't get output picture" );
picture_Release( p_pic );
vlc_mutex_unlock( &p_sys->lock );
return NULL;
if( !p_pic ) return NULL;
- p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+ p_outpic = filter_NewPicture( p_filter );
if( !p_outpic )
{
- msg_Warn( p_filter, "can't get output picture" );
picture_Release( p_pic );
return NULL;
}
}
/* Allocate the subpicture internal data. */
- p_spu = p_filter->pf_sub_buffer_new( p_filter );
+ p_spu = filter_NewSubpicture( p_filter );
if( !p_spu )
{
vlc_mutex_unlock( &p_sys->lock );
if( !p_pic ) return NULL;
- p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+ p_outpic = filter_NewPicture( p_filter );
if( !p_outpic )
{
- msg_Warn( p_filter, "can't get output picture" );
picture_Release( p_pic );
return NULL;
}
if( !p_pic ) return NULL;
- p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+ p_outpic = filter_NewPicture( p_filter );
if( !p_outpic )
{
- msg_Warn( p_filter, "can't get output picture" );
picture_Release( p_pic );
return NULL;
}
return NULL;
}
- p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+ p_outpic = filter_NewPicture( p_filter );
if( !p_outpic )
{
- msg_Warn( p_filter, "can't get output picture" );
picture_Release( p_pic );
return NULL;
}
}
}
- p_spu = p_filter->pf_sub_buffer_new( p_filter );
+ p_spu = filter_NewSubpicture( p_filter );
if( !p_spu )
{
vlc_mutex_unlock( &p_sys->lock );
unsigned int j;
/* 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" );
picture_Release( p_pic );
return NULL;
}
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" );
picture_Release( p_pic );
return NULL;
}
if( !p_filter ) return NULL;
if( !p_filter->p_sys ) return NULL;
- p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+ p_outpic = filter_NewPicture( p_filter );
if( !p_outpic )
{
- msg_Warn( p_filter, "can't get output picture" );
picture_Release( p_pic );
return NULL;
}
int i_nb_planes = p_pic->i_planes;
/* Check if format properties changed */
- if( CheckInit( p_filter ) != VLC_SUCCESS ) return NULL;
+ if( CheckInit( p_filter ) != VLC_SUCCESS )
+ {
+ picture_Release( p_pic );
+ 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" );
+ picture_Release( p_pic );
return NULL;
}
if( !p_pic ) return NULL;
- p_outpic = p_filter->pf_vout_buffer_new( p_filter );
+ p_outpic = filter_NewPicture( p_filter );
if( !p_outpic )
{
- msg_Warn( p_filter, "can't get output picture" );
picture_Release( p_pic );
return NULL;
}