Cinelog - True logspace conversion for DNG and CinemaDNG footage

Started by Andy600, January 24, 2014, 06:05:11 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

andrewfox

Hello. I have read the entire thread and have been following this product for a long time. I am about to have a magic lantern raw video graded by a colourist (in a few hours!). He will be working directly on the DNG files in Resolve. Is there any tangible advantage in having him do the grade through a CINELOG input LUT? If so, what is it exactly?

Many thanks! I look forward to hearing from you.


Andy600

@andrewfox - Did you email me under another name? If so, I just emailed back :)

if not, here's what i wrote:

Your colorist should be ok with MLV but there is a gotcha. The color matrices that get embedded by most mlv-to-dng apps are not very accurate and this can lead to headaches when doing the initial white balance and primary grade. Currently only raw2cdng and MLVFS embed accurate color and forward matrices. These are needed to tell resolve how to transform from camera RGB values to CIE XYZ then on to BMD Film primaries.

The main benefits of Cinelog-C over BMD Film is that we transform the 'unpublished' BMD Film colorspace to a published colorspace (Alexa Wide Gamut RGB) with a Cineon log curve that can be easily transformed to any other colorspace and is more compatible with print luts that require print density input. We do this using very high precision shaper luts which are both 1D (for the log transfer) and 3D (for color transform). If you colorist has a preference for say Log-C from the Alexa you can transform Cinelog-C to Alexa Log-C (with or without the Film Matrix) and this will give the colorist something more familiar to work with. The luts can be used to good effect in a raw-to-deliverable pipeline. I would suggest talking to your colorist to see what they prefer and feel free to pass on my details if they want to know more about Cinelog-C.

If you are doing a raw-to-deliverable grade it's likely you will need to use a proxy workflow in order to edit the footage outside of Resolve. This involves relinking files and a can add more time to the workflow. By creating a log master such as ProRes XQ in Cinelog-C colorspace you don't need proxies. You can edit and grade the log masters. This will also save time and processing power as the debayering has already been done plus the file sizes become much more portable in comparison to raw. The only draw back is that your exposure and white balance will be baked-in so it's important to get this right. Beyond this there is no visible difference in final output between grading with the raw material verses the ProRes file.

The other big benefit Cinelog-C is that we bridge the gap to other commercial lut packs and app presets that are developed for other cameras/colorspace (i.e. Koji, VisionColor, Film Convert Pro etc) plus there is the Cinelog LUT Bank where you will find many high quality graded print look luts and more technical display space transforms. We are also continually developing Cinelog-C and will soon include input transforms for baked camera profiles such as GoPro Protune, Prolost Flat, Technicolor Cinestyle etc.
Colorist working with Davinci Resolve, Baselight, Nuke, After Effects & Premier Pro. Occasional Sunday afternoon DOP. Developer of Cinelog-C Colorspace Management and LUTs - www.cinelogdcp.com

andrewfox

Hi Andy, yes it was me, I had not received your reply yet before posting. Thanks. It all makes a lot of sense. Being on here too, it will hopefully help other users as well.

DeafEyeJedi

... It definitely DOES help and that's the beauty of this remarkable community and it's forum created by @a1ex & along w the help of others!

Good read so far guys and thanks for the follow-up's as always @Andy600.
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109

QuickHitRecord

@Andy600

I tried to take my 5D3 raw footage back to Rec.709 in the most direct and faithful way possible for a camera comparison, and I used BMDFilm > BMDFilm to CineLog-C > CineLog-C to Rec.709. But this really doesn't look right to me:

https://vimeo.com/119093979
PW: cine

Any suggestions?
5DmIII | January 27 2017 Nightly Build (Firmware: 1.23) | KomputerBay 256GB CF Cards (1066x & 1200x)

Andy600

@QuickHitRecord - There is no definitive REC709 look, only the many variations that camera manufacturers provide to fit the data into the display space in a way they feel looks pleasing - but nearly always requiring some work. This is why ARRI Rec 709 looks different to Sony LC709 etc. The Cinelog-C to REC709 luts (legal and full range) both remap Alexa Wide Gamut RGB to REC709 primaries and are based on the Rec709 transfer characteristics (actually we used BT.1886 ~2.4 gamma) which exceeds the capabilities of most displays - i.e. you still need to bring down the highlights and lift shadows to avoid clipping.

