[FFmpeg-user] compilation issue (x264 sse2/mmx2)

Matteo Tescione matteo at RMnet.it
Sat Feb 18 23:17:05 CET 2012


Hi All,

I'm having trouble cross compiling ffmpeg (last git) with x264 for Openwrt i486 target. 

If I build x264 (last git) with --disable-asm everything goes fine. 
If I renable asm optimizations I get: (from config.log)

i486-openwrt-linux-uclibc-gcc -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DPIC -O2 -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -I/usr/src/trunk/bin/x86/OpenWrt-SDK-x86-for-Linux-i686-gcc-4.6.2_uClibc-0.9.33/staging_dir/target-i386_uClibc-0.9.33/usr/include -I/usr/src/trunk/bin/x86/OpenWrt-SDK-x86-for-Linux-i686-gcc-4.6.2_uClibc-0.9.33/staging_dir/target-i386_uClibc-0.9.33/include -I/usr/src/trunk/bin/x86/OpenWrt-SDK-x86-for-Linux-i686-gcc-4.6.2_uClibc-0.9.33/staging_dir/toolchain-i386_gcc-4.6.2_uClibc-0.9.33/usr/include -I/usr/src/trunk/bin/x86/OpenWrt-SDK-x86-for-Linux-i686-gcc-4.6.2_uClibc-0.9.33/staging_dir/toolchain-i386_gcc-4.6.2_uClibc-0.9.33/include -fpic -fno-strict-aliasing -std=c99 -fomit-frame-pointer -fPIC -pthread -E -o /tmp/ffconf.TfiqPYxq.o /tmp/ffconf.EiXMx4Ai.c
In file included from /tmp/ffconf.EiXMx4Ai.c:1:0:
/usr/src/trunk/bin/x86/OpenWrt-SDK-x86-for-Linux-i686-gcc-4.6.2_uClibc-0.9.33/staging_dir/target-i386_uClibc-0.9.33/usr/include/x264.h:36:4: warning: #warning You must include stdint.h or inttypes.h before x264.h [-Wcpp]
check_func x264_encoder_encode -lx264
check_ld cc -lx264
check_cc
BEGIN /tmp/ffconf.EiXMx4Ai.c
    1   extern int x264_encoder_encode();
    2   int main(void){ x264_encoder_encode(); }
