Dolby Vision now possible through MP4 Mux.

Please post here for issues related to UHD discs
manuelrn
Posts: 12
Joined: Fri May 22, 2020 10:39 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by manuelrn »

quietvoid wrote:
Fri Jul 23, 2021 12:45 pm
RESET_9999 wrote:
Fri Jul 23, 2021 2:14 am
I just did myself a DV version of the Star Wars New Hope UHD bluray and it looks great!! Very noticeable upgrade in quality(even on the camera comparison) and the luminance /color looks the same as the original profile 5.
https://screenshotcomparison.com/comparison/16048
Thanks for this.
To me there seems to be a slight tint change (so maybe whitebalance difference).
Would be pretty complicated to tell if it's just because the HDR10 version was encoded differently.

Also, you shouldn't be reencoding anything at all!
The dovi_tool editor can be used to remove and duplicate metadata so that it matches your second video.

For your example:
you have to remove 39 frames from the beginning and add 39 frames at the end
This can be done with an edit JSON like this:

Code: Select all

{
    "remove": [
        "0-38"
    ],
    "duplicate": [
        {
            "source": last_frame - 1,
            "offset": last_frame - 1,
            "length": 40
        }
    ]
}
For duplicating, the source is a frame number to use the metadata from.
Offset is where the metadata is added back (inclusive) and length is the number of times the same metadata is added.

You can play with the edit until the RPU length matches the video file you're injecting into.
Shouldn't the "length" value be 39 instead of 40?

Or is it necessary to apply +1 to the "length" value because the "offset" frame is removed (it is replaced by the new generated frames)?


And another question:
Why are the new frames added before the last frame (and the last frame remains intact) instead of being added at the end of the RPU? (In other words, why last_frame - 1 instead of just last_frame)

Thank you so much for everything!
quietvoid
Posts: 371
Joined: Sun Apr 19, 2020 4:15 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by quietvoid »

manuelrn wrote:
Fri Jul 23, 2021 1:37 pm
Shouldn't the "length" value be 39 instead of 40?

Or is it necessary to apply +1 to the "length" value because the "offset" frame is removed (it is replaced by the new generated frames)?
I just wrote a quick example so it might not be totally correct.

The length is 40 because the offset frame is included and replaced by the source index's metadata.
Maybe that's weird? I don't really expect people to add totally different metadata in the middle of a scene, so replacing shouldn't be an issue.

Edit: I'm not quite sure the above is correct :mrgreen:
I think the metadata is still appended, without replacing anything. This should be simple to test..
Really need to start documenting the editor.

manuelrn wrote:
Fri Jul 23, 2021 1:37 pm
And another question:
Why are the new frames added before the last frame (and the last frame remains intact) instead of being added at the end of the RPU? (In other words, why last_frame - 1 instead of just last_frame)
Since the indices start at 0, the last frame is usually frame count - 1.
Otherwise you would get an error when trying to edit.

I should probably have worded the last_frame as frame_count instead.
Last edited by quietvoid on Fri Jul 23, 2021 1:59 pm, edited 2 times in total.
RESET_9999
Posts: 1852
Joined: Mon Aug 05, 2019 7:12 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by RESET_9999 »

quietvoid wrote:
Fri Jul 23, 2021 12:45 pm
Thanks for this.
To me there seems to be a slight tint change (so maybe whitebalance difference).
Would be pretty complicated to tell if it's just because the HDR10 version was encoded differently.

I asked @manix to provide lldv capture sample with his Shogun, this will be a more accurate way of comparing the colors/tint.
ragico
Posts: 257
Joined: Fri Feb 15, 2019 1:09 am

Re: Dolby Vision now possible through MP4 Mux.

Post by ragico »

Thanks everybody.
Too difficult for me.
I surrender.
RESET_9999
Posts: 1852
Joined: Mon Aug 05, 2019 7:12 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by RESET_9999 »

@quietvoid,
I get this error for the movie ''Soul'' no matter what I do. any idea why? Could it be because of the seamless branching disc? I tried to mux the m2ts parts with tsmuxer and mkvtoolnix, no difference.

Code: Select all

range end index 18446744073709551612 out of range for slice of length 1
Also, once the rpu is injected into an HDR10 hevc stream, if I use the mp4muxer, the frame rate goes from 23.976 to 30 fps
If I use Tsmuxer, no problem at all, the fps remain 23.976.

