JPEG-XR support on blink
I’m a lazy guy. I can’t but admit it. When I’m absorbed in something, I can’t do the others. My brain can’t really work in parallel. I had to leave this note last December though, I put it off for a while and then I’ve absolutely forgotten.
Anyhow somebody might be interested in my work on JPEG-XR(jxr) support on blink/webkit so that I leave a short note.
The first time when I was interested in the format was the days of WebEngineHackfest 2014. At that time, I was looking around blink project to find out valuable items to contribute for the project.
As many other newbies do, I simply run popular test suites for web engine e.g internal layout tests, sunspider, html5test etc. Especially in html5test.com I noticed a red hole of jpeg-xr support. That was a naive motivation.
After giving efforts to understand jxr image format, sample code, encoder/decoder module in blink/webkit and how the libjxr works, I could complete an initial implementation for jxr decoder. IIRC, it took nearly 4 weeks. (Thanks Collabora for supporting me!)
I thought I was ready to propose my patch to blink community so I wrote an ‘intent to’ mail and sent the community it before submitting the patch. And then… I just felt frustrated of very skeptical responses. OTL
The main reason of the objections was that webp which was an alternative modern image format and driven by Google was better than other competitors in various aspects. Yeah.. since I could agree on the view at some point and also didn’t want to persist which format is better or not, I had no option but to lay down my jxr work unfortunately. Debating superiority between the new image formats already happens several times. I read some of them so that I thought another iteration would be just waste of time. I respect blink community’s decision.
Though I don’t have such strong enthusiasm of jxr. it is still doubtful that technical superiority is a really matter for adopting a new web image format into web engine. WebP shows quite outstanding quality and performance now, but it doesn’t mean it can replace gif, jpeg and png already spreading out in the world. And who knows any better challenger will come out and throw its hat in the ring? In such a context, I think just giving more options for content authors to choose is the best we can do as a web developer…
Well blink community refused the jxr support, but you can use and evolve the functionality based on my patch by your self. I uploaded it to collabora git server so you can download it or else you can clone it from github if you have an account there.