ffmpeg | branch: master | Clément Bœsch <u...@pkh.me> | Thu Mar 23 12:03:25 2017 +0100| [733b13ad666c057c416a23bc694ae2e8391abd8b] | committer: Clément Bœsch
Merge commit 'e4128c08d786eb5513578e8c6063671ba03226ab' * commit 'e4128c08d786eb5513578e8c6063671ba03226ab': Revert "hevc: x86: Refactor IDCT macro declarations" So apparently this was technically correct be reverted due to authorship. Reverted as well in FFmpeg for now... See http://lists.libav.org/pipermail/libav-devel/2016-October/079560.html Merged-by: Clément Bœsch <u...@pkh.me> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=733b13ad666c057c416a23bc694ae2e8391abd8b --- libavcodec/x86/hevc_idct.asm | 51 +++++++++++++++++++++++++++++++++----------- 1 file changed, 39 insertions(+), 12 deletions(-) diff --git a/libavcodec/x86/hevc_idct.asm b/libavcodec/x86/hevc_idct.asm index 26649d0..33b437c 100644 --- a/libavcodec/x86/hevc_idct.asm +++ b/libavcodec/x86/hevc_idct.asm @@ -74,23 +74,50 @@ cglobal hevc_idct_%1x%1_dc_%2, 1, 2, 1, coeff, tmp RET %endmacro -%macro INIT_IDCT_DC 1 +; 8-bit INIT_MMX mmxext -IDCT_DC_NL 4, %1 -IDCT_DC 8, 2, %1 +IDCT_DC_NL 4, 8 +IDCT_DC 8, 2, 8 INIT_XMM sse2 -IDCT_DC_NL 8, %1 -IDCT_DC 16, 4, %1 -IDCT_DC 32, 16, %1 +IDCT_DC_NL 8, 8 +IDCT_DC 16, 4, 8 +IDCT_DC 32, 16, 8 %if HAVE_AVX2_EXTERNAL INIT_YMM avx2 -IDCT_DC 16, 2, %1 -IDCT_DC 32, 8, %1 +IDCT_DC 16, 2, 8 +IDCT_DC 32, 8, 8 %endif ;HAVE_AVX2_EXTERNAL -%endmacro -INIT_IDCT_DC 8 -INIT_IDCT_DC 10 -INIT_IDCT_DC 12 +; 10-bit +INIT_MMX mmxext +IDCT_DC_NL 4, 10 +IDCT_DC 8, 2, 10 + +INIT_XMM sse2 +IDCT_DC_NL 8, 10 +IDCT_DC 16, 4, 10 +IDCT_DC 32, 16, 10 + +%if HAVE_AVX2_EXTERNAL +INIT_YMM avx2 +IDCT_DC 16, 2, 10 +IDCT_DC 32, 8, 10 +%endif ;HAVE_AVX2_EXTERNAL + +; 12-bit +INIT_MMX mmxext +IDCT_DC_NL 4, 12 +IDCT_DC 8, 2, 12 + +INIT_XMM sse2 +IDCT_DC_NL 8, 12 +IDCT_DC 16, 4, 12 +IDCT_DC 32, 16, 12 + +%if HAVE_AVX2_EXTERNAL +INIT_YMM avx2 +IDCT_DC 16, 2, 12 +IDCT_DC 32, 8, 12 +%endif ;HAVE_AVX2_EXTERNAL ====================================================================== diff --cc libavcodec/x86/hevc_idct.asm index 26649d0,d662aa9..33b437c --- a/libavcodec/x86/hevc_idct.asm +++ b/libavcodec/x86/hevc_idct.asm @@@ -86,11 -86,22 +86,38 @@@ IDCT_DC 32, 16, %if HAVE_AVX2_EXTERNAL INIT_YMM avx2 - IDCT_DC 16, 2, %1 - IDCT_DC 32, 8, %1 + IDCT_DC 16, 2, 8 + IDCT_DC 32, 8, 8 %endif ;HAVE_AVX2_EXTERNAL - %endmacro - INIT_IDCT_DC 8 - INIT_IDCT_DC 10 - INIT_IDCT_DC 12 + ; 10-bit + INIT_MMX mmxext + IDCT_DC_NL 4, 10 + IDCT_DC 8, 2, 10 + + INIT_XMM sse2 + IDCT_DC_NL 8, 10 + IDCT_DC 16, 4, 10 + IDCT_DC 32, 16, 10 + + %if HAVE_AVX2_EXTERNAL + INIT_YMM avx2 + IDCT_DC 16, 2, 10 + IDCT_DC 32, 8, 10 + %endif ;HAVE_AVX2_EXTERNAL ++ ++; 12-bit ++INIT_MMX mmxext ++IDCT_DC_NL 4, 12 ++IDCT_DC 8, 2, 12 ++ ++INIT_XMM sse2 ++IDCT_DC_NL 8, 12 ++IDCT_DC 16, 4, 12 ++IDCT_DC 32, 16, 12 ++ ++%if HAVE_AVX2_EXTERNAL ++INIT_YMM avx2 ++IDCT_DC 16, 2, 12 ++IDCT_DC 32, 8, 12 ++%endif ;HAVE_AVX2_EXTERNAL _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog