Hallo,
ich erzeuge mit FFmpeg ein 10-bit Test-Video, das eine Grautreppe mit 18 Stufen zeigt. Der linke Balken ist schwarz (128) und der rechte Balken ist weiss (1023). Die Graustufen entsprechen dem Panasonic VLog Standard, der hier beschrieben ist (ist aber nicht relevant, und das Problem zu reproduzieren):
https://pro-av.panasonic.net/en/cinema_camera_varicam_eva/support/pdf/VARICAM_V-Log_V-Gamut.pdf
Dies ist die FFmpeg Kommandozeile mit der das Test-Video erzeugt wird:
ffmpeg -f lavfi -i nullsrc=s=svga,format=gray16 -lavfi geq=lum='st(0,trunc(18*X/W));64*(128*eq(ld(0),0)+132*eq(ld(0),1)+136*eq(ld(0),2)+144*eq(ld(0),3)+160*eq(ld(0),4)+192*eq(ld(0),5)+240*eq(ld(0),6)+298*eq(ld(0),7)+363*eq(ld(0),8)+433*eq(ld(0),9)+505*eq(ld(0),10)+578*eq(ld(0),11)+652*eq(ld(0),12)+726*eq(ld(0),13)+800*eq(ld(0),14)+874*eq(ld(0),15)+949*eq(ld(0),16)+1023*eq(ld(0),17))' -pix_fmt yuv444p10le -crf 10 -c:v h264 -t 5 -y VLog_10bit.mov
Wenn ich dieses Video mit FFplay abspiele, dann sieht alles richtig aus. Die Pegel der Balken an der linken Seite liegen sehr dicht beisammen und sind daher kaum unterscheidbar, das ist normal. Wichtig ist, dass die beiden rechten Balken (Pegel 949 bzw. 1023) deutlich unterscheidbar sind.
Nun kommt das Problem: Wenn ich das Video mit VLC abspiele, dann sind die beiden rechten Balken nicht unterscheidbar. Sie werden gleich hell dargestellt. Ich verstehe nicht warum.
Wenn ich aus dem Video ein Einzelbild als 16-bit PNG extrahiere, dann werden die beiden rechten Balken richtig dargesellt:
Ich bin mir nicht sicher ob das Problem in FFmpeg oder in VLC zu suchen ist.
Ich verwende VLC Version 3.0.11, Windows10 (64-bit), FFmpeg ist die aktuelle Windows-Version von heute.
Gruß
Michael