-
Notifications
You must be signed in to change notification settings - Fork 201
Dolby Vision: Parse RPU in HEVC and AV1 #2392
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
To resolve #2118, refer to 6.2 Annex II (page 23) of https://professionalsupport.dolby.com/s/article/What-is-Dolby-Vision-Profile?language=en_US |
a38215f to
05f224c
Compare
|
Since it is complex to parse the RPU, I do not know if there are still bugs in the parsing. I only parse the RPU and not fill or check integrity. I'll leave that to @JeromeMartinez since I do not know what info to extract and how to indicate enhancement layer type. The temporary section is to be removed when that information is filled and shown in output. I did not add any |
5e4ef9f to
3d35138
Compare
|
Some interesting Dolby Vision IQ / Dolby Vision 2 stuff found in iPhone sample: |
Thank you, it helps a lot.
I'll check (but only in October :( ), but do you have any hing about FEL vs MEL? |
Hint? Find this part of the code added in this PR: // TEMPORARY ==========================================================================
if (isMEL)
Param2("EL Type", "Minimum Enhancement Layer (MEL)");
else
Param2("EL Type", "Full Enhancement Layer (FEL / non-MEL)");
// end TEMPORARY ======================================================================It is based on what's mentioned above in #2392 (comment). |
|
Hmm... Dolby sometimes calls RPU Reference Processing Unit and sometimes Reference Picture Unit... Also...
For now only parsed the Unspecified NALu type. |
I never saw such content but if we find it, it would be easy to map the code to this one. |
This one Dolby Vision profile 10 in AV1. |
I have missed something, link? |
I have not looked into this but I saw it at the following places: |
396fc80 to
46d9a2e
Compare
|
The L11 metadata part has mismatch between Dolby docs and Dolby patent so may have to tweak once there are more samples. |
dolby docs are usually at a later time and have fixes the patent doesn't have, so priority on Dolby docs. |
|
@cjee21 please split the PR, the 2 commits are 2 different things and I may merge the small one quickly. |
For the part that are in docs and sample files I follow that (docs did not say how many bits but it is parsed in a way that correct data is obtained from actual files) but some parts that I guess are used by Dolby Vision 2 are only seen in patent for now. |
fc37bb7 to
c705531
Compare
dc15d0a to
b6f9496
Compare
|
Just to mention again, only those parameters are MEL, anything else and it is FEL, so called trivial NLQ parametrs, since any other NLQ parameters require FEL, THAT IS THEY require second HEVC stream And yes, this is indeed 6.2 Annex II (page 23) of https://professionalsupport.dolby.com/s/article/What-is-Dolby-Vision-Profile?language=en_US |
|
Anyone has DV FEL and MEL samples so that I can test that the detection works properly? |
There are a lot of different samples I have. https://drive.google.com/drive/folders/1V-onFW4PwgKAFdVlwXeuKOnUvdZXqsY6 Including samples where the RPU is one frame off the video. https://drive.google.com/drive/folders/1nMz95KqgkO95EDGrYhrk-Ifx6vRYDEfs see folder Out of sync RPU |
|
I added a temp commit for easier testing. @ValeZAA which video contains MEL? Can't seem to find one. Also, what does white point value 1 mean in |
5aebd8f to
2846912
Compare
|
Added CMv... Temp test filling: |
|
Not sure if it was added but another useful thing for profile 7 would be MEL vs. FEL. See in https://professionalsupport.dolby.com/s/article/What-is-Dolby-Vision-Profile |
There is |
a6a33b3 to
0519800
Compare
|
Dolby Vision also contains aspect ratio metadata that may be used to indicate cropping or active display area. But it is dynamic and may vary throughout the video so I am not sure if it should be shown in MediaInfo.
|
Please show this information, it is classic to have dynamic metadata (also for e.g. AVC aspect ratio), and we have a long term plan for better showing that when it changes, better to have the information now so it will be ready for metadata change display when we implement it. |
Rebased and done. Using the faulty (double-cropped) sample from the xbmc/Kodi issue link above: |
Parse RPU in HEVC which is needed for resolving #1482, #2118 and #2468
Also parse EL in BL+EL+RPU type HEVC streams.
Also parse RPU in AV1 metadata OBU.