Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make DNG OpcodeLists available from rawler #374

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

paolodepetrillo
Copy link

The purpose of this change is to make the DNG OpcodeList tags available through the rawler API, so that they can be accessed from within vkdt to implement some opcode list processing for lens corrections.

It specifically gets the tags corresponding to the raw image, which might be in either Image or SubImage1, and ignores any OpcodeLists for preview / thumbnail images elsewhere in the file.

I also started writing a decoder in rust for the opcodes - can finish it and provide it if it would be useful for implementing opcode list processing in dnglab in the future.

@cytrinox
Copy link
Contributor

Thanks for your first contribution.

As DNG opcodes are not related to EXIF but to RAW metadata, these new properties should moved into RawMetadata struct instead.

Opcode processing would be awesome. I've yet added a new raw development pipeline to generate previews (if missing) and long-term idea is to allow preprocessing raw data before writing into DNG like scaling, demosaic etc. Both processes would benefit from opcode support.

@cytrinox cytrinox added this to the 0.6.1 milestone Jan 6, 2024
@paolodepetrillo
Copy link
Author

I will open another PR that puts the properties directly into RawMetadata.

A while ago I had made this simple script dngpreprocess which used the Adobe DNG SDK to apply the OpcodeList2 / 3 processing and write out a DNG. The purpose was a short term workaround to allow DNGs that needed the opcode list processing to be edited in apps like darktable that didn't have full opcode support yet. Eventually if the opcode processing is added to dnglab, it could replace that script.

@cytrinox cytrinox mentioned this pull request Mar 7, 2024
@cytrinox cytrinox modified the milestones: 0.6.1, 0.6.2 Apr 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants