[FFmpeg-user] Confusion about pix_fmt

James Darnley james.darnley at gmail.com
Mon Nov 10 12:33:37 CET 2014

On 2014-11-10 11:43, Michael Heuberger wrote:
> Hello guys
> If you look at the bug report at https://trac.ffmpeg.org/ticket/4098 you
> can see that I am confused about the pix_fmt option.
> I am not sure what parameter to use for this option. All I want is to
> make the video compatible on *modern* browsers/players only and I also
> want to make the warning disappear ffmpeg is generating:
> deprecated pixel format used, make sure you did set range correctly
> This warning led me to believe I have to set a different pix_fmt
> parameter than the default one (yuv420p). But I do not know which one.
> Any clues?
> Michael

yuvj420p and yuv420p are the same.  If a video player can play one it
can play the other.

The "j" refers to the range of values that are output.  "j" is full
range (or PC range) meaning it uses all 0-255 values rather than the
more common 16-235 range (which is known as TV or Studio range).

The problem comes when converting to RGB on playback.  All good players
recognize a flag in the file indicating that it is full range and
convert it properly.  All bad players do not.  They assume it is TV
range and expand the range of values causing too high contrast which is
noticeable.  Another similar symptom is players that do not expand the
range when they should leading to too low contrast.

I do not know whether browsers fall into the good category.  If you want
a correct picture on every possible system use yuv420p.

If you want to know more about the colour space and this "j" option I
suggest you read these:

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 603 bytes
Desc: OpenPGP digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-user/attachments/20141110/51c848c0/attachment.asc>

More information about the ffmpeg-user mailing list