Opened 2 years ago

Last modified 12 months ago

#8054 open enhancement

prores_ks codec does not allow 12bit pix_fmt

Reported by: shaocaholica Owned by:
Priority: wish Component: avcodec
Version: git-master Keywords: prores
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug: Apple prores4444XQ which is supported by prores_ks allows for 12bit RGB/YUV channels but when a 12bit pix_fmt is used a warning is given:

Incompatible pixel format 'yuv444p12le' for codec 'prores_ks', auto-selecting format 'yuv444p10le'

How to reproduce:

% ffmpeg -f image2 -r 24.0 -i sample_16bit.%4d.tif -c:v prores_ks -profile:v 5 -pix_fmt yuv444p12le -vf colormatrix=bt601:bt709 prores4444XQ.mov

ffmpeg version 4.1-static https://johnvansickle.com/ffmpeg/
  built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516

Attachments (1)

sample_16bit.tif (1.2 MB ) - added by shaocaholica 2 years ago.
sample 16bit tif

Download all attachments as: .zip

Change History (3)

by shaocaholica, 2 years ago

Attachment: sample_16bit.tif added

sample 16bit tif

comment:1 by Carl Eugen Hoyos, 2 years ago

Component: ffmpegavcodec
Keywords: prores added; prores_ks removed
Priority: normalwish
Status: newopen
Type: defectenhancement
Version: 4.1git-master

comment:2 by shijan, 12 months ago

+1 for this. ProRes 4444 and ProRes 4444XQ should render to 12 bit.
If it helps here are 10 and 12 bit ProRes Test Patterns and ramps generated in DaVinci Resolve if it helps somehow to see difference:
https://www.dropbox.com/sh/bak63hnr7mnpgbj/AAAf-rMK0LvHYTAFjPuQaaxFa?dl=0

Apply min/max input in Levels and easy see the difference in 10 vs 12 bit gradient like this: https://forum.doom9.org/showthread.php?t=181848

Note: See TracTickets for help on using tickets.