diff --git a/libavcodec/copy_block.h b/libavcodec/copy_block.h new file mode 100644 index 0000000000000000000000000000000000000000..ec465db4347d8ce6504d3632ba41a7b8dadec997 --- /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 fac51bcbae32ebd2ac5f725abf4ce7dd7ba8d9f6..2980684c64b57cbc1a902111f89be7f1d6cb2749 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 d42518c522ed4fe7946fb868f16b833658edb2af..22c204c4754889cba18f799bbc2c51b56fb5e094 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 27d56a1563a7dbd6c429fa85627b57f869e551a4..04823edde1c70e9a5abb2cbb0b55aa3f5faab8ec 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) \ \