[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