Sunday, October 9, 2011

OptiPNG ARM for Zyxel (ARM926EJ-S)

OptiPNG for optimizing PNG files directly on Your Zyxel NAS!

NEW: Now in installation package! Installs with funpkg command!

Now you can optimize Your PNG files directly on Your Zyxel NSA-210 or 220 Plus (other file
server basing on ARM CPU should be supported). This version is especially optimised for ARM926EJ-S that Zyxel NSA-220 Plus contains. This time I didn't test speed difference with previous non-optimised version but it should be 10% faster as LAME was ;)

Here is some data generated by compiled program. As you can see it's working perfectly:

root@seagate3tb:/i-data/2ee15731/Anime/Lupin III/Scans# optipng -zc1-9 -zm9 -zs0
-3 f0-5 -v "Lupin III - Greates Capers - VHS front.png"
OptiPNG 0.6.5: Advanced PNG optimizer.
Copyright (C) 2001-2011 Cosmin Truta.

This program is open-source software. See LICENSE for more details.

Portions of this software are based in part on the work of:
Jean-loup Gailly and Mark Adler (zlib)
Glenn Randers-Pehrson and the PNG Development Group (libpng)
Miyasaka Masaru (BMP support)
David Koblas (GIF support)

Using libpng version 1.4.5-optipng and zlib version 1.2.5-optipng

** Processing: f0-5
Error: Can't open the input file

** Processing: Lupin III - Greates Capers - VHS front.png
1214x2233 pixels, 3x8 bits/pixel, RGB
Input IDAT size = 4546256 bytes
Input file size = 4546394 bytes

Trying:
zc = 9 zm = 9 zs = 0 f = 0 IDAT too big
zc = 8 zm = 9 zs = 0 f = 0 IDAT too big
zc = 7 zm = 9 zs = 0 f = 0 IDAT too big
zc = 6 zm = 9 zs = 0 f = 0 IDAT too big
zc = 5 zm = 9 zs = 0 f = 0 IDAT too big
zc = 4 zm = 9 zs = 0 f = 0 IDAT too big
zc = 3 zm = 9 zs = 0 f = 0 IDAT too big
zc = 2 zm = 9 zs = 0 f = 0 IDAT too big
zc = 1 zm = 9 zs = 0 f = 0 IDAT too big
zc = 9 zm = 9 zs = 1 f = 0 IDAT too big
zc = 8 zm = 9 zs = 1 f = 0 IDAT too big
zc = 7 zm = 9 zs = 1 f = 0 IDAT too big
zc = 6 zm = 9 zs = 1 f = 0 IDAT too big
zc = 5 zm = 9 zs = 1 f = 0 IDAT too big
zc = 4 zm = 9 zs = 1 f = 0 IDAT too big
zc = 3 zm = 9 zs = 1 f = 0 IDAT too big
zc = 2 zm = 9 zs = 1 f = 0 IDAT too big
zc = 1 zm = 9 zs = 1 f = 0 IDAT too big
zc = 1 zm = 9 zs = 2 f = 0 IDAT too big
zc = 9 zm = 9 zs = 3 f = 0 IDAT too big
zc = 9 zm = 9 zs = 0 f = 5 IDAT size = 4499076
zc = 8 zm = 9 zs = 0 f = 5 IDAT size = 4499076
zc = 7 zm = 9 zs = 0 f = 5 IDAT too big
zc = 6 zm = 9 zs = 0 f = 5 IDAT too big
zc = 5 zm = 9 zs = 0 f = 5 IDAT too big
zc = 4 zm = 9 zs = 0 f = 5 IDAT too big
zc = 3 zm = 9 zs = 0 f = 5 IDAT too big
zc = 2 zm = 9 zs = 0 f = 5 IDAT too big
zc = 1 zm = 9 zs = 0 f = 5 IDAT too big
zc = 9 zm = 9 zs = 1 f = 5 IDAT size = 4125865
zc = 8 zm = 9 zs = 1 f = 5 IDAT size = 4125863
zc = 7 zm = 9 zs = 1 f = 5 IDAT too big
zc = 6 zm = 9 zs = 1 f = 5 IDAT too big
zc = 5 zm = 9 zs = 1 f = 5 IDAT size = 4114417
zc = 4 zm = 9 zs = 1 f = 5 IDAT size = 4100526
zc = 3 zm = 9 zs = 1 f = 5 IDAT too big
zc = 2 zm = 9 zs = 1 f = 5 IDAT too big
zc = 1 zm = 9 zs = 1 f = 5 IDAT too big
zc = 1 zm = 9 zs = 2 f = 5 IDAT size = 4061378
zc = 9 zm = 9 zs = 3 f = 5 IDAT too big

Selecting parameters:
zc = 1 zm = 9 zs = 2 f = 5 IDAT size = 4061378

Output IDAT size = 4061378 bytes (484878 bytes decrease)
Output file size = 4061516 bytes (484878 bytes = 10.66% decrease)

** Status report
2 file(s) have been processed.
1 error(s) have been encountered.

Download Here!

* copy it to /home directory, login with putty, cd to it and run command: funpkg -i optipng-0.6.5-1.tgz
* then you can run it by simply typing optipng in any directory or read manual by typing man optipng

Tuesday, October 4, 2011

Lame MP3 ARM for Zyxel (ARM926EJ-S)

Lame less lame on ARM?

Yes, it is! There in a new compilation of Lame I did a long time ago for Zyxel NAS. This one is especially optimised for ARM cpu that is inside this NAS file server. It's still painful slow but it also is 10% faster than previous version. Here are short results of compressing 600 frames:


root@seagate3tb:/home# ./lame.2 lazy.mp3 lazy.2.mp3
ID3v2 found. Be aware that the ID3 tag is currently lost when transcoding.
LAME 3.98.4 32bits (http://www.mp3dev.org/)
Using polyphase lowpass filter, transition band: 16538 Hz - 17071 Hz
Encoding lazy.mp3 to lazy.2.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III (11x) 128 kbps qval=3
Frame | CPU time/estim | REAL time/estim | play/CPU | ETA
600/11621 ( 5%)| 2:15/ 43:35| 2:22/ 46:02| 0.1161x| 43:39
----04:47--------------------------------------------------------------------
kbps LR MS % long switch short %
128.0 0.5 99.5 94.3 3.3 2.4



root@seagate3tb:/home# ./lame.1 lazy.mp3 lazy.1.mp3
ID3v2 found. Be aware that the ID3 tag is currently lost when transcoding.
LAME 3.98.4 32bits (http://www.mp3dev.org/)
Using polyphase lowpass filter, transition band: 16538 Hz - 17071 Hz
Encoding lazy.mp3 to lazy.1.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III (11x) 128 kbps qval=3
Frame | CPU time/estim | REAL time/estim | play/CPU | ETA
600/11621 ( 5%)| 2:28/ 47:50| 2:36/ 50:23| 0.1058x| 47:47
----04:47--------------------------------------------------------------------
kbps LR MS % long switch short %
128.0 0.5 99.5 94.3 3.3 2.4



lame.2 is version is optimised especially for ARM located in Zyxel NAS.
lame.1 is version compilled with default settings.

Download it here