EDIT: the fps problem seems to be caused when the hdr10 stream is 23.976 instead of 23.976 (24000/1001)
quietvoid
Posts: 371
Joined: Sun Apr 19, 2020 4:15 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by quietvoid »

RESET_9999 wrote:
Fri Jul 23, 2021 4:32 pm
@quietvoid,
I get this error for the movie ''Soul'' no matter what I do. any idea why? Could it be because of the seamless branching disc? I tried to mux the m2ts parts with tsmuxer and mkvtoolnix, no difference.

Code: Select all

range end index 18446744073709551612 out of range for slice of length 1
Also, once the rpu is injected into an HDR10 hevc stream, if I use the mp4muxer, the frame rate goes from 23.976 to 30 fps
If I use Tsmuxer, no problem at all, the fps remain 23.976.

EDIT: the fps problem seems to be caused when the hdr10 stream is 23.976 instead of 23.976 (24000/1001)
The error happens when doing what? Injecting or extracting the RPU?
RESET_9999
Posts: 1852
Joined: Mon Aug 05, 2019 7:12 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by RESET_9999 »

quietvoid wrote:
Fri Jul 23, 2021 5:18 pm

The error happens when doing what? Injecting or extracting the RPU?
injecting...
if I use the same RPU and encode it with x265.exe, then no problem.
quietvoid
Posts: 371
Joined: Sun Apr 19, 2020 4:15 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by quietvoid »

RESET_9999 wrote:
Fri Jul 23, 2021 5:24 pm
quietvoid wrote:
Fri Jul 23, 2021 5:18 pm

The error happens when doing what? Injecting or extracting the RPU?
injecting...
if I use the same RPU and encode it with x265.exe, then no problem.
Ok, there's probably a bug or problem with the HEVC parser but it would be useful to have a backtrace.
I'll try to see if I can reproduce in the meantime, though the UHD BD sourced file I use might be different from yours.

If the error happens early, a trimmed sample could be useful.

Edit: I don't have an error on my side when injecting.
RESET_9999
Posts: 1852
Joined: Mon Aug 05, 2019 7:12 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by RESET_9999 »

quietvoid wrote:
Fri Jul 23, 2021 5:33 pm
Edit: I don't have an error on my side when injecting.
Thank you, I guess my bluray rip is somehow corrupted...

is this the version you have ?

Disc Title: Soul.2020.2160p.BluRay.HEVC.TrueHD.7.1.Atmos
Disc Size: 63,903,876,517 bytes
Protection: AACS2
Extras: Ultra HD, BD-Java
BDInfo: 0.7.5.9 (compatible layout created by DVDFab 12.0.2.0)

PLAYLIST REPORT:

Name: 00800.MPLS
Length: 1:40:32.901
Size: 45,489,555,456 bytes
Total Bitrate: 60.32 Mbps

VIDEO:

Codec Bitrate Description
----- ------- -----------
MPEG-H HEVC Video 46579 kbps 2160p / 23.976 fps / 16:9 / Main 10 @ Level 5.1 @ High / 4:2:0 / 10 bits / 1000nits / HDR10 / BT.2020

AUDIO:

Codec Language Bitrate Description
----- -------- ------- -----------
Dolby TrueHD/Atmos Audio English 6403 kbps 7.1+13 objects / 48 kHz / 5763 kbps / 24-bit (AC3 Core: 5.1 / 48 kHz / 640 kbps)
Dolby Digital Plus Audio English 1024 kbps 7.1 / 48 kHz / 1024 kbps (AC3 Core: 5.1 / 48 kHz / 576 kbps ( Core: 5.1 / 48 kHz / 576 kbps))
Dolby Digital Audio English 640 kbps 5.1 / 48 kHz / 640 kbps
Dolby Digital Audio English 320 kbps 2.0 / 48 kHz / 320 kbps
Dolby Digital Audio English 320 kbps 2.0 / 48 kHz / 320 kbps
Dolby Digital Plus Audio Spanish 1024 kbps 7.1 / 48 kHz / 1024 kbps (AC3 Core: 5.1 / 48 kHz / 576 kbps ( Core: 5.1 / 48 kHz / 576 kbps))