The other Cinelog REC709 luts have an additional S-curve designed to do this. You could even try Sony, ARRI or Canon Rec709 luts by transforming from Cinelog-C to the relevant colorspace (Canon log, Slog etc).

The Cinelog Rec709 luts (apart from the DSLR look Rec709 luts) are simple matrix transforms and transfer functions baked into luts. They don't manipulate color hues independently (neither do most manufacturer REC709 luts) and they are totally neutral in that, when you apply the transforms to a test chart, gray values stay equal for RGB channels from black to white and color values remap to exactly where they should be.

We don't include a lut to do this but I can easily build one that transforms from BMD Film to Cinelog-C to Resolve REC709 that replicates the look as if you had debayered to Resolve's REC709 colorspace - if you want. It won't be pretty but you'll see how accurate the Cinelog-C luts are.

If anything I would say your Cinelog-C to REC709 footage is a little warmer (white balance) and has more contrast and richer color. The FS7 looks brittle in comparison and the C100, although better color, looks a bit lacking in something. I prefer warmer skin tones myself but there is nothing in the Cinelog-C luts that enhance warmth - they are very neutral. If you are trying to camera match I would suggest transforming everything (all shots) to scene linear and use the color match function, then use resolves linear to REC709 lut or use ACES. 

Incidentally, what did you use to extract the MLVs? and did you manipulate the white balance/tint settings or use As Shot values?
Colorist working with Davinci Resolve, Baselight, Nuke, After Effects & Premier Pro. Occasional Sunday afternoon DOP. Developer of Cinelog-C Colorspace Management and LUTs - www.cinelogdcp.com

Andy600

I just noticed on your Vimeo write-up that you specify Cinelog-C to REC709 Monitor Transform lut?
Colorist working with Davinci Resolve, Baselight, Nuke, After Effects & Premier Pro. Occasional Sunday afternoon DOP. Developer of Cinelog-C Colorspace Management and LUTs - www.cinelogdcp.com

QuickHitRecord

Andy, as always I appreciate the quick and detailed response. I get frustrated with CineLog sometimes because I know that I am not using it correctly, and then I try to follow your advice and end up getting weird results like this:



Starting in BMD Film color space (not 4K; highlight recovery on)
First node: BMD Film to CineLog-C LUT
Second node: CineLog-C to ACES LUT
Third node: Linear to Rec.709 LUT

I did use a gray card for color balance in there somewhere using the Camera Raw Clip Decoder Settings... should this be taking place in a certain node?

My MLVs are going through RawMagic. I remember reading your recommendations for some of the other programs because they preserve the color temperature camera metadata, but the last time I checked, they don't sync up audio the way that RawMagic does. I also have MLRawViewer, but I got some weird artifacts around burned highlights so I stopped using it. Is this where the disconnect is?

Finally, I did use a display LUT to transform the CineLog-C footage to Rec.709 because it was the only place that I could find that transformation LUT. I also tried it with CineLog-C to CineLog Universal Film Rec.709 (both FULL and LEGAL) and got pleasing, but very saturated and surreal colors.
5DmIII | January 27 2017 Nightly Build (Firmware: 1.23) | KomputerBay 256GB CF Cards (1066x & 1200x)

DeafEyeJedi

I can sometimes get just as frustrated as well. Actually I am perplexed regarding the fact that you prefer RAWMagic over MLVFS (or other decent converters)?

I feel you about MLRV's weird artifacts around the burned HL.

I really try hard to stick with the latest MLVFS (unfortunately DR 11 just lags so bad on playback in my 2012 Mac Mini)

I'll keep trying though... thanks @Andy600 for keeping us magically motivated to continue our eagerness to get this resolved regardless!
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109

Kharak

Aren't raw2cdng and MLrawViewer the only converters now that use the accurate Colour matrices to work with Cinelog-C ?

Try converting with RAW2CDNG and see if you get the same results.
once you go raw you never go back

Andy600

