[FFmpeg-user] Apply 3D LUT to ProRes 444

Carl Eugen Hoyos cehoyos at ag.or.at
Sat May 10 11:36:30 CEST 2014

Elliott Balsley <elliottbalsley <at> gmail.com> writes:

> $ ffmpeg -i A007C013_140320_L2MC.mov -t 10 

> -vf "format=pix_fmts=yuv420p,lut3d=file=LogC_to_Rec709.dat"

The lut3d filter cannot work with yuv420p. It works either 
with 8 bit or 16 bit rgb. If you don't specify 8 bit rgb, 
16 bit rgb will be used because your input video is > 8 bit.
The 16 bit path is (of course) much slower than the 8 bit 
path, so assuming you want to encode the output file with 
8 bit, specify rgb24. (Or rgb48 if you want maximum quality.)
The output of the lut filter will be rgb, so if you don't 
specify a pix_fmt for the encoder, FFmpeg will try to loose 
as little information as possible and choose yuv444. 
Specify yuv420p (after the lut3d filter!) to avoid the 
incompatible files and the warning.

This may not be immediately obvious to you, but I believe 
it makes a lot of sense and should not be changed.

Note that for some filter chains, FFmpeg gets confused and 
will choose gray (or even pal8), so sometimes you have to 
use several format filters to avoid broken output.
I am not sure this can be easily avoided (but is not 
necessarily related to your question).

Carl Eugen

More information about the ffmpeg-user mailing list