State:New|TargetRelease:No Target|icon_bug|icon_nuke|database:public|Resolution:Fixed|BugID:418778|
Problem summary
When writing out QuickTime files in either Motion JPEG A or B codecs using mov64, the exported QuickTime matrix data is not being transformed correctly into the written file.
This is based upon the expected results in the YCbCr matrix and its rules based upon setting it to Rec709 at HD input.
Note: This issue is only relevant to the Nuke 12.1 releases, where the the Motion JPEG A & B codecs use Nuke's internal 64-bit encoder (mov64)
Customer reported version
nuke.12.1v1
Customer reported platform
Steps to reproduce
1) Read in an image at HD resolution in Nuke 12.1v1 or later
2) Create a Write node, set the file type to mov, and select the Motion JPEG B codec, ensuring that it is also set to mov64
3) Duplicate this Write node into three separate Write nodes (Write1, Write2, Write3), connecting to the original image.
4) Within the first Write node, ensure the 'YCbCr matrix' knob is set to default (Auto), and then render.
5) Within Write2 , set the 'YCbCr matrix' knob is set to 'Rec601' and then render.
6) Within Write3, set the 'YCbCr matrix' knob is set to 'Rec701' and then render.
7) Read in the three rendered Motion JPEG B files and view the metadata within the Read node.
Results:
Write 1 (Auto)
{quicktime/nclc_matrix ITU_R_601_4} - incorrect - should be set to Rec709
{quicktime/nclc_primaries SMPTE_170M} - incorrect - should be set to Rec709
{quicktime/nclc_transfer_function ITU_R_709_2} - correct
{quicktime/uk.co.thefoundry.YCbCrMatrix "Rec 601"} - incorrect - should be set to Rec709
Write 2 (601)
{quicktime/nclc_matrix ITU_R_601_4} - incorrect - should be set to Rec709
{quicktime/nclc_primaries SMPTE_170M} - incorrect - should be set to Rec709
{quicktime/nclc_transfer_function ITU_R_709_2} - correct
{quicktime/uk.co.thefoundry.YCbCrMatrix "Rec 601"} - incorrect - should be set to Rec709
Write 3 (709)
{quicktime/nclc_matrix BT709} - correct
{quicktime/nclc_primaries "SMPTE 170M" }- incorrect - should be set to Rec709
{quicktime/nclc_transfer_function "ITU-R BT.709"} - correct
{quicktime/thefoundry/YCbCrMatrix "Rec 601"} - incorrect - should be set to Rec709
Expected behaviour
Motion JPEG A & B should be correctly transforming the input image when rendered as mov64
Actual behaviour
Rendered Motion JPEG A & B files are being exported at Rec601 and not the expected Rec709 when using mov64
Workaround
Unknown
Reproduced by support
This bug has been reproduced in:
Nuke 12.1v1 - Windows 10 - CentOS 7 - MacOS 10.14.6
Unable to reproduce bug in:
Nuke 12.0v5 - Windows 10 - CentOS 7 - MacOS 10.14.6
Earliest version tested
Nuke 12.0v5
- Releases before Nuke 12.1, did not use Nuke's internal 64-bit encoder (mov64)
We're sorry to hear that
Please tell us why