[FFmpeg-trac] #7163(avcodec:closed): 12-bit ProRes not supported
FFmpeg
trac at avcodec.org
Fri Apr 10 20:02:00 EEST 2020
#7163: 12-bit ProRes not supported
---------------------------------------+-----------------------------------
Reporter: spookybathtub | Owner:
Type: enhancement | Status: closed
Priority: wish | Component: avcodec
Version: git-master | Resolution: fixed
Keywords: prores | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
---------------------------------------+-----------------------------------
Comment (by pdr0):
Replying to [comment:24 spookybathtub]:
> Sorry, I misspoke before. I have edited my previous comment. I have
not personally seen 12-bit 422 HQ. If someone has an Arri Alexa, they
could try shooting some gradients with controlled lighting, to measure the
banding difference between ProRes 422 vs ARRIRAW.
Whether or not you "see" banding is going to depend on many factors,
shooting conditions, how you debayer and process the raw, type of
dithering etc... The noise from certified ProresHQ 422 is usually
sufficient to conceal any banding under normal shooting conditions - and
it's 10bit anyways. Not many 12 bit displays these days
If you're interested in testing Prores - the format itself - you should
eliminate all the extraneous variables such as the camera, lighting,
processing, out of the comparison. Arri just licenses the recording module
codec from Apple
Use a certified prores vendor implementation on the list such as FCPX,
Scratch, Resolve, etc.... Encode a 12bit gradient using Prores HQ 422 .
Measure the output.
No doubt you can hack a format to make it do whatever. I'm saying I can't
reproduce 12bit values with Prores HQ 422 on a certified prores
implementation, either encoding or decoding , on a Mac or Windows - and
I've checked a few certified programs. Unless something has changed
recently, the format is always quantized to 10bits . If you test with a
12bit gradient, there are gaps in the data 4,8,12 etc.. But if you test
12bit Prores 4444 it's 4,5,6,7,8,9,10,11,12...
You can cross check the validity of the testing with other 10/12 bit
formats like DNxHR. Same thing - 12bit works, but 10bit exhibits
quantized gaps when feeding a 12bit source, as expected.
If you take a true 12bit Prores file, such as Prores 4444 (ap4h) ffmpeg
decodes it as yuv444p12le. Alone, that does not necessarily mean anything.
But if you examine the gradient using either the ffmpeg based decoder, or
a certified prores decoder - it's smooth 4,5,6,7,8,9,10...
--
Ticket URL: <https://trac.ffmpeg.org/ticket/7163#comment:25>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list