Commit 5002a535 authored by Laurent Aimar's avatar Laurent Aimar

Removed vout_CopyPicture in favor of picture_Copy.

parent 2396250c
...@@ -199,6 +199,9 @@ VLC_EXPORT( void, plane_CopyPixels, ( plane_t *p_dst, const plane_t *p_src ) ); ...@@ -199,6 +199,9 @@ VLC_EXPORT( void, plane_CopyPixels, ( plane_t *p_dst, const plane_t *p_src ) );
* You have to notice that sometime a simple picture_Hold may do what * You have to notice that sometime a simple picture_Hold may do what
* you want without the copy overhead. * you want without the copy overhead.
* Provided for convenience. * Provided for convenience.
*
* \param p_dst pointer to the destination picture.
* \param p_src pointer to the source picture.
*/ */
static inline void picture_Copy( picture_t *p_dst, const picture_t *p_src ) static inline void picture_Copy( picture_t *p_dst, const picture_t *p_src )
{ {
...@@ -412,15 +415,6 @@ struct subpicture_t ...@@ -412,15 +415,6 @@ struct subpicture_t
* Prototypes * Prototypes
*****************************************************************************/ *****************************************************************************/
/**
* Copy the source picture onto the destination picture.
* \param p_this a vlc object
* \param p_dst pointer to the destination picture.
* \param p_src pointer to the source picture.
*/
#define vout_CopyPicture(a,b,c) __vout_CopyPicture(VLC_OBJECT(a),b,c)
VLC_EXPORT( void, __vout_CopyPicture, ( vlc_object_t *p_this, picture_t *p_dst, picture_t *p_src ) );
/** /**
* Initialise different fields of a picture_t (but does not allocate memory). * Initialise different fields of a picture_t (but does not allocate memory).
* \param p_this a vlc object * \param p_this a vlc object
......
...@@ -358,7 +358,7 @@ static picture_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block ) ...@@ -358,7 +358,7 @@ static picture_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
p_sys->i_next = (mtime_t)(p_sys->i_reload + mdate()); p_sys->i_next = (mtime_t)(p_sys->i_reload + mdate());
} }
vlc_mutex_lock( &p_dec->p_sys->lock ); vlc_mutex_lock( &p_dec->p_sys->lock );
vout_CopyPicture( p_dec, p_pic, p_dec->p_sys->p_image ); picture_Copy( p_pic, p_dec->p_sys->p_image );
vlc_mutex_unlock( &p_dec->p_sys->lock ); vlc_mutex_unlock( &p_dec->p_sys->lock );
p_pic->date = (*pp_block)->i_pts; p_pic->date = (*pp_block)->i_pts;
......
...@@ -892,7 +892,7 @@ static picture_t *RenderText( intf_thread_t *p_intf, const char *psz_string, ...@@ -892,7 +892,7 @@ static picture_t *RenderText( intf_thread_t *p_intf, const char *psz_string,
free( p_region ); free( p_region );
return NULL; return NULL;
} }
vout_CopyPicture( VLC_OBJECT(p_intf), p_dest, p_region->p_picture ); picture_Copy( p_dest, p_region->p_picture );
#else #else
fmt_out.i_chroma = p_fmt->i_chroma; fmt_out.i_chroma = p_fmt->i_chroma;
p_dest = ConvertImage( p_intf, &p_region->p_picture, p_dest = ConvertImage( p_intf, &p_region->p_picture,
......
...@@ -639,7 +639,7 @@ static int Send( sout_stream_t *p_stream, sout_stream_id_t *id, ...@@ -639,7 +639,7 @@ static int Send( sout_stream_t *p_stream, sout_stream_id_t *id,
continue; continue;
} }
vout_CopyPicture( p_stream, p_new_pic, p_pic ); picture_Copy( p_new_pic, p_pic );
} }
p_new_pic->i_refcount = 1; p_new_pic->i_refcount = 1;
......
...@@ -1996,7 +1996,7 @@ static int transcode_video_process( sout_stream_t *p_stream, ...@@ -1996,7 +1996,7 @@ static int transcode_video_process( sout_stream_t *p_stream,
picture_t *p_tmp = video_new_buffer_decoder( id->p_decoder ); picture_t *p_tmp = video_new_buffer_decoder( id->p_decoder );
if( p_tmp ) if( p_tmp )
{ {
vout_CopyPicture( p_stream, p_tmp, p_pic ); picture_Copy( p_tmp, p_pic );
p_pic->pf_release( p_pic ); p_pic->pf_release( p_pic );
p_pic = p_tmp; p_pic = p_tmp;
} }
...@@ -2061,7 +2061,7 @@ static int transcode_video_process( sout_stream_t *p_stream, ...@@ -2061,7 +2061,7 @@ static int transcode_video_process( sout_stream_t *p_stream,
p_pic2 = video_new_buffer_decoder( id->p_decoder ); p_pic2 = video_new_buffer_decoder( id->p_decoder );
if( p_pic2 != NULL ) if( p_pic2 != NULL )
{ {
vout_CopyPicture( p_stream, p_pic2, p_pic ); picture_Copy( p_pic2, p_pic );
p_pic2->date = i_pts; p_pic2->date = i_pts;
} }
} }
......
...@@ -366,7 +366,7 @@ static subpicture_t *Filter( filter_t *p_filter, mtime_t date ) ...@@ -366,7 +366,7 @@ static subpicture_t *Filter( filter_t *p_filter, mtime_t date )
else else
{ {
/* FIXME the copy is probably not needed anymore */ /* FIXME the copy is probably not needed anymore */
vout_CopyPicture( p_filter, p_region->p_picture, p_overlay->data.p_pic ); picture_Copy( p_region->p_picture, p_overlay->data.p_pic );
} }
p_region->i_x = p_overlay->i_x; p_region->i_x = p_overlay->i_x;
p_region->i_y = p_overlay->i_y; p_region->i_y = p_overlay->i_y;
......
...@@ -583,7 +583,7 @@ static void Render( vout_thread_t *p_vout, picture_t *p_inpic ) ...@@ -583,7 +583,7 @@ static void Render( vout_thread_t *p_vout, picture_t *p_inpic )
msleep( VOUT_OUTMEM_SLEEP ); msleep( VOUT_OUTMEM_SLEEP );
} }
vout_CopyPicture( p_vout, p_outpic, p_inpic ); picture_Copy( p_outpic, p_inpic );
vout_DatePicture( p_sys->p_vout, p_outpic, p_inpic->date ); vout_DatePicture( p_sys->p_vout, p_outpic, p_inpic->date );
if( p_pic ) if( p_pic )
...@@ -874,7 +874,7 @@ static subpicture_t *Filter( filter_t *p_filter, mtime_t date ) ...@@ -874,7 +874,7 @@ static subpicture_t *Filter( filter_t *p_filter, mtime_t date )
} }
/* FIXME the copy is probably not needed anymore */ /* FIXME the copy is probably not needed anymore */
vout_CopyPicture( p_filter, &p_region->p_picture, p_pic ); picture_Copy( p_region->p_picture, p_pic );
vlc_mutex_unlock( &p_logo_list->lock ); vlc_mutex_unlock( &p_logo_list->lock );
/* where to locate the logo: */ /* where to locate the logo: */
......
...@@ -565,7 +565,7 @@ static void Render( vout_thread_t *p_vout, picture_t *p_pic ) ...@@ -565,7 +565,7 @@ static void Render( vout_thread_t *p_vout, picture_t *p_pic )
//This copy is a bit unfortunate but image_Convert can't write into an existing image so it is better to copy the //This copy is a bit unfortunate but image_Convert can't write into an existing image so it is better to copy the
//(say) 16bit YUV image here than a 32bit RGB image somehwere else. //(say) 16bit YUV image here than a 32bit RGB image somehwere else.
//It is also not that expensive in time. //It is also not that expensive in time.
vout_CopyPicture( p_vout, p_outpic, p_pic ); picture_Copy( p_outpic, p_pic );
VlcPictureToIplImage( p_vout, p_pic); VlcPictureToIplImage( p_vout, p_pic);
//pass the image to the internal opencv filter for processing //pass the image to the internal opencv filter for processing
if ((p_vout->p_sys->p_opencv) && (p_vout->p_sys->p_opencv->p_module)) if ((p_vout->p_sys->p_opencv) && (p_vout->p_sys->p_opencv->p_module))
...@@ -579,7 +579,7 @@ static void Render( vout_thread_t *p_vout, picture_t *p_pic ) ...@@ -579,7 +579,7 @@ static void Render( vout_thread_t *p_vout, picture_t *p_pic )
p_vout->p_sys->p_opencv->pf_video_filter( p_vout->p_sys->p_opencv, &(p_vout->p_sys->hacked_pic)); p_vout->p_sys->p_opencv->pf_video_filter( p_vout->p_sys->p_opencv, &(p_vout->p_sys->hacked_pic));
//copy the processed image into the output image //copy the processed image into the output image
if ((p_vout->p_sys->p_proc_image) && (p_vout->p_sys->p_proc_image->p_data)) if ((p_vout->p_sys->p_proc_image) && (p_vout->p_sys->p_proc_image->p_data))
vout_CopyPicture( p_vout, p_outpic, p_vout->p_sys->p_proc_image ); picture_Copy( p_outpic, p_vout->p_sys->p_proc_image );
} }
//calculate duration //calculate duration
......
...@@ -428,7 +428,7 @@ static subpicture_region_t *create_picture_region( filter_t *p_filter, subpictur ...@@ -428,7 +428,7 @@ static subpicture_region_t *create_picture_region( filter_t *p_filter, subpictur
} }
/* FIXME the copy is probably not needed anymore */ /* FIXME the copy is probably not needed anymore */
if( p_pic ) if( p_pic )
vout_CopyPicture( p_filter, p_region->p_picture, p_pic ); picture_Copy( p_region->p_picture, p_pic );
p_region->i_x = 0; p_region->i_x = 0;
p_region->i_y = 0; p_region->i_y = 0;
......
...@@ -1172,7 +1172,7 @@ static subpicture_t *Filter( filter_t *p_filter, mtime_t date ) ...@@ -1172,7 +1172,7 @@ static subpicture_t *Filter( filter_t *p_filter, mtime_t date )
} }
/* FIXME the copy is probably not needed anymore */ /* FIXME the copy is probably not needed anymore */
vout_CopyPicture( p_filter, p_region->p_picture, p_pic ); picture_Copy( p_region->p_picture, p_pic );
p_sys->b_need_update = false; p_sys->b_need_update = false;
......
...@@ -558,7 +558,7 @@ static subpicture_t *Filter( filter_t *p_filter, mtime_t date ) ...@@ -558,7 +558,7 @@ static subpicture_t *Filter( filter_t *p_filter, mtime_t date )
p_region->i_x = p_sys->i_xoff; p_region->i_x = p_sys->i_xoff;
p_region->i_y = p_sys->i_yoff; p_region->i_y = p_sys->i_yoff;
/* FIXME the copy is probably not needed anymore */ /* FIXME the copy is probably not needed anymore */
vout_CopyPicture( p_filter, p_region->p_picture, p_pic ); picture_Copy( p_region->p_picture, p_pic );
p_spu->p_region->p_next = p_region; p_spu->p_region->p_next = p_region;
} }
......
...@@ -513,7 +513,6 @@ __vout_AllocatePicture ...@@ -513,7 +513,6 @@ __vout_AllocatePicture
vout_ChromaCmp vout_ChromaCmp
vout_Close vout_Close
vout_ControlWindow vout_ControlWindow
__vout_CopyPicture
__vout_Create __vout_Create
vout_CreatePicture vout_CreatePicture
vout_DatePicture vout_DatePicture
......
...@@ -457,7 +457,8 @@ static picture_t *ImageConvert( image_handler_t *p_image, picture_t *p_pic, ...@@ -457,7 +457,8 @@ static picture_t *ImageConvert( image_handler_t *p_image, picture_t *p_pic,
/* Duplicate image */ /* Duplicate image */
picture_Release( p_pif ); /* XXX: Better fix must be possible */ picture_Release( p_pif ); /* XXX: Better fix must be possible */
p_pif = p_image->p_filter->pf_vout_buffer_new( p_image->p_filter ); p_pif = p_image->p_filter->pf_vout_buffer_new( p_image->p_filter );
if( p_pif ) vout_CopyPicture( p_image->p_parent, p_pif, p_pic ); if( p_pif )
picture_Copy( p_pif, p_pic );
} }
return p_pif; return p_pif;
......
...@@ -338,7 +338,7 @@ picture_t *vout_RenderPicture( vout_thread_t *p_vout, picture_t *p_pic, ...@@ -338,7 +338,7 @@ picture_t *vout_RenderPicture( vout_thread_t *p_vout, picture_t *p_pic,
if( vout_LockPicture( p_vout, PP_OUTPUTPICTURE[0] ) ) if( vout_LockPicture( p_vout, PP_OUTPUTPICTURE[0] ) )
return NULL; return NULL;
vout_CopyPicture( p_vout, PP_OUTPUTPICTURE[0], p_pic ); picture_Copy( PP_OUTPUTPICTURE[0], p_pic );
spu_RenderSubpictures( p_vout->p_spu, spu_RenderSubpictures( p_vout->p_spu,
PP_OUTPUTPICTURE[0], &p_vout->fmt_out, PP_OUTPUTPICTURE[0], &p_vout->fmt_out,
...@@ -366,7 +366,7 @@ picture_t *vout_RenderPicture( vout_thread_t *p_vout, picture_t *p_pic, ...@@ -366,7 +366,7 @@ picture_t *vout_RenderPicture( vout_thread_t *p_vout, picture_t *p_pic,
if( vout_LockPicture( p_vout, PP_OUTPUTPICTURE[0] ) ) if( vout_LockPicture( p_vout, PP_OUTPUTPICTURE[0] ) )
return NULL; return NULL;
vout_CopyPicture( p_vout, PP_OUTPUTPICTURE[0], p_pic ); picture_Copy( PP_OUTPUTPICTURE[0], p_pic );
spu_RenderSubpictures( p_vout->p_spu, spu_RenderSubpictures( p_vout->p_spu,
PP_OUTPUTPICTURE[0], &p_vout->fmt_out, PP_OUTPUTPICTURE[0], &p_vout->fmt_out,
p_subpic, &p_vout->fmt_in ); p_subpic, &p_vout->fmt_in );
...@@ -412,7 +412,7 @@ picture_t *vout_RenderPicture( vout_thread_t *p_vout, picture_t *p_pic, ...@@ -412,7 +412,7 @@ picture_t *vout_RenderPicture( vout_thread_t *p_vout, picture_t *p_pic,
if( vout_LockPicture( p_vout, &p_vout->p_picture[0] ) ) if( vout_LockPicture( p_vout, &p_vout->p_picture[0] ) )
return NULL; return NULL;
vout_CopyPicture( p_vout, &p_vout->p_picture[0], p_tmp_pic ); picture_Copy( &p_vout->p_picture[0], p_tmp_pic );
} }
else else
{ {
...@@ -984,20 +984,6 @@ int vout_ChromaCmp( vlc_fourcc_t i_chroma, vlc_fourcc_t i_amorhc ) ...@@ -984,20 +984,6 @@ int vout_ChromaCmp( vlc_fourcc_t i_chroma, vlc_fourcc_t i_amorhc )
} }
} }
/*****************************************************************************
* vout_CopyPicture: copy a picture to another one
*****************************************************************************
* This function takes advantage of the image format, and reduces the
* number of calls to memcpy() to the minimum. Source and destination
* images must have same width (hence i_visible_pitch), height, and chroma.
*****************************************************************************/
void __vout_CopyPicture( vlc_object_t *p_this,
picture_t *p_dest, picture_t *p_src )
{
VLC_UNUSED(p_this);
picture_Copy( p_dest, p_src );
}
/***************************************************************************** /*****************************************************************************
* *
*****************************************************************************/ *****************************************************************************/
......
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