[FFmpeg-user] Pixel format: default and filter?
amindfv at mailbox.org
amindfv at mailbox.org
Sun Sep 13 02:03:16 EEST 2020
I have two videos (call them a.mov and b.mov) with the same width, height, pixel format, etc.
ffprobe reports them as having 'yuv420p10le' pixel format.
If I do a trivial conversion:
ffmpeg -i a.mov out.mov
ffprobe reports out.mov as still being yuv420p10le.
But if I create a trivial filter:
ffmpeg -i a.mov -i b.mov -filter_complex '[0:v][1:v]overlay' out.mov
ffprobe now reports out.mov being yuv420p. Is this an implicit conversion to a lower bit depth?
I can get out.mov to stay at 10-bit color with:
ffmpeg -i a.mov -i b.mov -pix_fmt yuv420p10le -filter_complex '[0:v][1:v]overlay' out.mov
But I wonder if it's being downsampled and then upsampled, resulting in a loss of quality. I tried "-pix_fmt +", and it gave an error:
The filters 'graph 0 input from stream 0:0' and 'Parsed_overlay_0' do not have a common format and automatic conversion is disabled.
Error reinitializing filters!
Failed to inject frame into filter network: Invalid argument
Error while processing the decoded data for stream #1:0
Does this mean my downsampling theory is correct? Everything should have a common format (the 2 input files, the output file, and hopefully the filter).
Thanks!
Tom
More information about the ffmpeg-user
mailing list