Commit 5d3c921b authored by Laurent Aimar's avatar Laurent Aimar

Use picture helpers (Yield,Release,CopyProperties).

parent af37ba18
......@@ -219,8 +219,7 @@ static picture_t *FilterPlanar( filter_t *p_filter, picture_t *p_pic )
if( !p_outpic )
{
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;
}
......@@ -447,8 +446,8 @@ static picture_t *FilterPacked( filter_t *p_filter, picture_t *p_pic )
{
msg_Warn( p_filter, "Unsupported input chroma (%4s)",
(char*)&(p_pic->format.i_chroma) );
if( p_pic->pf_release )
p_pic->pf_release( p_pic );
picture_Release( p_pic );
return NULL;
}
......@@ -456,8 +455,8 @@ static picture_t *FilterPacked( filter_t *p_filter, picture_t *p_pic )
if( !p_outpic )
{
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;
}
......
......@@ -135,7 +135,7 @@ static void Destroy( vlc_object_t *p_this )
vlc_mutex_destroy( &p_sys->mask_lock );
if( p_filter->p_sys->p_mask )
p_filter->p_sys->p_mask->pf_release( p_filter->p_sys->p_mask );
picture_Release( p_filter->p_sys->p_mask );
free( p_filter->p_sys );
}
......@@ -201,7 +201,7 @@ static void LoadMask( filter_t *p_filter, const char *psz_filename )
memset( &fmt_out, 0, sizeof( video_format_t ) );
fmt_out.i_chroma = VLC_FOURCC('Y','U','V','A');
if( p_filter->p_sys->p_mask )
p_filter->p_sys->p_mask->pf_release( p_filter->p_sys->p_mask );
picture_Release( p_filter->p_sys->p_mask );
p_image = image_HandlerCreate( p_filter );
p_filter->p_sys->p_mask =
image_ReadUrl( p_image, psz_filename, &fmt_in, &fmt_out );
......@@ -236,7 +236,7 @@ static int MaskCallback( vlc_object_t *p_this, char const *psz_var,
}
else if( p_sys->p_mask )
{
p_sys->p_mask->pf_release( p_sys->p_mask );
picture_Release( p_sys->p_mask );
p_sys->p_mask = NULL;
}
vlc_mutex_unlock( &p_sys->mask_lock );
......
......@@ -200,8 +200,8 @@ static void Destroy( vlc_object_t *p_this )
filter_t *p_filter = (filter_t *)p_this;
filter_sys_t *p_sys = p_filter->p_sys;
p_sys->p_base_image->pf_release( p_sys->p_base_image );
p_sys->p_blend_image->pf_release( p_sys->p_blend_image );
picture_Release( p_sys->p_base_image );
picture_Release( p_sys->p_blend_image );
}
/*****************************************************************************
......@@ -218,7 +218,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
p_blend = vlc_object_create( p_filter, sizeof(filter_t) );
if( !p_blend )
{
p_pic->pf_release( p_pic );
picture_Release( p_pic );
return NULL;
}
vlc_object_attach( p_blend, p_filter );
......@@ -227,7 +227,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
p_blend->p_module = module_Need( p_blend, "video blending", 0, 0 );
if( !p_blend->p_module )
{
p_pic->pf_release( p_pic );
picture_Release( p_pic );
vlc_object_detach( p_blend );
vlc_object_release( p_blend );
return NULL;
......
......@@ -166,8 +166,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
if( !p_outpic )
{
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;
}
......
......@@ -219,8 +219,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
if( !p_outpic )
{
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;
}
......
......@@ -2120,7 +2120,7 @@ static picture_t *Deinterlace( filter_t *p_filter, picture_t *p_pic )
RenderDiscard( p_vout, p_pic_dst, p_pic, 0 );
#endif
msg_Err( p_vout, "discarding lines is not supported yet" );
p_pic_dst->pf_release( p_pic_dst );
picture_Release( p_pic_dst );
return p_pic;
break;
......@@ -2137,7 +2137,7 @@ static picture_t *Deinterlace( filter_t *p_filter, picture_t *p_pic )
RenderLinear( p_vout, pp_outpic[1], p_pic, 1 );
#endif
msg_Err( p_vout, "doubling the frame rate is not supported yet" );
p_pic_dst->pf_release( p_pic_dst );
picture_Release( p_pic_dst );
return p_pic;
break;
......@@ -2154,13 +2154,10 @@ static picture_t *Deinterlace( filter_t *p_filter, picture_t *p_pic )
break;
}
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;
picture_CopyProperties( p_pic_dst, p_pic );
p_pic_dst->b_progressive = true;
p_pic_dst->b_top_field_first = p_pic->b_top_field_first;
p_pic->pf_release( p_pic );
picture_Release( p_pic );
return p_pic_dst;
}
......
......@@ -512,7 +512,7 @@ static int exec_DataSharedMem( filter_t *p_filter,
msg_Err( p_filter,
"Insufficient data in shared memory. need %zu, got %zu",
i_neededsize, i_size );
p_ovl->data.p_pic->pf_release( p_ovl->data.p_pic );
picture_Release( p_ovl->data.p_pic );
free( p_ovl->data.p_pic );
p_ovl->data.p_pic = NULL;
return VLC_EGENERIC;
......@@ -522,7 +522,7 @@ static int exec_DataSharedMem( filter_t *p_filter,
if( p_data == NULL )
{
msg_Err( p_filter, "Unable to attach to shared memory" );
p_ovl->data.p_pic->pf_release( p_ovl->data.p_pic );
picture_Release( p_ovl->data.p_pic );
free( p_ovl->data.p_pic );
p_ovl->data.p_pic = NULL;
return VLC_ENOMEM;
......
......@@ -107,7 +107,7 @@ static void LoadMask( filter_t *p_filter, const char *psz_filename )
if( p_filter->p_sys->p_mask )
{
if( p_old_mask )
p_old_mask->pf_release( p_old_mask );
picture_Release( p_old_mask );
}
else if( p_old_mask )
{
......@@ -186,7 +186,7 @@ static void Destroy( vlc_object_t *p_this )
filter_t *p_filter = (filter_t *)p_this;
filter_sys_t *p_sys = p_filter->p_sys;
if( p_sys->p_mask )
p_sys->p_mask->pf_release( p_sys->p_mask );
picture_Release( p_sys->p_mask );
vlc_mutex_destroy( &p_sys->lock );
......@@ -206,8 +206,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
if( !p_outpic )
{
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;
}
......
......@@ -176,8 +176,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
if( !p_outpic )
{
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;
}
......@@ -241,8 +240,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
default:
msg_Warn( p_filter, "Unsupported input chroma (%4s)",
(char*)&(p_pic->format.i_chroma) );
if( p_pic->pf_release )
p_pic->pf_release( p_pic );
picture_Release( p_pic );
return NULL;
}
......
......@@ -88,14 +88,9 @@ static inline int GetPackedYuvOffsets( vlc_fourcc_t i_chroma,
*****************************************************************************/
static inline picture_t *CopyInfoAndRelease( picture_t *p_outpic, picture_t *p_inpic )
{
p_outpic->date = p_inpic->date;
p_outpic->b_force = p_inpic->b_force;
p_outpic->i_nb_fields = p_inpic->i_nb_fields;
p_outpic->b_progressive = p_inpic->b_progressive;
p_outpic->b_top_field_first = p_inpic->b_top_field_first;
picture_CopyProperties( p_outpic, p_inpic );
if( p_inpic->pf_release )
p_inpic->pf_release( p_inpic );
picture_Release( p_inpic );
return p_outpic;
}
......@@ -216,8 +216,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
if( !p_outpic )
{
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;
}
#ifdef DONT_USE_FLOATS
......
......@@ -237,8 +237,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
if( !p_outpic )
{
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;
}
......
......@@ -110,8 +110,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
if( !p_outpic )
{
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;
}
......
......@@ -117,8 +117,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
if( !p_outpic )
{
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;
}
......
......@@ -279,7 +279,7 @@ static void FreeLogoList( logo_list_t *p_logo_list )
FREENULL( p_logo->psz_file );
if( p_logo->p_pic )
{
p_logo->p_pic->pf_release( p_logo->p_pic );
picture_Release( p_logo->p_pic );
p_logo->p_pic = NULL;
}
}
......
......@@ -380,7 +380,7 @@ static void Render( vout_thread_t *p_vout, picture_t *p_pic )
p_converted->p[i_plane].i_visible_pitch );
}
}
p_converted->pf_release( p_converted );
picture_Release( p_converted );
/* white rectangle on visualization */
v_w = p_oyp->i_pitch*ZOOM_FACTOR/(VIS_ZOOM*o_zoom);
......@@ -461,7 +461,6 @@ o o X o o o X X X X X o o X X X X o o o X X X X X o o X X X o o o X X X o o X o
}
}
}
vout_DisplayPicture( p_vout->p_sys->p_vout, p_outpic );
}
......
......@@ -426,7 +426,7 @@ static void MosaicReleasePicture( picture_t *p_picture )
{
picture_t *p_original_pic = (picture_t *)p_picture->p_sys;
p_original_pic->pf_release( p_original_pic );
picture_Release( p_original_pic );
}
/*****************************************************************************
......@@ -546,14 +546,14 @@ static subpicture_t *Filter( filter_t *p_filter, mtime_t date )
if ( p_es->p_picture->p_next != NULL )
{
picture_t *p_next = p_es->p_picture->p_next;
p_es->p_picture->pf_release( p_es->p_picture );
p_original_pic( p_es->p_picture );
p_es->p_picture = p_next;
}
else if ( p_es->p_picture->date + p_sys->i_delay + BLANK_DELAY <
date )
{
/* Display blank */
p_es->p_picture->pf_release( p_es->p_picture );
picture_Release( p_es->p_picture );
p_es->p_picture = NULL;
p_es->pp_last = &p_es->p_picture;
break;
......@@ -633,7 +633,7 @@ static subpicture_t *Filter( filter_t *p_filter, mtime_t date )
else
{
p_converted = p_es->p_picture;
p_converted->i_refcount++;
picture_Yield( p_converted );
fmt_in.i_width = fmt_out.i_width = p_converted->format.i_width;
fmt_in.i_height = fmt_out.i_height = p_converted->format.i_height;
fmt_in.i_chroma = fmt_out.i_chroma = p_converted->format.i_chroma;
......
......@@ -141,8 +141,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
if( !p_outpic )
{
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;
}
......
......@@ -184,8 +184,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_inpic )
if( !p_outpic )
{
msg_Warn( p_filter, "can't get output picture" );
if( p_inpic->pf_release )
p_inpic->pf_release( p_inpic );
picture_Release( p_inpic );
return NULL;
}
......@@ -372,8 +371,7 @@ static picture_t *FilterPacked( filter_t *p_filter, picture_t *p_inpic )
{
msg_Warn( p_filter, "Unsupported input chroma (%4s)",
(char*)&(p_inpic->format.i_chroma) );
if( p_inpic->pf_release )
p_inpic->pf_release( p_inpic );
picture_Release( p_inpic );
return NULL;
}
......@@ -401,8 +399,7 @@ static picture_t *FilterPacked( filter_t *p_filter, picture_t *p_inpic )
if( !p_outpic )
{
msg_Warn( p_filter, "can't get output picture" );
if( p_inpic->pf_release )
p_inpic->pf_release( p_inpic );
picture_Release( p_inpic );
return NULL;
}
......
......@@ -123,8 +123,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
if( !p_outpic )
{
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;
}
......
......@@ -435,7 +435,7 @@ static void ReleaseImages(vout_thread_t *p_vout)
/* Release temp picture_t if it exists */
if (p_vout->p_sys->p_to_be_freed)
{
p_vout->p_sys->p_to_be_freed->pf_release( p_vout->p_sys->p_to_be_freed );
picture_Release( p_vout->p_sys->p_to_be_freed );
p_vout->p_sys->p_to_be_freed = NULL;
}
if (p_vout->p_sys->i_verbosity > VERB_WARN)
......
......@@ -278,8 +278,7 @@ static picture_t *PostprocPict( filter_t *p_filter, picture_t *p_pic )
if( !p_outpic )
{
msg_Warn( p_filter, "can't get output picture" );
if( p_pic->pf_release )
p_pic->pf_release( p_pic );
picture_Release( p_pic );
vlc_mutex_unlock( &p_sys->lock );
return NULL;
}
......
......@@ -146,8 +146,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
if( !p_outpic )
{
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;
}
......@@ -189,25 +188,25 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
if( p_converted )
{
#define copyimage( plane, b ) \
for( y=0; y<p_converted->p[plane].i_visible_lines; y++) { \
for( x=0; x<p_converted->p[plane].i_visible_pitch; x++) { \
int nx, ny; \
if( p_filter->p_sys->yinc == 1 ) \
ny= y; \
else \
ny = p_converted->p[plane].i_visible_lines-y; \
if( p_filter->p_sys->xinc == 1 ) \
nx = x; \
else \
nx = p_converted->p[plane].i_visible_pitch-x; \
p_outpic->p[plane].p_pixels[(p_filter->p_sys->x*b+nx)+(ny+p_filter->p_sys->y*b)*p_outpic->p[plane].i_pitch ] = p_converted->p[plane].p_pixels[y*p_converted->p[plane].i_pitch+x]; \
} }
copyimage( Y_PLANE, 2 );
copyimage( U_PLANE, 1 );
copyimage( V_PLANE, 1 );
for( y=0; y<p_converted->p[plane].i_visible_lines; y++) { \
for( x=0; x<p_converted->p[plane].i_visible_pitch; x++) { \
int nx, ny; \
if( p_filter->p_sys->yinc == 1 ) \
ny= y; \
else \
ny = p_converted->p[plane].i_visible_lines-y; \
if( p_filter->p_sys->xinc == 1 ) \
nx = x; \
else \
nx = p_converted->p[plane].i_visible_pitch-x; \
p_outpic->p[plane].p_pixels[(p_filter->p_sys->x*b+nx)+(ny+p_filter->p_sys->y*b)*p_outpic->p[plane].i_pitch ] = p_converted->p[plane].p_pixels[y*p_converted->p[plane].i_pitch+x]; \
} }
copyimage( Y_PLANE, 2 );
copyimage( U_PLANE, 1 );
copyimage( V_PLANE, 1 );
#undef copyimage
p_converted->pf_release( p_converted );
picture_Release( p_converted );
}
else
{
......
......@@ -125,8 +125,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
if( !p_outpic )
{
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;
}
......
......@@ -176,8 +176,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
if( !p_outpic )
{
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;
}
......@@ -301,8 +300,7 @@ static picture_t *FilterPacked( filter_t *p_filter, picture_t *p_pic )
{
msg_Warn( p_filter, "Unsupported input chroma (%4s)",
(char*)&(p_pic->format.i_chroma) );
if( p_pic->pf_release )
p_pic->pf_release( p_pic );
picture_Release( p_pic );
return NULL;
}
......@@ -310,8 +308,7 @@ static picture_t *FilterPacked( filter_t *p_filter, picture_t *p_pic )
if( !p_outpic )
{
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;
}
......
......@@ -608,7 +608,7 @@ static picture_t *LoadImage( filter_t *p_filter, const char *psz_url )
fmt_out.i_height = p_sys->p_style->i_font_size;
p_pic = image_Convert( p_handler, p_orig, &fmt_in, &fmt_out );
p_orig->pf_release( p_orig );
picture_Release( p_orig );
if( !p_pic )
{
msg_Warn( p_filter, "Error while converting %s", psz_url );
......@@ -976,7 +976,7 @@ static void FreeRSS( filter_t *p_filter)
free( p_feed->psz_description );
free( p_feed->psz_image );
if( p_feed->p_pic != NULL )
p_feed->p_pic->pf_release( p_feed->p_pic );
picture_Release( p_feed->p_pic );
}
free( p_sys->p_feeds );
p_sys->i_feeds = 0;
......
......@@ -109,8 +109,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
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;
}
......@@ -136,13 +135,9 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
}
}
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;
picture_CopyProperties( p_pic_dst, p_pic );
picture_Release( p_pic );
p_pic->pf_release( p_pic );
return p_pic_dst;
}
......@@ -128,8 +128,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
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;
}
......@@ -225,13 +224,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
}
}
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;
}
......@@ -117,8 +117,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
if( !p_outpic )
{
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;
}
......
......@@ -176,8 +176,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
if( !p_outpic )
{
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;
}
......@@ -187,8 +186,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
if( !p_src || !p_out )
{
msg_Warn( p_filter, "can't get Y plane" );
if( p_pic->pf_release )
p_pic->pf_release( p_pic );
picture_Release( p_pic );
return NULL;
}
......
......@@ -321,14 +321,8 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
dst, dst_stride );
#endif
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;
}
......
......@@ -126,8 +126,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
if( !p_outpic )
{
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;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment