Page 1 of 2
Intel Atom D525 NAS enable SSSE3 ?

Posted:
Thu Aug 02, 2012 6:38 pm
by NX3
I've got a self build NAS that appears to be similar spec to Synology as some models use the Intel Atom D525 now days it seems. Anyway I'm compiling ffmpeg sources and trying to get the best performance out of this CPU.
I'm using Platters guide as below as my guide as as the generic guides on Ubuntu forums are too generic.
http://pcloadletter.co.uk/2011/12/30/co ... h-librtmp/Serviio
Wiki is pretty usefull too;
http://wiki.serviio.org/doku.php?id=build_ffmpeg_linuxUsing the code below compiles but SSSE3 isn't enabled though the command seems to be correct. I'm running Ubuntu 11.10 32 bit desktop edition, I know I could run 64bit but I've not got around to a clean build yet!
- Code:
./configure --enable-ssse3 --target-os=linux --prefix=/usr/local/x86-linux-gnu --extra-cflags='-I/usr/local/x86-linux-
gnu/include' --extra-ldflags='-L/tmp/lib' --enable-static --extra-version=Serviio --enable-static --disable-shared --
bindir=/tmp/ffmpeg --disable-ffplay --disable-ffserver --enable-pthreads --disable-mmx --enable-gpl --enable-libfaac --
enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx
--enable-libx264 --enable-nonfree --enable-version3 --enable-librtmp --pkg-config=pkg-config
This works but if you spot any other mistakes please let me know as I'm still getting to grips with this, thanks.
Re: Intel Atom D525 NAS enable SSSE3 ?

Posted:
Thu Aug 02, 2012 7:33 pm
by will
I would be intered in this as I have a similar setup.
When you run configure, it should spit out lots of info as it goes, have you checked that/paste it here. There is also a config.log you can check that, although it will be quite big, look for the point where it tries to enable SSSE3.
Re: Intel Atom D525 NAS enable SSSE3 ?

Posted:
Sun Aug 05, 2012 8:08 pm
by NX3
Thanks for the reply.
I've check /proc/cpuinfo and D525 I have definetly supports SSSE3, just to be sure

From my command for 'make' it comes up SSSE3 = NO, in the long list of whats been enabled and its the only thing that looks wrong to me. I've check config.log and I see references to SSSE3 but no errors or anything that indicates why its not enabled it.
From ffmpeg logs "The Atom has SSSE3 support, which is useful in many cases, but sometimes the SSSE3 version is slower than the SSE2 equivalent on the Atom, but is generally faster on other processors supporting SSSE3. This flag allows for selectively disabling certain SSSE3 functions on the Atom."
Question for Platters perhaps as he was using the flag for atom NAS builds.
Re: Intel Atom D525 NAS enable SSSE3 ?

Posted:
Tue Aug 07, 2012 6:33 pm
by patters
Hi - I didn't know how to check whether it really is being enabled or not. At the time I first cross compiled it I didn't even have an Intel Synology to try it on. How do you tell?
Re: Intel Atom D525 NAS enable SSSE3 ?

Posted:
Wed Aug 08, 2012 5:51 pm
by NX3
When you enter the ./configure it lists the features it will and won't use. So even though ssse3 is enabled and accepted it gets turned off. I've tried sse as well, no joy and a bit stuck now.
- Code:
~/Downloads/ffmpeg/ffmpeg$ ./configure --enable-gpl --enable-ssse3 --target-os=linux --extra-ldflags='-L/tmp/lib' --enable-static --extra-version=Serviio --enable-static --disable-shared --bindir=/tmp/ffmpeg --disable-ffplay --disable-ffserver --enable-pthreads --disable-mmx --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree --enable-postproc --enable-version3 --enable-libvpx --enable-librtmp --enable-libxvid --pkg-config=pkg-config
install prefix /usr/local
source path .
C compiler gcc
ARCH x86 (generic)
version string suffix Serviio
big-endian no
runtime cpu detection no
yasm no
MMX enabled no
MMX2 enabled no
3DNow! enabled no
3DNow! extended enabled no
SSE enabled no
SSSE3 enabled no
AVX enabled no
CMOV enabled no
CMOV is fast no
EBX available yes
EBP available yes
debug symbols yes
strip symbols yes
optimize for size no
optimizations yes
static yes
shared no
postprocessing support yes
new filter support yes
network support yes
Re: Intel Atom D525 NAS enable SSSE3 ?

