Hi janhendrik,
Here is an sample result of JPEG decoding on Nios II. No Hardware Acceleration.
I have only Stratix Edition, so -mno-hw-mul option is used to near to Cyclone.
-- Hardware --
Nios Dev Board : Stratix edition
SOPC config : based on standard32
Nios II /f , ic 4k, dc 8k, hw-div enabled
VGA controller added(original)
Frecuency : SOPC core : 90MHz
VGA dot frec : 40MHz
VGA config : 800x600x16
-- Software --
OS : none (HAL)
JPEG Decoder : modified "JPEGLS" library. I got from Japanese WEB site. (You may find "jpegls mona" on Google if you read Japanese...). This library uses Divide operation.# I tryed to use IJG source code before. Compiling was passed but it did not work correctly. I give up.
http://forum.niosforum.com/work2/style_emoticons/<#EMO_DIR#>/tongue.gif
JPEG Image file : "Sunset.jpeg (800x600)". WindowsXP may include this sample image. JPEG Image is put to ROZIPFS, so this file access might be overhead.
-- Result --
Compile Options : Clocks : Time@90MHz
(1) -O2 -mno-hw-mul : 3,198M : 35[s]
(2) -O2 : 1,280M : 14[s]
(3) -O2 -mhw-div : 327M : 3.6[s]
I think the result of Cyclone may slower than (1). Because Nios II on Cyclone can not have Barrel Shifter. I'm not sure -mno-hw-mul disable Barrel Shift or not.
I hope the info helps.
p.s.
for More faster JPEG decoding, I think I need to do ...
- eliminate divide operation
- SIMD custom instruction
- Hardware DCT/IDCT
- Hardware color conversion (YUV-RGB)