Dolby Vision now possible through MP4 Mux.

Please post here for issues related to UHD discs
shawnc22
Posts: 636
Joined: Tue Jan 21, 2020 7:40 am

Re: Dolby Vision now possible through MP4 Mux.

Post by shawnc22 »

Angryunibrow wrote:
Wed Apr 01, 2020 9:20 pm
Do you have a link to them saying that (not that I do not believe you) I would like to see what the exchange was when that was mentioned.

IF, and its a big IF this does support Profile 7, I would think we would need decrypted BDMV folder playback support. Then we do not have to worry about trying to mux these files into something that is not fully supported and losing ATMOS and everything else.

We will see I guess.
It was probably from this vague post here: https://theminixforum.com/index.php?thr ... post-17736

The question I have is whether this dolby license fee is an encompassing license that allows for decoding of all profiles and then it's up to the hardware to be capable of dealing with the individual profiles, or is the licence fee broken down by individual profile support. If it's the latter, the skeptic in me finds it hard to believe that any company would pay the profile 7 dolby license fee for a streaming-only device just to satisfy the niche situation we have here. Normal consumers are not going to encounter profile 7 outside of playing it from their physical uhd disks, hence why it's only mostly blu-ray players that have the capability to do so at the moment (LG C# TVs are certainly an exception).
Grencola
Posts: 343
Joined: Sun Jan 27, 2019 5:19 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by Grencola »

shawnc22 wrote:
Wed Apr 01, 2020 9:43 pm
It was probably from this vague post here: https://theminixforum.com/index.php?thr ... post-17736

The question I have is whether this dolby license fee is an encompassing license that allows for decoding of all profiles and then it's up to the hardware to be capable of dealing with the individual profiles, or is the licence fee broken down by individual profile support. If it's the latter, the skeptic in me finds it hard to believe that any company would pay the profile 7 dolby license fee for a streaming-only device just to satisfy the niche situation we have here. Normal consumers are not going to encounter profile 7 outside of playing it from their physical uhd disks, hence why it's only mostly blu-ray players that have the capability to do so at the moment (LG C# TVs are certainly an exception).
like I mentioned in my follow up post on that link, it either has to do profile 7 or it's pure marketing BS. otherwise I really just don't get it. profile 4 or 5 support will do nothing for consumers as it's a non-certified device so it won't even do Full HD in streaming apps, let alone 4k or dolby vision lol. so either marketing is trying to sell it on the sham that the SoC can physically do dv and android 9 os has a force dv setting that fakes it for everything in the gui, or they will actually support profile 7 so consumers can play their backups. They claim they have a paid dolby license, but would Dolby really grant a license to a non-certified device on good faith that minix customers would only watch legit backups and not commit piracy?
DaMacFunkin
Posts: 311
Joined: Tue Oct 30, 2018 4:17 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by DaMacFunkin »

Nvidia devs said that Dolby will not licence full profile for set top boxes as they see the only Avenue for that is piracy.
yusesope
Posts: 221
Joined: Sun Jul 28, 2019 3:34 am

Re: Dolby Vision now possible through MP4 Mux.

Post by yusesope »

jcdr428 wrote:
Tue Mar 31, 2020 6:04 pm
...
means there is no backward compatibility. SDR is 1, 1, 1, HDR10 is 9, 16, 9.
....
Primary Dolby Vision PID Carrying a non-SDR and non-HDR Compliant BL substream
The value of stream_type shall be set to 0x06 (indicating PES packets containing private data).
I think what you think (in fact I had written despite color_description_present_flag = 0 and chroma_location_info_present = 0)
But then I analyze the LG demo (I think LG has all the hardware and software certified by Dolby) and I see this:
Image
stream_type shouldn't be 0x06? (I don't think it's because of the presence of HEVC_timing_and_HRD_descriptor in place of 0x0504444F5649)



jcdr428 wrote:
Tue Mar 31, 2020 8:26 pm
The way FEL is triggered in the RPU of profile 7 and of profile 4/6 seems to be different. So it is not as simple as copying the EL/RPU from the second track to the first.
...
Edit: if anyone is interested in parsing RPU information https://patentimages.storage.googleapis ... 9132A1.pdf
About 20 days ago I posted the comparison between two RPU headers (HERE). Out of curiosity, I analyzed an RPU of the LG demo (BL+EL+RPU, dvhe.04.06) and the header is identical to that of the MEL stream (from a UHD-BD).

I didn't go beyond the header because that document is a nightmare.
I don't think current RPUs are implemented as described in the patent.
A simple example, considering the final sequence 0b10000000 (0x80) as rbsp_trailing_bits(), the previous 4 bytes should represent the CRC value (calculated on the entire rpu_data () excluding rpu_data_crc32).
The calculated CRC32 value never corresponds to that present in the RPU.

As for the FEL layer, in the case of profile 4, a device must control and must flag, in case of profile 7 the device can control and can flag. However, the variables to be checked are the same.

The fact that on LG televisions a BL+EL+RPU file goes jerky (unlike a simple BL+RPU) could be due precisely to the presence of the FEL layer which saturates the decoder buffer.
My dvhe.04 files are High Tier 5.1 (both BL and FEL/MEL because they come from a UHD-BD)
From the official Dolby documentation:

Code: Select all

In certain cases, the Dolby Vision specification imposes tighter constraints on the maximum tier bit rate and
the maximum decoded picture buffer size, as compared to the HEVC Main10 Level 5.1 specification.
See sections Dolby Vision levels and Limitation on decoder buffer size.


shawnc22 wrote:
Tue Mar 31, 2020 3:38 pm
When playing back the DV4 file, the renderer actually lists the codec as dvhe.04.06, but nothing for the DV6 file.
Thanks @shawnc22.
I'm sorry guys but the latest version of Exoplayer (2.10) does not support profile 6. There is an article about it on the developer blog (HERE) and checking the code (HERE) it shows the same thing!
deadchip12
Posts: 206
Joined: Thu May 02, 2019 2:49 am

Re: Dolby Vision now possible through MP4 Mux.

Post by deadchip12 »

MastaG wrote:
Wed Apr 01, 2020 6:50 pm

Strange as my mode 1 "BL+EL+RPU" merge of Gemini Man (FEL HFR) did trigger DV and played smoothly on my C8 when I was using an older rev of TsMuxer.
See my post: https://www.makemkv.com/forum/viewtopic ... 295#p86295
I followed the exact same steps in your post but Gemini Man still stutters every 2 seconds on my oled C9. The file is stored in an external hdd connected to the tv via usb and played using the tv internal media player.
shawnc22
Posts: 636
Joined: Tue Jan 21, 2020 7:40 am

Re: Dolby Vision now possible through MP4 Mux.

Post by shawnc22 »

yusesope wrote:
Thu Apr 02, 2020 10:26 am
shawnc22 wrote:
Tue Mar 31, 2020 3:38 pm
When playing back the DV4 file, the renderer actually lists the codec as dvhe.04.06, but nothing for the DV6 file.
Thanks @shawnc22.
I'm sorry guys but the latest version of Exoplayer (2.10) does not support profile 6. There is an article about it on the developer blog (HERE) and checking the code (HERE) it shows the same thing!
Any reason you can think of to explain why it still looks like it’s working (DV still triggered) despite the apparent lack of support for profile 6? Also kind of interesting to see profile 7 mentioned in the code even though its not supported.

Bit of a side note on exoplayer lately, I’ve noticed that even though the option is turned on in the settings, content frame rate matching does not seem to be working and everything is still being played at 60hz. Reverting back to the old player solves the issue and all my DV remuxes still seem to work (at least as far as triggering DV goes) like they do with the exoplayer.
Last edited by shawnc22 on Thu Apr 02, 2020 4:32 pm, edited 1 time in total.
MastaG
Posts: 90
Joined: Thu Aug 08, 2019 11:40 am

