Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
|
![]() |
|
Thread Tools | Search this Thread | Display Modes |
![]() |
#21 | Link | |||
Registered User
Join Date: Sep 2007
Posts: 5,285
|
Perhaps it's stored that way, like other codecs that have YUV and RGB, but do you know of any implementation that handles Pr4444 with RGB options properly ?
The Apple Prores whitepaper claims that Pr4444: "also offers direct encoding of, and decoding to, both RGB and Y’CBCR pixel formats." Quote:
I don't 100% trust them either, and I always try verify with other tools/workflows. You can export 12bit dpx out of Resolve, using various Resolve decoder(s) and measure that (if the import wasn't 12bit dpx, resolve 17 clips 4095 on windows according to the test above) also check export 16bit PNG/TIFF and downcovert to 12bit without dithering and measure Quote:
Yes, reported before on ffmpeg trac for DNxHR 444 12bit RGB. The dev answer was: "This is because files use ACT, adaptive color transform, when some blocks are encoded in RGB instead of YUV and vice versa." - and it's not implemented in libavcodec for DNxHR decoding . If you take the test ramp posted above, and encode to DNxHR 444 12bit in resolve, you can see the errors in ffmpeg/libavcodec based decoders on the RGB blocks. (e.g. vapoursynth/avisynth lsmash, ffmpeg/ffplay/mpv) . I also posted examples in other threads Quote:
|
|||
![]() |
![]() |
![]() |
#22 | Link | ||||
Registered User
Join Date: Apr 2016
Posts: 83
|
Quote:
Quote:
![]() Quote:
Quote:
... So I decided to take a break from pattern testing - clearly the SMPTE bars were giving me an incredibly incomplete picture of of RGB > ProRes 4444 > RGB. I took 10min worth of 16bit DPX source of Rec2020 (P3 constrained) PQ 1000nit and used Colorfront Transkoder to render out ProRes 4444 legal and ProRes 44444 full and brought them back in to run PSNIR metrics against the original source. Results: Code:
Legal ProRes 4444 min: 52.4257 max: 90.0 avg: 59.19808741851951 Full ProRes 4444 min: 53.2485 max: 162.556 avg: 59.91924627198857 In conclusion...? Pros for full range ProRes 444 MOV
|
||||
![]() |
![]() |
![]() |
#23 | Link | |
Registered User
Join Date: Sep 2007
Posts: 5,285
|
Quote:
Which service out of curiosity ? One would have to assume they were handling full range correctly And did they ask for Pr4444 full range specifically ? or just full range in general ? |
|
![]() |
![]() |
![]() |
#24 | Link | |
Registered User
Join Date: Apr 2016
Posts: 83
|
Quote:
UHD deliverables (SDR and HDR) are to be ProRes 4444(XQ) full range HD SDR deliverables are to be ProRes 422 HQ legal. |
|
![]() |
![]() |
![]() |
#26 | Link |
Registered User
Join Date: Nov 2004
Location: Poland
Posts: 2,835
|
Dolby created mess saying DV has to be full range. It all went bad as most people use ProRes for DV mastering (one level down from 16bit TIFF masters) without knowing that there is nothing describing range in ProRes MOVs.
Now it's all been recalled ![]() If delivery place says full range ProRes I would assume they know what they are saying and will handle it properly. 99% is limited range and better stay this way until specifically requested otherwise. |
![]() |
![]() |
![]() |
#27 | Link | |
Registered User
Join Date: Nov 2004
Location: Poland
Posts: 2,835
|
Quote:
Apple paper says encoder/decoder can take RGB data directly (it does internal conversion). Basically that's all what it says in this magic line. Internal data is always YUV (probably for efficiency). There is no ProRes which stores data as RGB as this is not in Apple spec. If you want that use DNxHR (just make sure app uses RGB variant for 444) or Cineform. |
|
![]() |
![]() |
![]() |
#28 | Link |
Registered User
Join Date: Sep 2007
Posts: 5,285
|
I was asking about output from the decoder (less interested in how it's stored; but YCgCo would technically be better) - Are you aware of any Pr4444 implementation that has YCbCr vs. RGB output options or controls? Whitepaper implies 2 decoding cases, RGB and YCbCr. For example, you feed RGB in , you get RGB out. Or you feed YCbCr in you get YCbCr out . It seems to be YCbCr in most cases, and the host application possibly converts to RGB .
|
![]() |
![]() |
![]() |
#30 | Link | |
Registered User
Join Date: Nov 2004
Location: Poland
Posts: 2,835
|
Quote:
It' up to the app to call what it needs/wants. I think Resolve in most cases uses b64a (16bit RGBA), FCPX 32bit float YUV4444 (r4fl). If app is good it writes properly which pixel format was used on input and you can check it with advanced view in mediainfo. Some apps may "lie" though ![]() So basically it all depends how app is written. Good ones try "most direct" pixel format between input/output, eg. if you converting ProResHQ to Cineform it will most likely go over v210. If there is no need you should avoid going to RGB. RGB in, RGB out would make sense if encoder had native support for YUV and RGB (DNxHR, Cineform). If it does conversion then it's already "less perfect", but you may still avoid double conversion. Nuke may let you choose requested pixel format. Use to have this. You have list of supported formats here: https://wiki.multimedia.cx/index.php/Apple_ProRes Last edited by kolak; 23rd December 2022 at 01:29. |
|
![]() |
![]() |
![]() |
#31 | Link | |
Registered User
Join Date: Nov 2004
Location: Poland
Posts: 2,835
|
Quote:
MOV, no idea about MXF. Try it. You will see bad levels straight away if you feed limited ProRes444. Then do full and it should be fine. Resolve (and many tools) always (for 422 and 444) uses limited by default (this is more per Apple spec I think). Last edited by kolak; 23rd December 2022 at 12:28. |
|
![]() |
![]() |
![]() |
Tags |
full range, limited range, prores, ycbcr |
Thread Tools | Search this Thread |
Display Modes | |
|
|