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