Re: Dolby Vision now possible through MP4 Mux.

Post by MastaG »

deadchip12 wrote:
Thu Apr 02, 2020 11:52 am
MastaG wrote:
Wed Apr 01, 2020 6:50 pm

Strange as my mode 1 "BL+EL+RPU" merge of Gemini Man (FEL HFR) did trigger DV and played smoothly on my C8 when I was using an older rev of TsMuxer.
See my post: https://www.makemkv.com/forum/viewtopic ... 295#p86295
I followed the exact same steps in your post but Gemini Man still stutters every 2 seconds on my oled C9. The file is stored in an external hdd connected to the tv via usb and played using the tv internal media player.
Well the "boken/bugged" version of TsMuxer (when not all DV contributions were committed) created a .ts file that says:

Code: Select all

Dolby Vision, Version 1.0, dvhe.08.09, BL+EL+RPU / SMPTE ST 2086, HDR10 compatible
The hevc file of Gemini Man was indeed created with yusesope's 0.0.3 tool (mode 1 BL+EL+RPU).

However after reading all the posts here, it seems with profile 08 I'm telling the LG decoder to just ignore the EL layer and only read RPU (as if the hevc file was generated using mode 2 BL+RPU).
Like mp4muxer says:

Code: Select all

 --dv-profile <arg>                 = Sets the Dolby Vision profile. This option is MANDATORY for 
                                      DoVi elementary stream: Valid profile values are:
                                      4 - dvhe.04, BL codec: HEVC10; EL codec: HEVC10; BL compatibility: SDR/HDR.   
                                      5 - dvhe.05, BL codec: HEVC10; EL codec: N/A;    BL compatibility: None.      
                                      7 - dvhe.07, BL codec: HEVC10; EL codec: HEVC10; BL compatibility: Blue-ray HDR10. 
                                      8 - dvhe.08, BL codec: HEVC10; EL codec: N/A;    BL compatibility: SDR/HDR.   
                                      9 - dvav.09, BL codec: AVC;    EL codec: N/A;    BL compatibility: SDR/HDR
Only 04 and 07 should present an EL layer.. 07 is probably dual-track since it's for meant for BluRay.
So with profile 08 set in my .ts file the LG decoder probably doesn't stutter since it's ignoring the FEL layer.

I think the decoder is simply not powerful enough to process BL+EL+RPU for such high bitrate movies with a full enhanced layer, especially not a 60fps movie like Gemini Man.
So I guess I should go for mode 2 / profile 05 then.

@jcdr428
Could you add another commit to your PR to change the profile 06 back to 04?
deadchip12
Posts: 206
Joined: Thu May 02, 2019 2:49 am

Re: Dolby Vision now possible through MP4 Mux.

Post by deadchip12 »

MastaG wrote:
Thu Apr 02, 2020 1:38 pm
deadchip12 wrote:
Thu Apr 02, 2020 11:52 am
MastaG wrote:
Wed Apr 01, 2020 6:50 pm

Strange as my mode 1 "BL+EL+RPU" merge of Gemini Man (FEL HFR) did trigger DV and played smoothly on my C8 when I was using an older rev of TsMuxer.
See my post: https://www.makemkv.com/forum/viewtopic ... 295#p86295
I followed the exact same steps in your post but Gemini Man still stutters every 2 seconds on my oled C9. The file is stored in an external hdd connected to the tv via usb and played using the tv internal media player.
Well the "boken/bugged" version of TsMuxer (when not all DV contributions were committed) created a .ts file that says:

Code: Select all

Dolby Vision, Version 1.0, dvhe.08.09, BL+EL+RPU / SMPTE ST 2086, HDR10 compatible
The hevc file of Gemini Man was indeed created with yusesope's 0.0.3 tool (mode 1 BL+EL+RPU).

