Commit 2ea4419a5796d54da84b7bad926b7566d0ef3014

Ryan C. Gordon 2018-02-17T20:18:48

yuv: patched to compile.

diff --git a/src/video/yuv2rgb/yuv_rgb.c b/src/video/yuv2rgb/yuv_rgb.c
index dab590e..891dae2 100644
--- a/src/video/yuv2rgb/yuv_rgb.c
+++ b/src/video/yuv2rgb/yuv_rgb.c
@@ -622,13 +622,13 @@ void rgb24_yuv420_sse(uint32_t width, uint32_t height,
 	uint32_t xpos, ypos;
 	for(ypos=0; ypos<(height-1); ypos+=2)
 	{
-		const uint8_t *rgb_ptr1=RGB+y*RGB_stride,
-			*rgb_ptr2=RGB+(y+1)*RGB_stride;
+		const uint8_t *rgb_ptr1=RGB+ypos*RGB_stride,
+			*rgb_ptr2=RGB+(ypos+1)*RGB_stride;
 		
-		uint8_t *y_ptr1=Y+y*Y_stride,
-			*y_ptr2=Y+(y+1)*Y_stride,
-			*u_ptr=U+(y/2)*UV_stride,
-			*v_ptr=V+(y/2)*UV_stride;
+		uint8_t *y_ptr1=Y+ypos*Y_stride,
+			*y_ptr2=Y+(ypos+1)*Y_stride,
+			*u_ptr=U+(ypos/2)*UV_stride,
+			*v_ptr=V+(ypos/2)*UV_stride;
 		
 		for(xpos=0; xpos<(width-31); xpos+=32)
 		{
@@ -658,13 +658,13 @@ void rgb24_yuv420_sseu(uint32_t width, uint32_t height,
 	uint32_t xpos, ypos;
 	for(ypos=0; ypos<(height-1); ypos+=2)
 	{
-		const uint8_t *rgb_ptr1=RGB+y*RGB_stride,
-			*rgb_ptr2=RGB+(y+1)*RGB_stride;
+		const uint8_t *rgb_ptr1=RGB+ypos*RGB_stride,
+			*rgb_ptr2=RGB+(ypos+1)*RGB_stride;
 		
-		uint8_t *y_ptr1=Y+y*Y_stride,
-			*y_ptr2=Y+(y+1)*Y_stride,
-			*u_ptr=U+(y/2)*UV_stride,
-			*v_ptr=V+(y/2)*UV_stride;
+		uint8_t *y_ptr1=Y+ypos*Y_stride,
+			*y_ptr2=Y+(ypos+1)*Y_stride,
+			*u_ptr=U+(ypos/2)*UV_stride,
+			*v_ptr=V+(ypos/2)*UV_stride;
 		
 		for(xpos=0; xpos<(width-31); xpos+=32)
 		{
diff --git a/src/video/yuv2rgb/yuv_rgb_sse_func.h b/src/video/yuv2rgb/yuv_rgb_sse_func.h
index 3a8b45f..f81140e 100644
--- a/src/video/yuv2rgb/yuv_rgb_sse_func.h
+++ b/src/video/yuv2rgb/yuv_rgb_sse_func.h
@@ -419,13 +419,13 @@ void SSE_FUNCTION_NAME(uint32_t width, uint32_t height,
 		uint32_t xpos, ypos;
 		for(ypos=0; ypos<(height-(uv_y_sample_interval-1)); ypos+=uv_y_sample_interval)
 		{
-			const uint8_t *y_ptr1=Y+y*Y_stride,
-				*y_ptr2=Y+(y+1)*Y_stride,
-				*u_ptr=U+(y/uv_y_sample_interval)*UV_stride,
-				*v_ptr=V+(y/uv_y_sample_interval)*UV_stride;
+			const uint8_t *y_ptr1=Y+ypos*Y_stride,
+				*y_ptr2=Y+(ypos+1)*Y_stride,
+				*u_ptr=U+(ypos/uv_y_sample_interval)*UV_stride,
+				*v_ptr=V+(ypos/uv_y_sample_interval)*UV_stride;
 			
-			uint8_t *rgb_ptr1=RGB+y*RGB_stride,
-				*rgb_ptr2=RGB+(y+1)*RGB_stride;
+			uint8_t *rgb_ptr1=RGB+ypos*RGB_stride,
+				*rgb_ptr2=RGB+(ypos+1)*RGB_stride;
 			
 			for(xpos=0; xpos<(width-31); xpos+=32)
 			{
@@ -451,11 +451,11 @@ void SSE_FUNCTION_NAME(uint32_t width, uint32_t height,
 		/* Catch the last line, if needed */
 		if (uv_y_sample_interval == 2 && ypos == (height-1))
 		{
-			const uint8_t *y_ptr=Y+y*Y_stride,
-				*u_ptr=U+(y/uv_y_sample_interval)*UV_stride,
-				*v_ptr=V+(y/uv_y_sample_interval)*UV_stride;
+			const uint8_t *y_ptr=Y+ypos*Y_stride,
+				*u_ptr=U+(ypos/uv_y_sample_interval)*UV_stride,
+				*v_ptr=V+(ypos/uv_y_sample_interval)*UV_stride;
 			
-			uint8_t *rgb_ptr=RGB+y*RGB_stride;
+			uint8_t *rgb_ptr=RGB+ypos*RGB_stride;
 
 			STD_FUNCTION_NAME(width, 1, y_ptr, u_ptr, v_ptr, Y_stride, UV_stride, rgb_ptr, RGB_stride, yuv_type);
 		}