summaryrefslogtreecommitdiff
path: root/sys/androidmedia/gstamcvideodec.c
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2012-09-25 10:32:26 +0200
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2012-10-15 16:28:42 +0200
commit9f7ed3f180ee33a4ff71e1f8f448b24b53038880 (patch)
treee4d831cae120f39d28df49b6afaf5a67beb9b9d3 /sys/androidmedia/gstamcvideodec.c
parent7a53743bfdfcb5b7a908ebe9e1c1b75cfdd35d43 (diff)
downloadgstreamer-plugins-bad-9f7ed3f180ee33a4ff71e1f8f448b24b53038880.tar.gz
Use orc_memcpy() instead of memcpy() as it should be faster for larger memory areas
Diffstat (limited to 'sys/androidmedia/gstamcvideodec.c')
-rw-r--r--sys/androidmedia/gstamcvideodec.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/sys/androidmedia/gstamcvideodec.c b/sys/androidmedia/gstamcvideodec.c
index a1d8bb753..1421c48b4 100644
--- a/sys/androidmedia/gstamcvideodec.c
+++ b/sys/androidmedia/gstamcvideodec.c
@@ -30,6 +30,12 @@
#include <gst/gst.h>
#include <string.h>
+#ifdef HAVE_ORC
+#include <orc/orc.h>
+#else
+#define orc_memcpy memcpy
+#endif
+
#include "gstamcvideodec.h"
#include "gstamc-constants.h"
@@ -720,7 +726,7 @@ gst_amc_video_dec_fill_buffer (GstAmcVideoDec * self, gint idx,
/* Same video format */
if (buffer_info->size == GST_BUFFER_SIZE (outbuf)) {
GST_DEBUG_OBJECT (self, "Buffer sizes equal, doing fast copy");
- memcpy (GST_BUFFER_DATA (outbuf), buf->data + buffer_info->offset,
+ orc_memcpy (GST_BUFFER_DATA (outbuf), buf->data + buffer_info->offset,
buffer_info->size);
ret = TRUE;
goto done;
@@ -766,7 +772,7 @@ gst_amc_video_dec_fill_buffer (GstAmcVideoDec * self, gint idx,
height = GST_VIDEO_INFO_COMP_HEIGHT (info, i);
for (j = 0; j < height; j++) {
- memcpy (dest, src, row_length);
+ orc_memcpy (dest, src, row_length);
src += src_stride;
dest += dest_stride;
}
@@ -804,7 +810,7 @@ gst_amc_video_dec_fill_buffer (GstAmcVideoDec * self, gint idx,
height = GST_VIDEO_INFO_COMP_HEIGHT (info, i);
for (j = 0; j < height; j++) {
- memcpy (dest, src, row_length);
+ orc_memcpy (dest, src, row_length);
src += src_stride;
dest += dest_stride;
}
@@ -846,7 +852,7 @@ gst_amc_video_dec_fill_buffer (GstAmcVideoDec * self, gint idx,
height = GST_VIDEO_INFO_COMP_HEIGHT (info, i);
for (j = 0; j < height; j++) {
- memcpy (dest, src, row_length);
+ orc_memcpy (dest, src, row_length);
src += src_stride;
dest += dest_stride;
}
@@ -1404,7 +1410,7 @@ gst_amc_video_dec_handle_frame (GstVideoDecoder * decoder,
buffer_info.size =
MIN (GST_BUFFER_SIZE (frame->input_buffer) - offset, buf->size);
- memcpy (buf->data, GST_BUFFER_DATA (frame->input_buffer) + offset,
+ orc_memcpy (buf->data, GST_BUFFER_DATA (frame->input_buffer) + offset,
buffer_info.size);
/* Interpolate timestamps if we're passing the buffer