diff options
author | Christophe Gisquet <christophe.gisquet@gmail.com> | 2015-10-12 19:37:47 +0200 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2015-10-13 13:32:21 +0200 |
commit | 4369b9dc7b2b0da594223ce46615ba8e2b4cead6 (patch) | |
tree | a04bb2c4c7ae62a33568a0850a20cd63fea61d3e /libavcodec/x86/proresdsp.asm | |
parent | e652f69b354bc6b5819012979985794cfd2805c9 (diff) | |
download | ffmpeg-4369b9dc7b2b0da594223ce46615ba8e2b4cead6.tar.gz |
x86: simple_idct(_put): 10bits versions
Modeled from the prores version. Clips to [0;1023] and is bitexact.
Bitexactness requires to add offsets in different places compared to
prores or C, and makes the function approximately 2% slower.
For 16 frames of a DNxHD 4:2:2 10bits test sequence:
C: 60861 decicycles in idct, 1048205 runs, 371 skips
sse2: 27567 decicycles in idct, 1048216 runs, 360 skips
avx: 26272 decicycles in idct, 1048171 runs, 405 skips
The add version is not implemented, so the corresponding dsp
function is set to NULL to make it clear in a code executing it.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/x86/proresdsp.asm')
-rw-r--r-- | libavcodec/x86/proresdsp.asm | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libavcodec/x86/proresdsp.asm b/libavcodec/x86/proresdsp.asm index 3fb71badba..463384476b 100644 --- a/libavcodec/x86/proresdsp.asm +++ b/libavcodec/x86/proresdsp.asm @@ -37,17 +37,17 @@ cextern pw_1019 section .text align=16 -%macro idct_put_fn 0 +%macro idct_fn 0 cglobal prores_idct_put_10, 4, 4, 15 - IDCT_PUT_FN pw_1, 15, pw_88, 18, pw_4, pw_1019, r3 + IDCT_FN pw_1, 15, pw_88, 18, pw_4, pw_1019, r3 RET %endmacro INIT_XMM sse2 -idct_put_fn +idct_fn %if HAVE_AVX_EXTERNAL INIT_XMM avx -idct_put_fn +idct_fn %endif %endif |