SUBTITLES:

Codec Language Bitrate Description
----- -------- ------- -----------
Presentation Graphics English 51.145 kbps
Presentation Graphics Spanish 40.086 kbps
quietvoid
Posts: 371
Joined: Sun Apr 19, 2020 4:15 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by quietvoid »

RESET_9999 wrote:
Fri Jul 23, 2021 6:24 pm
Thank you, I guess my bluray rip is somehow corrupted...

is this the version you have ?

Disc Title: Soul.2020.2160p.BluRay.HEVC.TrueHD.7.1.Atmos
No, I used an already remuxed file, which I don't think was done using MakeMKV.
Did you demux the HEVC straight from m2ts or used MakeMKV?

I could try remuxing the disc with MakeMKV myself but I can't find the exact same BDInfo as yours.
RESET_9999
Posts: 1852
Joined: Mon Aug 05, 2019 7:12 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by RESET_9999 »

quietvoid wrote:
Fri Jul 23, 2021 6:33 pm
RESET_9999 wrote:
Fri Jul 23, 2021 6:24 pm
Thank you, I guess my bluray rip is somehow corrupted...

is this the version you have ?

Disc Title: Soul.2020.2160p.BluRay.HEVC.TrueHD.7.1.Atmos
No, I used an already remuxed file, which I don't think was done using MakeMKV.
Did you demux the HEVC straight from m2ts or used MakeMKV?

I could try remuxing the disc with MakeMKV myself but I can't find the exact same BDInfo as yours.
I demuxed the stream straight from the m2ts with tsmuxer.... I'll try FFmpeg and makemkv.
quietvoid
Posts: 371
Joined: Sun Apr 19, 2020 4:15 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by quietvoid »

RESET_9999 wrote:
Fri Jul 23, 2021 6:41 pm
I demuxed the stream straight from the m2ts with tsmuxer.... I'll try FFmpeg and makemkv.
Since it's a disc with seamless branching, there's a necessary merge first but I'm not sure if something actually outputs the full video in m2ts.
I don't get an error when parsing the HEVC from a small m2ts at least (demuxed with tsMuxer).

If you can get a small sample that fails (for example when extracting RPU, even if there's no Dolby Vision), that's usable too.
chros
Posts: 102
Joined: Sun Sep 20, 2020 8:36 am

Re: Dolby Vision now possible through MP4 Mux.

Post by chros »

That's interesting what you talk about: can I add fake DoVi metadata (e.g. 1000 MDL, 1000 MaxCLL, 300 FALL) into a HDR10 stream, if so how?
(I want to create a small DoVi sample for FireStick 4k from a HDR10 sample to see whether it triggers tv-led or player-led with LG.)
quietvoid
Posts: 371
Joined: Sun Apr 19, 2020 4:15 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by quietvoid »

chros wrote:
Fri Jul 23, 2021 7:39 pm
That's interesting what you talk about: can I add fake DoVi metadata (e.g. 1000 MDL, 1000 MaxCLL, 300 FALL) into a HDR10 stream, if so how?
(I want to create a small DoVi sample for FireStick 4k from a HDR10 sample to see whether it triggers tv-led or player-led with LG.)
Not currently but I'll make a tracking issue for it..
Feel free to add comments for specific things you might need: https://github.com/quietvoid/dovi_tool/issues/29
RESET_9999
Posts: 1852
Joined: Mon Aug 05, 2019 7:12 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by RESET_9999 »

quietvoid wrote:
Fri Jul 23, 2021 7:19 pm
Since it's a disc with seamless branching, there's a necessary merge first but I'm not sure if something actually outputs the full video in m2ts.
I don't get an error when parsing the HEVC from a small m2ts at least (demuxed with tsMuxer).

If you can get a small sample that fails (for example when extracting RPU, even if there's no Dolby Vision), that's usable too.
ok , I'll try to make a sample. Otherwise, I can give you a google drive link by PM of the whole ISO.
btw you can demux seamless branching discs straight from the mpls file with tsmuxer. perhaps that's the mistake I did.


EDIT: ok now this is strange... if I make a 1-minute sample, then no more error. but as soon as I'm working with the complete movie, the error comeback.

first is the complete movie, then the 1-minute sample.
Image
Post Reply