Coder Social home page Coder Social logo

xtremestuff / protune-transforms Goto Github PK

View Code? Open in Web Editor NEW
114.0 7.0 16.0 81 KB

GoPro Protune Flat & LogB ACES IDTs and YRGB Transforms for DaVinci Resolve (Based off HERO5 Black)

License: The Unlicense

Batchfile 33.22% Shell 66.78%
aces davinci-resolve davinciresolve idt input-device-transform gopro

protune-transforms's Introduction

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

Custom ACES IDT & ODT

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

protune-transforms's People

Contributors

rikshadriver avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

protune-transforms's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.