Explorar el Código

mascara para convertir int32bit a byte

David hace 11 años
padre
commit
f32335263d
Se han modificado 1 ficheros con 4 adiciones y 1 borrados
  1. 4 1
      filtros/blur_asm.asm

+ 4 - 1
filtros/blur_asm.asm

@@ -1,3 +1,4 @@
+; asmsyntax=nasm
 default rel global _blur_asm
 global blur_asm
 
@@ -21,7 +22,7 @@ extern convulcion_matrix
 
 ; Mascaras y esas cosas
 section .data
-
+	cosa: db	0,4,8,12,255,255,255,255,255,255,255,255,255,255,255,255
 section .text
 ;void blur_asm    (
 	;unsigned char *src,
@@ -210,6 +211,8 @@ blur_asm:
 	;packuswb xmm10,xmm10
 	CVTPS2DQ xmm10,xmm10
 	;me quedan 4 int dword<=255, necesito moverlos a 4byte en la parte baja
+	movdqu xmm11, [cosa] ;uso xmm11 de tmp
+	pshufb xmm10, xmm11
 	movd [dst], xmm10          ; Escribo en el destino
 .endLoop:
 	mov src, tmp_src