-
Notifications
You must be signed in to change notification settings - Fork 116
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for directly reading standard JPEG input images #272
Comments
Unfortunately, progressive scans are simply longer to decode, so there's not so much that can be done about it. But as the image is decoded progressively through quality layers, it would be possible to limit the number of progressive layers that are decoded, which would speed things up a bit. This, however, would come at the cost of a degraded image quality - the amount of degradation would depend on how many layers you skip. |
There is something that makes iipsrv abort with directly reading jpeg, after having served a couple of tiles of a jpeg with 26754x25373 pixels: Sep 28 08:56:25 server08 systemd[1]: iipsrv.service: Main process exited, code=killed, status=6/ABRT |
Sep 28 09:09:32 server08 systemd[1]: iipsrv.service: Failed with result 'signal'. |
Firstly, I would definitely NOT recommend using JPEG images of this size! 4kx4k is probably the highest that iipsrv can handle efficiently when using JPEG. What does it say in the iipsrv log file? And does this occur for all your images over a certain size or is there one particular image causing problems? If so, is there a way to send this to me to test it out? Is this image a progressive JPEG? |
Of course I understand it's not recommended ... Now syslog gives Compiled with JPEG_DEBUG, here is the relevant logfile extract |
You mentioned "tiles", but iipsrv thinks this is a request for a region not a tile. So, what exactly is the request you are making here? In fact can you also paste the lines just before, so back to the beginning of the request and including the line that says "Full Request is ..." |
Regions, yes. Sorry for the misunderstanding. New log. Seems like iipsrv crashes after the last CVT log entry, it is then restarted by systemd. <-----------------------------------> IIPImage Server. Version 1.3 Verbosity level set to 2 Setting maximum image tile data cache size to 10MB Initialisation Complete. Full Request is IIIF=/tmp/osd/0204969.jpg/10752,17920,512,512/256,256/0/default.jpg Full Request is IIIF=/tmp/osd/0204969.jpg/10240,17408,512,512/256,256/0/default.jpg Full Request is IIIF=/tmp/osd/0204969.jpg/10240,17920,512,512/256,256/0/default.jpg Full Request is IIIF=/tmp/osd/0204969.jpg/9728,17664,256,256/256,256/0/default.jpg IIPImage Server. Version 1.3 Verbosity level set to 2 Setting maximum image tile data cache size to 10MB Initialisation Complete. |
I tried creating a JPEG with identical dimensions to yours and ran the exact same sequence of requests as in your log, but couldn't reproduce your segfault. Can you increase the VERBOSITY environment variable to 6, run again and paste the new log entries? Perhaps it's something to do with your particular JPEG file. With what was it created? Is it possible to send it to me to try? |
Thank you very much for this new feature!
Just a note: this works (in our usecases) with acceptable speed for baseline jpgs, but not for files with progressive encoding, where processing is excruciatingly slow.
The text was updated successfully, but these errors were encountered: