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® Code Sight™ - 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