From 5002a535177b1dbed82dd21b1acee23b17099e08 Mon Sep 17 00:00:00 2001 From: Laurent Aimar Date: Sat, 20 Sep 2008 17:41:33 +0200 Subject: [PATCH] Removed vout_CopyPicture in favor of picture_Copy. --- include/vlc_vout.h | 12 +++-------- modules/codec/fake.c | 2 +- modules/gui/fbosd.c | 2 +- modules/stream_out/mosaic_bridge.c | 2 +- modules/stream_out/transcode.c | 4 ++-- .../dynamicoverlay/dynamicoverlay.c | 2 +- modules/video_filter/logo.c | 4 ++-- modules/video_filter/opencv_wrapper.c | 4 ++-- modules/video_filter/osdmenu.c | 2 +- modules/video_filter/remoteosd.c | 2 +- modules/video_filter/rss.c | 2 +- src/libvlccore.sym | 1 - src/misc/image.c | 3 ++- src/video_output/vout_pictures.c | 20 +++---------------- 14 files changed, 21 insertions(+), 41 deletions(-) diff --git a/include/vlc_vout.h b/include/vlc_vout.h index f07bc6f9dc..6c2b6ffef4 100644 --- a/include/vlc_vout.h +++ b/include/vlc_vout.h @@ -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 want without the copy overhead. * 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 ) { @@ -412,15 +415,6 @@ struct subpicture_t * 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). * \param p_this a vlc object diff --git a/modules/codec/fake.c b/modules/codec/fake.c index bd4c1cddc8..6fcdaffaef 100644 --- a/modules/codec/fake.c +++ b/modules/codec/fake.c @@ -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()); } 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 ); p_pic->date = (*pp_block)->i_pts; diff --git a/modules/gui/fbosd.c b/modules/gui/fbosd.c index 710452ce9d..2ee627a95b 100644 --- a/modules/gui/fbosd.c +++ b/modules/gui/fbosd.c @@ -892,7 +892,7 @@ static picture_t *RenderText( intf_thread_t *p_intf, const char *psz_string, free( p_region ); return NULL; } - vout_CopyPicture( VLC_OBJECT(p_intf), p_dest, p_region->p_picture ); + picture_Copy( p_dest, p_region->p_picture ); #else fmt_out.i_chroma = p_fmt->i_chroma; p_dest = ConvertImage( p_intf, &p_region->p_picture, diff --git a/modules/stream_out/mosaic_bridge.c b/modules/stream_out/mosaic_bridge.c index c619b7fd16..c1c9e58a3f 100644 --- a/modules/stream_out/mosaic_bridge.c +++ b/modules/stream_out/mosaic_bridge.c @@ -639,7 +639,7 @@ static int Send( sout_stream_t *p_stream, sout_stream_id_t *id, continue; } - vout_CopyPicture( p_stream, p_new_pic, p_pic ); + picture_Copy( p_new_pic, p_pic ); } p_new_pic->i_refcount = 1; diff --git a/modules/stream_out/transcode.c b/modules/stream_out/transcode.c index 0450f9e182..a35034961b 100644 --- a/modules/stream_out/transcode.c +++ b/modules/stream_out/transcode.c @@ -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 ); 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 = p_tmp; } @@ -2061,7 +2061,7 @@ static int transcode_video_process( sout_stream_t *p_stream, p_pic2 = video_new_buffer_decoder( id->p_decoder ); if( p_pic2 != NULL ) { - vout_CopyPicture( p_stream, p_pic2, p_pic ); + picture_Copy( p_pic2, p_pic ); p_pic2->date = i_pts; } } diff --git a/modules/video_filter/dynamicoverlay/dynamicoverlay.c b/modules/video_filter/dynamicoverlay/dynamicoverlay.c index 0c85468ce7..7c1cc11b8e 100644 --- a/modules/video_filter/dynamicoverlay/dynamicoverlay.c +++ b/modules/video_filter/dynamicoverlay/dynamicoverlay.c @@ -366,7 +366,7 @@ static subpicture_t *Filter( filter_t *p_filter, mtime_t date ) else { /* 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_y = p_overlay->i_y; diff --git a/modules/video_filter/logo.c b/modules/video_filter/logo.c index 9e1791b462..52de127820 100644 --- a/modules/video_filter/logo.c +++ b/modules/video_filter/logo.c @@ -583,7 +583,7 @@ static void Render( vout_thread_t *p_vout, picture_t *p_inpic ) 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 ); if( p_pic ) @@ -874,7 +874,7 @@ static subpicture_t *Filter( filter_t *p_filter, mtime_t date ) } /* 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 ); /* where to locate the logo: */ diff --git a/modules/video_filter/opencv_wrapper.c b/modules/video_filter/opencv_wrapper.c index b1f3c9d9f2..1647deb8e1 100644 --- a/modules/video_filter/opencv_wrapper.c +++ b/modules/video_filter/opencv_wrapper.c @@ -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 //(say) 16bit YUV image here than a 32bit RGB image somehwere else. //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); //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)) @@ -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)); //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)) - 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 diff --git a/modules/video_filter/osdmenu.c b/modules/video_filter/osdmenu.c index 1c3d5bbca6..b83fa13650 100644 --- a/modules/video_filter/osdmenu.c +++ b/modules/video_filter/osdmenu.c @@ -428,7 +428,7 @@ static subpicture_region_t *create_picture_region( filter_t *p_filter, subpictur } /* FIXME the copy is probably not needed anymore */ 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_y = 0; diff --git a/modules/video_filter/remoteosd.c b/modules/video_filter/remoteosd.c index a6a253bfa4..276a999ba7 100644 --- a/modules/video_filter/remoteosd.c +++ b/modules/video_filter/remoteosd.c @@ -1172,7 +1172,7 @@ static subpicture_t *Filter( filter_t *p_filter, mtime_t date ) } /* 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; diff --git a/modules/video_filter/rss.c b/modules/video_filter/rss.c index dbb5dbe748..3894d9dac8 100644 --- a/modules/video_filter/rss.c +++ b/modules/video_filter/rss.c @@ -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_y = p_sys->i_yoff; /* 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; } diff --git a/src/libvlccore.sym b/src/libvlccore.sym index 804b6ff619..e95f1d4830 100644 --- a/src/libvlccore.sym +++ b/src/libvlccore.sym @@ -513,7 +513,6 @@ __vout_AllocatePicture vout_ChromaCmp vout_Close vout_ControlWindow -__vout_CopyPicture __vout_Create vout_CreatePicture vout_DatePicture diff --git a/src/misc/image.c b/src/misc/image.c index 826bcc81c8..811a09c81f 100644 --- a/src/misc/image.c +++ b/src/misc/image.c @@ -457,7 +457,8 @@ static picture_t *ImageConvert( image_handler_t *p_image, picture_t *p_pic, /* Duplicate image */ picture_Release( p_pif ); /* XXX: Better fix must be possible */ 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; diff --git a/src/video_output/vout_pictures.c b/src/video_output/vout_pictures.c index 223d85a611..4373579a40 100644 --- a/src/video_output/vout_pictures.c +++ b/src/video_output/vout_pictures.c @@ -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] ) ) return NULL; - vout_CopyPicture( p_vout, PP_OUTPUTPICTURE[0], p_pic ); + picture_Copy( PP_OUTPUTPICTURE[0], p_pic ); spu_RenderSubpictures( p_vout->p_spu, PP_OUTPUTPICTURE[0], &p_vout->fmt_out, @@ -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] ) ) return NULL; - vout_CopyPicture( p_vout, PP_OUTPUTPICTURE[0], p_pic ); + picture_Copy( PP_OUTPUTPICTURE[0], p_pic ); spu_RenderSubpictures( p_vout->p_spu, PP_OUTPUTPICTURE[0], &p_vout->fmt_out, p_subpic, &p_vout->fmt_in ); @@ -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] ) ) 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 { @@ -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 ); -} - /***************************************************************************** * *****************************************************************************/ -- 2.39.2