videoffmpegyuvvideo-conversionpixelformat

What are the implications of selecting a pixel format for video encoding?


I have a tool that converts videos of various formats to mp4 in baseline profile. It uses ffmpeg under the hood. The profile is explicitly specified as baseline. However pixel format is not specified. Once I stumbled upon a video in the avi container with this format:

Stream #0:0: Video: dvvideo, yuv411p, 720x480 [SAR 32:27 DAR 16:9], 25000 kb/s, 29.97 fps, 29.97 tbr, 29.97 tbn, 29.97 tbc

When I try to convert it it says that by default it will choose the yuv422p pixel format. Then it says that baseline profile is not compatible with this pixel format. If I specify the pixel format as yuv420p explicitly then it works fine.

What are the implications of converting all videos into this same pixel format? What is the practical difference between different pixel formats? Are other pixel formats for baseline profile different?


Solution

  • The question is moot. Since H264 baseline profile supports only yuv420p, there's nothing to decide.

    The difference, between the various pixel formats relevant to this topic, is chroma subsampling. The short of it, is that encoders trade density of color information for greater compressibility. Since the human eye is more sensitive to gradations of brightness than to gradations of hue, the tradeoff is usually worth it.