diff options
author | Clément Bœsch <cboesch@gopro.com> | 2017-03-31 09:44:04 +0200 |
---|---|---|
committer | Clément Bœsch <cboesch@gopro.com> | 2017-03-31 09:44:04 +0200 |
commit | 1ea0df14c367d7c6584b4bcbc2aaae5acc685634 (patch) | |
tree | f1bbbd0dbf3d256f601c1e11c8a181826c83252f | |
parent | ebce1332285b16418dacb369defcfd7bae06d319 (diff) | |
parent | 0361e4dcb4d394c88c33364415a3b8fe315b67d1 (diff) | |
download | ffmpeg-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.c | 20 |
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{\ |