Sfoglia il codice sorgente

Actualizado un poco el informe y borrada la info del HSL.

Fabian 11 anni fa
parent
commit
2ffac2b6d7

+ 5 - 0
.gitignore

@@ -5,3 +5,8 @@ img/
 tp2
 build/*
 .*
+*.aux
+*.out
+*.log
+*.pdf
+*.toc

BIN
informe/include/DiferenciasContrasteArbitraria.jpg


BIN
informe/include/DiferenciasPuro000.jpg


BIN
informe/include/DiferenciasPuro180.jpg


informe/include/merge1_1.asm → informe/include/diff1_1.asm


informe/include/merge1_2.asm → informe/include/diff1_2.asm


informe/include/merge1_3.asm → informe/include/diff1_3.asm


informe/include/merge2_1.asm → informe/include/diff2_1.asm


informe/include/merge2_2.asm → informe/include/diff2_2.asm


+ 0 - 12
informe/include/hsl1_p1.asm

@@ -1,12 +0,0 @@
-	pxor xmm7, xmm7					; xmm7 = | 00 | 00 | 00 | 00 |;
-	insertps xmm7, xmm0, 0b00010000	; xmm7 = | 00 | 00 | HH | 00 |;
-	insertps xmm7, xmm1, 0b00100000	; xmm7 = | 00 | SS | HH | 00 |;
-	insertps xmm7, xmm2, 0b00110000	; xmm7 = | LL | SS | HH | 00 |;
-	mov rdi, 16						; pido el espacio de memoria que 
-									; voy a necesitar para la funcion rgbTOhsl
-	call malloc				
-						
-	mov rbx, rax				
-	movdqu [rsp], xmm7				; "push" xmm7
-	sub rsp, 16
-

+ 0 - 12
informe/include/hsl1_p1.asm~

@@ -1,12 +0,0 @@
-	pxor xmm7, xmm7					; xmm7 = | 00 | 00 | 00 | 00 |;
-	insertps xmm7, xmm0, 0b00010000	; xmm7 = | 00 | 00 | HH | 00 |;
-	insertps xmm7, xmm1, 0b00100000	; xmm7 = | 00 | SS | HH | 00 |;
-	insertps xmm7, xmm2, 0b00110000	; xmm7 = | LL | SS | HH | 00 |;
-	mov rdi, 16						; pido el espacio de memoria que 
-									; voy a necesitar para la funcion rgbTOhsl
-	call malloc						; no puedo usar el stack porque
-									; la variable no puede ser local (de esa forma tira 
-	mov rbx, rax					; segfault al llamar a rgbTOhsl)
-	movdqu [rsp], xmm7				; "push" xmm7
-	sub rsp, 16
-

+ 0 - 6
informe/include/hsl1_p2.asm

@@ -1,6 +0,0 @@
-	mov rdi, r14
-	mov rsi, rbx				
-	call rgbTOhsl		; [rbx] = A ; [rbx + 4] = h ; [rbx + 8] = s ;  [rbx + 12] = l  
-	add rsp, 16
-	movdqu xmm7, [rsp]	; "pop" xmm7 
-	movdqu xmm8, [rbx]	; xmm8 = | l | s | h | A |;		

+ 0 - 6
informe/include/hsl1_p2.asm~

@@ -1,6 +0,0 @@
-	mov rdi, r14
-	mov rsi, rbx				
-	call rgbTOhsl		; [rbx] = A ; [rbx + 4] = h ; [rbx + 8] = s ;  [rbx + 12] = l  
-	add rsp, 16
-	movdqu xmm7, [rsp]	; "pop" xmm7 
-	movdqu xmm8, [rbx]	; xmm8 = | l | s | h | A |;		

+ 0 - 8
informe/include/hsl1_p3.asm

@@ -1,8 +0,0 @@
-	pxor xmm4, xmm4				; xmm4 = |  00  |  00  |  00  |  00  |
-	subps xmm4, xmm8			; xmm4 = | -(LL+l) | -(SS+s) | -(HH+h) | -(00+A)|
-	pand xmm4, [setMask]		; xmm4 = | -(LL+l) | -(SS+s) | 00 | 00 |
-    addps xmm4, [addGE]			; xmm4 = | 1 - (LL+l) | 1 - (SS+s)  | -360 | 00 |
-    CMPPS xmm9, [cmpGE], 5		; comparo NLT (aka GE) la suma con la mascara cmpGE
-    pand xmm4, xmm9				; me quedo con los valores de xmm4 que tengo que usar
-                                ; segun el resultado del cmp
-    addps xmm8, xmm4			; sumo lo necesario a la suma inicial

+ 0 - 4
informe/include/hsl1_p3.asm~

@@ -1,4 +0,0 @@
-	pxor xmm4, xmm4				; xmm4 = |  00  |  00  |  00  |  00  |
-	subps xmm4, xmm8			; xmm4 = | -(LL+l) | -(SS+s) | -(HH+h) | -(00+A)|
-	pand xmm4, [setMask]			; xmm4 = | -(LL+l) | -(SS+s) | 00 | 00 |
-	addps xmm4, [addGE]			; xmm4 = | 1 - (LL+l) | 1 - (SS+s)  | -360 | 00 |

+ 0 - 8
informe/include/hsl1_p4.asm

@@ -1,8 +0,0 @@
-	pxor xmm4, xmm4  			; xmm4 = |  00  |  00  |  00  |  00  |
-	subps xmm4, xmm8 			; xmm4 = | -(LL+l) | -(SS+s) | -(HH+h) | -(00+A)|
-	pand xmm4, [setMask] 		; xmm4 = | -(LL+l) | -(SS+s) | 00 | 00 |
-	addps xmm4, [addLT]			; xmm4 = | - (LL+l) | - (SS+s)  | 360 | 00 |
-	CMPPS xmm9, xmm11, 1		; comparo LT la suma con la mascara cmpLT                             
-	pand xmm4, xmm9  			; me quedo con los valores de xmm4 que tengo que usar 
-                                ; segun el resultado del cmp
-	addps xmm8, xmm4 			; sumo lo necesario a la suma inicial

+ 0 - 0
informe/include/hsl1_p4.asm~


+ 0 - 6
informe/include/hsl1_p5.asm

@@ -1,6 +0,0 @@
-	movdqu [rbx], xmm8
-	mov rdi, rbx
-	mov rsi, r14
-	call hslTOrgb
-	add r14, 4
-	dec r15

+ 0 - 5
informe/include/hsl2_p1.asm

@@ -1,5 +0,0 @@
-	mov bl, byte [rdx]			; rbx = A
-	mov r9b, byte [rdx+3]		; r9 = R
-	mov r10b, byte [rdx+2]		; r10 = G
-	mov r11b, byte [rdx+1]		; r11 = B
-

+ 0 - 5
informe/include/hsl2_p1.asm~

@@ -1,5 +0,0 @@
-	mov bl, byte [rdx]		; rbx = A
-	mov r9b, byte [rdx+3]		; r9 = R
-	mov r10b, byte [rdx+2]		; r10 = G
-	mov r11b, byte [rdx+1]		; r11 = B
-

+ 0 - 10
informe/include/hsl2_p2.asm

@@ -1,10 +0,0 @@
-		mulss xmm0, xmm11		; xmm0 = | 00 | 00 | 00 | 2*LL |
-		subss xmm0, xmm10		; xmm0 = | 00 | 00 | 00 | 2*LL-1 |
-		movd xmm1, [cero]
-		movdqu xmm2, xmm0
-		CMPSS xmm2, xmm1, 1
-		movdqu xmm3, xmm0
-		pand xmm3, xmm2
-		subss xmm0, xmm3
-		subss xmm0, xmm3		; xmm0 = | 00 | 00 | 00 | fabs(2*LL-1) |
-

+ 0 - 0
informe/include/hsl2_p2.asm~


+ 0 - 7
informe/include/hsl2_p3.asm

@@ -1,7 +0,0 @@
-		.modulo:
-			cvttss2si r8d, xmm3		
-			cmp r8d, 2
-			jl .finModulo
-			subss xmm3, xmm11
-			jmp .modulo		; al terminar el ciclo tengo en xmm3 como escalar HH/60 % 2
-

+ 0 - 7
informe/include/hsl2_p3.asm~

@@ -1,7 +0,0 @@
-		.modulo:
-			cvttss2si r8d, xmm3		
-			cmp r8d, 2
-			jl .finModulo
-			subss xmm3, xmm11
-			jmp .modulo			; al terminar el ciclo tengo en xmm3 como escalar HH/60 % 2
-

+ 0 - 5
informe/include/hsl2_p4.asm

@@ -1,5 +0,0 @@
-		mov [rdx+OFFSET_A], bl
-		mov [rdx+OFFSET_B], r11b	
-		mov [rdx+OFFSET_G], r10b	
-		mov [rdx+OFFSET_R], r9b
-

+ 10 - 14
informe/informeTP2.tex

@@ -60,7 +60,7 @@
 
 % Set up the header and footer
 \pagestyle{fancy}
-\lhead{25 - Carmen Sandiego / PC} % Header izquierdo
+\lhead{The Mercy Seat} % Header izquierdo
 \chead{Informe Trabajo Pr\'actico II} % Header centro
 \rhead{\firstxmark Organizaci\'on del Computador II} % Header derecha
 \lfoot{\lastxmark}
@@ -125,15 +125,15 @@
 \begin{document}
 
 \materia{Organizaci\'on del Computador II}
-\submateria{Primer Cuatrimestre de 2015}
+\submateria{Segundo Cuatrimestre de 2015}
 \titulo{Trabajo Pr\'actico II}
 \subtitulo{Informe}
-\grupo{25 - Carmen Sandiego / PC}
+\grupo{The Mercy Seat}
 
 % Puse por orden alfabetico (de nombre), justo queda DFG
+\integrante{Christian Murga}{114/13}{christianmmurga@gmail.com}
 \integrante{David Ventura}{673/13}{davidventura27@gmail.com}
 \integrante{Fabian Alvarez}{674/13}{falvarez.0104@gmail.com}
-\integrante{Gabriel Thibeault}{114/13}{gabriel.eric.thibeault@gmail.com}
 
 \maketitle
 
@@ -163,27 +163,23 @@
 \input{subIntroduccion}
 \newpage
 
-% Blur
+% Desarrollo
 \section{Desarrollo}
-\input{subBlur}
-\newpage
 
-% Merge
-\input{subMerge}
+% Diff
+\input{subDiff}
 \newpage
 
-% HSL
-\input{subHSL}
+% Blur Gaussiano
+\input{subBlur}
 \newpage
 
 % Conclusion
 \input{subResultados}
 \newpage
 
-
 % Conclusion
 \input{subConclusion}
 \newpage
 
-
-\end{document}
+\end{document}

+ 1 - 1
informe/subBlur.tex

@@ -1,4 +1,4 @@
-\subsection{Blur}
+\subsection{Blur Gaussiano}
 \par El filtro Blur consiste en asignarle a cada pixel (excepto a los p\'ixeles del borde, que no se modifican) el promedio del valor (A, R, G y B) de sus vecinos (sus 8 vecinos inmediatos 
 y el mismo pixel). Esto resulta en una imagen m\'as "borrosa" (a lo que se debe el nombre del filtro).
 \subsubsection{Implementaci\'on 1}

File diff suppressed because it is too large
+ 20 - 20
informe/subMerge.tex


File diff suppressed because it is too large
+ 0 - 25
informe/subHSL.tex


File diff suppressed because it is too large
+ 2 - 39
informe/subResultados.tex