From 1797cb330ae3713163cd775104781bebceb6855c Mon Sep 17 00:00:00 2001 From: James Stembridge Date: Wed, 7 Jan 2004 22:22:54 +0000 Subject: use frame copying functions CVS patchset: 6010 CVS date: 2004/01/07 22:22:54 --- src/xine-engine/xine.c | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) (limited to 'src/xine-engine/xine.c') diff --git a/src/xine-engine/xine.c b/src/xine-engine/xine.c index fcc04cebd..281cb0ac0 100644 --- a/src/xine-engine/xine.c +++ b/src/xine-engine/xine.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000-2003 the xine project + * Copyright (C) 2000-2004 the xine project * * This file is part of xine, a free video player. * @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: xine.c,v 1.279 2004/01/04 00:00:58 storri Exp $ + * $Id: xine.c,v 1.280 2004/01/07 22:22:54 jstembridge Exp $ */ /* @@ -1500,16 +1500,28 @@ int xine_get_current_frame (xine_stream_t *stream, int *width, int *height, switch (frame->format) { case XINE_IMGFMT_YV12: - memcpy (img, frame->base[0], frame->width*frame->height); - memcpy (img+frame->width*frame->height, frame->base[1], - frame->width*frame->height/4); - memcpy (img+frame->width*frame->height+frame->width*frame->height/4, - frame->base[2], - frame->width*frame->height/4); + yv12_to_yv12( + /* Y */ + frame->base[0], frame->pitches[0], + img, frame->width, + /* U */ + frame->base[1], frame->pitches[1], + img+frame->width*frame->height, frame->width/2, + /* V */ + frame->base[2], frame->pitches[2], + img+frame->width*frame->height+frame->width*frame->height/4, frame->width/2, + /* width x height */ + frame->width, frame->height); break; case XINE_IMGFMT_YUY2: - memcpy (img, frame->base[0], frame->width * frame->height * 2); + yuy2_to_yuy2( + /* src */ + frame->base[0], frame->pitches[0], + /* dst */ + img, frame->width*2, + /* width x height */ + frame->width, frame->height); break; default: -- cgit v1.2.3