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. Domains: forum.doom9.org / forum.doom9.net / forum.doom9.se |
|
|
#1741 | Link |
|
Registered User
Join Date: Jun 2022
Posts: 299
|
Something's wrong with ProRes encoding -- YUV444 profiles save in YUV422 format.
YUV444+alpha profiles, on the other hand, always save in YUV444P12 (maybe that's how it's supposed to be, but I think without XQ, it should save in P10). There's a missing YUV444P10 profile, but there should be two: 10-bit 4:4:4 Profiles: -profile:v 4 -pix_fmt yuva444p10le ProRes 4444 (10-bit) -profile:v 5 -pix_fmt yuva444p10le ProRes 4444XQ (10-bit) . Last edited by rgr; 8th September 2025 at 21:34. |
|
|
|
|
|
#1742 | Link | ||
|
Registered User
Join Date: Dec 2008
Posts: 2,400
|
Quote:
Quote:
__________________
MPC-BE 1.8.9 and Nightly builds | VideoRenderer | ImageSource | ScriptSource | BassAudioSource |
||
|
|
|
|
|
#1744 | Link | |
|
Registered User
Join Date: Sep 2007
Posts: 5,669
|
Quote:
In Apple ProRes terminology (see the whitepaper), "HQ" indicates 10bit422 pixel type only . The term "HQ" is reserved. "HQ" is not a quality control slider for a given pixel type. For example, you cannot have "Prores HQ" and 4:4:4 . 4:4:4:4 pixel type can only be Apple Prores 4:4:4:4 and Apple Prores 4:4:4:4XQ So the profile "HQ" setting selection in vdub2 is probably overriding the YUV 444 settings, and that would be correct behaviour. Perhaps it could be redesigned so "illegal" combinations are greyed out, or maybe a warning message |
|
|
|
|
|
|
#1745 | Link | |
|
Registered User
Join Date: Dec 2008
Posts: 2,400
|
It works correctly for me. Here's how it plays in ffplay
Code:
Stream #0:0[0x1]: Video: prores (HQ) (apch / 0x68637061), yuv444p10le, 640x480, 17283 kb/s, 29.97 fps, 29.97 tbr, 30k tbn (default) Quote:
https://trac.ffmpeg.org/wiki/Encode/VFX#Prores
__________________
MPC-BE 1.8.9 and Nightly builds | VideoRenderer | ImageSource | ScriptSource | BassAudioSource |
|
|
|
|
|
|
#1746 | Link | |
|
Registered User
Join Date: Sep 2007
Posts: 5,669
|
Quote:
fourcc "apch" indicates Apple ProRes 422 (HQ) |
|
|
|
|
|
|
#1747 | Link | |
|
Registered User
Join Date: Jun 2022
Posts: 299
|
Quote:
The source was 16-bit YUV444? I'll check again. -qscale:v https://trac.ffmpeg.org/wiki/Encode/VFX#Prores[/QUOTE] Thx. Last edited by rgr; 9th September 2025 at 19:31. |
|
|
|
|
|
|
#1748 | Link | |
|
Registered User
Join Date: Jun 2022
Posts: 299
|
Quote:
Profiles can be the following: 10-bit 4:2:2 Profiles -profile:v 0 -pixel_format yuv422p10lep - ProRes Proxy -profile:v 1 -pixel_format yuv422p10lep - ProRes LT -profile:v 2 -pixel_format yuv422p10lep - ProRes 422 (Standard) -profile:v 3 -pixel_format yuv422p10lep - ProRes HQ 10-bit 4:4:4 Profiles -profile:v 4 -pix_fmt yuva444p10le ProRes 4444 (10-bit) -profile:v 5 -pix_fmt yuva444p10le ProRes 4444QX (10-bit) 12-bit 4:4:4 Profiles (Well when FFmpeg finally pushes a fix for ProRes 12-bit...) -- ??? -profile:v 4 -pix_fmt yuva444p12le ProRes 4444 (12-bit) -profile:v 5 -pix_fmt yuva444p12le ProRes 4444QX (12-bit) The FourCC codec IDs for the different Apple ProRes variants: Apple ProRes 422 High Quality: apch (hcpa in little-endian) Apple ProRes 422 Standard Definition: apcn (ncpa in little-endian) Apple ProRes 422 LT: apcs (scpa in little-endian) Apple ProRes 422 Proxy: apco (ocpa in little-endian) Apple ProRes 4444: ap4h (h4pa in little-endian) Apple ProRes 4444XQ: ap4x (x4pa in little-endian) Last edited by rgr; 9th September 2025 at 19:38. |
|
|
|
|
|
|
#1749 | Link |
|
Registered User
Join Date: Jun 2022
Posts: 299
|
![]() gives: Code:
Video: APCH 1920x1080 59.94fps 1012627kbps [V: prores hq, yuv422p10le, 1920x1080, 1012627 kb/s] but also MediaInfo: Code:
Video ID : 1 Format : ProRes Format version : Version 1 Format profile : 422 HQ Codec ID : apch Duration : 67 ms Bit rate mode : Constant Bit rate : 1 013 Mb/s Width : 1 920 pixels Height : 1 080 pixels Display aspect ratio : 16:9 Frame rate mode : Constant Frame rate : 59.940 (60000/1001) FPS Color space : YUV Chroma subsampling : 4:4:4 Scan type : Progressive Bits/(Pixel*Frame) : 8.147 Stream size : 8.06 MiB (100%) Writing library : Lavc Matrix coefficients : BT.709 Code:
Stream #0:0[0x1]: Video: prores (HQ) (apch / 0x68637061), yuv444p10le, 1920x1080, 1012627 kb/s, 59.94 fps, 59.94 tbr, 60k tbn (default) ![]() Now I know why Vegas is going crazy with these files and interpreting them however it wants ![]() Edit: But looking at frame properties makes it even more interesting ![]() frame,video,0,1,0,0.000000,0,0.000000,0,0.000000,1001,0.016683,36,2105459,1920,1080,0,0,0,0,yuv444p12le,N/A,I,0,0,0,0,tv,bt709,unknown,unknown,unspecified frame ,video,0,1,1001,0.016683,1001,0.016683,1001,0.016683,1001,0.016683,2109591,211401 6,1920,1080,0,0,0,0,yuv444p12le,N/A,I,0,0,0,0,tv,bt709,unknown,unknown,unspecified Last edited by rgr; 9th September 2025 at 20:03. |
|
|
|
|
|
#1750 | Link | |
|
Registered User
Join Date: Sep 2007
Posts: 5,669
|
Quote:
But for any alpha channel 4444 profiles, prores_ks should be used instead - because -c:v prores still has the "not full alpha channel bug" . eg. for 12bit you get 4092 instead of 4095 . This leads to partial transparency when something should be 100% opaque. (But this is not a vdub2 issue , it's a libavcodec issue) That's why it's important to get as close as to apple certified specifications as possible. Various bugs and handling issues in different programs |
|
|
|
|
|
|
#1751 | Link |
|
Registered User
Join Date: Jun 2022
Posts: 299
|
But I must say that I haven't been able to get Yuv444p10 with FFmpeg either. FFmpeg (7 and 8) happily reports that "output will be in Yuv44p10," but the final output is always 12-bit.
Report submitted: https://code.ffmpeg.org/FFmpeg/FFmpeg/issues/20468 |
|
|
|
|
|
#1753 | Link | |
|
Registered User
Join Date: Sep 2007
Posts: 5,669
|
Quote:
Apple Prores 4444 is supposed to be 12bit (the whitepaper says "up to") , and up to 16bit for the alpha Funny because Years ago, people were complaining that the ffmpeg variant was 10bit only, it finally got fixed 12bit to match official Prores 4444 a few years ago. Now you're complaining you want 10bit ??? ![]() But I've never seen Official Apple Prores 4444 come in 10bit (from a certified implementation) . There are old ffmpeg produced 10bit4444 prores streams which sometimes caused problems in editors such as glitched frames - I wouldn't consider those completely valid streams, but early days for ffmpeg prores Last edited by poisondeathray; 9th September 2025 at 21:14. |
|
|
|
|
|
|
#1755 | Link |
|
Registered User
Join Date: Jun 2022
Posts: 299
|
OK, available profiles:
10-bit 4:2:2 Profiles -profile:v 0 -pixel_format yuv422p10lep - ProRes Proxy -profile:v 1 -pixel_format yuv422p10lep - ProRes LT -profile:v 2 -pixel_format yuv422p10lep - ProRes 422 (Standard) -profile:v 3 -pixel_format yuv422p10lep - ProRes HQ 10-bit 4:4:4 Profiles (unavailable now) -profile:v 4 -pix_fmt yuva444p10le ProRes 4444 (10-bit) -profile:v 5 -pix_fmt yuva444p10le ProRes 4444QX (10-bit) 12-bit 4:4:4 Profiles -profile:v 4 -pix_fmt yuva444p12le ProRes 4444 (12-bit) -profile:v 5 -pix_fmt yuva444p12le ProRes 4444QX (12-bit) And pix_fmt doesn't have to be specified. |
|
|
|
|
|
#1756 | Link |
|
Registered User
Join Date: Sep 2007
Posts: 5,669
|
Profile 4 and 5 for 10bit are the same as 4 and 5 for 12 bit. (ie. There is no 6 or 7; it's not a typo, you can look at the ffmpeg libavcodec code)
I'd feel better if you could produce an official Apple Certified Prores 4444 stream at 10bit . I tried before with various Apple Certified software, it's not possible (at least back then). If you could do that, it would provide evidence for developer to make that a valid option When you make hacked streams that software does not expect or it's a bit "off" from the certified implementations, you potentially end up with problems. Look at your Sony Vegas experience with some of these streams. If you really wanted to, try using a ffmpeg build about 6-7 years ago. The Prores 4444 streams were 10bit only (12bit was not available) - this is what people were complaining about . Those streams had problems in software like Resolve (I'm not sure if it was the direct reason) Last edited by poisondeathray; 9th September 2025 at 21:32. |
|
|
|
|
|
#1759 | Link | |
|
Registered User
Join Date: Sep 2007
Posts: 5,669
|
Quote:
The situation has improved significantly with "unofficial" ffmpeg/libavcodec created prores encodes - but you still get cases of bugs and odd behaviour . The "unofficial" streams have a significantly higher failure rates on Mac HW silicon decoding affecting many programs (Resolve, Adobe, FCPX) - bugs like flickering, odd bad frames . SW decodes tend to have fewer problems, but they still occur albeit much less frequently than 5-10 years ago |
|
|
|
|
|
|
#1760 | Link |
|
Registered User
Join Date: Jun 2022
Posts: 299
|
I'm just noticing that last month VirtualDub created a YUV444P10 file for me using the HQ profile
![]() frame,video,0,1,0,0.000000,0,0.000000,0,0.000000,1001,0.016683,36,2649757,1920,1080,0,0,0,0,yuv444p10le,N/A,I,0,0,0,0,tv,bt709,unknown,unknown,unspecified And this despite the fact that Media Info at MPC thinks otherwise. Video: APCH 1920x1080 59.94fps 1155238kbps [V: prores hq, yuv422p10le, 1920x1080, 1155238 kb/s] |
|
|
|
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|