4 ms·
It’s great to see a summary at the top of the article. However, the summary (and the article) leaves out a relevant question that immediately comes to mind: Ar
by SimeVidas 8y ago
It’s great to see a summary at the top of the article.
However, the summary (and the article) leaves out a relevant question that immediately comes to mind: Are other image formats decoded off the main thread or is it just that decoding JPEG-XR is just more taxing compared to other formats, thus negating its advantages?
- JohnBooty 8y agoYeah, this was my thought as well. I'm fairly certain the article may be poorly worded. Certainly standard JPGs are decoded on the CPU side as well, are they not? To the best of my knowledge, I don't think any browsers are doing JPG decoding in hardware; I think they use the GPU for primitives and compositing, etc. I would look forward to being corrected if I'm wrong!
- pornel 8y agoThe CPU portion of JPEG decoding is relatively cheap (just Huffman + RLE) and easy to parallelize (DCT blocks are independent). Conversion and upsampling of YCbCr can be done on the fly on the GPU, and this even saves memory compared to using raw RGB/RGBA bitmaps. Other formats use more expensive entropy coding, more block sizes, smoothing filters, and inter-block prediction which forces them to be decoded mostly serially.
- dylan604 8y agoIsn't the JPEG instruction set built into the CPUs now anyways? I would be shocked to find out they are not seeing as MPEG2 has been part of the CPU since the Pentium days.
- userbinator 8y agoThere is no "JPEG instruction set" as such --- and what you may be referring to by MPEG2 is MMX, which is just a SIMD extension that certainly helps with JPEG and MPEG decoding, among other things.
- dylan604 8y agoInteresting. I just remember the days of the add-on hardware boards for real-time MPEG2 encoding for DVDs that were pretty much obsoleted when some sort of upgrade to the CPU was made. I officially went 100% software/CPU encoding in 2005. However, it looks like something more specific from Intel called Quick Sync came out in 2011.[0] This is a dedicated core on the die. Do browsers get access to that level of hardware? [0]https://en.wikipedia.org/wiki/Intel_Quick_Sync_Video https://en.wikipedia.org/wiki/Intel_Quick_Sync_Video