@QuickHitRecord - You will get problems using that series of luts because you are transforming to ACES primaries but still viewing on a monitor that is, I presume, sRGB or REC709 (both sRGB and REC709 use the same primaries known as chromaticity).

The boundary of ACES colorspace is far bigger than any display can reproduce and goes beyond even what is perceptible to the human eye. By transferring the gamma from Linear to REC709 you are shifting the image into a display gamma more suitable for your monitor but the primaries are still ACES and, in this instance (going from sRGB to ACES), you will get very weird colors.

The chromaticity of a colorspace can be defined simply enough but the influence of light and many other factors dictate how hue, saturation and brightness (in 3 dimensions) are displayed and it's not easy to simplify (I can't even begin to do that here) or visualize - http://en.wikipedia.org/wiki/Planckian_locus. It's color science - 'science' being the operative word.

re: luts. It's difficult to see the technical influence of a lut on color and gamma when looking at a shot/scene but you can get a better idea by looking at it's influence on a chart. Resolve has several built-in charts but you can't apply luts to them directly - you can though export them though ;) I've exported 3 of the most useful ones and transformed them from linear RGB to Cinelog-C colorspace.

The reason I have pre-transformed them to Cinelog-C is because all the Cinelog-C viewing luts (i.e. REC709, Film looks etc) and most of the Cinelog-C colorspace transform luts are defined for an image that is already in Cinelog-C colorspace. If you apply any of these luts to the charts and pull up the Resolve scopes you will get a better idea of how they affect color (limited to the scopes 2 dimensions) and be able to see the gamma or log curve transformation curves. https://bitbucket.org/andy600/andy50d2/downloads/Cinelog-C_Resolve_Charts.zip

re: RAWMagic - apart from not being supported here, it only embeds a single illuminant matrix (ok, 2 but the second is a duplicate). This will affect color in resolve. If you accurately white balanced when shooting it will not affect things but if you didn't and you have left WB to post you will certainly need a greycard or whitecard to get anywhere close to neutral. White balance nearly always requires a little tweaking in post but it helps if the color matrices are well defined (for 2 different illuminants). This helps Resolve white balance interpolate better between color temperatures and should also let you use the preset white balance settings as a starting point (the Magenta/Green offset you need is always displayed in the camera raw panel).

As for saturation. This is personal taste. Canon DSLR matrices push saturation a little further than cinema cameras but you can always reduce saturation if you prefer. The saturation and colorboost controls in Resolve do a good job but for a fully uniform reduction (or increase) in RGB levels I would suggest adding a node before the output lut (REC709 or Film look) and pulling down the Red, green and Blue levels to 0 then use the key page to increase to level of saturation you want. For more sat you would push up the RGB levels and decrease the amount using the key.
Colorist working with Davinci Resolve, Baselight, Nuke, After Effects & Premier Pro. Occasional Sunday afternoon DOP. Developer of Cinelog-C Colorspace Management and LUTs - www.cinelogdcp.com

Andy600

Incidentally, it might be confusing to some that a wide gamut colorspace looks desaturated - the logic being that some people think of a colorspace only in terms of saturation. A wide gamut colorspace is not actually desaturated and the lower saturation is due to the affect of viewing a wider gamut image on an sRGB monitor.
Colorist working with Davinci Resolve, Baselight, Nuke, After Effects & Premier Pro. Occasional Sunday afternoon DOP. Developer of Cinelog-C Colorspace Management and LUTs - www.cinelogdcp.com

QuickHitRecord

Thanks again for a thorough explanation. Point well taken on the ACES color space not looking so great on my limited-spectrum iMac monitor. I will download those charts and have a play after work.

Just to clarify, is MLVFS a good alternative to RawMagic when it comes to working with Cinelog (turns out that the newer version embeds audio)? Taking into account the latest developments, could you perhaps provide a list of 'Recommended' vs 'Not Recommended' MLV conversion apps for Cinelog users?
5DmIII | January 27 2017 Nightly Build (Firmware: 1.23) | KomputerBay 256GB CF Cards (1066x & 1200x)

Andy600

