x86: h264_chromamc: port to cpuflags
This commit is contained in:
		
							parent
							
								
									b491da18d1
								
							
						
					
					
						commit
						28c8e288fa
					
				| @ -89,7 +89,7 @@ SECTION .text | ||||
|     jne .next4rows | ||||
| %endmacro | ||||
| 
 | ||||
| %macro chroma_mc8_mmx_func 3 | ||||
| %macro chroma_mc8_mmx_func 2-3 | ||||
| %ifidn %2, rv40 | ||||
| %ifdef PIC | ||||
| %define rnd_1d_rv40 r8 | ||||
| @ -103,9 +103,9 @@ SECTION .text | ||||
| %else | ||||
| %define extra_regs 0 | ||||
| %endif ; rv40 | ||||
| ; put/avg_h264_chroma_mc8_mmx_*(uint8_t *dst /*align 8*/, uint8_t *src /*align 1*/, | ||||
| ;                              int stride, int h, int mx, int my) | ||||
| cglobal %1_%2_chroma_mc8_%3, 6, 7 + extra_regs, 0 | ||||
| ; put/avg_h264_chroma_mc8_*(uint8_t *dst /*align 8*/, uint8_t *src /*align 1*/, | ||||
| ;                           int stride, int h, int mx, int my) | ||||
| cglobal %1_%2_chroma_mc8%3, 6, 7 + extra_regs, 0 | ||||
| %if ARCH_X86_64 | ||||
|     movsxd        r2, r2d | ||||
| %endif | ||||
| @ -282,14 +282,14 @@ cglobal %1_%2_chroma_mc8_%3, 6, 7 + extra_regs, 0 | ||||
|     RET | ||||
| %endmacro | ||||
| 
 | ||||
| %macro chroma_mc4_mmx_func 3 | ||||
| %macro chroma_mc4_mmx_func 2 | ||||
| %define extra_regs 0 | ||||
| %ifidn %2, rv40 | ||||
| %ifdef PIC | ||||
| %define extra_regs 1 | ||||
| %endif ; PIC | ||||
| %endif ; rv40 | ||||
| cglobal %1_%2_chroma_mc4_%3, 6, 6 + extra_regs, 0 | ||||
| cglobal %1_%2_chroma_mc4, 6, 6 + extra_regs, 0 | ||||
| %if ARCH_X86_64 | ||||
|     movsxd        r2, r2d | ||||
| %endif | ||||
| @ -373,8 +373,8 @@ cglobal %1_%2_chroma_mc4_%3, 6, 6 + extra_regs, 0 | ||||
|     REP_RET | ||||
| %endmacro | ||||
| 
 | ||||
| %macro chroma_mc2_mmx_func 3 | ||||
| cglobal %1_%2_chroma_mc2_%3, 6, 7, 0 | ||||
| %macro chroma_mc2_mmx_func 2 | ||||
| cglobal %1_%2_chroma_mc2, 6, 7, 0 | ||||
| %if ARCH_X86_64 | ||||
|     movsxd        r2, r2d | ||||
| %endif | ||||
| @ -434,35 +434,38 @@ cglobal %1_%2_chroma_mc2_%3, 6, 7, 0 | ||||
|     PAVG          %1, %2 | ||||
| %endmacro | ||||
| 
 | ||||
| INIT_MMX | ||||
| INIT_MMX mmx | ||||
| %define CHROMAMC_AVG  NOTHING | ||||
| %define CHROMAMC_AVG4 NOTHING | ||||
| chroma_mc8_mmx_func put, h264, rnd_mmx | ||||
| chroma_mc8_mmx_func put, vc1,  nornd_mmx | ||||
| chroma_mc8_mmx_func put, rv40, mmx | ||||
| chroma_mc4_mmx_func put, h264, mmx | ||||
| chroma_mc4_mmx_func put, rv40, mmx | ||||
| chroma_mc2_mmx_func put, h264, mmxext | ||||
| chroma_mc8_mmx_func put, h264, _rnd | ||||
| chroma_mc8_mmx_func put, vc1,  _nornd | ||||
| chroma_mc8_mmx_func put, rv40 | ||||
| chroma_mc4_mmx_func put, h264 | ||||
| chroma_mc4_mmx_func put, rv40 | ||||
| 
 | ||||
| INIT_MMX mmxext | ||||
| chroma_mc2_mmx_func put, h264 | ||||
| 
 | ||||
