cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Does anyone know if there is a tool available to convert DPP3 recipes to the DPP4 format?

andre-7d
Contributor

I have TBs worth of edits in DPP3 and cannot archive them in the way that DPP4 would apply those edits. For now I'm able to use DPP3, but it will likely fail to run at some point on whatever version of Windows makes it incompatible.

Does anyone know of any tool that can convert .VRD recipe files into .DR4?

1 ACCEPTED SOLUTION

andre-7d
Contributor

Here's how DPP3 and DPP4 store recipes in CR2 files, for those who are interested. This post is purely informational, as I haven't found the tool to automate this process yet.

You will need a fairly recent version of exiftool to run some of the examples. DO NOT run any of the commands modifying images against your actual images. Use a throw-away copy for experimentation.

Both versions of DPP store recipes in EXIF tags, under CanonVRD. DPP3 and DPP4 tags are mixed in and some have the same names and some do not.

Here's how you can see all recipe tags:

 

exiftool -s -a -G -H -CanonVRD:all _MG_2280.CR2

 

I will demonstrate DPP3 vs. DPP4 tags using RAW brightness value. If image RAW brightness value was changed in both, DPP3 and DPP4, this command will show two brightness values.

 

exiftool -s -a -G -H -CanonVRD:RawBrightnessAdj _MG_2280.CR2
[CanonVRD]      0x20001 RawBrightnessAdj               : 1.25
[CanonVRD]      0x0038 RawBrightnessAdj                : 2.00

 

The top one is for DPP4 and the bottom is for DPP3. Notice how they have the same name and different tag IDs. This means that some of the scripts circulating online may not work as intended if just the tag name is used to set the value.

Here's an example how I can take the DPP3 value and apply it against the image, so DPP4 will show the desired brightness, which in this case is 2.0.

 

exiftool -CanonVRD:ID-0x20001:RawBrightnessAdj=2.00 _MG_2280.CR2

 

If you have DPP4 open in this directory, you will see brightness jump up immediately after this command.

Tag names don't always match between DPP3 and DPP4. For example, crop tag names for DPP3 look like this.

 

[CanonVRD]      0x0246 CropLeft                        : 684
[CanonVRD]      0x0248 CropTop                         : 726
[CanonVRD]      0x024a CropWidth                       : 3417
[CanonVRD]      0x024c CropHeight                      : 2278

 

, while crop tag names for DPP4 look like these.

 

[CanonVRD]      0x0003 CropX                           : 100
[CanonVRD]      0x0004 CropY                           : 100
[CanonVRD]      0x0005 CropWidth                       : 3877
[CanonVRD]      0x0006 CropHeight                      : 2585

 

DPP4 recipes saved as standalone files are stored as EXIF values as well, so you can see all DPP4 tag values if you run the same command against a .dr4 file, like this.

 

exiftool -s -a -G -H -CanonVRD:all _MG_2280.dr4

 

You can see a full list of Canon VRD tags and meanings of some values on this page.

https://exiftool.org/TagNames/CanonVRD.html

Update 2022-12-19

Posted a thread on exiftool forums on why JSON export/import fails. JSON may be used to extract DPP3 values, remapped into using DPP4 tag IDs and then imported into .CR2 images.

https://exiftool.org/forum/index.php?topic=14288.0

This is work in progress. I will keep updating this post if anything interesting surfaces in my search, because Canon forums are messy in how they present threads.

View solution in original post

31 REPLIES 31

I guess what my friends are trying to say is, no, there is no way that we know of that will translate/convert DPP 3 recipes into something DPP 4 will read, be it a saved recipe or one that's imbedded. I went  to DPP 4 early on and knew that it wasn't compatible in reading of recipes from 3. I saw this the first time I brought in a DPP 3 edited Raw file into 4. I have always saved my edits (recipe) when I exit DPP by selecting "Yes to all" when I exit or change folders when prompted. I spent the better part of a year trying to solve this issue, and eventually gave up, but that was years ago (I am X IT and systems admin, so I have access to resources). Since reading your post, I have done more research, and once again came up with no options. Although I do have DPP 3 on an old XP laptop, I seldom open it up. However, I also have TB's of images edited in DPP 3, I seldom have to re-edit more than 5 or 6 at a time, so I just edit one in DPP 4, copy the recipe, not a DR4, just a copy and batch paste to the others. That's my solution. TBH, DPP 4 handles the older Canon Raw files better than DPP 3 ever did, so I don't mind. I sometimes re-edit files from my XSi, XTi, and T4i in DPP 4 and see a vast improvement in noise reduction, lens correction, and color correction, especially with the older lenses that I used with those cameras.

On a side note, the DPP 3 imbedded recipes are still there, even in a file that's been saved in DPP 4. DPP 4 just ignores them. I've looked at the files in a hex editor, but you can open one in a text editor, like note pad, and see the ver. 3 code.

Newton

I think you have your answers.

I never worked in IT, but wrote PC bios, various firmware, graphics card drivers, computer models of physical processes, wind shear algorithms, and subscribed to ACM SigGraph and IEEE Computer Graphics for years.

If you decode the format of file.dr4 I would be be interested in learning about it. Thanks.

John

 

I'm still researching and will post an update here if I find anything.


