diff options
author | Diego Biurrun <diego@biurrun.de> | 2013-02-07 22:03:49 +0100 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2013-02-07 22:08:19 +0100 |
commit | b9ba5253dd1232be4b48cfe61c31ff4b3de3d10a (patch) | |
tree | 2f543938d10723c226c11b1d206e0bab21c7915b | |
parent | 9e31729d692f1e721b7ed1a3a0f51b68c064d68f (diff) | |
download | ffmpeg-b9ba5253dd1232be4b48cfe61c31ff4b3de3d10a.tar.gz |
dsputil: Move copy_block functions to a separate header
-rw-r--r-- | libavcodec/copy_block.h | 61 | ||||
-rw-r--r-- | libavcodec/dsputil.c | 1 | ||||
-rw-r--r-- | libavcodec/dsputil.h | 36 | ||||
-rw-r--r-- | libavcodec/sh4/qpel.c | 1 |
4 files changed, 63 insertions, 36 deletions
diff --git a/libavcodec/copy_block.h b/libavcodec/copy_block.h new file mode 100644 index 0000000000..ec465db434 --- /dev/null +++ b/libavcodec/copy_block.h @@ -0,0 +1,61 @@ +/* + * This file is part of Libav. + * + * Libav is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * Libav is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with Libav; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_COPY_BLOCK_H +#define AVCODEC_COPY_BLOCK_H + +#include <stdint.h> + +#include "libavutil/intreadwrite.h" + +static inline void copy_block8(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride, int h) +{ + int i; + for(i=0; i<h; i++) + { + AV_COPY64U(dst, src); + dst+=dstStride; + src+=srcStride; + } +} + +static inline void copy_block9(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride, int h) +{ + int i; + for(i=0; i<h; i++) + { + AV_COPY64U(dst, src); + dst[8]= src[8]; + dst+=dstStride; + src+=srcStride; + } +} + +static inline void copy_block17(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride, int h) +{ + int i; + for(i=0; i<h; i++) + { + AV_COPY128U(dst, src); + dst[16]= src[16]; + dst+=dstStride; + src+=srcStride; + } +} + +#endif /* AVCODEC_COPY_BLOCK_H */ diff --git a/libavcodec/dsputil.c b/libavcodec/dsputil.c index fac51bcbae..2980684c64 100644 --- a/libavcodec/dsputil.c +++ b/libavcodec/dsputil.c @@ -29,6 +29,7 @@ #include "libavutil/imgutils.h" #include "avcodec.h" +#include "copy_block.h" #include "dsputil.h" #include "simple_idct.h" #include "faandct.h" diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h index d42518c522..22c204c475 100644 --- a/libavcodec/dsputil.h +++ b/libavcodec/dsputil.h @@ -514,40 +514,4 @@ static int name16(void /*MpegEncContext*/ *s, uint8_t *dst, uint8_t *src, int st return score;\ } - -static inline void copy_block8(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride, int h) -{ - int i; - for(i=0; i<h; i++) - { - AV_COPY64U(dst, src); - dst+=dstStride; - src+=srcStride; - } -} - -static inline void copy_block9(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride, int h) -{ - int i; - for(i=0; i<h; i++) - { - AV_COPY64U(dst, src); - dst[8]= src[8]; - dst+=dstStride; - src+=srcStride; - } -} - -static inline void copy_block17(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride, int h) -{ - int i; - for(i=0; i<h; i++) - { - AV_COPY128U(dst, src); - dst[16]= src[16]; - dst+=dstStride; - src+=srcStride; - } -} - #endif /* AVCODEC_DSPUTIL_H */ diff --git a/libavcodec/sh4/qpel.c b/libavcodec/sh4/qpel.c index 27d56a1563..04823edde1 100644 --- a/libavcodec/sh4/qpel.c +++ b/libavcodec/sh4/qpel.c @@ -22,6 +22,7 @@ */ #include "libavutil/common.h" +#include "libavcodec/copy_block.h" #define PIXOP2(OPNAME, OP) \ \ |