To fix it, remove following line 483 of File_DvDif.cpp
Fill(Stream_Video, 0, Video_BitDepth, 10, 10, true); //MXF files say that DVCPRO HD are 10 b
All MXF headers I checked say "Active bits per sample" is "10".
SMPTE ST 370 says:
Table 25 – Construction of input video
1080/60i system 1080/50i system 720/60p system 720/50p system
Quantization: Each sample is linearly quantized to 10 bits for Y, CR and CB.
But 4.1.1 says "A sample conversion from 10-bit input video to 8 bits or more is provided by the resampling process (the first processing block of figure 1)."
I am a bit lost with "or more" and the MXF header saying 10-bit.
Is DVCPRO HD 8-bit only? or DVCPRO HD 8 or 10-bit, depending of something?
I try to be able to fill the bit depth field for raw DVCPRO HD, and in the case it is always 8-bit, MediaInfo will display a warning about incoherency between raw stream and MXF header i nthe future, so I need to be sure of my change.
After deep investigation, it appears that DVCPro does make it possible for 10-bit and 8-bit.
Saying "10-bit" everywhere (current code) is wrong, saying "DVCPRO HD is 8 bit, not 10 bit" is wrong too.
i have both in my sample files.
I'll try to find a quick way to detect bit depth (spec is not obvious), else I remove the piece of information until someone else find the right method.
I removed the piece of information from the DV parser.
I use information from MXF (I have files with 8 and 10 bits) when applicable.