Posted:
Wed Aug 08, 2012 8:46 pm
by NX3
If you do "--enable-ssse3" without any disable e.g MMX command it enables all features, MMX, MMX2, 3dNow, 3dnow plus, SSE, SSSE3 which is interesting as the atom doesn't have 3dnow stuff at all. However with any disable combination then all off them get disabled even if specifically requested. It doesn't seem to matter what order you do things in either.... I'm compiling now with everything on, I'll see how that performs !
Re: Intel Atom D525 NAS enable SSSE3 ?

Posted:
Tue Aug 14, 2012 12:18 pm
by patters
Are you natively compiling? I cross-compiled mine on a Ubuntu system in a VM on my MacBook Air (Core i5 CPU). I'll have a look more closely at the ./configure output when I get home.
Re: Intel Atom D525 NAS enable SSSE3 ?

Posted:
Tue Aug 14, 2012 4:37 pm
by NX3
I'm natively compiling. The version of ffmpeg I compliled with everything on basically worked but performance dropped on and it wasn't great. I suspect from what I've read on ffmpeg mailing listings it was trying to call fuctions not supported. I'm recompiling now just back to a simple version to double check performance is back as was (over gigaether).
Re: Intel Atom D525 NAS enable SSSE3 ?

Posted:
Sat Aug 18, 2012 11:44 am
by patters
Just had a look. On my compile SSSE3 is definitely enabled. Are you installing or compiling yasm first (the assembler)? Maybe it doesn't optimize for these instructions without it. Looks like you may also be compiling 32bit too.
- Code:
patters@ubuntu12:~/Downloads/ffmpeg$ ./configure --arch=x86_64 --enable-ssse3 --cross-prefix=x86_64-linux-gnu- --target-os=linux --prefix=/usr/local/x86_64-linux-gnu --extra-cflags='-I/usr/local/x86_64-linux-gnu/include' --extra-ldflags='-L/tmp/lib' --enable-static --disable-shared --disable-ffplay --disable-ffserver --enable-pthreads --enable-libmp3lame --enable-librtmp --pkg-config=pkg-config --extra-version=Serviio
install prefix /usr/local/x86_64-linux-gnu
source path .
C compiler x86_64-linux-gnu-gcc
ARCH x86 (generic)
version string suffix Serviio
big-endian no
runtime cpu detection no
yasm yes
MMX enabled yes
MMX2 enabled yes
3DNow! enabled yes
3DNow! extended enabled yes
SSE enabled yes
SSSE3 enabled yes
AVX enabled yes
CMOV enabled yes
CMOV is fast yes
EBX available yes
EBP available yes
debug symbols yes
strip symbols yes
optimize for size no
optimizations yes
static yes
shared no
...
Re: Intel Atom D525 NAS enable SSSE3 ?

Posted:
Thu Aug 23, 2012 10:33 am
by NX3
I figured eventually that my build of Ubuntu after a couple of in place upgrades had left it in a bit of a mess.
I've done a clean install, moved to 64 bit (I couldn't install originally due to a bug in the Intel mobo bios which they have now fixed). Everything is working fine, SSSE3 is enabled, thanks

Re: Intel Atom D525 NAS enable SSSE3 ?

Posted:
Thu Aug 23, 2012 11:16 am
by will
Any noticable improvement?
Re: Intel Atom D525 NAS enable SSSE3 ?