However after reading all the posts here, it seems with profile 08 I'm telling the LG decoder to just ignore the EL layer and only read RPU (as if the hevc file was generated using mode 2 BL+RPU).
Like mp4muxer says:

Code: Select all

 --dv-profile <arg>                 = Sets the Dolby Vision profile. This option is MANDATORY for 
                                      DoVi elementary stream: Valid profile values are:
                                      4 - dvhe.04, BL codec: HEVC10; EL codec: HEVC10; BL compatibility: SDR/HDR.   
                                      5 - dvhe.05, BL codec: HEVC10; EL codec: N/A;    BL compatibility: None.      
                                      7 - dvhe.07, BL codec: HEVC10; EL codec: HEVC10; BL compatibility: Blue-ray HDR10. 
                                      8 - dvhe.08, BL codec: HEVC10; EL codec: N/A;    BL compatibility: SDR/HDR.   
                                      9 - dvav.09, BL codec: AVC;    EL codec: N/A;    BL compatibility: SDR/HDR
Only 04 and 07 should present an EL layer.. 07 is probably dual-track since it's for meant for BluRay.
So with profile 08 set in my .ts file the LG decoder probably doesn't stutter since it's ignoring the FEL layer.

I think the decoder is simply not powerful enough to process BL+EL+RPU for such high bitrate movies with a full enhanced layer, especially not a 60fps movie like Gemini Man.
So I guess I should go for mode 2 / profile 05 then.

@jcdr428
Could you add another commit to your PR to change the profile 06 back to 04?
I’m not sure I understand everything you mentioned but you got the file played on the c8 without stutter right? I used the same programs from the links you posted and followed the steps but then the file stutters on the c9. What can explain this?
MastaG
Posts: 90
Joined: Thu Aug 08, 2019 11:40 am

Re: Dolby Vision now possible through MP4 Mux.

Post by MastaG »

deadchip12 wrote:
Thu Apr 02, 2020 3:04 pm
MastaG wrote:
Thu Apr 02, 2020 1:38 pm
deadchip12 wrote:
Thu Apr 02, 2020 11:52 am


I followed the exact same steps in your post but Gemini Man still stutters every 2 seconds on my oled C9. The file is stored in an external hdd connected to the tv via usb and played using the tv internal media player.
Well the "boken/bugged" version of TsMuxer (when not all DV contributions were committed) created a .ts file that says:

Code: Select all

Dolby Vision, Version 1.0, dvhe.08.09, BL+EL+RPU / SMPTE ST 2086, HDR10 compatible
The hevc file of Gemini Man was indeed created with yusesope's 0.0.3 tool (mode 1 BL+EL+RPU).

However after reading all the posts here, it seems with profile 08 I'm telling the LG decoder to just ignore the EL layer and only read RPU (as if the hevc file was generated using mode 2 BL+RPU).
Like mp4muxer says:

Code: Select all

 --dv-profile <arg>                 = Sets the Dolby Vision profile. This option is MANDATORY for 
                                      DoVi elementary stream: Valid profile values are:
                                      4 - dvhe.04, BL codec: HEVC10; EL codec: HEVC10; BL compatibility: SDR/HDR.   
                                      5 - dvhe.05, BL codec: HEVC10; EL codec: N/A;    BL compatibility: None.      
                                      7 - dvhe.07, BL codec: HEVC10; EL codec: HEVC10; BL compatibility: Blue-ray HDR10. 
                                      8 - dvhe.08, BL codec: HEVC10; EL codec: N/A;    BL compatibility: SDR/HDR.   
                                      9 - dvav.09, BL codec: AVC;    EL codec: N/A;    BL compatibility: SDR/HDR
