ColorInfo
The colour metadata a renderer must honour to draw a frame correctly.
None of this is subtle once it is wrong, and all of it is already known at decode time:
| Field | What a wrong value looks like |
|---|---|
| matrix | Hues shift. Faces go green or magenta, worst on saturated reds. |
| fullRange | Blacks turn grey and whites clip, or contrast is crushed. |
| chromaLocation | Colour bleeds half a pixel at sharp coloured edges. |
| transfer | High dynamic range content looks washed out or far too dark. |
The values map one to one onto FFmpeg's own enumerations, so nothing is lost or guessed at the boundary. Unspecified is a real and common answer: many containers declare nothing, and guessFor gives the conventional interpretation.
Constructors
Properties
True when nothing usable was declared, so guessFor should be applied.
True when the container or codec DECLARED this matrix, false when guessFor supplied it.
True when the primaries were declared rather than guessed. See matrixSpecified.
Distinguishes an explicitly declared studio range from an absent range declaration.
True when the transfer function was declared rather than guessed. See matrixSpecified.