Compiling ffmpeg with mmx useflag gives following error. Disabling mmx useflag fixes this. i686-gentoo-freebsd6.1-gcc -Wall -Wno-switch -march=athlon-xp -pipe -O2 -fomit-frame-pointer -fomit-frame-pointer -pthread -DHAVE_AV_CONFIG_H -I.. -I/var/tmp/portage/ffmpeg-0.4.9_p20060530/work/ffmpeg-0.4.9-p20060530-shared/libavutil -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -fPIC -DPIC -c -o i386/idct_mmx_xvid.o i386/idct_mmx_xvid.c i386/snowdsp_mmx.c: In function `ff_snow_vertical_compose97i_sse2': i386/snowdsp_mmx.c:461: error: PIC register `%ebx' clobbered in `asm' i386/snowdsp_mmx.c: In function `ff_snow_vertical_compose97i_mmx': i386/snowdsp_mmx.c:568: error: PIC register `%ebx' clobbered in `asm' i386/snowdsp_mmx.c: In function `inner_add_yblock_bw_8_obmc_16_mmx': i386/snowdsp_mmx.c:869: error: PIC register `%ebx' clobbered in `asm' gmake[1]: *** [i386/snowdsp_mmx.o] Error 1 gmake[1]: Leaving directory `/var/tmp/portage/ffmpeg-0.4.9_p20060530/work/ffmpeg-0.4.9-p20060530-shared/libavcodec' gmake: *** [lib] Error 2
i get the same error with via-c3 and asm inline, it seems ebx cannot be dynamicaly assigned. This error appears in "shared" mode only. Moreover, I do not understand why sse2 functions are activated by mmx flag. In the other hand you can disable support for SNOW encoder with --disable-encoder=snow but some errors remain.
I get the same error to with Linux, this doesn't seem to be a BSD issue
*** This bug has been marked as a duplicate of 142380 ***