Only 04 and 07 should present an EL layer.. 07 is probably dual-track since it's for meant for BluRay.
So with profile 08 set in my .ts file the LG decoder probably doesn't stutter since it's ignoring the FEL layer.

I think the decoder is simply not powerful enough to process BL+EL+RPU for such high bitrate movies with a full enhanced layer, especially not a 60fps movie like Gemini Man.
So I guess I should go for mode 2 / profile 05 then.

@jcdr428
Could you add another commit to your PR to change the profile 06 back to 04?
I’m not sure I understand everything you mentioned but you got the file played on the c8 without stutter right? I used the same programs from the links you posted and followed the steps but then the file stutters on the c9. What can explain this?
Well I meant to say that the FEL movies such as Gemini Man were playing smooth on my C8 because I was using an older revision of TsMuxer.

This version would incorrectly set profile 08 in the .ts file.

I've edited my last post with all the DV profiles.
And as you can see, profile 08 doesn't mention an EL layer.

So with profile 08 the LG player will treat the video track as BL+RPU. (Like when using mode 2 when using yusecope's tool).
Thus it ignores the EL layer altogether, making it play smooth.

So you'll see DV but it's only processing the RPU metadata, not the full EL layer.

I think the SoC is not powerful enough to process BL+EL+RPU (profile 04/06) when using a full enhancement layer (FEL) at such high bitrates.

So you might as well use BL+RPU (mode 2) instead as it gives the same result as using profile 08 (telling the player there is no EL).

EDIT:

Even without the full enhancement layer you can clearly see the difference between DV and HDR10.

In this movie DV adds some nice shading.

And at 60fps it's really beautiful to watch, even though it's a bad movie overall.
Angryunibrow
Posts: 104
Joined: Wed Nov 06, 2019 11:26 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by Angryunibrow »

@jcdr428
Could you add another commit to your PR to change the profile 06 back to 04?
I think this would be best also, we should be using profile 4 not 6.
yusesope
Posts: 221
Joined: Sun Jul 28, 2019 3:34 am

Re: Dolby Vision now possible through MP4 Mux.

Post by yusesope »

shawnc22 wrote:
Thu Apr 02, 2020 12:01 pm
Any reason you can think of to explain why it still looks like it’s working (DV still triggered) despite the apparent lack of support for profile 6? Also kind of interesting to see profile 7 mentioned in the code even though its not supported.
I think the application starts a "tunneled video playback" session (more information HERE). What happens next depends on how nVidia implemented the hardware decoder. Most likely the EL layer is discarded and only the BL layer is processed together with the RPU metadata.

As for profile 7, it is considered to define codecsPrefix = "dvhe" but in the "MediaCodecVideoRenderer" class (HERE) only the profiles mentioned in the article seem to be taken into consideration (the various profiles are defined HERE)



MastaG wrote:
Thu Apr 02, 2020 1:38 pm
07 is probably dual-track since it's for meant for BluRay.
I agree with everything you wrote. I have a doubt about the previous statement.
Why don't you try creating a profile 7 file using my tool (-mode 1) and mp4muxer?
Does your LG TV play it?
jcdr428
Posts: 34
Joined: Fri Mar 20, 2020 6:55 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by jcdr428 »

@Angryunibrow @shawnc22 could you please:
- Mux FEL Blu-ray BL and EL to single layer with yusesope tool, then to profile 4 with Dolby mp4muxer,
- Change in dvcC atom dv_profile from 4 to 6, and dv_bl_signal_compatibility_id from 2 to 1
(i.e. change '64 76 63 43 01 00 08 37 20' to '64 76 63 43 01 00 0C 37 10' with an Hex editor)

and try it on TV ?

@yusesope ExoPlayer being open-source, profile 6 can be pushed easily.
MastaG
Posts: 90
Joined: Thu Aug 08, 2019 11:40 am

Re: Dolby Vision now possible through MP4 Mux.

Post by MastaG »

yusesope wrote:
Fri Apr 03, 2020 9:18 am
MastaG wrote:
Thu Apr 02, 2020 1:38 pm
07 is probably dual-track since it's for meant for BluRay.
I agree with everything you wrote. I have a doubt about the previous statement.
Why don't you try creating a profile 7 file using my tool (-mode 1) and mp4muxer?
Does your LG TV play it?
I've just tried it:

Code: Select all

mp4muxer -i BL.hevc -i EL.hevc -i gemini.ec3 --media-lang eng --dv-profile 7 -o Gemini_DL.mp4 --mpeg4-comp-brand mp42,isom,dby1

Code: Select all

General
Complete name                            : Gemini_DL.mp4
Format                                   : MPEG-4
Format profile                           : Base Media / Version 2
Codec ID                                 : mp42 (mp42/isom/dby1)
File size                                : 68.8 GiB
Duration                                 : 1 h 57 min
Overall bit rate                         : 84.1 Mb/s
Encoded date                             : UTC 2020-04-03 08:18:46
Tagged date                              : UTC 2020-04-03 08:18:46

Video #1
ID                                       : 1
Format                                   : HEVC
Format/Info                              : High Efficiency Video Coding
Format profile                           : Main 10@L5.1@High
HDR format                               : SMPTE ST 2086, HDR10 compatible
Codec ID                                 : hev1
Codec ID/Info                            : High Efficiency Video Coding
Duration                                 : 1 h 57 min
Bit rate                                 : 81.0 Mb/s
Width                                    : 3 840 pixels
Height                                   : 2 160 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 59.940 (60000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0 (Type 2)
Bit depth                                : 10 bits
Bits/(Pixel*Frame)                       : 0.163
Stream size                              : 66.2 GiB (96%)
Default                                  : Yes
Alternate group                          : 1
Encoded date                             : UTC 2020-04-03 08:18:46
Tagged date                              : UTC 2020-04-03 08:18:46
Color range                              : Limited
Color primaries                          : BT.2020
Transfer characteristics                 : PQ
Matrix coefficients                      : BT.2020 non-constant
Mastering display color primaries        : Display P3
Mastering display luminance              : min: 0.0010 cd/m2, max: 1000 cd/m2
Maximum Content Light Level              : 5180 cd/m2
Maximum Frame-Average Light Level        : 1577 cd/m2
Codec configuration box                  : hvcC

Video #2
ID                                       : 2
Format                                   : HEVC
Format/Info                              : High Efficiency Video Coding
Format profile                           : Main 10@L5.1@High
HDR format                               : Dolby Vision, Version 1.0, dvhe.07.09, EL+RPU / SMPTE ST 2086, HDR10 compatible
Codec ID                                 : hev1
Codec ID/Info                            : High Efficiency Video Coding
Duration                                 : 1 h 57 min
Bit rate                                 : 2 687 kb/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:2:0 (Type 2)
Bit depth                                : 10 bits
Bits/(Pixel*Frame)                       : 0.022
Stream size                              : 2.20 GiB (3%)
Default                                  : No
Alternate group                          : 1
Encoded date                             : UTC 2020-04-03 08:18:46
Tagged date                              : UTC 2020-04-03 08:18:46
Color range                              : Limited
Color primaries                          : BT.2020
Transfer characteristics                 : PQ
Matrix coefficients                      : BT.2020 non-constant
Mastering display color primaries        : Display P3
Mastering display luminance              : min: 0.0010 cd/m2, max: 1000 cd/m2
Codec configuration box                  : hvcC+dvcC

Audio
ID                                       : 3
Format                                   : E-AC-3
Format/Info                              : Enhanced AC-3
Commercial name                          : Dolby Digital Plus
Codec ID                                 : ec-3
Duration                                 : 1 h 57 min
Bit rate mode                            : Constant
Bit rate                                 : 448 kb/s
Channel(s)                               : 6 channels
Channel layout                           : L R C LFE Ls Rs
Sampling rate                            : 48.0 kHz
Frame rate                               : 31.250 FPS (1536 SPF)
Compression mode                         : Lossy
Stream size                              : 375 MiB (1%)
Language                                 : English
Service kind                             : Complete Main
Default                                  : Yes
Alternate group                          : 2
Encoded date                             : UTC 2020-04-03 08:18:46
Tagged date                              : UTC 2020-04-03 08:18:46
Does not start at all.. black screen.. (I could have sworn mp4muxer used to work before though).
EDIT: I didn't read correctly. Will now try using your mode 1 merge and profile 07.

I've also tried a profile 04 version using the hevc file muxed with your tool (mode 1 BL+EL+RPU).

Code: Select all

mp4muxer -i gemini.hevc -i gemini.ec3 --media-lang eng --dv-profile 4 -o Gemini_04.mp4 --mpeg4-comp-brand mp42,isom,dby1

Code: Select all

General
Complete name                            : Gemini_04.mp4
Format                                   : MPEG-4
Format profile                           : Base Media / Version 2
Codec ID                                 : mp42 (mp42/isom/dby1)
File size                                : 68.8 GiB
Duration                                 : 1 h 57 min
Overall bit rate                         : 84.1 Mb/s
Encoded date                             : UTC 2020-04-02 17:59:03
Tagged date                              : UTC 2020-04-02 17:59:03

Video
ID                                       : 1
Format                                   : HEVC
Format/Info                              : High Efficiency Video Coding
Format profile                           : Main 10@L5.1@High
HDR format                               : Dolby Vision, Version 1.0, dvhe.04.09, BL+EL+RPU / SMPTE ST 2086, HDR10 compatible
Codec ID                                 : hev1
Codec ID/Info                            : High Efficiency Video Coding
Duration                                 : 1 h 57 min
Bit rate                                 : 83.7 Mb/s
Width                                    : 3 840 pixels
Height                                   : 2 160 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 59.940 (60000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0 (Type 2)
Bit depth                                : 10 bits
Bits/(Pixel*Frame)                       : 0.168
Stream size                              : 68.4 GiB (99%)
Default                                  : Yes
Alternate group                          : 1
Encoded date                             : UTC 2020-04-02 17:59:03
Tagged date                              : UTC 2020-04-02 17:59:03
Color range                              : Limited
Color primaries                          : BT.2020
Transfer characteristics                 : PQ
Matrix coefficients                      : BT.2020 non-constant
Mastering display color primaries        : Display P3
Mastering display luminance              : min: 0.0010 cd/m2, max: 1000 cd/m2
Maximum Content Light Level              : 5180 cd/m2
Maximum Frame-Average Light Level        : 1577 cd/m2
Codec configuration box                  : hvcC+dvcC+hvcE

Audio
ID                                       : 2
Format                                   : E-AC-3
Format/Info                              : Enhanced AC-3
Commercial name                          : Dolby Digital Plus
Codec ID                                 : ec-3
Duration                                 : 1 h 57 min
Bit rate mode                            : Constant
Bit rate                                 : 448 kb/s
Channel(s)                               : 6 channels
Channel layout                           : L R C LFE Ls Rs
Sampling rate                            : 48.0 kHz
Frame rate                               : 31.250 FPS (1536 SPF)
Compression mode                         : Lossy
Stream size                              : 375 MiB (1%)
Language                                 : English
Service kind                             : Complete Main
Default                                  : Yes
Alternate group                          : 2
Encoded date                             : UTC 2020-04-02 17:59:03
Tagged date                              : UTC 2020-04-02 17:59:03
This one does play, but skips every 1-2 seconds (same as when using TsMuxer which gives it profile 06).

So my conclusion is.. that "merging" BL+EL+RPU using your tool.. produces a working hevc.. but the LG C8 is not powerful enough to play it.
Same behaviour in both mp4muxer and tsmuxer.

I'll try to hex-edit my mp4 from profile 04 to profile 06.. (if I can find the hex-string).

Also I'm going to test locally from USB from now on, since all testing was done using Emby Media Server.
So I'll create all kinds of muxes and store them on my 1TB usb disk.
jcdr428
Posts: 34
Joined: Fri Mar 20, 2020 6:55 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by jcdr428 »

@MastaG a 60 fps UHD (level 9) is most likely above the decoding capabilities of most SoCs. Better to test profile 4/6 FEL with a standard <24fps first.

Edit: '64 76 63 43 01 00 08 37 20' is for level 6, for level 9 change '64 76 63 43 01 00 08 4F 20' to '64 76 63 43 01 00 0C 4F 10' : '64 76 63 43' is 'dvcC', then DV version (16 bits), and the three last bytes are profile (7 bits), level (6 bits), RPU/EL/BL (3 bits), BL compatibility (4 bits), reserved (4 zero bits).
shawnc22
Posts: 636
Joined: Tue Jan 21, 2020 7:40 am

Re: Dolby Vision now possible through MP4 Mux.

Post by shawnc22 »

jcdr428 wrote:
Fri Apr 03, 2020 9:43 am
@Angryunibrow @shawnc22 could you please:
- Mux FEL Blu-ray BL and EL to single layer with yusesope tool, then to profile 4 with Dolby mp4muxer,
- Change in dvcC atom dv_profile from 4 to 6, and dv_bl_signal_compatibility_id from 2 to 1
(i.e. change '64 76 63 43 01 00 08 37 20' to '64 76 63 43 01 00 0C 37 10' with an Hex editor)

and try it on TV ?

@yusesope ExoPlayer being open-source, profile 6 can be pushed easily.
Same issues here on my B9 with 1917. Stutters initially at profile 4 and still stutters after changing to profile 6 via hex editor. Resulting mediainfo here:

Code: Select all

General
Complete name                            : Z:\TS\Prof6\1917_MP4.mp4
Format                                   : MPEG-4
Format profile                           : Base Media / Version 2
Codec ID                                 : mp42 (mp42/dby1/isom)
File size                                : 64.3 GiB
Duration                                 : 1 h 58 min
Overall bit rate                         : 77.4 Mb/s
Encoded date                             : UTC 2020-04-03 14:42:17
Tagged date                              : UTC 2020-04-03 14:42:17

Video
ID                                       : 1
Format                                   : HEVC
Format/Info                              : High Efficiency Video Coding
Format profile                           : Main 10@L5.1@High
HDR format                               : Dolby Vision, Version 1.0, dvhe.06.06, BL+EL+RPU / SMPTE ST 2094 App 4, Version 1, HDR10+ Profile B compatible
Codec ID                                 : hev1
Codec ID/Info                            : High Efficiency Video Coding
Duration                                 : 1 h 58 min
Bit rate                                 : 77.4 Mb/s
Width                                    : 3 840 pixels
Height                                   : 2 160 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 23.976 (24000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0 (Type 2)
Bit depth                                : 10 bits
Bits/(Pixel*Frame)                       : 0.389
Stream size                              : 64.3 GiB (100%)
Language                                 : English
Default                                  : Yes
Alternate group                          : 1
Encoded date                             : UTC 2020-04-03 14:42:17
Tagged date                              : UTC 2020-04-03 14:42:17
Color range                              : Limited
Color primaries                          : BT.2020
Transfer characteristics                 : PQ
Matrix coefficients                      : BT.2020 non-constant
Mastering display color primaries        : Display P3
Mastering display luminance              : min: 0.0001 cd/m2, max: 1000 cd/m2
Maximum Content Light Level              : 1000 cd/m2
Maximum Frame-Average Light Level        : 168 cd/m2
Codec configuration box                  : hvcC+dvcC+hvcE
Post Reply