5 ms·
> if you see a white box, it’s because you don’t support the bizzare Arithmetic coding extention On an Intel Mac running Big Sur, that image (title "444-fp-aco
by extra88 5y ago
> if you see a white box, it’s because you don’t support the bizzare Arithmetic coding extention
On an Intel Mac running Big Sur, that image (title "444-fp-acode-prog.jpg") is only solid white in Chrome; in Safari, it's solid black and in Firefox it doesn't load at all, there's the broken image placeholder.
- Aaargh20318 5y agoInterestingly it renders just fine in Safari on iOS 15
- gumby 5y agoInteresting: on my 2020 iPad it displays fine in Safari
- alberth 5y agoI can also confirm. iPhone XS (iOS 15.1 / A12), displays a black box. 2020 iPad Air (iPadOS 15.1 / A14), displays image perfectly.
- styfle 5y agoAre both running the same version of iOS?
- extra88 5y agoSince 2019, iPads no longer run iOS, they run iPadOS. Of course, there's still a lot of overlap between the two but differences can creep in. A difference that shouldn't be relevant to JPEG rendering is iPadOS Safari loads the desktop versions of websites by default.
- alberth 5y agoBoth run 15.1. But apparently iOS vs iPadOS have differences.
- extra88 5y agoWhat processor does your iPhone have? Maybe it's a hardware decoding difference. It renders on my iPhone with a A14 Bionic processor.
- alberth 5y agoI just updated my original post. A12 Bionic is my iPhone (XS). Interesting if it's hardware assisted.
- marcan_42 5y agoiPhone SoCs have had hardware JPEG decoding since basically forever. However, I'd be surprised if that hardware block suddenly got updated to support AC. If I had to guess, A14 devices aren't using the hardware decoder any more for some reason, and that's why it works.
- extra88 5y agoIf the comment you replied to meant iPad 10.2" 8th Gen by "2020 iPad," that also has an A12 Bionic. If their "2020 iPad" was actually a 4th gen Air (A14 Bionic) or 2nd iPad Pro (A12Z Bionic), it could still be a hardware decoding difference.
- mnd999 5y agoI have the same iPhone XS and it renders fine. Bizarre.
- josephg 5y agoWorks fine on my iPhone 12 in safari too. (Running iOS 15.1)
- grishka 5y agoTried opening it in Photoshop and got this error: Could not complete your request because reading arithmetic coded JPEG files is not implemented. I find it interesting that they wrote an error message this specific.
- kingcharles 5y agoThank FSM for the developer who did that. How many times a day do you try to complete a task and just get a generic "Error" from an application? Also interesting that Photoshop, with dozens of developers, didn't deem this format interesting enough to add support for it.
- deleted 5y ago[deleted]
- extra88 5y agoSince others are having mixed results with the rendering of the image in mobile Safari, I wonder if the differences are due to hardware decoding. My Mac has a I7-9750H (Coffee Lake) processor with an AMD Radeon Pro 5300M. The image does render on my iPhone with an Apple A14 Bionic processor. The 2020 iPad Air (4th gen) also has this processor. If "2020 iPad" means iPad 10.2" 8th Gen, that has an A12 Bionic processor. If the image doesn't render on an Apple mobile device, maybe it's one with an older processor?
- lelandfe 5y agoM1 on Monterey. White in Chrome, renders normally in Safari
- superkuh 5y agoMy Intel Core2Duo running Ubuntu 10.04 (~2011) and a browser from 2016 renders all of the jpegs on the page perfectly.
- extra88 5y agoCore 2 Duos predate Intel adding any hardware decoding for JPEG. Some, but probably not all, of the rendering failures people are seeing may be due to software handing off JPEG decoding to hardware but some hardware not being able to handle the Arithmetic coding extension. My guess is your JPEG rendering is being done by libjpeg, which has supported Arithmetic coding since 2009. https://en.wikipedia.org/wiki/Libjpeg https://en.wikipedia.org/wiki/Libjpeg
- spookthesunset 5y agoThat is so weird that even now we have hardware decoding jpegs. And it is so seamless you don’t even notice it.
- superkuh 5y agoExcept it's not seemless. It breaks regularly on new hardware even a decade+ after the standards were set.
- formerly_proven 5y agoMy guess why Intel added hardware JPEG decoding is HD webcams. Most of those do MJPEG, so with a hardware JPEG decoder and a hardware h.264 encoder videoconferencing can almost completely avoid the CPU. Most external higher-res webcams also only do YUV (for low fps / resolution, as it quickly exceeds USB 2.0 bandwidth) or MJPEG, some newer ones do h.264 though. Incidentally, all those cheap HDMI USB capture sticks (I think most have the MS2109 in them) also use MJPEG.
- spookthesunset 5y agoI have never seen a jpeg decode fail until the above website fed it some “obscure” format. The fact it works or doesn’t based on hardware is pretty crazy. If I didn’t know that hardware was responsible for decoding the jpeg it would have been one hell of a bug to diagnose.
- watersb 5y agoArithmetic-coded JPEG rendered as black box on iPad 4th gen, iOS 10.3.3 (latest version possible)