[FFmpeg-devel] [PATCH 09/11] avcodec/blockdsp: roll-up x86asm preprocessor loop

James Darnley jdarnley at obe.tv
Thu Nov 9 13:58:35 EET 2017


From: James Darnley <james.darnley at gmail.com>

---
 libavcodec/x86/blockdsp.asm | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/libavcodec/x86/blockdsp.asm b/libavcodec/x86/blockdsp.asm
index 9d203df8f5..9d0e8a3242 100644
--- a/libavcodec/x86/blockdsp.asm
+++ b/libavcodec/x86/blockdsp.asm
@@ -38,22 +38,19 @@ cglobal clear_block, 1, 1, %1, blocks
 %assign %%i 0
 %rep %2
     mova  [blocksq+mmsize*(0+%%i)], m0
-    mova  [blocksq+mmsize*(1+%%i)], m0
-    mova  [blocksq+mmsize*(2+%%i)], m0
-    mova  [blocksq+mmsize*(3+%%i)], m0
-%assign %%i %%i+4
+%assign %%i %%i+1
 %endrep
     RET
 %endmacro
 
 INIT_MMX mmx
 %define ZERO pxor
-CLEAR_BLOCK 0, 4
+CLEAR_BLOCK 0, 16
 INIT_XMM sse
 %define ZERO xorps
-CLEAR_BLOCK 1, 2
+CLEAR_BLOCK 1, 8
 INIT_YMM avx
-CLEAR_BLOCK 1, 1
+CLEAR_BLOCK 1, 4
 
 ;-----------------------------------------
 ; void ff_clear_blocks(int16_t *blocks);
-- 
2.15.0



More information about the ffmpeg-devel mailing list