So I’m trying to implement the jpeg compression algorithm on the openMV board for my own personal project. Its mostly the same code that you have in your jpeg.c file. I ported most of it but I can’t seem to get a good conversion time like you guys have and I’m lost for ideas.
I have a 320x240 image and its taking me about 110ms to complete this conversion from RGB565 to jpeg.
Infact the jpeg_processDU function itself takes ~ 80us for one 8x8 macro block in my program. 80x40x30 ~ 95ms
My sysclk is running at 200MHz. As far as I can tell, you are not using any look up tables for the DCT conversion and there are a lot of floating point calculations.
Do you have any tips on how you guys are achieving 30fps? Are you guys using the Chrome ART accelerator for any image processing or anything else that is not obvious to me from just looking at the jpeg.c file?
Any help would be appreciated