[FFmpeg-user] FFMPEG introduces color shift to DNxHD MOVs
nathanrusch at gmail.com
Fri Jul 6 18:58:59 CEST 2012
In trying to troubleshoot another issue, I’ve run across a subtle, consistent color shift being introduced by FFMPEG to DNxHD-encoded MOVs. Thus, they fail to match both DNxHD MOVs generated with the Avid codec, as well as both MOVs’ common source material (an 8-bit RGB TIFF sequence).
This is on Windows 7 using the following:
- Avid codecs 2.3.7 installed from http://avid.force.com/pkb/articles/en_US/download/en423319?popup=true&NewLang=en&DocType=1450
- ffmpeg version N-42069-g3233ad4 (git-3233ad4) 32-bit binary from http://ffmpeg.zeranoe.com/builds/
- Quicktime 7.7.2 (1680.56)
ffmpeg -y -sameq -r 24 -pix_fmt rgb24 -i C:\Some\Path\input_sequence.%04d.tif -vcodec dnxhd -b:v 115M -r 23.976 -qmax 51 -pix_fmt yuv422p -f mov C:\Some\Other\Path\output_file.mov
I have derived a color matrix that can be applied either as a pre-correction to the input material or as a post-correction to the FFMPEG output to get the result to match an Avid-encoded file, and this raises a few questions:
1) Has anyone encountered this issue in the past? I have searched the available archives of this list, as well as the general Googleverse, but to no avail.
2) Has anyone ever done tests comparing outputs from FFMPEG with those generated by the Avid codec? On the one hand, it seems like perhaps not, or this would likely be documented, but on the other hand, I don’t see how an encoder could have been implemented in FFMPEG without someone at least doing a side-by-side comparison with the target format...
3) Does anyone know where this comes from? I’ve heard whispers that the Avid codec uses some kind of a proprietary color transform when encoding DNxHDs, and thus expects decoded files to be in this same state, but so far I haven’t found anything conclusive.
4) If this is a known issue, is there a reason FFMPEG is not attempting to align its outputs to those of the Avid codec, given the relatively simple task of deriving the proper correction matrix?
5) Is it possible to have FFMPEG apply an arbitrary color matrix as an intermediate step in its encoding process?
Thank you all for any information you can provide,
More information about the ffmpeg-user