protune-transforms
protune-transforms copied to clipboard
GoPro Protune Flat & LogB ACES IDTs and YRGB Transforms for DaVinci Resolve (Based off HERO5 Black)
protune-transforms
GoPro Protune Transforms
The following are a series of GoPro Protune Input Transforms (IDT) and Output Transforms (ODT) for DaVinci Resolve.
Depending on the chosen Color Science, they can be used either in ACES or in DaVinci YRGB.
The Protune gamma curve is based off the Technicolor CineStyle gamma.
Naming Convetion
All files with the exception of the ACES IDTs & ODTs use the following naming convention:
GoPro_Protune_<CAMERA-COLOR-SPACE>_<DESTINATION-COLOR-SPACE>_<DESTINATION-GAMMA>.dctl
Legacy vs v2 Transforms
The Legacy Transforms are based off the color primaries identified from the colour dataset that has been reverse engineered: https://colour.readthedocs.io/en/v0.3.10/colour.models.rgb.dataset.gopro.html
These older transforms have now been moved into a Legacy directory for backwards compatibility.
The v2 transforms are based off the Native to sRGB color transform matrix revealed in an old instance of GoPro Studio (v2.5.11).
All subsequent transforms have been developed using the Native to XYZ matrix values derived from this source.
As confirmed by David Newman from GoPro, the Native to sRGB matrix was calculated with the IMX117 sensor which was used for earlier GoPro models up to Hero 5.
Recent GoPro camera releases have different sensors but they appear to use the same color matrix data. #
# Important: Whilst all GoPros appear to use the same Color Matrices, the raw gains applied for Native White Balance are different between the various imaging sensors and even within the models using the same sensors.
The resulting XYZ Matrix will be different for each GoPro model.
There will be slight color variations when the "Native" color transforms (based off the IMX117 sensor & HERO5 Black) are used across the different GoPro iterations.
The Rec.709 Gamut based transforms should work across all variations regardless.
Sensor Data
The imaging sensors and their associated GoPro models are listed below:
Sensor | Camera |
---|---|
IMX117 | Hero 3 Black Hero 3+ Black Hero 4 Black Hero 5 Black |
IMX277 | Hero 6 Black Hero 7 Black Hero 8 Black |
IMX677(L) | Hero 9 Black Hero 10 Black Hero 11 Black Hero 12 Black |
Matrix Data
The Native to XYZ matrix (for IMX117 based GoPro HERO5) is derived as below *:
[ 0.501918 0.294524 0.154014 ]
[ 0.138173 0.913553 -0.051725 ]
[ 0.078774 -0.320766 1.331049 ]
* A slight margin of error must be factored in due to the 3 decimal place rounding on the source Native to sRGB matrix data.
For camera specific profiles, including WIDE=1, custom LOGB parameters and Tungsten presets, refer to the commercially available GP-Tune Transform instead: https://xtremestuff.net/store/gp-tune-transform/
See Discussion for more information.
Installation
The DCTL files contain ACES IDTs, ODTs and various Gamma/Gamut transforms.
Older instances of the transforms with the colour derived matrices are contained in the Legacy folder.
Installation can be done automatically by using the included Windows batch file and/or the *nix (Linux/Unix) shell script.
Manual installation details are listed in the sections below.
LUT Folder
Save the non-ACES DCTL files in the LUT folder to the relevant location based on the host Operating System as noted below:
Windows
C:\ProgramData\Blackmagic Design\DaVinci Resolve\Support\LUT\
Mac
/Library/Application Support/Blackmagic Design/DaVinci Resolve/LUT
iPad
LUT folder located within DaVinci Resolve App
Linux
/home/resolve/LUT
or
/opt/resolve/LUT
ACES IDT Folder
Note: If using Resolve 16 or below, copy the ACES DCTL files in the IDT folder to the designated LUT folder mentioned above.
If using Resolve 17 or above, The ACES DCTL files in the IDT folder must be copied to the appropriate IDT directory based on the host Operating System:
Windows
%APPDATA%\Blackmagic Design\DaVinci Resolve\Support\ACES Transforms\IDT\
Mac
~/Library/Application Support/Blackmagic Design/DaVinci Resolve/ACES Transforms/IDT/
iPad
Resolve 18.6.2 and above
ACES Transforms/IDT/ folder within DaVinci Resolve App folder structure
If the folders do not exist, they may need to be created manually.
Older Resolve versions
Not possible with older iPad releases. Follow instructions to use via LUT Menu instead
Linux
~/.local/share/DaVinciResolve/ACES Transforms/IDT/
ACES ODT Folder
Note: If using Resolve 16 or below, copy the ACES DCTL files in the ODT folder to the designated LUT folder mentioned above.
If using Resolve 17 or above, The ACES DCTL files in the ODT folder must be copied to the appropriate IDT directory based on the host Operating System:
Windows
%APPDATA%\Blackmagic Design\DaVinci Resolve\Support\ACES Transforms\ODT\
Mac
~/Library/Application Support/Blackmagic Design/DaVinci Resolve/ACES Transforms/ODT/
iPad
Resolve 18.6.2 and above
ACES Transforms/ODT/ folder within DaVinci Resolve App folder structure
If the folders do not exist, they may need to be created manually.
Older Resolve versions
Not possible with older versions.
Linux
~/.local/share/DaVinciResolve/ACES Transforms/ODT/
Usage
Exposure Notes
The Protune Gamma curve is defined within the 0 - 1 range with the peak being equivalent to SDR Peak White. Despite this, the curve has a significantly higher Middle Gray value of 68% IRE. A significant portion of the curve is allocated to the lower code values under Middle Gray. This means that when footage is corrected using the transforms, anything under-exposed will be pushed further towards the shadows. To counteract this, the footage should either be exposed correctly, or under-exposed by 1-2 stops when recording and adjusted in Resolve accordingly after applying the transform.
DaVinci YRGB Color Science
Usage in DaVinci CTL or via LUT Menu
Select the relevant dctl file via the LUT menu (or DaVinci CTL if using Resolve 16 or below). Ensure Input Color Space is set to Bypass (or Same as Timeline) for the relevant clip. Ensure the selected DCTL matches with the project's Timeline Color Space and Gamma. Input DRT should be set to None.
ACES Color Science
Usage as ACES IDT or ODT
As of Resolve 17, the IDT can be loaded as an Input Transform via the Project settings and the ODT can also be loaded as an Output Transform via the Project settings.
As of Resolve 17.2, the IDT files can be selected as ACES Input Transforms for individual clips.
Usage via ACES Transforms
The IDT and ODT can be used through Resolve's ACES Transforms OFX plugin
Usage in ACES via LUT Menu
To use in ACES via the LUT menu (or DaVinci CTL if using Resolve 16 or below), copy the IDT folder contents to the LUT folder and comment out the first few lines as follows:
//#if (__RESOLVE_VER_MAJOR__ >= 17)
//DEFINE_ACES_PARAM(IS_PARAMETRIC_ACES_TRANSFORM: 0)
//#endif
Ensure Input Transform is set to None for each clip.
Tutorials
How to use Custom ACES IDTs & ODTs in DaVinci Resolve
ACES Input Transforms
GoPro_Protune_Native_ACES_v2.dctl
IDT for ACES using Protune (FLAT) Gamma with Native Color Space - with CAT02 Chromatic Adaptation for use in DaVinci Resolve
GoPro_Protune_Rec709_ACES.dctl
IDT for ACES using Protune (FLAT) Gamma with Rec.709 (non-Native) Color Space - with CAT02 Chromatic Adaptation for use in DaVinci Resolve
GoPro_Protune-LogB400_Rec709_ACES.dctl
IDT for ACES using Protune (FLAT) LogB=400 Custom Gamma with Rec.709 (non-Native) Color Space - with CAT02 Chromatic Adaptation for use in DaVinci Resolve
GoPro_Protune_Native_Bradford-CA_ACES.dctl (Legacy)
Legacy IDT for ACES using Protune (FLAT) Gamma with Native Color Space - with Bradford Chromatic Adaptation (For test purposes only)
GoPro_Protune_Rec709_Bradford-CA_ACES.dctl (Legacy)
Legacy IDT for ACES using Protune (FLAT) Gamma with Rec.709 (non-Native) Color Space - with Bradford Chromatic Adaptation (For test purposes only)
ACES Output Transforms
Protune Native ODT - CSC.dctl
ODT for ACES with output to Protune (FLAT) Gamma with Native Color Space - with CAT02 Chromatic Adaptation for use in DaVinci Resolve
DaVinci Intermediate Transforms
Native Color Gamut
GoPro_Protune_Native_DWG_DaVinci-Intermediate_v2.dctl
Input Transform for YRGB using Protune (FLAT) Gamma with Native Color Space - output to DaVinci Wide Gamut and DaVinci Intermediate
GoPro_Protune_Native_Rec2020_DaVinci-Intermediate_v2.dctl
Input Transform for YRGB using Protune (FLAT) Gamma with Native Color Space - output to Rec.2020 and DaVinci Intermediate
Rec.709 Color Gamut
GoPro_Protune_Rec709_DWG_DaVinci-Intermediate.dctl
Input Transform for YRGB using Protune (FLAT) Gamma with Rec.709 Color Space - output to DaVinci Wide Gamut and DaVinci Intermediate
GoPro_Protune_Rec709_Rec2020_DaVinci-Intermediate.dctl
Input Transform for YRGB using Protune (FLAT) Gamma with Rec.709 Color Space - output to Rec.2020 and DaVinci Intermediate
GoPro_Protune-LogB400_Rec709_DWG_DaVinci-Intermediate.dctl
Input Transform for YRGB using Protune (FLAT) LogB=400 Custom Gamma with Rec.709 Color Space - output to DaVinci Wide Gamut and DaVinci Intermediate
GoPro_Protune-LogB400_Rec709_Rec2020_DaVinci-Intermediate.dctl
Input Transform for YRGB using Protune (FLAT) LogB=400 Custom Gamma with Rec.709 Color Space - output to Rec.2020 and DaVinci Intermediate
Other DaVinci YRGB Transforms
Native Color Gamut
GoPro_Protune_Native_Rec709_Scene_v2.dctl
Input Transform for YRGB using Protune (FLAT) Gamma with Native Color Space - output to Rec.709 Scene
GoPro_Protune_Native_Rec709_Gamma-2.2_v2.dctl
Input Transform for YRGB using Protune (FLAT) Gamma with Native Color Space - output to Rec.709 Gamma 2.2
GoPro_Protune_Native_Rec709_Gamma-2.4_v2.dctl
Input Transform for YRGB using Protune (FLAT) Gamma with Native Color Space - output to Rec.709 Gamma 2.4
GoPro_Protune_Native_Rec709_Gamma-2.6_v2.dctl
Input Transform for YRGB using Protune (FLAT) Gamma with Native Color Space - output to Rec.709 Gamma 2.6
GoPro_Protune_Native_P3-D65_Scene_v2_v2.dctl
Input Transform for YRGB using Protune (FLAT) Gamma with Native Color Space - output to P3-D65 Scene
Rec.709 Color Gamut
GoPro_Protune_Rec709_Rec709_Scene.dctl
Input Transform for YRGB using Protune (FLAT) Gamma with Rec.709 Color Space - output to Rec.709 Scene
GoPro_Protune_Rec709_Rec709_Gamma-2.2.dctl
Input Transform for YRGB using Protune (FLAT) Gamma with Rec.709 Color Space - output to Rec.709 Gamma 2.2
GoPro_Protune_Rec709_Rec709_Gamma-2.4.dctl
Input Transform for YRGB using Protune (FLAT) Gamma with Rec.709 Color Space - output to Rec.709 Gamma 2.4
GoPro_Protune_Rec709_Rec709_Gamma-2.6.dctl
Input Transform for YRGB using Protune (FLAT) Gamma with Rec.709 Color Space - output to Rec.709 Gamma 2.6
GoPro_Protune-LogB400_Rec709_Rec709_Scene.dctl
Input Transform for YRGB using Protune (FLAT) LogB=400 Custom Gamma with Rec.709 Color Space - output to Rec.709 Scene
GoPro_Protune-LogB400_Rec709_Rec709_Gamma-2.2.dctl
Input Transform for YRGB using Protune (FLAT) LogB=400 Custom Gamma with Rec.709 Color Space - output to Rec.709 Gamma 2.2
GoPro_Protune-LogB400_Rec709_Rec709_Gamma-2.4.dctl
Input Transform for YRGB using Protune (FLAT) LogB=400 Custom Gamma with Rec.709 Color Space - output to Rec.709 Gamma 2.4
GoPro_Protune-LogB400_Rec709_Rec709_Gamma-2.6.dctl
Input Transform for YRGB using Protune (FLAT) LogB=400 Custom Gamma with Rec.709 Color Space - output to Rec.709 Gamma 2.6