Posted:
Thu Aug 23, 2012 8:40 pm
by NX3
Very good question and something thats pretty hard to measure. I've now got a clean build ubuntu 12.04 64bit, latest ffmpeg etc....and SSSE3 enabled... something in that mix has had FF / RW better imo. 32 to 64, doubt that helps with that much, ffmpeg was fairly new anyway, I've not changed the partition setup at all so the HDD isn't faster etc.... if I'm just remuxing a mkv then it dumps out an hour in a couple of mins, if going to mpeg2 its working hard .. seriously, I can't really tell. Its marginal on a D525 cpu atom setup imo but it all helps I'm sure.
If you can think of a good way to test let me know !
Re: Intel Atom D525 NAS enable SSSE3 ?

Posted:
Fri Aug 24, 2012 11:30 pm
by patters
You could enable the
detailed logging and play a relatively short test clip that will be transcoded to MPEG2. Get that FFmpeg command line from the log and run it manually, timing the result with both of your builds of FFmpeg.
Re: Intel Atom D525 NAS enable SSSE3 ?

Posted:
Sat Aug 25, 2012 8:35 am
by will
FFmpeg should output an average fps as it goes / at the end as well.
Re: Intel Atom D525 NAS enable SSSE3 ?

Posted:
Sat Aug 25, 2012 10:33 am
by NX3
With SSSE3 enabled :
frame= 3627
fps= 13 q=2.0 Lsize= 262428kB time=00:02:25.04 bitrate=14822.2kbits/s
video:235668kB audio:6807kB subtitle:0 global headers:0kB muxing overhead 8.228767%
Interestingly the clip didn't used to get transcoded to mpeg2 on Serviio 0.62, it is a lv 5.1 x264 encode but it played fine on a Sony 2011 set.
SSSE3 etc all disabled (as I was originally running)
frame= 3627
fps=5.4 q=2.0 Lsize= 262438kB time=00:02:25.04 bitrate=14822.7kbits/s
video:235674kB audio:6807kB subtitle:0 global headers:0kB muxing overhead 8.230268%
The frame rate is much lower 13 v 5.4. Both stuttering very badly on playback but its almost watchable with SSSE3 enabled.
The full details of the file I used for testing are:
- Code:
General
Unique ID : 247448540047357510709008407138742213612 (0xBA28DAF4C20D95DFA4E7049EBE029BEC)
Complete name : FILE.mkv
Format : Matroska
Format version : Version 1
File size : 73.2 MiB
Duration : 2mn 25s
Overall bit rate mode : Variable
Overall bit rate : 4 230 Kbps
Encoded date : UTC 2006-09-19 04:53:13
Writing application : mkvmerge v1.7.0 ('What Do You Take Me For') built on Apr 28 2006 17:20:19
Writing library : libebml v0.7.7 + libmatroska v0.8.0
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L5.1
Format settings, CABAC : Yes
Format settings, ReFrames : 9 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 2mn 25s
Bit rate : 4 096 Kbps
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate : 25.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.178
Stream size : 69.0 MiB (94%)
Title : Video Track
Writing library : x264 core 50 svn-564
Encoding settings : cabac=1 / ref=6 / deblock=1:-2:-2 / analyse=0x3:0x133 / me=hex / subme=7 / brdo=1 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / chroma_qp_offset=0 / slices=1 / nr=0 / decimate=1 / bframes=3 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=3 / wpredb=1 / bime=1 / keyint=250 / keyint_min=25 / scenecut=40 / rc=2pass / bitrate=4096 / ratetol=1.0 / rceq='blurCplx^(1-qComp)' / qcomp=0.60 / qpmin=0 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30
Default : Yes
Forced : No
Audio
ID : 2
Format : Vorbis
Format settings, Floor : 1
Codec ID : A_VORBIS
Duration : 2mn 25s
Bit rate mode : Variable
Bit rate : 160 Kbps
Channel(s) : 2 channels
Sampling rate : 48.0 KHz
Compression mode : Lossy
Stream size : 2.77 MiB (4%)
Title : Audio Track
Writing library : Lancer r1 (UTC 2006-09-03)
Default : Yes
Forced : No
Re: Intel Atom D525 NAS enable SSSE3 ?

