[Ffmpeg-devel] trunk liba52 using non compatible assembly with x86_64

Christian Casteyde casteyde.christian
Mon Nov 6 19:48:16 CET 2006


ffmpeg doesn't compile with liba52 enabled on the trunk SVN version,
apparently due to assembly code in resample_mmx.c that is not compatible
on x86_64 arch / GCC 3.4.6 / as 2.16.92 20060416 (from slamd 64 11).

I get the following:
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
cd ffmpeg
./configure --enable-gpl --enable-a52 --enable-static --disable-shared
make

make -C libavutil   all
make[1]: Entering directory `/home/christian/tmp/ffmpeg/libavutil'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/christian/tmp/ffmpeg/libavutil'
make -C libavcodec  all
make[1]: Entering directory `/home/christian/tmp/ffmpeg/libavcodec'
gcc -I/home/christian/tmp/ffmpeg/libswscale   -DHAVE_AV_CONFIG_H 
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE 
-I/home/christian/tmp/ffmpeg -I/home/christian/tmp/ffmpeg 
-I/home/christian/tmp/ffmpeg/libavutil -fomit-frame-pointer -g 
-Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization 
-Wpointer-arith -Wredundant-decls -Winline -O3  -c -o liba52/resample.o 
liba52/resample.c
/tmp/ccAJGD7h.s: Assembler messages:
/tmp/ccAJGD7h.s:1108: Error: `(%rax,%esi,2)' is not a valid base/index 
expression
/tmp/ccAJGD7h.s:1109: Error: `8(%rax,%esi,2)' is not a valid base/index 
expression
/tmp/ccAJGD7h.s:1117: Error: `(%rdx,%edi)' is not a valid base/index 
expression
/tmp/ccAJGD7h.s:1118: Error: `8(%rdx,%edi)' is not a valid base/index 
expression
/tmp/ccAJGD7h.s:1120: Error: `12(%rdx,%edi)' is not a valid base/index 
expression
/tmp/ccAJGD7h.s:1121: Error: `16(%rdx,%edi)' is not a valid base/index 
expression
/tmp/ccAJGD7h.s:1123: Error: `20(%rdx,%edi)' is not a valid base/index 
expression
/tmp/ccAJGD7h.s:1124: Error: `24(%rdx,%edi)' is not a valid base/index 
expression

...

/tmp/ccAJGD7h.s:1580: Error: `8(%rdx,%edi)' is not a valid base/index 
expression
/tmp/ccAJGD7h.s:1581: Error: `16(%rdx,%edi)' is not a valid base/index 
expression
make[1]: *** [liba52/resample.o] Error 1
make[1]: Leaving directory `/home/christian/tmp/ffmpeg/libavcodec'
make: *** [lib] Error 2

ffmpeg-20060610 (the last version I checked) builds cleanly.





More information about the ffmpeg-devel mailing list