jpeg SIMD (MMX) success!

Support and queries relating to all previous versions of ZoneMinder
krietor
Posts: 7
Joined: Sun May 21, 2006 10:33 pm
Location: Astoria, Oregon

These JPEG libs are great.

Post by krietor »

I experienced a DRAMATIC reduction in load - I mean from around 1.0 to down to about 0.25 ! All I did was the following and then restarted ZM from the console.

Code: Select all

wget http://cetus.sakura.ne.jp/softlab/jpeg-x86simd/sources/jpegsrc-6b-x86simd-1.02.tar.gz
tar xzvf jpegsrc-6b-x86simd-1.02.tar.gz
wget http://internap.dl.sourceforge.net/sourceforge/nasm/nasm-2.02.tar.gz
tar -xvf nasm-2.02.tar.gz
cd nasm-2.02
Install some developer libraries and then compile:

Code: Select all

 sudo apt-get install libc6-dev g++ gcc
./configure
make
sudo make install
cd ../jpeg-6bx/
./configure --enable-shared
make
sudo make install
ldconfig
akmoller
Posts: 3
Joined: Tue Jan 20, 2009 10:27 am

Post by akmoller »

Worked for me too, just halved my processor load.

I followed all the steps for the install but the cpu load didn't decrease, which led me to believe that the libs weren't installed. I looked again on the webpage with the source and there is a exec patch for the library - seems there were some modifications in january. Only after i applied the patch it worked like it should. Hope it helps someone.
CX23882-19
Posts: 15
Joined: Sun Jul 08, 2007 7:57 am

Post by CX23882-19 »

Could somebody please explain in simple terms (to a Linux newbie) how to replace these JPEG libraries on a ZMLiveCD 1.22 hard disk installation?

At this point, I've got a folder at /home/guest/jpeg-6bx/.libs/ that contains the following files:
cjpeg
djpeg
jpegtran
libjpeg.la
libjpeg.lai
libjpeg.so
libjpeg.so.62
libjpeg.so.62.1.0

I don't know what to do with them. Do they go under /lib/ or /usr/lib/? Do they all go there or just some of them? What's the best way to put them there (konsole?)?

In some ways I wish that there was a version of ZoneMinder for Windows, as I could do stuff like this in a matter of minutes, but I keep telling myself that I will learn how to use Linux, eventually, and the system has been running 24/7 for over a year and a half without crashing once.

It's an ancient Pentium III 650MHz (with 768MB RAM), so I'd like to squeeze every bit of juice out of that processor, even though it appears to run just fine.

I'm tempted to move to a Ubuntu 8.04 based system but don't know if it's worth mucking about with it when it's working. Mandriva 2007.0 is starting to become a pain in the arse with dependencies.
lorsungcu
Posts: 23
Joined: Mon Jun 23, 2008 3:56 pm

Post by lorsungcu »

we use ubuntu server with no issues, 12 cameras at 10-15fps. dont install any gui, if youre interested in saving cycles. The posts earlier in the thread lay out exactly how to do this; just read them and apply them to your distro. it's spelled out really clearly - just be patient and remember it's just a matter of pressing the right buttons in the right order.
SyRenity
Posts: 301
Joined: Mon Jan 24, 2005 2:43 pm

Post by SyRenity »

Hi.

Any idea if the x64 libraries will ever come out?

Regards.
skydreamer
Posts: 17
Joined: Thu Apr 09, 2009 1:02 am

Post by skydreamer »

Worked for me too, the load on Q6700 2.66GHz went down from 1.0 to 0.33 (1.0 is 25% load on quad core). I needed the patch as per the above post on FC8:
akmoller wrote:......on the webpage with the source and there is a exec patch for the library - seems there were some modifications in january. Only after i applied the patch it worked like it should. Hope it helps someone.
Thanks!
rony000
Posts: 3
Joined: Wed Apr 15, 2009 5:20 pm
Location: dhaka

Post subject: jpeg SIMD (MMX) su

Post by rony000 »

I don't know what to do with them. Do they go under /lib/ or /usr/lib/? Do they all go there or just some of them? What's the best way to put them there (konsole?)?

