summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Melanson <mike@multimedia.cx>2002-09-13 03:02:18 +0000
committerMike Melanson <mike@multimedia.cx>2002-09-13 03:02:18 +0000
commit37bbf407aef45a65dd5ff54586c0d2465c83f848 (patch)
tree410633c3636d15cec1abc60843f439e9594dfaa8
parent2fa5c6fef4325885385ee65788bcb265b584bbf9 (diff)
downloadxine-lib-37bbf407aef45a65dd5ff54586c0d2465c83f848.tar.gz
xine-lib-37bbf407aef45a65dd5ff54586c0d2465c83f848.tar.bz2
use xine's optimized memcpy() where applicable
CVS patchset: 2656 CVS date: 2002/09/13 03:02:18
-rw-r--r--src/libxinevdec/wc3video.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/libxinevdec/wc3video.c b/src/libxinevdec/wc3video.c
index f5628a9cc..9c943581e 100644
--- a/src/libxinevdec/wc3video.c
+++ b/src/libxinevdec/wc3video.c
@@ -22,7 +22,7 @@
* For more information on the WC3 Movie format, visit:
* http://www.pcisys.net/~melanson/codecs/
*
- * $Id: wc3video.c,v 1.4 2002/09/05 22:19:03 mroi Exp $
+ * $Id: wc3video.c,v 1.5 2002/09/13 03:02:18 tmmm Exp $
*/
#include <stdio.h>
@@ -159,18 +159,19 @@ static void wc3_build_frame (wc3video_decoder_t *this) {
break;
}
+ /* run is unchanged from last frame */
if (func < 12) {
flag = flag ^ 1;
if ( flag ) {
- bytecopy(
+ xine_fast_memcpy(
&this->current_frame->y[index],
&this->last_frame->y[index],
size);
- bytecopy(
+ xine_fast_memcpy(
&this->current_frame->u[index],
&this->last_frame->u[index],
size);
- bytecopy(
+ xine_fast_memcpy(
&this->current_frame->v[index],
&this->last_frame->v[index],
size);
@@ -189,6 +190,7 @@ static void wc3_build_frame (wc3video_decoder_t *this) {
}
}
} else {
+ /* run displacement from last frame */
int x = (*part3 >> 4) & 0xf;
int y = *part3 & 0xf;
part3++;
@@ -198,15 +200,15 @@ static void wc3_build_frame (wc3video_decoder_t *this) {
if (y & 8) y |= 0xfffffff0;
/* copy a run of pixels from the previous frame */
- bytecopy(
+ xine_fast_memcpy(
&this->current_frame->y[index],
&this->last_frame->y[index + x + y * WC3_WIDTH],
size);
- bytecopy(
+ xine_fast_memcpy(
&this->current_frame->u[index],
&this->last_frame->u[index + x + y * WC3_WIDTH],
size);
- bytecopy(
+ xine_fast_memcpy(
&this->current_frame->v[index],
&this->last_frame->v[index + x + y * WC3_WIDTH],
size);