[FFmpeg-user] Creating ffv1 full-range and broadcast-range files

Andy Furniss adf.lists at gmail.com
Wed May 14 22:38:50 CEST 2014

Robert Krüger wrote:
> On Tue, May 13, 2014 at 5:30 PM, Andy Furniss <adf.lists at gmail.com>
> wrote:
>> Robert Krüger wrote:
>>>> I also am not qualified in any way, but one thing to consider
>>>> is sub-sampling positions.
>>>> I don't know what ffmpeg does, so it may make no difference,
>>>> but AIUI jpeg/mpeg1 420 is slightly different from >= mpeg2.
>>>> Maybe it makes no difference, but I suppose there's a chance
>>>> that it could if conversions are involved.
>>> I compared the decoded frames' md5 hashes from the original mjpeg
>>> stream and the ffv1 video (see earlier in this thread), so I
>>> would assume that this does not seem to be a problem in this
>>> case.
>> Yea - but the test was already yuvj, so no conversion from
>> something else involving subsampling.
> If my understanding is correct the subsampling part is not the
> encoder's job, so it should not matter here. The encoder encodes an
> already subsampled raw signal, so if something is wrong regarding
> subsampling, it happened before the encoding step.

True, what I was really wondering, was whether in the attempt to get
full range using yuvj you were going to get something other than expected.

I tested converting yuv444p to both yuv420p and yuvj420p and the results
are identical - so it seems that libswscale doesn't differentiate
anyway. I was using in_range and out_range for the test, this
seems to work as expected for yuv -> yuv, but not at all for rgb -> yuv,
so for the latter you still need to use yuvj to get full range.

More information about the ffmpeg-user mailing list