In some ways I wish that there was a version of ZoneMinder for Windows, as I could do stuff like this in a matter of minutes, but I keep telling myself that I will learn how to use Linux, eventually, and the system has been running 24/7 for over a year and a half without crashing on :roll:
rony
robfantini
Posts: 7
Joined: Wed Nov 19, 2008 10:07 pm

Ubuntu hardy install notes

Post by robfantini »

dbosso: thank you for the tips..
this might be posted elsewhere , but this is how we installed .

Code: Select all

aptitude install nasm

cd /usr/src

wget http://cetus.sakura.ne.jp/softlab/jpeg-x86simd/sources/jpegsrc-6b-x86simd-1.02.tar.gz

tar xzvf jpegsrc-6b-x86simd-1.02.tar.gz

cd jpeg-6bx

./configure enable-shared

make
make install
ldconfig
then restart zm

Code: Select all

/etc/init.d/zoneminder restart
johnnytolengo
Posts: 184
Joined: Tue Oct 14, 2008 5:59 pm

64bit

Post by johnnytolengo »

Does it work under 64 bit OS?

J.
User avatar
kingofkya
Posts: 1110
Joined: Mon Mar 26, 2007 6:07 am
Location: Las Vegas, Nevada

Post by kingofkya »

no 64 bit support last I checked
trendkill
Posts: 35
Joined: Sat Mar 10, 2007 1:48 pm

Re: 64bit

Post by trendkill »

No, and it dosen't work under i686 too :(

configure: error: This version of JPEG library is for i386 or compatible processors only.

root@dxn-dvr:~/jpeg-6bx# uname -a
Linux dxn-dvr 2.6.31-14-generic-pae #48-Ubuntu SMP Fri Oct 16 15:22:42 UTC 2009 i686 GNU/Linux

johnnytolengo wrote:Does it work under 64 bit OS?

J.
jfkastner
Posts: 74
Joined: Wed Jun 17, 2009 11:52 pm

Post by jfkastner »

"... is for i386 or compatible processors only"

strange - the 386, 486 and early pentiums did NOT have MMX or SIMD like SSE etc

would be great to have such a lib working ... any ideas?
coke
Posts: 518
Joined: Wed Jan 30, 2008 5:53 pm
Location: St. Louis, MO, USA

Post by coke »

So, somewhere in the upgrade from Ubuntu 8.0.4 and Zoneminder 1.24.1 to U-9.10 and ZM 1.24.2, something whined at me about wanting libjpeg version 7, so I went ahead and used it. My system load was horrible, so I dropped the venerable old SIMD files on top of them, and now I'm back to a usable machine.

So apparently they still work. Though you'd think someone could have threaded it and made improvements by now, but I'm not complaining, 2006's apparently still a good vintage for libjpeg mmx.
aklettke
Posts: 4
Joined: Fri Jan 29, 2010 12:02 am

SUCCESS!

Post by aklettke »

I know this is old, but...

There is now a 64-bit (and optimized 32-bit) versions of libjpeg/SIMD, brought to you by the TigerVNC team. We have personally tested this with a Debian server running Zoneminder for 24 cameras, and our CPU usage on the box has dropped from ~80% to ~40%, a HUGE difference. We were looking at a beefier server to handle the addition of more cameras, now there is no need.

For more information, see here: http://www.virtualgl.org/DeveloperInfo/Libjpeg

I was able to get this from DRC (drcommander-at-users-dot-sourceforge-dot-net), a developer with TigerVNC. He offers consulting services for libjpeg/SIMD at $60/hour.
Last edited by aklettke on Fri Jan 29, 2010 10:41 pm, edited 1 time in total.
User avatar
knight-of-ni
Posts: 2404
Joined: Thu Oct 18, 2007 1:55 pm
Location: Shiloh, IL

Post by knight-of-ni »

Hey, great work!
Here are my results for 64bit CentOS 5.4.

The version of nasm found in the CentOS repositories is 0.98. According to the website mentioned, I need nasm-2.05.

Finding an rpm for nasm-2.05 was easy, but unfortunately nasm-2.05 requires glibc-2.7.

Because glibc is a core component, I'm choosing to stop at this point unless someone can offer a way around this requirement.

I'm sure this problem does not exist for distributions that use newer components so don't let this post discourage you if you are running some other linux distro.
Locked