darktable-org / darktable

darktable is an open source photography workflow application and raw developer
https://www.darktable.org
GNU General Public License v3.0
9.52k stars 1.13k forks source link

Add support for Canon CR3 raw files #2170

Closed konig12 closed 2 years ago

konig12 commented 5 years ago

Canon CR3 raw files are currently not supported. These are used by a few of Canon's new cameras at this point. At a minimum, the M50, SX70 HS, EOS R, and EOS RP. https://raw.pixls.us/ has samples for the M50, EOS R, and EOS RP.

Someone appears to have already done a lot of the reverse engineering here: https://github.com/lclevy/canon_cr3

Let me know if there is anything that can be done to help, including testing, more samples, or development assistance.

DawidLoubser commented 5 years ago

I just wanted to add that I have also uploaded sampler RAW and C-RAW from an EOS R - and I would do anything else in my power to help support the efforts to reverse-engineer the CR3 format and get it into Darktable.

galandras12 commented 5 years ago

C-RAW (*.CR3) use Canon 250D so i need support too. +now use Canon 90D & M6 mark ii (native use CRAW)

arigit commented 4 years ago

On the ongoing effort to reverse-engineer the proprietary CR3 format: https://github.com/lclevy/canon_cr3

tim-hilt commented 4 years ago

cr3-support is now available in LibRaws master-branch.

DawidLoubser commented 4 years ago

That is fantastic news!! Well done to all that helped!

github-actions[bot] commented 4 years ago

This issue did not get any activity in the past 30 days and will be closed in 7 days if no update occurs. Please check if the master branch has fixed it since then.

utdemir commented 4 years ago

Nope, still not solved in master.

carloszacu commented 4 years ago

I have a Canon EOS Rebel SL3 (also known as EOS 250D and EOS Kiss X10) and I still can´t get my files read by DarkTable, I had to use the Adobe DNG Converter to make the files usable with the app but still no direct support, highly interested in this compatibility, if you need any sample shots or something I would love to help.

JackSwett commented 4 years ago

For those needing a workaround, you can use Adobe's DNG converter https://helpx.adobe.com/photoshop/using/adobe-dng-converter.html

Obviously native support would be very much appreciated!

RReverser commented 4 years ago

Yup, also using DNG converter, but, particularly with C-RAW files, having to decompress them just for post-processing really bloats the disk.

isolin commented 4 years ago

There is no Linux version of DNG Converter :-1: I have to take RAW+JPEG and stick with JPEGs for now, hoping that one day I will be able to process the RAWs in Darktable (being my favourite tool). At least RawTherapee added limited support recently. It's a shame Adobe ignores Linux, it's a shame they don't opensource the CR3 specification and I seriously blame them for not warning their customers :(

RReverser commented 4 years ago

FWIW there is a reverse-engineering spec here https://github.com/lclevy/canon_cr3 as well as the mentioned earlier support in other libraries like LibRAW, but, my understanding is that devs are mainly concerned about legality of using a reverse-engineered spec?

I wonder how LibRAW deals with this issue? (if it does)

johnny-bit commented 4 years ago

We know :) Pretty much CR3 is possible, just needs exiv2 support and it's stalled on exiv2 supporting it.

1div0 commented 4 years ago

Almost one year already. The speed of Open Sauce development is incredible.

johnny-bit commented 4 years ago

@1div0:

Almost one year already. The speed of Open Sauce development is incredible.

Has Canon released non-NDA specs for CR3? Has Canon cleared open source of any possible patent infrigment? Had nobody objected to CR3 support being done in exiv2? Have you contacted Canon and asked them to provide (or at least open line of communication) specs?