END /tmp/ffconf.EiXMx4Ai.c
i486-openwrt-linux-uclibc-gcc -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DPIC -O2 -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -I/usr/src/trunk/bin/x86/OpenWrt-SDK-x86-for-Linux-i686-gcc-4.6.2_uClibc-0.9.33/staging_dir/target-i386_uClibc-0.9.33/usr/include -I/usr/src/trunk/bin/x86/OpenWrt-SDK-x86-for-Linux-i686-gcc-4.6.2_uClibc-0.9.33/staging_dir/target-i386_uClibc-0.9.33/include -I/usr/src/trunk/bin/x86/OpenWrt-SDK-x86-for-Linux-i686-gcc-4.6.2_uClibc-0.9.33/staging_dir/toolchain-i386_gcc-4.6.2_uClibc-0.9.33/usr/include -I/usr/src/trunk/bin/x86/OpenWrt-SDK-x86-for-Linux-i686-gcc-4.6.2_uClibc-0.9.33/staging_dir/toolchain-i386_gcc-4.6.2_uClibc-0.9.33/include -fpic -fno-strict-aliasing -std=c99 -fomit-frame-pointer -fPIC -pthread -c -o /tmp/ffconf.TfiqPYxq.o /tmp/ffconf.EiXMx4Ai.c
i486-openwrt-linux-uclibc-gcc -L/usr/src/trunk/bin/x86/OpenWrt-SDK-x86-for-Linux-i686-gcc-4.6.2_uClibc-0.9.33/staging_dir/target-i386_uClibc-0.9.33/usr/lib -L/usr/src/trunk/bin/x86/OpenWrt-SDK-x86-for-Linux-i686-gcc-4.6.2_uClibc-0.9.33/staging_dir/target-i386_uClibc-0.9.33/lib -L/usr/src/trunk/bin/x86/OpenWrt-SDK-x86-for-Linux-i686-gcc-4.6.2_uClibc-0.9.33/staging_dir/toolchain-i386_gcc-4.6.2_uClibc-0.9.33/usr/lib -L/usr/src/trunk/bin/x86/OpenWrt-SDK-x86-for-Linux-i686-gcc-4.6.2_uClibc-0.9.33/staging_dir/toolchain-i386_gcc-4.6.2_uClibc-0.9.33/lib -Wl,--as-needed -o /tmp/ffconf.lAgnQI9K /tmp/ffconf.TfiqPYxq.o -lx264 -lmp3lame -lfaac -lm -pthread -lz
/usr/src/trunk/bin/x86/OpenWrt-SDK-x86-for-Linux-i686-gcc-4.6.2_uClibc-0.9.33/staging_dir/target-i386_uClibc-0.9.33/usr/lib/libx264.so: undefined reference to `x264_pixel_satd_16x8_sse2'
/usr/src/trunk/bin/x86/OpenWrt-SDK-x86-for-Linux-i686-gcc-4.6.2_uClibc-0.9.33/staging_dir/target-i386_uClibc-0.9.33/usr/lib/libx264.so: undefined reference to `x264_pixel_satd_16x16_xop'
/usr/src/trunk/bin/x86/OpenWrt-SDK-x86-for-Linux-i686-gcc-4.6.2_uClibc-0.9.33/staging_dir/target-i386_uClibc-0.9.33/usr/lib/libx264.so: undefined reference to `x264_pixel_sad_x3_16x8_cache64_sse2'
/usr/src/trunk/bin/x86/OpenWrt-SDK-x86-for-Linux-i686-gcc-4.6.2_uClibc-0.9.33/staging_dir/target-i386_uClibc-0.9.33/usr/lib/libx264.so: undefined reference to `x264_pixel_ssd_nv12_core_mmx2'
/usr/src/trunk/bin/x86/OpenWrt-SDK-x86-for-Linux-i686-gcc-4.6.2_uClibc-0.9.33/staging_dir/target-i386_uClibc-0.9.33/usr/lib/libx264.so: undefined reference to `x264_pixel_hadamard_ac_16x8_ssse3'
/usr/src/trunk/bin/x86/OpenWrt-SDK-x86-for-Linux-i686-gcc-4.6.2_uClibc-0.9.33/staging_dir/target-i386_uClibc-0.9.33/usr/lib/libx264.so: undefined reference to `x264_add16x16_idct_dc_mmx2'
/usr/src/trunk/bin/x86/OpenWrt-SDK-x86-for-Linux-i686-gcc-4.6.2_uClibc-0.9.33/staging_dir/target-i386_uClibc-0.9.33/usr/lib/libx264.so: undefined reference to `x264_pixel_sad_x3_8x16_cache64_sse2'
/usr/src/trunk/bin/x86/OpenWrt-SDK-x86-for-Linux-i686-gcc-4.6.2_uClibc-0.9.33/staging_dir/target-i386_uClibc-0.9.33/usr/lib/libx264.so: undefined reference to `x264_pixel_satd_16x8_xop'
/usr/src/trunk/bin/x86/OpenWrt-SDK-x86-for-Linux-i686-gcc-4.6.2_uClibc-0.9.33/staging_dir/target-i386_uClibc-0.9.33/usr/lib/libx264.so: undefined reference to `x264_deblock_v_chroma_intra_avx'
/usr/src/trunk/bin/x86/OpenWrt-SDK-x86-for-Linux-i686-gcc-4.6.2_uClibc-0.9.33/staging_dir/target-i386_uClibc-0.9.33/usr/lib/libx264.so: undefined reference to `x264_decimate_score15_sse2_slowctz'
/usr/src/trunk/bin/x86/OpenWrt-SDK-x86-for-Linux-i686-gcc-4.6.2_uClibc-0.9.33/staging_dir/target-i386_uClibc-0.9.33/usr/lib/libx264.so: undefined reference to `x264_cabac_encode_terminal_asm'

Can anyone suggest me what's wrong? i'd like to use x264 with those optimizations but ffmpeg seems not to recognize those functions.

Thanks in advance,
Best Regards,
--
Matteo Tescione


More information about the ffmpeg-user mailing list