@johnrmoyer wrote:

If you decode the format of file.dr4 I would be be interested in learning about it. Thanks.

John


 John, I wish I could give you details. it's been years and I've long since retired from coding, so I doubt I'll dive into DR4 or imbedded Raw . IIRC, I used a program called "UltraEdit" (it's still on the market) and didn't really decode Canon's Raw image base, but I could see header info and portions that were in both text and hex. Canon was a little less secure in those days. The program has dual windows, hex, or whatever code on one side and txt on the other. We had 5 seats of it and it was heavily used at my company, just a nice program.

Newton

Thanks. With regards to seeing the DPP3 recipe, you don't have to look at those DPP3 settings in hex. Run this to see the values.

exiftool -s -G -CanonVRD:all _MG_2280.CR2

 


@andre-7d wrote:

Thanks. With regards to seeing the DPP3 recipe, you don't have to look at those DPP3 settings in hex. Run this to see the values.

 

 

exiftool -s -G -CanonVRD:all _MG_2280.CR2

 

 

 


Agree, I just mentioned it because it was one of the first things I did to see what was goin on in there. I had read that the DPP 3 recipe was still imbedded in the Raw file, just ignored by 4. I'm a curious fellow 🙂 Please keep in mind that when I was fooling around with this stuff, it was the early 2000's.

Good luck on your research!

Newton

andre-7d
Contributor

Here's how DPP3 and DPP4 store recipes in CR2 files, for those who are interested. This post is purely informational, as I haven't found the tool to automate this process yet.

You will need a fairly recent version of exiftool to run some of the examples. DO NOT run any of the commands modifying images against your actual images. Use a throw-away copy for experimentation.

Both versions of DPP store recipes in EXIF tags, under CanonVRD. DPP3 and DPP4 tags are mixed in and some have the same names and some do not.

Here's how you can see all recipe tags:

 

exiftool -s -a -G -H -CanonVRD:all _MG_2280.CR2

 

I will demonstrate DPP3 vs. DPP4 tags using RAW brightness value. If image RAW brightness value was changed in both, DPP3 and DPP4, this command will show two brightness values.

 

exiftool -s -a -G -H -CanonVRD:RawBrightnessAdj _MG_2280.CR2
[CanonVRD]      0x20001 RawBrightnessAdj               : 1.25
[CanonVRD]      0x0038 RawBrightnessAdj                : 2.00

 

The top one is for DPP4 and the bottom is for DPP3. Notice how they have the same name and different tag IDs. This means that some of the scripts circulating online may not work as intended if just the tag name is used to set the value.

Here's an example how I can take the DPP3 value and apply it against the image, so DPP4 will show the desired brightness, which in this case is 2.0.

 

exiftool -CanonVRD:ID-0x20001:RawBrightnessAdj=2.00 _MG_2280.CR2

 

If you have DPP4 open in this directory, you will see brightness jump up immediately after this command.

Tag names don't always match between DPP3 and DPP4. For example, crop tag names for DPP3 look like this.

 

[CanonVRD]      0x0246 CropLeft                        : 684
[CanonVRD]      0x0248 CropTop                         : 726
[CanonVRD]      0x024a CropWidth                       : 3417
[CanonVRD]      0x024c CropHeight                      : 2278

 

, while crop tag names for DPP4 look like these.

 

[CanonVRD]      0x0003 CropX                           : 100
[CanonVRD]      0x0004 CropY                           : 100
[CanonVRD]      0x0005 CropWidth                       : 3877
[CanonVRD]      0x0006 CropHeight                      : 2585

 

DPP4 recipes saved as standalone files are stored as EXIF values as well, so you can see all DPP4 tag values if you run the same command against a .dr4 file, like this.

 

exiftool -s -a -G -H -CanonVRD:all _MG_2280.dr4

 

You can see a full list of Canon VRD tags and meanings of some values on this page.

https://exiftool.org/TagNames/CanonVRD.html

Update 2022-12-19

Posted a thread on exiftool forums on why JSON export/import fails. JSON may be used to extract DPP3 values, remapped into using DPP4 tag IDs and then imported into .CR2 images.

https://exiftool.org/forum/index.php?topic=14288.0

This is work in progress. I will keep updating this post if anything interesting surfaces in my search, because Canon forums are messy in how they present threads.

Thanks again. Prompted by your post, this is how I plan to save a record of my edits in a text file using ksh on my iMac or on my Debian Linux machines:

( for i in *.dr4
do
echo $i | sed 's/^IMG_//' | sed 's/.dr4$//'
done ) | ( while read name
do
/bin/ls -l IMG_${name}.dr4
exiftool -s -a -G0:2 -H -CanonVRD:all IMG_${name}.dr4 | cat -v > img_${name}_dr4.txt
done )

 

Nice. I also picked up `-G0:2` - useful bit. One thing to mention is that you can also automate extraction of the DPP4 recipe with this command.

exiftool -b -CanonVRD:CanonDR4 _MG_2280.CR2 > _MG_2280.dr4

This produces same tags as against those DPP4 exports in .dr4 files, but files are binary-different. I haven't looked into this beyond that DPP4 reads and applies these recipes just fine, so you may want to experiment with this.

Avatar
click here to view the gallery
Announcements