


In all the examples, the starting image (input.jpg) will be this one (535×346 pixels): The default for matrix in untagged input and output is always limited BT.601.One should always remember that YCbCr 4:4:4 8 bit is not enough to preserve RGB 8 bit, YCbCr 4:4:4 10 bit is required.Dither can be turned off using -vf scale=sws_dither=none.Limited range RGB is not supported at all.Conversion from YCbCr limited to RGB 16 bit is broken, use zscale instead of swscale.For those -vf scale=out_range=pc should be used. Yet for x265 the workaround was implemented, but not for jpeg2000 and AV1. yuvjxxxp pixel formats are deprecated.Use -vf scale=flags=accurate_rnd to fix that. When going from BGR (not RGB) to yuv420p the conversion is broken (off-by-one).For example:įfmpeg -i input.mp4 -vf scale=320:240,setsar=1:1 output.mp4 You have to manually set the SAR value to 1:1 to make the players display it in the way you want. In some cases, FFmpeg will set the Sample Aspect Ratio to compensate for the ratio change.To achieve the same results for complex filter chains, you have to explicitly set the scaling algorithm via the flags=bicubic option. When using -filter_complex/ -lavfi, the default scaling flags are not applied, so the default algorithm is not bicubic, but bilinear.
