Most active commenters
  • redeeman(6)
  • tristor(4)

←back to thread

361 points Tomte | 27 comments | | HN request time: 2.079s | source | bottom
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 #
1. 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 #
2. gbin ◴[] No.43609317[source]
This was my guess too, get the raw bayer data from the sensor in one go + some metadata. Then as the sensors and cameras evolve they are just accumulating different formats?
3. m000 ◴[] No.43609319[source]
I believe this might have been the case in the past, where (a) sensor resolutions were lower - so the raw images less bulky, (b) camera CPUs were slower - so you would like to take them out of the equation.

These days, the bottleneck for achieving continuous shooting rate is probably writting to the sd card (which is the standard for the consumer/pro-sumer models).

4. octacat ◴[] No.43609787[source]
It is always written into a memory buffer first, which could be like 256 megabytes... it tooks time to fill it up, once it is filled, memory card speed becomes a bottleneck. So, actually, writing only jpegs would trigger the slowdown later, so you could take more frames before the buffer fills up
5. tmoravec ◴[] No.43609926[source]
The bottleneck is usually in SD card write speeds, however. Sport photographers often skip raw and only use JPG because the files are smaller and as a result, one can take more photos in one burst.
replies(2): >>43610099 #>>43611647 #
6. tomatocracy ◴[] No.43610099[source]
For raw at high frame rates, high end cameras don't use SD cards but things like CFexpress which absolutely can keep up (and there are also various compressed RAW formats these days which apply a degree of lossy compression to reduce file size).

As I understand it, the reason some professional sports photographers don't shoot RAW (or it's less important) is more because they are in an environment where publishing quickly is important, so upload speeds matter and there isn't really much time to postprocess.

7. donatzsky ◴[] No.43610281[source]
DNG is a TIFF file, just like most proprietary raw formats.
8. 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 #
9. FireBeyond ◴[] No.43611647[source]
Canon’s “sport professional” camera has lower resolution than the “second tier” cameras. It has a higher frame rate and CFExpress and SDXC2 so bandwidth isn’t an issue. Last I checked you could burst 40 or 50 frames (at 20ish fps) before filling the internal buffer.
replies(1): >>43612584 #
10. grandempire ◴[] No.43611930[source]
?? This was not asked.
11. 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 #
12. tristor ◴[] No.43612584{3}[source]
You can definitely do more than that these days. My Nikon Z8 can do 30fps with 1xCFExpress, and the flagship Z9 can do 120fps because it has 2xCFExpress and alternates writes. On the Sony side they have a closer differentiation to what you describe, the flagship (A1 II) does only 30fps compared to the next-best (A9 III) which does 120fps, while the prosumer (A7 RV) only does 10fps.

I don't know Canon well, but 120fps w/ dual CFExpress + 800-1200 frames buffer is fairly standard on top-end professional sports/wildlife mirrorless cameras these days.

