Hi all,
I am having trouble creating an mpeg2video output that conforms to 16-235 
broadcast range. I'd like to find a way to have an input which is yuv420p but 
has luma values out of broadcast range but clip to broadcast range while 
encoding to mpeg2.

To demonstrate the issue, I generate a yuv420p file with samples in the out of 
broadcast range via:

ffmpeg -f lavfi -i 
"nullsrc=s=256x256,geq=random(1)/hypot(X-cos(N*0.07)*W/2-W/2\,Y-sin(N*0.09)*H/2-H/2)^2*1000000*sin(N*0.02):128:128"
 -c:v ffv1 -t 10 sample.mkv 

I can then clip the samples using clipval in the lut filter and see the clipped 
values in a waveform with:

ffmpeg -i sample.mkv -vf lut=y=clipval:u=clipval:v=clipval -c:v ffv1 -f nut - | 
ffplay - -vf waveform
The waveform shows the values clipped at 16 and 235.

However I need the output to use mpeg2video. When I change lossless ffv1 to 
mpeg2video with:

ffmpeg -i sample.mkv -vf lut=y=clipval:u=clipval:v=clipval -c:v mpeg2video -f 
nut - | ffplay - -vf waveform

The output shows many sample values above 235. The lossy mpeg2video encoding 
seems to place values above 235 while the lossless ffv1 doesn't. Is there a way 
to encode in mpeg2video without having values over 235 in the output?

Best Regards,
Dave Rice
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

Reply via email to