From b9ba5253dd1232be4b48cfe61c31ff4b3de3d10a Mon Sep 17 00:00:00 2001 From: Diego Biurrun <diego@biurrun.de> Date: Thu, 7 Feb 2013 22:03:49 +0100 Subject: [PATCH] dsputil: Move copy_block functions to a separate header --- libavcodec/copy_block.h | 61 +++++++++++++++++++++++++++++++++++++++++ libavcodec/dsputil.c | 1 + libavcodec/dsputil.h | 36 ------------------------ libavcodec/sh4/qpel.c | 1 + 4 files changed, 63 insertions(+), 36 deletions(-) create mode 100644 libavcodec/copy_block.h diff --git a/libavcodec/copy_block.h b/libavcodec/copy_block.h new file mode 100644 index 00000000000..ec465db4347 --- /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 fac51bcbae3..2980684c64b 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 d42518c522e..22c204c4754 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 27d56a1563a..04823edde1c 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) \ \ -- GitLab