Philosophical question about "why not all cameras are recording in RAW"

Started by Bruno Italiano, April 29, 2023, 11:57:04 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Bruno Italiano

(Mod: this was split from here)

Hope you all still happy. I have got a more philosophical question. Why are all of the codecs for all the cameras not recording in RAW. 😇

Source:
https://youtu.be/__X25Fr2K_M

It seems to me like a mystery? I don't want to make it sounds like anybody's fault. But why are ports in progress, that maybe aren't so relevant? Thinking about : The journey is its own reward.

It is of course a controversial question. E.g. Which model looks better. 🙂
"...develop ethics and aesthetics values of our society, fostering and maintaining cultural heritage and traditional forms of popular culture..."
I would think the best way to go in develop Ing, would be the biggest and best cameras.

•Canon EOS 5Ds | •Canon EOS M5, EOS M10 | •Canon EOS 5D Mark IV

Wishes:
•Canon C100 BMPC 4k | •Panasonic AG-AF101 | •RED SCARLET-X  | •Canon EOS 1Ds III  (... staying with the same bayonet-typ?)

Didn't want to set too high expectations. I am sorry to disturb. 🇬🇧🏳️‍🌈

names_are_hard

These questions are nothing to do with 5D4 dev, so I am only going to give a short answer.  If you want a long answer, ask somewhere appropriate :)

Relevance: relevant to who, for what?  What you want is different from what other people want.

My goal is to make ML work on all cameras, for fun.  The order doesn't matter.  I don't know what your goal is - you're free to work on it.

names_are_hard

A mod split this out, so I'll bother giving a longer reply.

I haven't watched the video because it's 13 minutes long.  The small parts I watched were about RED patents on *compressed* raw, which doesn't seem to be very relevant to your stated question.  Can you be more specific about what you're asking here?

Regarding which cameras are worked on, there are many reasons why devs work on the cameras they do.  One is individual motivation: one dev might want to work on the cameras with the least features, because these would benefit more from ML.  Another might want to work on the most expensive, or most features, because these are "cooler".

Another reason: which cameras are the most useful for understanding how all other cameras work.  We understand Digic 4 and 5 well.  We don't understand 6, 7, 8 or X as well.  6 is closer to 5.  In some ways this makes it easier to understand.  So if you want to support all cams, it may make sense to get 6 working, then 7, then 8, etc.  This is a more natural progression.

And so on, there are many possible reasons.  You are assuming everyone wants the same as you: support for the biggest and best cameras.  But we know this isn't true.  After all, the most popular model currently is probably the M, and that's a small, cheap camera, with bad controls.  And even if the devs "should" work on "biggest and best", who's going to make them?  Magic Lantern project has no managers, and everyone is a volunteer.  Magic Lantern project *has no stated goals*.  I think the project would do better with a little direction, but a) that's only my opinion, and b) you could never enforce very much direction and I wouldn't want to: it's an open source project in a very niche area, it's never going to be very organised.

Personally, I want to support all cameras.  I don't expect to succeed on my own, but I enjoy working on it.  Currently there is one other dev, kitor, working on support for modern cams.  We chat and coordinate some things, but mostly just work on what we find enjoyable.  When you think about "the devs": for modern cameras it is two people.  We work part time and we're not being paid.  We work on what we want to at the moment.  Personally, I do consider to some degree what the community seems to want, it's more fun making things that are useful to others.  But I also know much better than the community what is practical *for me* to get working.  Somebody has to do the work.  If the community wants X but I don't know how to do it, X is not happening unless kitor does it.  And generally we have similar ideas about what is easy or hard, because we have a mostly shared understanding of how the cams and the code work.  So, practically, if I can't do X, X is not happening.  Maybe I'll learn how to do it later on.

Regarding old vs new cam support, I have bought, with my own money, a body from Digic 5, 6, 7 and 8 generations, because this helps me understand how the cameras have changed over time, which helps me improve support for *any* camera.  If my goal was only to support 5D4, I would still want at least Digic 5, 6 and 7.  And, very importantly, I want the ML code to be clean, general, and support many different camera generations.  This means understanding what things *are* general, which requires understanding multiple different cams.  If I just tried to hack support for 5D4 into the code, it might be quicker, but it would be much uglier.  At times in the existing code we can see this has happened and it makes work more difficult for us.  This is normal with any complex code base, and tidying things up, improving generality etc are normal maintenance activities.  Maintenance is slow, it is not cool, it is often invisible to users, but without it, everything falls apart.

Jonneh

Quote from: names_are_hard on April 29, 2023, 08:08:11 PM
A mod split this out, so I'll bother giving a longer reply...

Fantastic post --- a perfect 101 for why what gets done gets done and why what doesn't, doesn't.
5D3 / 100D