[FFmpeg-cvslog] r30965 - in trunk/libswscale: rgb2rgb.c rgb2rgb_template.c swscale.c swscale_template.c utils.c

Reimar Döffinger Reimar.Doeffinger
Mon Mar 29 20:10:46 CEST 2010


On Mon, Mar 29, 2010 at 01:49:27PM -0400, Alexander Strange wrote:
> 
> On Mar 29, 2010, at 1:43 PM, Reimar D?ffinger wrote:
> 
> > On Mon, Mar 29, 2010 at 01:07:30PM -0400, Ronald S. Bultje wrote:
> >> Hi,
> >> 
> >> On Sat, Mar 27, 2010 at 7:31 AM, diego <subversion at mplayerhq.hu> wrote:
> >>> libswscale: Relicense almost all x86 assembler optimizations as LGPL.
> >> [..]
> >>>   trunk/libswscale/rgb2rgb_template.c
> >> 
> >> You broke my build. ;-).
> >> 
> >> gcc -I. -I"/Users/ronaldbultje/Projects/ffmpeg-svn" -D_ISOC99_SOURCE
> >> -D_POSIX_C_SOURCE=200112 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> >> -DPIC -DHAVE_AV_CONFIG_H -I/opt/local/include -I/opt/gtk/include
> >> -I/opt/medium/include   -std=c99 -fomit-frame-pointer -fPIC -g
> >> -Wdeclaration-after-statement -Wall -Wno-switch
> >> -Wdisabled-optimization -Wpointer-arith -Wredundant-decls
> >> -Wno-pointer-sign -Wcast-qual -Wwrite-strings -Wundef
> >> -Wmissing-prototypes -O3 -fno-math-errno -fno-tree-vectorize
> >> -Werror=implicit -Werror=missing-prototypes        -MMD -MF
> >> libswscale/rgb2rgb.d -MT libswscale/rgb2rgb.o -c -o
> >> libswscale/rgb2rgb.o libswscale/rgb2rgb.c
> >> libswscale/rgb2rgb_template.c: In function ?rgb32tobgr24_MMX?:
> >> libswscale/rgb2rgb_template.c:138: error: can't find a register in
> >> class ?GENERAL_REGS? while reloading ?asm?
> >> libswscale/rgb2rgb_template.c:138: error: ?asm? operand has impossible
> >> constraints
> > 
> > Quickest way to fix:
> > get rid of all the
> > "m"(mask24l),"m"(mask24h),"m"(mask24hh),"m"(mask24hhh),"m"(mask24hhhh)
> > constraints and use the variables directly in the asm via MANGLE()
> 
> Applying http://permalink.gmane.org/gmane.comp.video.ffmpeg.cvs/26135 will fix it (without --enable-shared) without any code changes.
> I'll do it later today, or now if you can check that it doesn't break hardened gentoo.

Using the same compiler version it should fail on all PIC targets...
FATE says all BSDs are broken, that might be the same thing.
Attached is a patch that also gets rid of the code duplication,
but it is untested and not even carefully checked...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rgbasm.diff
Type: text/x-diff
Size: 7585 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/attachments/20100329/6b7a88a9/attachment-0001.diff>



More information about the ffmpeg-cvslog mailing list