<div>Recently I build libx264 as shared library for ffmpeg . I tryed both avconv and ffmpeg.</div><div><br />Library works only if I disable asm code.</div><div>Maybe x264 need disable only NOP instructions for VIA C3 processors ?</div><div>š</div><div>Here is gdb traces with standard x264 compile options:</div><div>š</div><div>export CFLAGS="-march=c3-2 -O2 -pipe -fomit-frame-pointer"<br />./configure<br /><br /></div><div>gdb /usr/local/bin/avconv<br />GNU gdb (GDB) 7.4-debian<br />Copyright (C) 2012 Free Software Foundation, Inc.<br />License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html><br />This is free software: you are free to change and redistribute it.<br />There is NO WARRANTY, to the extent permitted by law.š Type "show copying"<br />and "show warranty" for details.<br />This GDB was configured as "i486-linux-gnu".<br />For bug reporting instructions, please see:<br /><http://www.gnu.org/software/gdb/bugs/>...<br />Reading symbols from /usr/local/bin/avconv...done.<br />run -i defy.flv -y -v verbose -s 704x384 -vcodec libx264 out.x.flv<br />Starting program: /usr/local/bin/avconv -i defy.flv -y -v verbose -s 704x384 -vcodec libx264 out.x.flv<br />[Thread debugging using libthread_db enabled]<br />Using host libthread_db library "/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1".<br />avconv version 0.8, Copyright (c) 2000-2011 the Libav developers<br />š built on Feb 25 2012 11:48:53 with gcc 4.6.2<br />š configuration: --cpu=c3-2 --disable-amd3dnow --disable-amd3dnowext --disable-mmx2 --disable-hwaccels --disable-vdpau --enable-version3 --enable-libvo-aacenc --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libopenjpeg --enable-libgsm --enable-postproc --enable-libxvid --enable-libfaac --enable-pthreads --enable-libvorbis --enable-libfaac --enable-gpl --enable-x11grab --enable-nonfree --enable-avfilter --enable-librtmp --optflags='-O3 -march=c3-2 -mtune=generic'<br />š libavutilššš 51. 21. 0 / 51. 21. 0<br />š libavcodecšš 53. 34. 0 / 53. 34. 0<br />š libavformatš 53. 20. 0 / 53. 20. 0<br />š libavdeviceš 53.š 2. 0 / 53.š 2. 0<br />š libavfilteršš 2. 15. 0 /š 2. 15. 0<br />š libswscaleššš 2.š 1. 0 /š 2.š 1. 0<br />š libpostprocš 52.š 0. 0 / 52.š 0. 0<br />[flv @ 0x8db4aa0] Estimating duration from bitrate, this may be inaccurate<br />Input #0, flv, from 'defy.flv':<br />š Metadata:<br />ššš starttimešššššš : 0<br />ššš totaldurationšš : 61<br />ššš totaldataratešš : 1170<br />ššš bytelengthššššš : 8913665<br />ššš canseekontimešš : true<br />ššš sourcedataššššš : B4A7DA8ACHH1330089282160433<br />ššš purlššššššššššš :<br />ššš pmsgššššššššššš :<br />š Duration: 00:01:00.96, start: 0.000000, bitrate: 1189 kb/s<br />ššš Stream #0.0: Video: h264 (Main), yuv420p, 854x480 [PAR 1:1 DAR 427:240], 1091 kb/s, 25 tbr, 1k tbn, 50 tbc<br />ššš Stream #0.1: Audio: aac, 44100 Hz, stereo, s16, 97 kb/s<br />[buffer @ 0x8db8b20] w:854 h:480 pixfmt:yuv420p<br />[scale @ 0x8db7360] w:854 h:480 fmt:yuv420p -> w:704 h:384 fmt:yuv420p flags:0x4<br />[libx264 @ 0x8db6ec0] using SAR=427/440<br />[libx264 @ 0x8db6ec0] using cpu capabilities: MMX2<br />[libx264 @ 0x8db6ec0] profile Main, level 3.0<br />[libx264 @ 0x8db6ec0] 264 - core 120 - H.264/MPEG-4 AVC codec - Copyleft 2003-2012 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=0 b_adapt=1 b_bias=0 direct=1 weightb=0 open_gop=1 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.25 aq=1:1.00<br />Output #0, flv, to 'out.x.flv':<br />š Metadata:<br />ššš starttimešššššš : 0<br />ššš totaldurationšš : 61<br />ššš totaldataratešš : 1170<br />ššš bytelengthššššš : 8913665<br />ššš canseekontimešš : true<br />ššš sourcedataššššš : B4A7DA8ACHH1330089282160433<br />ššš purlššššššššššš :<br />ššš pmsgššššššššššš :<br />ššš encoderšššššššš : Lavf53.20.0<br />ššš Stream #0.0: Video: libx264, yuv420p, 704x384 [PAR 427:440 DAR 427:240], q=-1--1, 1k tbn, 25 tbc<br />ššš Stream #0.1: Audio: libmp3lame, 44100 Hz, stereo, s16, 200 kb/s<br />Stream mapping:<br />š Stream #0:0 -> #0:0 (h264 -> libx264)<br />š Stream #0:1 -> #0:1 (aac -> libmp3lame)<br />Press ctrl-c to stop encoding<br />frame=šš 39 fps= 18 q=0.0 size=šššššš 0kB time=1.46 bitrate=šš 0.0kbits/s<br />Program received signal SIGILL, Illegal instruction.<br />0xb7ba406a in x264_pixel_ssd_8x8_mmx () from /usr/local/lib/libx264.so.120<br />(gdb) x/i $pc<br />=> 0xb7ba406a <x264_pixel_ssd_8x8_mmx+26>:ššššš nopwšš 0x0(%eax,%eax,1)<br />(gdb)</div><div><br />or if set disassembly-flavor intel :<br />š0xb7ba406a <x264_pixel_ssd_8x8_mmx+26>:ššššš nopššš WORD PTR [eax+eax*1+0x0]</div>