Anyway, slowdown on exiv2 side is mostly caused by exiv2 community-member(s) objecting to including possibly patent infringing code (it wouldn't be, I asked law advisor) and thus halting development and discouraging it. I thought I could work on it, but life & paying bills got in the way so I hope Mr. Mills or somebody else will be able to implement relevant stuff on exiv2 side. On darktable's side support is possible as it currently resides on experimental branch (no, that can't be enabled without exiv2 working)

RReverser commented 4 years ago

I wonder if, as a workaround, Darktable could provide LibRAW support in form of a plugin? I know it used to use LibRAW in the past, and then switched to custom decoder for performance reasons (I think?), but could LibRAW at least be used as a fallback for unsupported formats so that it would solve cases like this until a better version is available?

mathbagu commented 4 years ago

I'm also interested in the support of CR3 in darktable. Can anyone give us a status? How can we help?

SebastianPfliegel commented 3 years ago

There is no Linux version of DNG Converter 👎 I have to take RAW+JPEG and stick with JPEGs for now, hoping that one day I will be able to process the RAWs in Darktable (being my favourite tool). At least RawTherapee added limited support recently. It's a shame Adobe ignores Linux, it's a shame they don't opensource the CR3 specification and I seriously blame them for not warning their customers :(

@isolin the Adobe converter works flawless using Wine. Not the best solution, but works for me in the meantime.

daniel-lucio commented 3 years ago

For those impatient: https://inside-out.xyz/technology/editing-cr3-canon-raw-format-with-darktable-on-linux.html

Note that I save in RAW not cRAW.

RReverser commented 3 years ago

Note that solution from @daniel-lucio is also converting to DNG, like couple others in the thread. It's not a support in Darktable.

daniel-lucio commented 3 years ago

Note that solution from @daniel-lucio is also converting to DNG, like couple others in the thread. It's not a support in Darktable.

I know, that's why I said for the impatient.

aurelienpierre commented 3 years ago

Closing here, there is a similar feature request open on Rawspeed project, and Exiv2 is the sole responsible for that lack of support.

RReverser commented 3 years ago

For future people coming across this thread and trying to find a RawSpeed issue mentioned in the last comment: https://github.com/darktable-org/rawspeed/issues/121

@aurelienpierre That said, can you please respond to the suggestion above (in https://github.com/darktable-org/darktable/issues/2170#issuecomment-657280851)? That one is specifically not related to RawSpeed, but only to Darktable.

LebedevRI commented 3 years ago

I wonder if, as a workaround, Darktable could provide LibRAW support in form of a plugin? I know it used to use LibRAW in the past, and then switched to custom decoder for performance reasons (I think?), but could LibRAW at least be used as a fallback for unsupported formats so that it would solve cases like this until a better version is available?

Personally, FWIW the current darktable development trend seems to be on track to undo/change most of the previous decisions, so that doesn't seem outlandish to me.

Other than that, all the same reasons that led to the current camera support landscape are still there; undoing that will lead to large negative consequences.

RReverser commented 3 years ago

undoing that will lead to large negative consequences

I wouldn't necessarily "undo" it, but merely provide LibRAW (or maybe even general decoder registration API for plugins) as an alternative / fallback.

parafin commented 3 years ago

No one is working on it and I never saw anyone mentioning he wants to do it. Hopes that answers this question.

1div0 commented 3 years ago

Talk is cheap.

RReverser commented 3 years ago

No one is working on it and I never saw anyone mentioning he wants to do it. Hopes that answers this question.

The question wasn't whether someone is working on it, so not really, it doesn't.

The question was whether it's a suitable path to supporting new formats that was or would be considered and accepted by the core team, or it's a no-go and the previous removal of LibRAW is "set in stone".

parafin commented 3 years ago

Personally I don't see the point, CR3 support is moving forward with current software stack, and it was the only problem so far if I remember correctly. So benefits will basically be nonexistent for a large amount of work and testing. I'm not sure if such PR would be accepted (I wouldn't).

RReverser commented 3 years ago

Personally I don't see the point, CR3 support is moving forward with current software stack

I see. My understanding was that it's blocked on legal issues / questions, which won't be resolved anytime soon, so "delegating" to a 3rd-party library that user would need to install separately seemed like an easier path forward.

johnny-bit commented 3 years ago

Legal issues/questions have been addressed and process for developing necessary parts is ongoing now. @1div0 is working on heif/heic support in exiv2 and as far as I'm aware exiv2 is now willing to accept patches for other ISOBMFF based files. If time allows I probably try to do something myself so :)

parafin commented 3 years ago

See https://github.com/Exiv2/exiv2/issues/1229#issuecomment-727190658

parafin commented 3 years ago

So yeah, time is better spent going in this direction instead of (re-)integrating libraw.

RReverser commented 3 years ago

@johnny-bit Oh, that's great news - I've only seen the earlier mentioned issue on the RawSpeed repo, where the last comment / update didn't sound as hopeful. https://github.com/darktable-org/rawspeed/issues/121#issuecomment-703223293

Thanks!

aurelienpierre commented 3 years ago

Adding LibRAW support in darktable is not the plan. Anyway we rely on Exiv2 in other parts of the soft, even if squeezing-in LibRAW to circumvent Rawspeed limitation, it will not make lens detection possible anyway so it will be at best a nasty workaround.

luisalves00 commented 3 years ago

Not sure how helpful it is, but I found this: Canon CR3 support in Linux using ART, RawTherapee fork. At least now I can work with the CR3 files.

MStraeten commented 3 years ago

lacking CR3 support is not a technical thing but related to an ambiguous legal situation in exiv2 library... the exiv2 team is a bit more careful in this respect

luisalves00 commented 3 years ago

@MStraeten great...hopefully this is solved quickly. Don't understand why Canon don't release the lib to read their format as opensource. Next time I'll buy another brand.

MStraeten commented 3 years ago

They don’t need to release a lib, just confirm it’s no copyright infringement to decode cr3 for reading...

goeland86 commented 3 years ago

@MStraeten the exiv2 team has not touched the topic since ~ June 2020 at the time I'm posting this.

Is there anything end-users of DT like me can try to do to unblock the exiv2 situation? I'm starting to get really frustrated, because my Shotwell/DT workflow was working really well... Until I changed cameras to a 90D, and I'm more than a little concerned that exiv2 refuses to support the format.

MStraeten commented 3 years ago

the discussion on cr3 is better at the proper place - https://github.com/Exiv2/exiv2/issues/1229#

alexvanderberkel commented 3 years ago

There will be a meeting on Saturday to discuss how this issue can be resolved. The idea is to form a task force from different projects to resolve the missing part for CR3. Any help is welcome.

Topic: Support for ISOBMFF Files (AVIF, HEIF, CR3) Time: Jan 9, 2021 07:30 PM Amsterdam, Berlin, Rome, Stockholm, Vienna

Join Zoom Meeting https://us05web.zoom.us/j/82168885673?pwd=K3pqRThERVNQK2JQR2ZweStwS2Nkdz09

Meeting ID: 821 6888 5673 Passcode: L1B3Hz

Furhter discussion are ongoing here: https://app.element.io/#/room/#exiv2-chat:matrix.org

Jurze commented 3 years ago

Thanks to everyone whos helping. Are there any news?

DerfOh commented 3 years ago

There will be a meeting on Saturday to discuss how this issue can be resolved. The idea is to form a task force from different projects to resolve the missing part for CR3. Any help is welcome.

Topic: Support for ISOBMFF Files (AVIF, HEIF, CR3) Time: Jan 9, 2021 07:30 PM Amsterdam, Berlin, Rome, Stockholm, Vienna

Join Zoom Meeting https://us05web.zoom.us/j/82168885673?pwd=K3pqRThERVNQK2JQR2ZweStwS2Nkdz09

Meeting ID: 821 6888 5673 Passcode: L1B3Hz

Furhter discussion are ongoing here: https://app.element.io/#/room/#exiv2-chat:matrix.org

How'd it go? I too am still waiting for this feature.

johnny-bit commented 3 years ago

Be patient, development is ongoing 😃

czw., 28 sty 2021, 19:10 użytkownik Fredrick P. notifications@github.com napisał:

There will be a meeting on Saturday to discuss how this issue can be resolved. The idea is to form a task force from different projects to resolve the missing part for CR3. Any help is welcome.

Topic: Support for ISOBMFF Files (AVIF, HEIF, CR3) Time: Jan 9, 2021 07:30 PM Amsterdam, Berlin, Rome, Stockholm, Vienna

Join Zoom Meeting https://us05web.zoom.us/j/82168885673?pwd=K3pqRThERVNQK2JQR2ZweStwS2Nkdz09

Meeting ID: 821 6888 5673 Passcode: L1B3Hz

Furhter discussion are ongoing here: https://app.element.io/#/room/#exiv2-chat:matrix.org

How'd it go? I too am still waiting for this feature.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/darktable-org/darktable/issues/2170#issuecomment-769274898, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACRRKFN2YHF6BCRIGLLWWEDS4GSCRANCNFSM4G4R3NQQ .

Jurze commented 3 years ago

That's nice to hear. I appreciate your work just because i never could do this on my own. Take your time. Thank you.

DerfOh commented 3 years ago

Be patient, development is ongoing 😃 czw., 28 sty 2021, 19:10 użytkownik Fredrick P. notifications@github.com napisał: There will be a meeting on Saturday to discuss how this issue can be resolved. The idea is to form a task force from different projects to resolve the missing part for CR3. Any help is welcome. Topic: Support for ISOBMFF Files (AVIF, HEIF, CR3) Time: Jan 9, 2021 07:30 PM Amsterdam, Berlin, Rome, Stockholm, Vienna Join Zoom Meeting https://us05web.zoom.us/j/82168885673?pwd=K3pqRThERVNQK2JQR2ZweStwS2Nkdz09 Meeting ID: 821 6888 5673 Passcode: L1B3Hz Furhter discussion are ongoing here: https://app.element.io/#/room/#exiv2-chat:matrix.org How'd it go? I too am still waiting for this feature. — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#2170 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACRRKFN2YHF6BCRIGLLWWEDS4GSCRANCNFSM4G4R3NQQ .

Awesome! Thanks for the update! Sorry for shoulder surfing while you work :)

quovadit commented 3 years ago

@johnny-bit : is there anything I can do to help?

I would like to buy the canon r5, but of course it does not make any sense unless dt supports cr3

johnny-bit commented 3 years ago

@quovadit - the https://github.com/darktable-org/darktable/pull/8340 PR by @1div0 does enable ISOBMFF reading support coming in eviv2 v 0.27.4, which is prerequisite for CR3 support.

This is the last step needed before rawspeed work, so after that PR is merged the missing puzzle would be in rawspeed. If you wish to help then I guess best bet would be to immerse yourself in rawspeed and coordinate with @LebedevRI

mfg92 commented 3 years ago

I just want to inform you that there is now a RC for EXIV2 with support for bmff/cr3 files: https://github.com/Exiv2/exiv2/releases/tag/v0.27.4-RC2