Posted:
Sat Aug 25, 2012 11:17 am
by will
Tried converting a 720p pixar short film from mpeg2video. SSSE3 took 2m8.450s and without took 2m9.596s so no noticable difference.
Re: Intel Atom D525 NAS enable SSSE3 ?

Posted:
Sat Aug 25, 2012 12:02 pm
by NX3
What CPU have you got ? I'm on a self built itx box with intel atom D525 (dual core 1.8ghz) but its very weak compared to any desktop cpu even single core.
I tested on another film and got 11fps (off) v 34 fps (on) !
Re: Intel Atom D525 NAS enable SSSE3 ?

Posted:
Sat Aug 25, 2012 12:44 pm
by will
The same CPU, hense the interest. Maybe it was the parameters i used. I've enabled it on my main build, so I'll see if I can notice a difference with different videos.
Re: Intel Atom D525 NAS enable SSSE3 ?

Posted:
Sat Aug 25, 2012 3:52 pm
by NX3
I just followed this guide , copied exactly;
http://wiki.serviio.org/doku.php?id=build_ffmpeg_linuxThis is the spec of the 2nd file I converted, lv 5.1 again
- Code:
General
Unique ID : 208890228884502062489206046224010326314 (0x9D26CB70CB609229AD3D67B97436312A)
Complete name : filename.mkv
Format : Matroska
Format version : Version 1
File size : 4.37 GiB
Duration : 1h 59mn
Overall bit rate : 5 235 Kbps
Encoded date : UTC 2007-08-27 11:07:12
Writing application : mkvmerge v2.0.2 ('You're My Flame') built on Feb 21 2007 23:40:55
Writing library : libebml v0.7.7 + libmatroska v0.8.1
Video
ID : 3
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L5.1
Format settings, CABAC : Yes
Format settings, ReFrames : 8 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 1h 59mn
Bit rate : 4 848 Kbps
Width : 1 280 pixels
Height : 544 pixels
Display aspect ratio : 2.35:1
Frame rate : 25.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.278
Stream size : 3.96 GiB (91%)
Writing library : x264 core 56 svn-667C
Encoding settings : cabac=1 / ref=5 / deblock=1:-4:-4 / analyse=0x3:0x133 / me=umh / subme=6 / brdo=1 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=2 / deadzone=4,6 / chroma_qp_offset=0 / threads=3 / nr=0 / decimate=1 / mbaff=0 / bframes=3 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=3 / wpredb=1 / bime=1 / keyint=250 / keyint_min=25 / scenecut=40(pre) / rc=2pass / bitrate=4848 / ratetol=1.0 / rceq='blurCplx^(1-qComp)' / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30 / zones=173169,179370,b=0.15 / aq=1:0.3:15.0
Language : English
Default : Yes
Forced : No
Audio
ID : 2
Format : AC-3
Format/Info : Audio Coding 3
Mode extension : CM (complete main)
Format settings, Endianness : Big
Codec ID : A_AC3
Duration : 1h 59mn
Bit rate mode : Constant
Bit rate : 384 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Compression mode : Lossy
Stream size : 328 MiB (7%)
Language : English
Default : Yes
Forced : No
Re: Intel Atom D525 NAS enable SSSE3 ?

Posted:
Sat Sep 01, 2012 3:53 pm
by will
Just watched a 1 hour 2.5GB video that was stuttering natively so set it to transcode to mpeg2video and it was able to (just) keep up with transcoding 720p content, something that it couldn't do 6 months ago when I last tried, so does seem to make a difference, even if it isn't huge, it's enough to bring it up a notch and support 720p transcoding.