[MEncoder-users] mcdeint=2 segfault
Christian Ebert
blacktrash at gmx.net
Sun Apr 12 14:25:44 CEST 2009
* R.L. Horn on Sunday, April 12, 2009 at 02:14:59 -0500
> On Sun, 12 Apr 2009, vmrsss wrote:
>> On 10 Apr 2009, at 20:56, Christian Ebert wrote:
>>> 'd love to try it, but:
>>>
>>> cc -Wundef -Wdisabled-optimization -Wno-pointer-sign
>>> -Wdeclaration-after-statement -std=gnu99 -mdynamic-no-pic
>>> -falign-loops=16 -shared-libgcc -D_LARGEFILE_SOURCE
>>> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -I. -I/usr/local/include
>>> -I/sw/include -I/usr/X11/include -I/usr/local/include
>>> -I/sw/include/freetype2 -I/sw/include -I/sw/include
>>> -I/usr/local/include -I/usr/local/include/libdvdread -c -o
>>> liba52/imdct.o liba52/imdct.c
>>> In file included from liba52/imdct.c:725:
>>> liba52/imdct_3dnow.h: In function 'fft_asmb_3dnow':
>>> liba52/imdct_3dnow.h:257: error: can't find a register in class
>>> 'GENERAL_REGS' while reloading 'asm'
>>> make: *** [liba52/imdct.o] Error 1
>>
>> I had the same problem. This is because the CFLAGS set in configure for
>> Darwin have changed recently: adding back "-O4 -fomit-frame-pointer"
>> worked for me.
>
> Looking at this a little harder, it does appear that you definitely need
> an -O option (which one, apart from -O0, doesn't seem to matter).
> Without it, I couldn't get imdct.c to compile with any version of gcc I
> have on hand. I believe they all tend to imply -fomit-frame-pointer, but
> that alone isn't sufficient (or, evidently, even necessary):
>
> $(CC) -I. -O -c -o liba52/imdct.o liba52/imdct.c works
>
> $(CC) -I. -O -fno-omit-frame-pointer -c -o liba52/imdct.o liba52/imdct.c
> works
>
> $(CC) -I. -c -o liba52/imdct.o liba52/imdct.c doesn't work
>
> $(CC) -I. -fomit-frame-pointer -c -o liba52/imdct.o liba52/imdct.c
> doesn't work
Ok. -O4 did not make much sense in Darwin in the first place
(only up to -O3 is in the manual). But adding adding -O3 or -O to
--extra-cflags gives a different error:
cc -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I.. -I.. -Wundef -Wdisabled-optimization -Wno-pointer-sign -Wdeclaration-after-statement -std=gnu99 -mdynamic-no-pic -falign-loops=16 -shared-libgcc -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -I. -O -I/usr/local/include -I/sw/include -I/usr/X11/include -I/usr/local/include -I/sw/include/freetype2 -I/sw/include -I/sw/include -I/usr/local/include -I/usr/local/include/libdvdread -c -o h264.o h264.c
h264.c: In function 'pred_direct_motion':
h264.c:1046: warning: assignment from incompatible pointer type
h264.c:1047: warning: assignment from incompatible pointer type
h264.c: In function 'filter_mb_dir':
h264.c:6283: warning: initialization from incompatible pointer type
h264.c:6284: warning: initialization from incompatible pointer type
cabac.h: In function 'get_cabac_noinline':
cabac.h:527: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
make[1]: *** [h264.o] Error 1
make: *** [libavcodec/libavcodec.a] Error 2
c
--
Was heißt hier Dogma, ich bin Underdogma!
[ What the hell do you mean dogma, I am underdogma. ]
_F R E E_ _V I D E O S_ http://www.blacktrash.org/underdogma/
http://www.blacktrash.org/underdogma/index-en.html
More information about the MEncoder-users
mailing list