14.07.14 06:42, Dan Dennedy написав(ла):
Maksym, after making this commit, our 32-bit Ubuntu 12.04 build node
started reporting this failure to build:

transition_matte.c: In function 'copy_Y_to_A_scaled_luma_sse':
transition_matte.c:115:2: error: can't find a register in class
'GENERAL_REGS' while reloading 'asm'
transition_matte.c:115:2: error: 'asm' operand has impossible constraints

it seems 32-bit building has not enough registers for input operands.
i attached patch that disable using SSE code on 32-bit systems.

--
________________________________________
Maksym Veremeyenko
>From 1fef4deb4e1ea554b7c7cc99cc9ebacc91f67d5a Mon Sep 17 00:00:00 2001
From: Maksym Veremeyenko <ve...@m1.tv>
Date: Mon, 14 Jul 2014 14:22:16 +0300
Subject: [PATCH] avoid SSE code on 32-bit system

---
 src/modules/core/transition_matte.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/modules/core/transition_matte.c b/src/modules/core/transition_matte.c
index 56035a1..bde7e38 100644
--- a/src/modules/core/transition_matte.c
+++ b/src/modules/core/transition_matte.c
@@ -29,7 +29,7 @@
 
 typedef void ( *copy_luma_fn )(uint8_t* alpha_a, int stride_a, uint8_t* image_b, int stride_b, int width, int height);
 
-#if defined(USE_SSE)
+#if defined(USE_SSE) && defined(ARCH_X86_64)
 static void __attribute__((noinline)) copy_Y_to_A_full_luma_sse(uint8_t* alpha_a, uint8_t* image_b, int cnt)
 {
 	const static unsigned char const4[] =
@@ -78,7 +78,7 @@ static void copy_Y_to_A_full_luma(uint8_t* alpha_a, int stride_a, uint8_t* image
 	for(j = 0; j < height; j++)
 	{
 		i = 0;
-#if defined(USE_SSE)
+#if defined(USE_SSE) && defined(ARCH_X86_64)
 		if(width >= 16)
 		{
 			copy_Y_to_A_full_luma_sse(alpha_a, image_b, width >> 4);
@@ -92,7 +92,7 @@ static void copy_Y_to_A_full_luma(uint8_t* alpha_a, int stride_a, uint8_t* image
 	};
 };
 
-#if defined(USE_SSE)
+#if defined(USE_SSE) && defined(ARCH_X86_64)
 static void __attribute__((noinline)) copy_Y_to_A_scaled_luma_sse(uint8_t* alpha_a, uint8_t* image_b, int cnt)
 {
 	const static unsigned char const1[] =
@@ -188,7 +188,7 @@ static void copy_Y_to_A_scaled_luma(uint8_t* alpha_a, int stride_a, uint8_t* ima
 	for(j = 0; j < height; j++)
 	{
 		i = 0;
-#if defined(USE_SSE)
+#if defined(USE_SSE) && defined(ARCH_X86_64)
 		if(width >= 16)
 		{
 			copy_Y_to_A_scaled_luma_sse(alpha_a, image_b, width >> 4);
-- 
1.7.9.5

------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck&#174;
Code Sight&#153; - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
_______________________________________________
Mlt-devel mailing list
Mlt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlt-devel

Reply via email to