@Kharak - Yes, but accurate is perhaps not the best word (that's my fault for using it). The original ML raw color matrix (in raw2dng) was based on the 5D Mark III color matrix but was used for all sensors - the next generation do use a sensor specific matrix but only for a single illuminant. The latest ones (in raw2cdng and MLVFS) are dual illuminant matrices for the various EOS sensors. There is probably more work to be done regarding matrices.
Colorist working with Davinci Resolve, Baselight, Nuke, After Effects & Premier Pro. Occasional Sunday afternoon DOP. Developer of Cinelog-C Colorspace Management and LUTs - www.cinelogdcp.com

Andy600

@QuickHitRecord - If you work in Resolve you should really consider getting another monitor (preferably a good one that can be calibrated) and something like the Blackmagic Decklink Mini Monitor to run it. The internal Resolve monitor window is rudimentary and can't be calibrated. If you can only use this you should always double check everything on the scopes - actually it's always worth keeping an eye on the scopes anyway.

re: converters: http://www.cinelogdcp.com/news-updates/2015/1/27/important-information-for-magic-lantern-users :)

BTW, if you do need to put you image into Linear with sRGB primaries there is a lut in the Cinelog-C pack that will do it. The transfer function is the same as the Cinelog-C to ACES lut but the primaries are transformed to sRGB/REC709. Resolve's linear to REC709 lut will then work ok because it's 1D and does not alter the primaries - but this is effectively like going from Cinelog-C to REC709 anyway.
Colorist working with Davinci Resolve, Baselight, Nuke, After Effects & Premier Pro. Occasional Sunday afternoon DOP. Developer of Cinelog-C Colorspace Management and LUTs - www.cinelogdcp.com

QuickHitRecord

I went back and replaced my RawMagic DNG folders with the MLVFS mounts, and that seemed to help. I followed the suggested Cinelog workflow, creating color-balanced ProResHQ files and then bringing them back into Resolve for a grade. I feel better about these colors (I did push the hue on the ML raw footage to more closely match the other footage; the color differences are too jarring otherwise):

https://vimeo.com/119093979
PW: cine

The thing about Cinelog is that I find it to be a very good starting point for a grade. However, the transfer LUTs are perplexing to me. For instance, taking my Cinelogged ProResHQ files and applying a transfer LUT to S-Gamut3.Cine/SLog3 does not yield results that look anything like the actual S-Gamut3.Cine/SLog3 footage that I have in the same project. And I do own a C100, so I can see a use for using a transfer LUT to map ML raw footage to Canon Log. But there are at least three to choose from. Without knowing what is what, I find myself just clicking through LUTs until I find one that doesn't skyrocket or bury the exposure.

I am looking into the possibility of investing in an FSI monitor. As Andy suggested, I suspect that my not having one is adding to my confusion as I try to figure this out.
5DmIII | January 27 2017 Nightly Build (Firmware: 1.23) | KomputerBay 256GB CF Cards (1066x & 1200x)

DeafEyeJedi

Definitely made a difference in comparisons with the previous grade in last video and this one.

Surprised (or should I not be) to see the softness coming from 5D3 RAW comparing to these two other beasts.

Do you prefer the Nikkor AIS 50 1.8 over the 50L 1.2? (Videography wise)

I've tested it before but only had a few days to play with last year and felt that I needed more time to have a 'decent' relationship with it before buying. I mean it took me years to get used to the 50L 1.2 (however I love it so much that I sometimes hate it!) if you know what I'm saying? lol

Thanks for sharing @QuckHitRecord!
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109

Andy600

@QuickHitRecord - I think maybe your are not accounting for the fact that the Sony and 5D mark III are completely different sensors with very different internal architectures and colorscience. What you are looking at is a Sony shot that is internally debayered and recorded to compressed ProRes in Slog3/S-Gamut3-Cine against a raw Canon DSLR shot. It's a different sensor, completely different color matrices, lower DR and that's without factoring in things like the exposure, lens, lighting, white balance etc.

Remember, our BMD Film colorspace model is reverse engineered because Blackmagic don't publish it - It is 'nearly' perfect. The transform from Cinelog-C to Slog3/S-Gamut3-cine uses the exact log formula and chromaticity as published by Sony but these shots will not match and neither will other cameras - that's not what Cinelog is for and not what we offer (yet). If every camera matched no one would be buying the more expensive ones.

For a better color match you will need to use ACES but for ACES to work as intended you must use an Input Device Transform that is a unique to each camera model. This is something we are working on but it's not an easy task to do correctly and even if/when we have a transform to ACES RRT there will still be variance. We assume that each manufacturer produces their IDT's under lab conditions but if you take footage from say a RED and an Alexa into ACES there is still a difference in color - i.e. someone isn't doing it right.

There are tools for color matching. Light Illusion Color Match is probably the best but it's $500 and you need identically framed shots from each camera for it to work properly.

You can get a better match using Resolve's ColorMatch by transforming each camera's shot of a chart (Macbeth, DSC etc) to linear and hitting match but to do this you need a lut that transforms the Sony Slog3 to linear. It's always best to match color without the influence of gamma.

Logically speaking it is possible to match pixel Lab values between 2 completely different sensors but there are a multitude of factors that limit how close the match can actually be. It can never be perfect. I'm working on a new set of matrices for Magic Lantern because the Adobe ones I submitted, although very good, were developed for photography. I think it's possible that video camera manufacturers use matrix scaling to produce lower saturation in their baked log profiles, partly to ensure there is less chance of clipping and to increase latitude for color grading. This isn't such a big issue with raw images because you can control these things in post before baking an intermediate.

In the meantime I can make intermediate luts that bring all your shots closer (not perfect) in terms of color but you will have to decide which camera to use as the reference - and send me the shots.

re: Canon colorspaces. I actually don't know what colorspace the C100 uses but the Canon transforms in Cinelog-C are the ones published by Canon for the C500. If the C100's Canon Log profile is not in Cinema or P3 gamut I'll assume it's REC709 and will need a simple 1D lut transform. I haven't built input transforms for in-camera log profiles yet (for use in Resolve - but you can do this in the ACR version using OCIO) mainly because Log-C and Slog3 hold more DR than Cineon and will clip the signal but I'll build a couple so you can try things the other way around and transform the C100 and FS7 shots to Cinelog-C.
Colorist working with Davinci Resolve, Baselight, Nuke, After Effects & Premier Pro. Occasional Sunday afternoon DOP. Developer of Cinelog-C Colorspace Management and LUTs - www.cinelogdcp.com

dubzeebass

Andy could you do a step by step for the Xrite or a similar colour tool to help us understand how to use it in MLV? I've tried many times and it comes out shitty.

QuickHitRecord

Quote from: DeafEyeJedi on February 13, 2015, 08:02:54 AM
Do you prefer the Nikkor AIS 50 1.8 over the 50L 1.2? (Videography wise)

I can't comment on the Canon 50mm f/1.2 because I have only ever used the f/1.4 and f/1.8. But I tend to stick to my Nikkor AIS prime set whenever I can.

Quote from: Andy600 on February 13, 2015, 01:51:17 PMRemember, our BMD Film colorspace model is reverse engineered because Blackmagic don't publish it - It is 'nearly' perfect.

This might be a dumb question, but is it possible to reverse-engineer the color coming straight out of the Canon cameras with ML raw (perhaps even on a camera by camera basis)? Could Cinelog be applied to ML raw footage directly, removing the slight variable that is the BMD Film color space?
5DmIII | January 27 2017 Nightly Build (Firmware: 1.23) | KomputerBay 256GB CF Cards (1066x & 1200x)

Andy600

@dubzeebass - Yes! I'll get a quick tut together for this.

@QuickHitRecord - Not a dumb question when you look at it from that point of view but unfortunately that's not how it works - I wish it were that easy.

Sorry for the long post... as usual  :P

I'm no expert when it comes to sensors but this oversimplified description should give you an idea of how things work as I understand it - A raw image from your 5D mark III does not have color in the way we typically understand color. The sensor is monochromatic with a color filter array sitting on top http://en.wikipedia.org/wiki/Bayer_filter - the CFA is a repeating mosaic of 1 red, 2 green and 1 blue pixels. When photons pass through any of the red, green or blue color filters it registers as voltage on the sensor and depending on what color the pixel filter is and what voltage is measured a guess is made as to what the color is (red, green or blue). What you see as color is basically made-up by a debayering/demosaicing algorithm. The debayer process looks at surrounding pixels measurements and from these will assign levels of red, green or blue for each pixel. The RGB levels dictate the hue and saturation. If you download RawDigger http://www.rawdigger.com/ you will see a visual representation of how the raw mosaic is made up and what the raw image actually looks like.

Anyway, getting back to what you asked - Could Cinelog be applied directly to ML Raw footage? Yes and no - it is applied to the raw footage (in Resolve the raw data is put into a non-destructive 32bit floating point workspace) but colorspace transforms are applied after debayering - ACR and DaVinci Resolve debayer to specific colorspaces - Cinelog-C transforms these colorspaces, not the raw footage - the debayer algorithm does that part.

The color matching issue is really only an issue for multi-camera shoots where a colorist will usually be tasked with manually matching the source material from various different cameras to an approximate uniform look for the primary grade before getting into the artistic 'look'. The purpose/concept of ACES is to tackle that exact issue and establishes a camera agnostic workflow where an Input Device transform (IDT) will transform the input from camera A, Camera B and Camera C to whatever AMPAS has decided is the 'basic look/basic color' of ACES.

An ACES IDT is a script consisting of a linearization component and color matrices. Simple ones can be a single 3x3 matrix (with a chromatic adaptation matrix for a second illuminant) but the more accurate IDTs can extend to an independent matrix for each exposure index over a range of color temperatures - and all this only works if the metadata in the raw or video file is correctly described and readable.

With ML Raw being 'raw' we have got the ability to manipulate things a lot but we do not have ACES IDT's for any DSLR yet. The matrices in ML DNGs transform the sensor's native RGB values to CIE XYZ colorspace (used for connecting colorspaces) but they are not used for color matching.

Cinelog-C can get an ML Raw image into ACES colorspace but it will still be Canon DSLR color at the moment. What is needed is intermediate matrices for each camera that act as the IDT to transform each DSLR's color to (or as close to) the color of ACES with a minimum of 2 transforms for Daylight and Tungsten shots.

It's a huge job and with my limited resources I can only really do it to the level of color matching reflectance from 24 color patches (i.e. a MacBeth color chart) under controlled lighting. It will not be perfect either because I don't have a color lab with a monochromator, spectroradiometer, spectrophotometer etc. The best I can do is buy a copy of ISET Camera Simulator for Matlab and rent the cameras. The first job is to produce a better set of default color matrices for ML raw because even the Adobe ones have flaws (this may be by design but some things simply don't add up as they should) - I'm working on that bit at the moment and will then get back to developing the ACES IDTs. Even if/when I do have a set they will still need approval for inclusion in the ACES source code and then it's up to app devs to include them in things like Resolve. I have hope but I honestly don't know if that will even happen - probably not, but the matrices will still be useable with OpenColorIO and can be baked into luts so that we can edge closer to ACES color.
Colorist working with Davinci Resolve, Baselight, Nuke, After Effects & Premier Pro. Occasional Sunday afternoon DOP. Developer of Cinelog-C Colorspace Management and LUTs - www.cinelogdcp.com

QuickHitRecord

Thanks, Andy. This is interesting stuff and with your help it is starting to make more sense to me.
5DmIII | January 27 2017 Nightly Build (Firmware: 1.23) | KomputerBay 256GB CF Cards (1066x & 1200x)

DeafEyeJedi

Absolutely worth the read and definitely helps us digest down the workflows... I'll keep trying to get to the bottom of this!

Thanks @Andy600 for your prolific responses with depth details as always!
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109

DeafEyeJedi

Quote from: QuickHitRecord on February 15, 2015, 12:07:56 AM
I can't comment on the Canon 50mm f/1.2 because I have only ever used the f/1.4 and f/1.8. But I tend to stick to my Nikkor AIS prime set whenever I can.

Point taken, Thanks!
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109

Rodrigo Riedel

I'm trying to install my Cinelog profiles and they are not showing up in ACR, plus I am not able to login to the bank. I have JUST purchased them and I am not getting any support so far. Please help