*

JPEG-XR support on blink

Posted on 21/03/2015 by ChangSeok Oh

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.

Original post

Comments (0)


Add a Comment





Allowed tags: <b><i><br>Add a new comment:


Latest Blog Posts

ipcpipeline: Splitting a GStreamer pipeline into multiple processes

17/11/2017

Earlier this year I worked on a certain GStreamer plugin that is called “ipcpipeline”. This plugin provides elements that make it possible…

Quick hack: Experiments with crosvm

09/11/2017

Running crosvm outside Chromium OS is quite easy, with the only complication being that minijail isn't widely packaged in distros. In these…

Tracing memory leaks in the NFC Digital Protocol stack

06/11/2017

Kmemleak allows you to track possible memory leaks inside the Linux kernel. Basically, it tracks dynamically allocated memory blocks in…

Who knew we still had low-hanging fruit?

17/10/2017

Earlier this month I had the pleasure of attending the Web Engines Hackfest, hosted by Igalia at their offices in A Coruña, and also sponsored…

Performance analysis in Linux (continued)

06/10/2017

In this post, I will show one more example of how easy it is to disrupt performance of a modern CPU, and also run a quick discussion on…

XDC 2017 - Links to recorded presentations (videos)

23/09/2017

Many thanks to Google for recording all the XDC2017 talks. To make them easier to watch, here are direct links to each talk recorded at…

Open Since 2005

We use cookies on this website to ensure that you get the best experience. By continuing to use this website you are consenting to the use of these cookies. To find out more please follow this link.

Collabora Ltd © 2005-2017. All rights reserved. Website sitemap.