←back to thread

361 points Tomte | 1 comments | | HN request time: 0s | source
Show context
Scaevolus ◴[] No.43584261[source]
Ultimately, RAW formats aren't that complex, and camera firmware is mostly developed in countries that don't have strong open source software traditions.

Look at the decoders for each format that darktable supports here: https://github.com/darktable-org/rawspeed/tree/develop/src/l...

It's some binary parsing, reading metadata, maybe doing some decompression-- a thousand lines of C++ on average for each format. These aren't complex codecs like HEVC and only reach JPEG complexity by embedding them as thumbnails!

Cameras absolutely could emit DNG instead, but that would require more development friction: coordination (with Adobe), potentially a language barrier, and potentially making it harder to do experimental features.

Photographers rarely care, so it doesn't appreciably impact sales. Raw processing software packages have generally good support available soon after new cameras are released.

replies(12): >>43607682 #>>43608468 #>>43609020 #>>43609118 #>>43609169 #>>43609799 #>>43612739 #>>43612940 #>>43615274 #>>43615505 #>>43617505 #>>43624875 #
weinzierl ◴[] No.43609169[source]
I always thought camera RAW formats were optimize continuous shooting rates. About being able to linearly write an image as fast as possible.

I don't know the details of DNG but even the slightest complication could be a no-go for some manufacturers.

replies(6): >>43609317 #>>43609319 #>>43609787 #>>43609926 #>>43610281 #>>43611179 #
Zak ◴[] No.43611179[source]
The main reason people shoot raw is to have more creative control over the final product.

A simple example is white balance. The sensor doesn't know anything about it, but typical postprocessing makes both a 2700K incandescent and a 5700K strobe look white. A photographer might prefer to make the incandescent lights look more yellow. There's a white balance setting in the camera to do that when taking the picture, but it's a lot easier to get it perfect later in front of a large color-calibrated display than in the field.

Another example is dealing with a scene containing a lot of dynamic range, such as direct sunlight and dark shadows. The camera's sensor can capture a greater range of brightness than a computer screen can display or a printer can represent, so a photographer might prefer to delay decisions about what's dark grey with some details and what's clipped to black.

replies(2): >>43611930 #>>43612259 #
harrall ◴[] No.43612259[source]
Everything you said is supported by regular image formats. You can adjust white balance of any photo and you think image formats are only limited to 16-bit and sRGB?

That’s not why we use RAW. It’s partly because (1) if you used Adobe RGB or Rec. 709 on a JPEG, a lot of people would screw it up, (2) you get a little extra raw data from the pre-filtering of Bayer, X-Trans, etc. data, (3) it’s less development work for camera manufacturers, and (4) partly historical.

replies(3): >>43612612 #>>43613166 #>>43613231 #
kjkjadksj ◴[] No.43613231[source]
Try and adjust shadows and highlights in a jpg vs a raw file and see what happens. There is no data there in the jpg just black and white blown out. Raw file you can brighten the shadows and find moth man standing there with a little extra sensor noise.
replies(1): >>43613848 #
harrall ◴[] No.43613848[source]
Are you adjusting an 8-bit JPG (probably) or a 12-bit JPG (rare)?

Try adjusting a 8-bit RAW file and you will have the same problem.

You are conflating format and bitrate.

replies(1): >>43617810 #
stephen_g ◴[] No.43617810{3}[source]
Yes and no. Your point about bitrate being important is correct, but you're still largely wrong.

The actual main thing about RAW is that the transforms for white balance, gamma, brightness, colour space, etc. haven't yet been applied and baked into the file. With JPEG, at least some of those transforms have already been applied, which then limits how mucn you can do as opposed to starting with the untransformed sensor data.

You could definitely do much more with a 12-bit JPEG than you could with an 8-bit JPEG, but still not as much as you can do starting from RAW data.

replies(1): >>43619892 #
1. redeeman ◴[] No.43619892{4}[source]
the absolute main thing is debayering, and yeah, then colorspace transformations etc