> Is it possible to use a Colorspace node to correct afterwards though? With access to raw YCbCr channels it was my solution, but currently in Nuke 6.2 the 'raw' acces in movReader is broken. Internal matrix conversion in Reader cause some min/max clipping so it's not fully reversible. And of course you must to know, which matrix should be applied. You need to inspect 'color' atom with Dumpster all the time. >From my experience r4fl works perfect with ProRes 422 and 422HQ. If some >problem occurs with 4444 there is b64a pixel format (Nuke uses it for dNxHD). >It has no matter when raw access is abandoned in Nuke 6.2; r408 was the worst >choice! > "Final Cut Pro assumes that all RGB image files are created with a gamma of >1.8". Well, the mentioned "gamma 1.8" term is very ambiguous and it's rather label then actual value. Some months ago I tested it with animation codec and I noticed, that Final and most applications uses sRGB- like complex transfer curve also for RGB codecs (exactly like in case of Tiff btw); the 'gama' atom appears to be ignored at all. Sometimes there are simple pow functions on RGB channels but as addition to main, complex curve. But there was my personal tests only and I can't find clear answer in quicktime docs or apple mailing list. > Since 64-bit support, the QuickTime code has been moved into a separate > 32-bit application and the source code for that may vary. I know and i'm scared... From long time I wrote my own versions of mov plugins to fix above problems (and few other as well). Now i'm helpless because mentioned libraries and header files are not included into Nuke bundle. This keeps me away from 64 bit OS X version because movReader is a nightmare there. BTW I hope Qtkit evolution will solve 64bit problems soon..... :/ Best Adrian W dniu 2011-04-21 10:18:02 użytkownik Jerry Huxtable <je...@thefoundry.co.uk> napisał: On 21 Apr 2011, at 01:09, Adrian Baltowski wrote: On Apr 18, 2011, at 7:11 AM, Jerry Huxtable <jerry at thefoundry.co.uk> wrote: We use QuickTime to read and write QuickTime movies, and always have, so there's nothing to switch back to. The issue is that due to history of vague documentation and dodgy codec and host software implementations, there is no right way of doing things. If we write the colr atom out, then people will complain that their movies look different in QuickTime Player and Shake. If we don't write it out people will complain that their movies look different in FCP and Shake (or something similar). If we provide the option, people will complain that there's no way to set the option so that it works in all other software. Some software ignores the colr atom, and some doesn't. Some codecs ignore it and some don't. Some ignore everything and make the user compensate. Some just make stuff up. There's really no correct solution which fits all cases. We have the same situation on import - should we ignore the colr atom like some software, or should we honour it...and how do we know whether a codec has decided to take account of it or not? Jerry I can't agree with this, sorry. Quicktime is problematic but Nuke has big problems with Quicktime. Should Nuke respect 'colr' extension? YES, of course! Currently Nuke ignore it at all and (most badly) it doesn't respect actual matrix what cause significant color shifts wit Rec709 files. This is most irritating problem because currently there is no workaround for this- raw functionality in movReader was fu...up from Nuke 6.2... And what is Gamma1_8.... ?!?! This simple pow. function is not correct for no any kind of mov files which I know. Most packages use complex rec709 equation (with or without additional pow. correction on RGB) or it's sRGB derivative. Lack of "knee" can cause visible banding. There are differences but there are rules also. Some applications like Shake and Combustion are old, older than some modern codecs. For instance they import 10bit Pro Res as 8bit because they don't recognize modern pixel formats (like r4fl). Nuke 6.2 use 408 pixel format for Prores. Is this for compliance with Shake also...?! I use Nuke from 5.0 version and I' am coder also. I observed evolution of movReader.cpp and movWriter.cpp in Nuke and at some points I 'am really surprised. Nuke 6.0 was a big step forward, Nuke 6.1 had the best mov support ever but in 6.2 is really bad. I know about 64bit problems but Quicktime is one of the most important formats in postproduction world; it's impossible to ignore it. Those problems should be well described in manual and yes- movReader should have more options; compositors are not the children. Disclaimer: I don't actually work on this any more, so I'm starting to wish I hadn't got involved :-). I'm not sure what happened between 6.1 and 6.2 in Nuke's QuickTime support apart from the support for 64-bit, but I'll try and answer some of your questions.... You're right that Nuke should respect the colr atom on read. Is it possible to use a Colorspace node to correct afterwards though? The gamma 1.8 default is used to deal with RGB codecs. We try and follow at least some of the wildly contradictory QuickTime documentation, and I believe this comes from http://support.apple.com/kb/HT2912?viewlocale=en_US where it states "Final Cut Pro assumes that all RGB image files are created with a gamma of 1.8". The gama atom in QuickTime movies is (as far as I can tell) meant to represent a simple gamma function of this kind. Now of course, as you say, most people will be using rec709 but we have no way of knowing unless the movie is tagged correctly. I think the big problem here is that none of this stuff was ever clearly documented in the past and every developer of software had different interpretations of the documentation, resulting in the big mess we have now. When I was working on this for 6.1, a Google search for the structure describing the colr atom resulted in a single hit which gave no indication of how you were meant to interpret it. I believe the reason that we use the r408 pixel format for ProRes is because the r4fl support is broken in some of the ProRes codecs, particularly ProRes4444. With regard to Shake, it seems that Shake uses the obsolete SequenceCompressor QuickTime APIs whereas Nuke uses the newer ICM APIs. Unfortunately, passing the exact same pixels to these APIs results in different colours and in the case of ICM, writing a movie and reading it back again results in colour shift due to QuickTime deciding to apply some sort of mysterious and undocumented gamma correction. This is why it's hard to get colours to stay the same between Nuke and Shake. We've been trying to support more pixel formats in order to stop QuickTime from ever doing this, but we're hampered by buggy codecs. Ideally, we'd use r4fl for every codec, but that happy day is far off. By the way, be wary of relying on the source code to movReader/movWriter. Since 64-bit support, the QuickTime code has been moved into a separate 32-bit application and the source code for that may vary. We all look forward to the announcement of a 64-bit QuickTime API, which I'm sure must be any day now :-) I'll do some chasing up on the colr atom support. Jerry Huxtable, Senior Software Engineer The Foundry, 6th Floor, The Communications Building, 48 Leicester Square, London, WC2H 7LT, UK Tel: +44 (0)20 7968 6828 - Fax: +44 (0)20 7930 8906 Web: www.thefoundry.co.uk Email: je...@thefoundry.co.uk The Foundry Visionmongers Ltd. Registered in England and Wales No: 4642027
_______________________________________________ Nuke-users mailing list Nuke-users@support.thefoundry.co.uk http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users