replies(1): >>43619899 #
13. davidgay ◴[] No.43612612{3}[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?

No - the non-RAW image formats offered were traditionally JPG and 8-bit TIFF. Neither of those are suitable for good quality post-capture edits, irrespective of their colour space (in fact, too-wide a colour space is likely to make the initial capture worse because of the limited 8-bit-per-colour range).

These days there is HEIF/similar formats, which may be good enough. But support in 3rd party tools (including Adobe) is no better than RAW yet, i.e., you need to go through a conversion step. So...

replies(1): >>43615620 #
14. emkoemko ◴[] No.43613166{3}[source]
what format can i a change the white balance of the image on other then RAW in software, for all the years i have used digital cameras i can't think of one...
15. kjkjadksj ◴[] No.43613231{3}[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 #
16. harrall ◴[] No.43613848{4}[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 #
17. zrav ◴[] No.43615620{4}[source]
Also don't forget one of the promises of RAW: That RAW developers will continue to evolve, so that you'll be able to generate a better conversion down the line than now. Granted, given the maturity of developers the pace of innovation has slowed down a lot compared to 20 years ago, but there are still incremental improvements happening.

Another advantage of RAW is non-destructive editing, at least in developers that support it and are more than import plugins for traditional editors. I rarely have to touch Photoshop these days.

18. stephen_g ◴[] No.43617810{5}[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 #
19. redeeman ◴[] No.43619892{6}[source]
the absolute main thing is debayering, and yeah, then colorspace transformations etc
20. redeeman ◴[] No.43619899{4}[source]
Z8 and Z9 can do the same, Z9 can do 120fps in jpeg mode 11MP, similar to your Z8. Z8/Z9 will do 30fps in jpeg fullresolution, 20fps in RAW. how long it can do it without slowing down depends on your card, and whether you use uncompressed raw, lossless raw, lossy raw etc
replies(1): >>43620929 #
21. tristor ◴[] No.43620929{5}[source]
Yes, you are correct. The spec sheet isn't particularly clear on this so I got it wrong taking it at face value, but on the Rolling Shutter Project it shows the sensor readout speed is the limit, which both use the same sensor. For the higher speed continuous (which is only on the Z9 AFAIK, 30fps is the max I see for CH on my Z8) it uses the video pipeline rather than the standard photo pipeline, which is resolution limited and not in RAW. The Z9 /does/ support alternate write mode, however the Z8 only supports split format or overflow with two cards since Z8 is CFExpress + SD and Z9 is 2x CFExpress. I am not sure how this affects write-out speeds but presumably improves it.

Personally I only shoot at 6fps in continuous for birds because anything faster is usually unnecessary (except for hummingbirds) and just creates more exposures to review/delete in post. I generally preference doing quiet single exposure (Qs) when doing wildlife to avoid any sounds, although since switching to the Z8 it's not really an issue since mirrorless is effectively silent in all modes at fairly open apertures.

replies(2): >>43625544 #>>43625558 #
22. redeeman ◴[] No.43625544{6}[source]
the video pipeline is used yes, but it would support doing that at higher fps than 20, as it is able to do it in the 12bit mode for 8k60 NRAW video.

I really wish they had raw precapture on the Z8, but i doubt they will do it

23. redeeman ◴[] No.43625558{6}[source]
also, you can do 120fps on your Z8, but it reduces to 11MP, this goes for both Z8 and Z9. It also uses video mode for this, but goes to show sensor readout is not the issue :)
replies(1): >>43625901 #
24. tristor ◴[] No.43625901{7}[source]
The reason it requires reduction to 11MP and to use the video pipeline instead of the Expeed pipeline is due to sensor readout time. I don't /fully/ understand it, but the sensor readout data on the Rolling Shutter Project shows a Nikon Z8 would max out at ~22fps in full-frame RAW, so no doubt they reduced this to 20fps to give them a margin of error. Reducing to the DX frame size reduces the amount of data required to be read from the sensor, which changes the time it takes to do a readout. The Z8/Z9 are 45MP cameras, so just doing a naive bit of maths, you could expect ~80fps if you applied the same pipeline at the DX frame size, but given that there is already a video pipeline and they needed it to be capable of 120FPS, they already had their answer.
replies(1): >>43627596 #
25. redeeman ◴[] No.43627596{8}[source]
both video and photo pipeline is expeed. it does not go into DX mode for 11MP, its full sensor size. its unclear(atleast to me) if it does some form of line skipping or if its oversampled fully.

but the video mode supports full 8k60 atleast, so only a very tiny crop.

replies(1): >>43627841 #
26. tristor ◴[] No.43627841{9}[source]
It's definitely not straightforward, there was no 8k originally AFAIK, that came through a firmware update and as far as I know is a totally different format that makes use of ticoRAW as a base (https://www.dpreview.com/news/9624409613/nikon-is-licensing-...), so RAW video isn't recorded in the same format as RAW photos (N-RAW vs NEF).

It can only do 8k60 though, not 8k120, so obviously the video pipeline and the C120 pipeline aren't identical.

When you say it doesn't go into DX mode for 11MP, you're correct for C120, but for C60 it /does/ go into DX mode (which captures a 19MP image). How this differs between C60 and C120, I'm not entirely sure in the camera internals. I had thought the resolution reduction is from cropping, but confirmed in the manual that when you enable C120, it's an 11MP photo but is full frame (no cropping).

Obviously this stuff is complex (maybe overly complex) and I haven't delved into it super deeply since I don't need it for my type of photography (and I never do video).

replies(1): >>43635523 #
27. redeeman ◴[] No.43635523{10}[source]
it did initially offer 8k60 in the ticoraw.

but this suggests that the limitations are not in sensor readout, but processing/saving. Its speculated that its due to heat problems if doing faster than 20fps full raw