aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClément Bœsch <cboesch@gopro.com>2017-03-31 09:44:04 +0200
committerClément Bœsch <cboesch@gopro.com>2017-03-31 09:44:04 +0200
commit1ea0df14c367d7c6584b4bcbc2aaae5acc685634 (patch)
treef1bbbd0dbf3d256f601c1e11c8a181826c83252f
parentebce1332285b16418dacb369defcfd7bae06d319 (diff)
parent0361e4dcb4d394c88c33364415a3b8fe315b67d1 (diff)
downloadffmpeg-1ea0df14c367d7c6584b4bcbc2aaae5acc685634.tar.gz
Merge commit '0361e4dcb4d394c88c33364415a3b8fe315b67d1'
* commit '0361e4dcb4d394c88c33364415a3b8fe315b67d1': h264_qpel: x86: Move function with only one instance out of template macro Note: warning is present with clang. Merged-by: Clément Bœsch <cboesch@gopro.com>
-rw-r--r--libavcodec/x86/h264_qpel.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/libavcodec/x86/h264_qpel.c b/libavcodec/x86/h264_qpel.c
index 96fa4a706a..6b7ecf52b3 100644
--- a/libavcodec/x86/h264_qpel.c
+++ b/libavcodec/x86/h264_qpel.c
@@ -71,6 +71,17 @@ void ff_ ## OPNAME ## _pixels8_l2_shift5_mmxext(uint8_t *dst, const int16_t *src
DEF_QPEL(avg)
DEF_QPEL(put)
+static av_always_inline void ff_put_h264_qpel8or16_hv1_lowpass_mmxext(int16_t *tmp, const uint8_t *src, int tmpStride, int srcStride, int size)
+{
+ int w = (size + 8) >> 2;
+ src -= 2 * srcStride + 2;
+ while (w--) {
+ ff_put_h264_qpel8or16_hv1_lowpass_op_mmxext(src, tmp, srcStride, size);
+ tmp += 4;
+ src += 4;
+ }
+}
+
#define QPEL_H264(OPNAME, OP, MMX)\
static av_always_inline void ff_ ## OPNAME ## h264_qpel4_hv_lowpass_ ## MMX(uint8_t *dst, int16_t *tmp, const uint8_t *src, int dstStride, int tmpStride, int srcStride){\
int w=3;\
@@ -91,15 +102,6 @@ static av_always_inline void ff_ ## OPNAME ## h264_qpel8or16_v_lowpass_ ## MMX(u
dst += 4;\
ff_ ## OPNAME ## h264_qpel8or16_v_lowpass_op_mmxext(dst, src, dstStride, srcStride, h);\
}\
-static av_always_inline void ff_ ## OPNAME ## h264_qpel8or16_hv1_lowpass_ ## MMX(int16_t *tmp, const uint8_t *src, int tmpStride, int srcStride, int size){\
- int w = (size+8)>>2;\
- src -= 2*srcStride+2;\
- while(w--){\
- ff_ ## OPNAME ## h264_qpel8or16_hv1_lowpass_op_mmxext(src, tmp, srcStride, size);\
- tmp += 4;\
- src += 4;\
- }\
-}\
static av_always_inline void ff_ ## OPNAME ## h264_qpel8or16_hv2_lowpass_ ## MMX(uint8_t *dst, int16_t *tmp, int dstStride, int tmpStride, int size){\
int w = size>>4;\
do{\