| %define CHROMAMC_AVG  DIRECT_AVG | ||||
| %define CHROMAMC_AVG4 COPY_AVG | ||||
| %define PAVG          pavgb | ||||
| chroma_mc8_mmx_func avg, h264, rnd_mmxext | ||||
| chroma_mc8_mmx_func avg, vc1,  nornd_mmxext | ||||
| chroma_mc8_mmx_func avg, rv40, mmxext | ||||
| chroma_mc4_mmx_func avg, h264, mmxext | ||||
| chroma_mc4_mmx_func avg, rv40, mmxext | ||||
| chroma_mc2_mmx_func avg, h264, mmxext | ||||
| chroma_mc8_mmx_func avg, h264, _rnd | ||||
| chroma_mc8_mmx_func avg, vc1,  _nornd | ||||
| chroma_mc8_mmx_func avg, rv40 | ||||
| chroma_mc4_mmx_func avg, h264 | ||||
| chroma_mc4_mmx_func avg, rv40 | ||||
| chroma_mc2_mmx_func avg, h264 | ||||
| 
 | ||||
| %define PAVG          pavgusb | ||||
| chroma_mc8_mmx_func avg, h264, rnd_3dnow | ||||
| chroma_mc8_mmx_func avg, vc1,  nornd_3dnow | ||||
| chroma_mc8_mmx_func avg, rv40, 3dnow | ||||
| chroma_mc4_mmx_func avg, h264, 3dnow | ||||
| chroma_mc4_mmx_func avg, rv40, 3dnow | ||||
| INIT_MMX 3dnow | ||||
| chroma_mc8_mmx_func avg, h264, _rnd | ||||
| chroma_mc8_mmx_func avg, vc1,  _nornd | ||||
| chroma_mc8_mmx_func avg, rv40 | ||||
| chroma_mc4_mmx_func avg, h264 | ||||
| chroma_mc4_mmx_func avg, rv40 | ||||
| 
 | ||||
| %macro chroma_mc8_ssse3_func 3 | ||||
| cglobal %1_%2_chroma_mc8_%3, 6, 7, 8 | ||||
| %macro chroma_mc8_ssse3_func 2-3 | ||||
| cglobal %1_%2_chroma_mc8%3, 6, 7, 8 | ||||
| %if ARCH_X86_64 | ||||
|     movsxd        r2, r2d | ||||
| %endif | ||||
| @ -609,8 +612,8 @@ cglobal %1_%2_chroma_mc8_%3, 6, 7, 8 | ||||
|     REP_RET | ||||
| %endmacro | ||||
| 
 | ||||
| %macro chroma_mc4_ssse3_func 3 | ||||
| cglobal %1_%2_chroma_mc4_%3, 6, 7, 0 | ||||
| %macro chroma_mc4_ssse3_func 2 | ||||
| cglobal %1_%2_chroma_mc4, 6, 7, 0 | ||||
| %if ARCH_X86_64 | ||||
|     movsxd        r2, r2d | ||||
| %endif | ||||
| @ -663,16 +666,16 @@ cglobal %1_%2_chroma_mc4_%3, 6, 7, 0 | ||||
| %endmacro | ||||
| 
 | ||||
| %define CHROMAMC_AVG NOTHING | ||||
| INIT_XMM | ||||
| chroma_mc8_ssse3_func put, h264, rnd_ssse3 | ||||
| chroma_mc8_ssse3_func put, vc1,  nornd_ssse3 | ||||
| INIT_MMX | ||||
| chroma_mc4_ssse3_func put, h264, ssse3 | ||||
| INIT_XMM ssse3 | ||||
| chroma_mc8_ssse3_func put, h264, _rnd | ||||
| chroma_mc8_ssse3_func put, vc1,  _nornd | ||||
| INIT_MMX ssse3 | ||||
| chroma_mc4_ssse3_func put, h264 | ||||
| 
 | ||||
| %define CHROMAMC_AVG DIRECT_AVG | ||||
| %define PAVG         pavgb | ||||
| INIT_XMM | ||||
| chroma_mc8_ssse3_func avg, h264, rnd_ssse3 | ||||
| chroma_mc8_ssse3_func avg, vc1,  nornd_ssse3 | ||||
| INIT_MMX | ||||
| chroma_mc4_ssse3_func avg, h264, ssse3 | ||||
| INIT_XMM ssse3 | ||||
| chroma_mc8_ssse3_func avg, h264, _rnd | ||||
| chroma_mc8_ssse3_func avg, vc1,  _nornd | ||||
| INIT_MMX ssse3 | ||||
| chroma_mc4_ssse3_func avg, h264 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user