View Full Version : [DDVT Tool] Dolby Vision RPU Demuxing / Injecting / Editing.


Pages : 1 [2]

GodzilaAvenger
31st December 2024, 08:05
I know that. But my output has HDR10 as a base layer.

Are you sure that the DV is played and interpreted correcrly? Because as QfG said a P5 RPU is not compatible with a BT.2020 (HDR10) base layer. You can inject the RPU into the base layer but the result would be all mangled up as far as brightness and color accuracy are concerned.

What happens if you convert the P5 RPU to a P8 RPU using dovi_tool and inject that into the base layer? Can you spot any differences?

SeeMoreDigital
31st December 2024, 11:21
Here, I will upload it.Microsoft 'Windows Security' has detected a virus...

-QfG-
2nd January 2025, 17:25
But my output has HDR10 as a base layer.

HDR format : Dolby Vision, Version 1.0, dvhe.05.06, BL+RPU / SMPTE ST 2086, HDR10 compatible
Codec ID : hev1

HDR10 layers and P5 RPUs incompatible. Why not simply transform Profile 5 from RPU to Profile 8 and mux this correct RPU into HDR10 stream?

Also the mp4muxer.exe from @Fuso is clean, false positives from Windows Security:
https://www.virustotal.com/gui/file/39752334b8042eed3fa01311d168c5ab7609e88d8772298c0c49b4d1da47d1b3

Are you sure that the DV is played and interpreted correcrly? Because as QfG said a P5 RPU is not compatible with a BT.2020 (HDR10) base layer.

That says Dolby Laboratories, not QfG :D
https://professionalsupport.dolby.com/s/article/What-is-Dolby-Vision-Profile?language=en_US
page 13

For profile 5:
• VUI information is optional for a profile 5 bitstream. If VUI are present, as of this specification, there
are two options that may be used: 1,2,2,2,0 and 1,9,16,15,0. The values of 2 are compliant with the
VUI definition in ITU-T H.265, where the 2s represent unspecified.
• Within the Dolby Vision context, a profile 5 bitstream must use perceptual quantization with reshaping
for the transfer characteristic, even if setting the transfer characteristic value to 16, uses Dolby Vision
previously proprietary IPT color space (now known as IPT-PQ-C2) for color primaries, uses full range
for range, and, by default, uses center-left siting for chroma sample location.
As defined in SMPTE ST 2128:2023, IPT-PQ-C2, previously a Dolby Vision proprietary color space, is
similar to BT.2100 ICtCp, where I is similar to I, P similar to Cp, and T similar to Ct. As of the date of this
specification, the MPEG Joint Video Experts Team (JVET) working group has standardized the code
point for this previously proprietary color space, also known as IPT-PQ-C2, using code point 15

btw. little bugfix in DDVT:

-v0.64.3a
*FIXED Problems with files that contains "()" in filename.

matey
2nd January 2025, 21:23
can anyone who had downloaded the mp4muxer from @fuso please let me know which version it is, i will be needed the linux arm64 version so I want to look for & download that version. thanks

Fuso
4th January 2025, 20:33
can anyone who had downloaded the mp4muxer from @fuso please let me know which version it is, i will be needed the linux arm64 version so I want to look for & download that version. thanks
MP4muxer version: v1.3.3 (build: Aug 6 2023)


The RPU is P8, I think the files that I "produce" are the so called "fake profile 5".

The source MKV has this info:
Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5@Main
HDR format : Dolby Vision, Version 1.0, dvhe.08.06, BL+RPU, HDR10 compatible / SMPTE ST 2094 App 4, Version 1, HDR10+ Profile B compatible
Codec ID : V_MPEGH/ISO/HEVC

1. I demux the video and the audio with tsmuxer.
2. The extracted .hevc and .ec3 files I mux with the following line:
mp4muxer --dv-profile 5 --input-file 1.hevc --input-video-frame-rate 24000/1001 --input-file 1.ec3 --media-lang eng --output-file MOVIE.mp4
pause

The ouptut MOVIE.mp4 looks like that:
Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5@Main
HDR format : Dolby Vision, Version 1.0, dvhe.05.06, BL+RPU / SMPTE ST 2094 App 4, Version 1, HDR10+ Profile B compatible
Codec ID : dvhe
Codec ID/Info : High Efficiency Video Coding with Dolby Vision

3. And since files with Codec ID: dvhe can't be playes on a Samsung TVs (I haven't tested other brands), I rename the MOVIE.mp4 to MOVIE.mkv and then use the QfG's script DDVT_MKVTOMP4

powered by quietvoids tools Copyright (c) 2021-2024 QfG

====================================
Dolby Vision Tool MKVtoMP4
====================================


== VIDEO INPUT =========================================================================================================

Filename = [MOVIE.mkv]
Video Info = [Resolution = 3840x1600] [Codec = HEVC-10Bit-YUV-4:2:0] [Frames = 199736] [FPS = 23.976]
HDR Info = [HDR, HDR10+, Dolby Vision Profile 5]

HDR10+ Metadata found.
Dolby Vision Profile 5 found.

Be sure that there no picture based subtitles in your MKV file (PGS or VobSub)
Only textbased subtitles supported.

Please check your Audio Codec and the MP4 specifications. You can switch the
Audio Codec if the source is not compatible with MP4 container.

== MENU ================================================================================================================

1. Audio Codec : [Untouched]

S. START

Change Settings and press [S] to start Converting
Select a Letter 1,[S]tart

and the final ouput MOVIE.mp4:
Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5@Main
HDR format : Dolby Vision, Version 1.0, dvhe.05.06, BL+RPU / SMPTE ST 2094 App 4, Version 1, HDR10+ Profile B compatible
Codec ID : hev1
Codec ID/Info : High Efficiency Video Coding

I did try to mux directly to Codec ID: hev1 at step 2, but it didn't work with one of the following (or both) - --dv-bl-compatible-id, --hvc1flag.

I've asked many times before not only on this forum but no one could give me a solution for playing HDR10/HDR10+/DoVi hybrid files on both Samsung and LG (old and new). The whole shenanigans is needed because the old LGs can't play DoVi Profile 8 with Codec ID: hev1, it plays in regular HDR. But when the file is DoVi Profile 5 with Codec ID: hev1 it plays in Dolby Vision, and the same file plays on Samsung TV in HDR10/HDR10+, and if video is real Profile 5 will play in green and purple colors.
So I figured out for myself and so far I haven't noticed anything wrong when playing on all of the TVs.

GodzilaAvenger
4th January 2025, 23:18
That's really interesting, thanks for sharing!

skydalimit
5th January 2025, 04:09
I've got a Hybrid MP4 movie that contains HDR + DV Profile 7. I need to convert the DV to Profile 8 (keeping HDR). Do I use the Hybrid Script and add the same file twice, or do I need to use the Demuxer script and do extra steps?

cool advertise
5th January 2025, 11:35
@-QfG-
Bug (v0.64.3b).
If you try to demux with DDVT_DEMUXER, the single Enhancement Layer of a dolby vision profile 7, and want to convert it to profile 8 (cropping it) you will not get the rpu, but an error.
In previous versions it worked, but now it doesn't.

mikeq
5th January 2025, 23:50
So if I look at Jaws remux
MaxCLL in MediaInfo is 1000,259
and from the RPU summary:
RPU content Light Level (L1) is 9977,251
L6 Metadata is 4001,597

Why are these numbers all different?

-QfG-
6th January 2025, 18:15
-v0.64.3c
*FIXED Errors in demuxing combinations in DEMUXER script.
*FIXED Some errors in MediaInfo with DL files.
*FIXED L6 Error (L6 SWITCH) in Injector script.
*FIXED If changing FPS with Injector and EL is input, FPS from EL changed, too.
*ADDED Option in Injector script for writing RPU L6 Data as HDR bitstream data.
*Minor Bugfixes.

Bug (v0.64.3b).
If you try to demux with DDVT_DEMUXER, the single Enhancement Layer of a dolby vision profile 7, and want to convert it to profile 8 (cropping it) you will not get the rpu, but an error.
In previous versions it worked, but now it doesn't.

Thanks, fixed in 0.64.3c

cool advertise
6th January 2025, 18:44
Bug (v0.64.3b).
If you try to demux with DDVT_DEMUXER, the single Enhancement Layer of a dolby vision profile 7, and want to convert it to profile 8 (cropping it) you will not get the rpu, but an error.
In previous versions it worked, but now it doesn't.
Thanks, fixed in 0.64.3c

I just tried version 0.64.3c but the bug I described is still there.
I get an error instead of rpu.

matey
6th January 2025, 19:54
MP4muxer version: v1.3.3 (build: Aug 6 2023)


The RPU is P8, I think the files that I "produce" are the so called "fake profile 5".

The source MKV has this info:
Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5@Main
HDR format : Dolby Vision, Version 1.0, dvhe.08.06, BL+RPU, HDR10 compatible / SMPTE ST 2094 App 4, Version 1, HDR10+ Profile B compatible
Codec ID : V_MPEGH/ISO/HEVC

1. I demux the video and the audio with tsmuxer.
2. The extracted .hevc and .ec3 files I mux with the following line:
mp4muxer --dv-profile 5 --input-file 1.hevc --input-video-frame-rate 24000/1001 --input-file 1.ec3 --media-lang eng --output-file MOVIE.mp4
pause

The ouptut MOVIE.mp4 looks like that:
Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5@Main
HDR format : Dolby Vision, Version 1.0, dvhe.05.06, BL+RPU / SMPTE ST 2094 App 4, Version 1, HDR10+ Profile B compatible
Codec ID : dvhe
Codec ID/Info : High Efficiency Video Coding with Dolby Vision

3. And since files with Codec ID: dvhe can't be playes on a Samsung TVs (I haven't tested other brands), I rename the MOVIE.mp4 to MOVIE.mkv and then use the QfG's script DDVT_MKVTOMP4

powered by quietvoids tools Copyright (c) 2021-2024 QfG

====================================
Dolby Vision Tool MKVtoMP4
====================================


== VIDEO INPUT =========================================================================================================

Filename = [MOVIE.mkv]
Video Info = [Resolution = 3840x1600] [Codec = HEVC-10Bit-YUV-4:2:0] [Frames = 199736] [FPS = 23.976]
HDR Info = [HDR, HDR10+, Dolby Vision Profile 5]

HDR10+ Metadata found.
Dolby Vision Profile 5 found.

Be sure that there no picture based subtitles in your MKV file (PGS or VobSub)
Only textbased subtitles supported.

Please check your Audio Codec and the MP4 specifications. You can switch the
Audio Codec if the source is not compatible with MP4 container.

== MENU ================================================================================================================

1. Audio Codec : [Untouched]

S. START

Change Settings and press [S] to start Converting
Select a Letter 1,[S]tart

and the final ouput MOVIE.mp4:
Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5@Main
HDR format : Dolby Vision, Version 1.0, dvhe.05.06, BL+RPU / SMPTE ST 2094 App 4, Version 1, HDR10+ Profile B compatible
Codec ID : hev1
Codec ID/Info : High Efficiency Video Coding

I did try to mux directly to Codec ID: hev1 at step 2, but it didn't work with one of the following (or both) - --dv-bl-compatible-id, --hvc1flag.

I've asked many times before not only on this forum but no one could give me a solution for playing HDR10/HDR10+/DoVi hybrid files on both Samsung and LG (old and new). The whole shenanigans is needed because the old LGs can't play DoVi Profile 8 with Codec ID: hev1, it plays in regular HDR. But when the file is DoVi Profile 5 with Codec ID: hev1 it plays in Dolby Vision, and the same file plays on Samsung TV in HDR10/HDR10+, and if video is real Profile 5 will play in green and purple colors.
So I figured out for myself and so far I haven't noticed anything wrong when playing on all of the TVs.

thanks for the detailed reply @fuso

just 1 clarification - for playing on old & new LG (2018 & 2023 models) the mp4 got after step 2 is enough to play in DV, right? the additional 2 steps you are doing is only for samsung tv's to play in HDR, correct?

Fuso
6th January 2025, 22:05
thanks for the detailed reply @fuso

just 1 clarification - for playing on old & new LG (2018 & 2023 models) the mp4 got after step 2 is enough to play in DV, right? the additional 2 steps you are doing is only for samsung tv's to play in HDR, correct?

If you just want to play DoVi on both old and new models LG only, there's no need for my method. Profile 8 DoVi mp4 with Codec ID set to dvhe is enough. And it's also the official way which meets the Dolby standarts.

@QfG is it possible to implement my way into the script of the DDVT_MKVTOMP4? You can add it to be set as an option [NO/YES] - something like Fake Profile 5 with explanation and also clarify that is expiremental.
I don't know if I'm the only one that needs this but it will be much easier to just convert MKV with HDR10/DoVi P8 to MP4 with HDR10/DoVi "P5" with Codec ID: hev1.
Also can you add an option to select the Codec ID - hev1 or dvhe for P8 mp4? That is what @matey needs in his case I think...

-QfG-
6th January 2025, 22:09
Yes, i can add in the next update a "Fake P5 Switch". That's no problem :)
The target file must have - DV Profile 5 Tag (but contains P8) / hev1 instead dvhe / mp4 container, correct?

Bug (v0.64.3b).
If you try to demux with DDVT_DEMUXER, the single Enhancement Layer of a dolby vision profile 7, and want to convert it to profile 8 (cropping it) you will not get the rpu, but an error.
In previous versions it worked, but now it doesn't.


I just tried version 0.64.3c but the bug I described is still there.
I get an error instead of rpu.

Have you this entries in line 1166?

:RPU_EXTRACT
if "!ELSTREAM!"=="" (
set "ELSTREAM=!INPUTSTREAM!"
%WHITE%
echo == DEMUXING ============================================================================================================
echo.
)
%CYAN%
echo Please wait. Demuxing DV Reference Processing Unit...
%WHITE%
"!DO_VI_TOOLpath!" %CROPSTRING% %CONVERTSTRING% extract-rpu "!ELSTREAM!" -o "!TARGET_FOLDER!\%INPUTFILENAMEO%_[RPU].bin"
if exist "!TARGET_FOLDER!\%INPUTFILENAMEO%_[RPU].bin" (
%GREEN%
echo Done.
echo.
) else (
%RED%
echo Error.
set "ERRORCOUNT=1"
echo.
)
goto :eof

if not, please reload the tool.

Fuso
6th January 2025, 23:15
Yes, i can add in the next update a "Fake P5 Switch". That's no problem :)
The target file must have - DV Profile 5 Tag (but contains P8) / hev1 instead dvhe / mp4 container, correct?


Yes. The ouput mp4 file must look like this:
Video
HDR format : Dolby Vision, Version 1.0, dvhe.05.06, BL+RPU / SMPTE ST 2086, HDR10 compatible
Codec ID : hev1

-QfG-
7th January 2025, 03:52
-v0.64.3d
*ADDED Function in MKVtoMP4 script for creating "fake" Profile 5 files.

Function is only available if input file is Profile 8.

Fuso
7th January 2025, 12:10
Function is only available if input file is Profile 8.

Just tried it but it's not working. Output file has lost the HDR10 info:
HDR format : Dolby Vision, Version 1.0, dvhe.05.06, BL+RPU
Codec ID : hev1

and can't be even played.
MPC-HC error:
File Source (Async.)::Output

Media Type 0:
--------------------------
Unknown

AM_MEDIA_TYPE:
majortype: MEDIATYPE_Stream {E436EB83-524F-11CE-9F53-0020AF0BA770}
subtype: Unknown GUID Name {08E22ADA-B715-45ED-9D20-7B87750301D4}
formattype: TIME_FORMAT_NONE {00000000-0000-0000-0000-000000000000}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 1
cbFormat: 0


Media Type 1:
--------------------------
Unknown

AM_MEDIA_TYPE:
majortype: MEDIATYPE_Stream {E436EB83-524F-11CE-9F53-0020AF0BA770}
subtype: TIME_FORMAT_NONE {00000000-0000-0000-0000-000000000000}
formattype: TIME_FORMAT_NONE {00000000-0000-0000-0000-000000000000}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 1
cbFormat: 0




The temp.mp4 file has this info:
HDR format : Dolby Vision, Version 1.0, dvhe.05.06, BL+RPU / SMPTE ST 2094 App 4, Version 1, HDR10+ Profile B compatible
Codec ID : dvhe
and the temp.mp4 plays fine.

cool advertise
7th January 2025, 12:43
Have you this entries in line 1166?
if not, please reload the tool.

Tried the new v0.64.3d version, now everything works correctly, thank you -QfG-.
:)

Fuso
7th January 2025, 12:49
Ok, so ffmpeg.exe is the one that breaks the process. I took the older version (from v0.63.1) and now everything is working as it should.

KarthikTdk
7th January 2025, 12:56
Hi @All ,
Can any one know where,I can get 1k to 4k resolutions or more than that of YUV video Format of 4:2:0 chroma sampling .
Thank you
Karthik.

-QfG-
7th January 2025, 21:15
Ok, so ffmpeg.exe is the one that breaks the process. I took the older version (from v0.63.1) and now everything is working as it should.

wtf... ok, will fix this on the next release :).

EDIT:

Have tried FFMPEG 6 (v0.63.1) and FFMPEG 5, every time same mistake.
Can u give me your FFMPEG please?

Fuso
7th January 2025, 22:12
Just tried with the latest ffmpeg build (https://github.com/BtbN/FFmpeg-Builds/releases) (ffmpeg-master-latest-win64-gpl) and it's working. I replaced both ffmpeg.exe and ffprobe.exe.

-QfG-
7th January 2025, 23:08
Thanks @Fuso, it works now with your linked FFMPEG build. i have reuploaded v0.63.4d with this build. No version change. Simply reupload.

cool advertise
8th January 2025, 12:19
@-QfG-
Still having problems with v0.64.3d.
This time with a dolby vision profile 8, BL+RPU, in an .mkv file. Demuxing like this gives an error and an rpu.bin of 0 bytes.

-QfG-
8th January 2025, 17:27
@-QfG-
Still having problems with v0.64.3d.
This time with a dolby vision profile 8, BL+RPU, in an .mkv file. Demuxing like this gives an error and an rpu.bin of 0 bytes.

Will be fixed in next update, Solution is:

Open and edit DDVT_DEMUXER.cmd and change line 1028 to:

if "%BL%%REMHDR10P%%SAVHDR10P%%RPU%"=="NONONONO" (

Also it must likes so in the section:

if "!VIDEO_COUNT!"=="1" (
if "%BL%%REMHDR10P%%SAVHDR10P%%RPU%"=="NONONONO" (
%CYAN%
echo.
echo Please wait. Demuxing EL...

All problems comes now through the implantation of Dual Layer support, sorry for this.

EDIT: Fixed Script as Attach File for Download.

cool advertise
8th January 2025, 19:12
EDIT: Fixed Script as Attach File for Download.

It works now, with the new DDVT_DEMUXER.rar attached.
:thanks:

skydalimit
8th January 2025, 19:19
I've got a Hybrid MP4 movie that contains HDR + DV Profile 7. I need to convert the DV to Profile 8 (keeping HDR). Do I use the Hybrid Script and add the same file twice, or do I need to use the Demuxer script and do extra steps?

I was able to figure this out. For anyone interested, here are the steps:

1. Run DDVT_DEMUXER on the MP4 file that contains the HDR + DV Profile 7. This will demux the DV P7 and convert it to P8. The output will be an RPU.BIN file.
2. Run DDVT_REMOVER on the MP4 file that contains the HDR + DV Profile 7. Make sure "Remove Dolby Vision" = Yes. This will remove the DV P7. The output will be a "No DV.mp4" file.
3. Run DDVT_INJECTOR on the "No DV.mp4" file and select the RPU.BIN file from the output of step 1. This will remux the "No DV.mp4" with the DV P8 (RPU.BIN), creating a Hybrid HDR+DV P8 mp4.

-QfG-
8th January 2025, 20:25
If it is a Dual Layer MP4 with P7 the steps right. If it is a Single Layer P7 MP4, you can skip step (2.), the P8 RPU will overwrite the P7 EL layer.

Do I use the Hybrid Script and add the same file twice, or do I need to use the Demuxer script and do extra steps?

If your MP4 file contains a Single Layer P7, you can do it so, thats the fastest way.

aussiebro
10th January 2025, 03:04
Thanks for the application I was able to make a few hybrids out of a few Amazon web dls that are hdr10+.

-QfG-
10th January 2025, 19:29
Started test phase for 0.64.4. Many reworks in the scripts.

-v0.64.4* TEST PHASE
*ADDED Function to plot HDR Metadata in FileInfo script (fork from reset_9999)
*REWORKED MANY Scripts

Fuso
11th January 2025, 12:06
Is it possible to keep the chapters when converting MKV to MP4?

-QfG-
11th January 2025, 18:36
No, mp4 has no chapter support.

Fuso
11th January 2025, 19:38
But...

General
Complete name : D:\Torrents\Movies\Conclave.2024.2160p.WEB-DL.DV-TheEqualizer\Conclave.2024.2160p.WEB-DL.DV-TheEqualizer.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom (isom/dby1/iso2/mp41)
File size : 13.3 GiB
Duration : 2 h 0 min
Overall bit rate mode : Variable
Overall bit rate : 15.8 Mb/s
Frame rate : 23.976 FPS
Movie name : Conclave (2024) by TheEqualizer
Tagged date : 2024-12-03 10:47:43 UTC
Writing application : Lavf60.3.100
Cover : Yes

Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5@High
HDR format : Dolby Vision, Version 1.0, dvhe.05.06, BL+RPU
Codec ID : hev1
Codec ID/Info : High Efficiency Video Coding
Duration : 2 h 0 min
Bit rate : 14.3 Mb/s
Width : 3 832 pixels
Height : 1 600 pixels
Display aspect ratio : 2.40:1
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 10 bits
Bits/(Pixel*Frame) : 0.098
Stream size : 12.1 GiB (91%)
Title : Conclave
Language : English
Tagged date : 2024-12-03 10:47:43 UTC
Menus : 10
Codec configuration box : hvcC+dvcC

Audio #1
ID : 3
Format : AC-3
Format/Info : Audio Coding 3
Commercial name : Dolby Digital
Codec ID : ac-3
Duration : 2 h 0 min
Bit rate mode : Constant
Bit rate : 640 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 : 551 MiB (4%)
Title : MVO | TVShows
Language : Russian
Service kind : Complete Main
Default : Yes
Alternate group : 1
Tagged date : 2024-12-03 10:47:43 UTC
Menus : 10

Audio #2
ID : 4
Format : E-AC-3 JOC
Format/Info : Enhanced AC-3 with Joint Object Coding
Commercial name : Dolby Digital Plus with Dolby Atmos
Codec ID : ec-3
Duration : 2 h 0 min
Bit rate mode : Constant
Bit rate : 768 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 : 662 MiB (5%)
Title : Original | Amazon
Language : English
Service kind : Complete Main
Default : No
Alternate group : 1
Tagged date : 2024-12-03 10:47:43 UTC
Menus : 10
Complexity index : Not present / 16
Number of dynamic objects : 15
Bed channel count : 1 channel
Bed channel configuration : LFE

Text #1
ID : 5
Format : Timed Text
Muxing mode : sbtl
Codec ID : tx3g
Duration : 1 h 59 min
Bit rate mode : Variable
Bit rate : 5 b/s
Frame rate : 0.247 FPS
Stream size : 4.70 KiB (0%)
Title : Forced | Un Chat Andalou
Language : Russian
Default : Yes
Forced : Yes / No
Alternate group : 3
Count of events : 889
Menus : 10

Text #2
ID : 6
Format : Timed Text
Muxing mode : sbtl
Codec ID : tx3g
Duration : 1 h 50 min
Bit rate mode : Variable
Bit rate : 89 b/s
Frame rate : 0.378 FPS
Stream size : 72.4 KiB (0%)
Title : Full | Un Chat Andalou
Language : Russian
Default : No
Forced : No
Alternate group : 3
Count of events : 1255
Menus : 10

Text #3
ID : 7
Format : Timed Text
Muxing mode : sbtl
Codec ID : tx3g
Duration : 1 h 59 min
Bit rate mode : Variable
Bit rate : 10 b/s
Frame rate : 0.201 FPS
Stream size : 9.10 KiB (0%)
Title : Forced | Amazon
Language : English
Default : No
Forced : No
Alternate group : 3
Count of events : 721
Menus : 10

Text #4
ID : 8
Format : Timed Text
Muxing mode : sbtl
Codec ID : tx3g
Duration : 1 h 50 min
Bit rate mode : Variable
Bit rate : 47 b/s
Frame rate : 0.324 FPS
Stream size : 38.4 KiB (0%)
Title : Full | Amazon
Language : English
Default : No
Forced : No
Alternate group : 3
Count of events : 1074
Menus : 10

Text #5
ID : 9
Format : Timed Text
Muxing mode : sbtl
Codec ID : tx3g
Duration : 1 h 53 min
Bit rate mode : Variable
Bit rate : 55 b/s
Frame rate : 0.386 FPS
Stream size : 45.5 KiB (0%)
Title : SDH | Amazon
Language : English
Default : No
Forced : No
Alternate group : 3
Count of events : 1317
Menus : 10

Menu #1
ID : 10
Format : Timed Text
Codec ID : text
Duration : 2 h 0 min
Language : English
Bit rate mode : CBR
Menu For : 1,3,4,5,6,7,8,9
00:00:00.000 : Chapter 01
00:04:47.620 : Chapter 02
00:09:35.492 : Chapter 03
00:17:46.608 : Chapter 04
00:25:48.173 : Chapter 05
00:33:13.576 : Chapter 06
00:41:42.752 : Chapter 07
00:49:17.791 : Chapter 08
00:55:01.843 : Chapter 09
01:01:06.249 : Chapter 10
01:07:25.795 : Chapter 11
01:12:54.624 : Chapter 12
01:18:13.985 : Chapter 13
01:26:02.537 : Chapter 14
01:29:51.725 : Chapter 15
01:35:00.909 : Chapter 16
01:41:31.633 : Chapter 17
01:46:22.382 : Chapter 18
01:50:43.268 : Chapter 19
01:53:41.363 : Chapter 20
Bit rate mode : Constant

Menu #2
00:00:00.000 : Chapter 01
00:04:47.620 : Chapter 02
00:09:35.492 : Chapter 03
00:17:46.608 : Chapter 04
00:25:48.173 : Chapter 05
00:33:13.576 : Chapter 06
00:41:42.752 : Chapter 07
00:49:17.791 : Chapter 08
00:55:01.843 : Chapter 09
01:01:06.249 : Chapter 10
01:07:25.795 : Chapter 11
01:12:54.624 : Chapter 12
01:18:13.985 : Chapter 13
01:26:02.537 : Chapter 14
01:29:51.725 : Chapter 15
01:35:00.909 : Chapter 16
01:41:31.633 : Chapter 17
01:46:22.382 : Chapter 18
01:50:43.268 : Chapter 19
01:53:41.363 : Chapter 20

-QfG-
12th January 2025, 20:15
-v0.64.4 Online
*XML Support (Injector / Demuxer)
*REWORKED MANY Scripts
*ADDED Function to plot HDR Metadata in FileInfo script (fork from reset_9999)
*ADDED Mass Converting with MKVtoMP4 (Folder Support)
*UPDATED Python to v3.13
*Minor Bugfixes.

If you using the Shell Extensions please reinstall the extensions via Options script, for MKVtoMP4 folder support .

tijgert
16th January 2025, 16:31
Hello all,

Running into a new situation here:
Source UHD with DV is 3840x1600 (letterboxed), destination UHD that needs DV is 3840x2160 (black bars).
When injecting the RPU it says video input matches with output RPU but RPU input does NOT match with video.

I also read that:
Originally Posted by Boulder View Post
My assumption is that whenever the final result doesn't have any black borders, you use the cropping option for the RPU.

So, does that mean that since the final result here WILL have black borders I do NOT need to crop?
I 'fear' the RPU will not be applied to the middle where the picture is but starts at the top so that the black bars will get DV.
Or WILL it be centered?

edit:
Made a json file where it specifies the crop, but it doesn't take over the values.

https://tweakers.net/fotoalbum/image/dS4WxK1AENkxiLXKpblnIztl.jpg

-QfG-
16th January 2025, 20:09
-v0.64.5
ADDED -Injector- Support for Custom JSON files without injecting DV / HDR10+. Not supported for DV Profile 7. Skip DV and HDR10+ Input for processing JSON files directly.
FIXED -Options- Errors with Shell Extensions and W11.
FIXED -Options- Wrong TAB entry in DDVT_Options.ini [Line JSON_PROCESS] (if you have the TAB bug, please delete the complete line in ini file and save options again).
FIXED -MediaInfo- Removed HDR Metadata Tab for non HDR files.
*UPDATED mkvtoolnix to v 89.0.0.0.
*Minor Bugfixes.

Source UHD with DV is 3840x1600 (letterboxed), destination UHD that needs DV is 3840x2160 (black bars).
When injecting the RPU it says video input matches with output RPU but RPU input does NOT match with video.

This is correct. Your SOURCE (INPUT) RPU has letterboxes 0,0,0,0 inside. Your SOURCE (INPUT) Video is letterboxed 0,280,0,280. SOURCE RPU and SOURCE VIDEO = NOT MATCH!
Your OUTPUT RPU has corrected AA with 0,280,0,280. The some borders how your INPUT VIDEO file has = OUTPUT RPU and INPUT VIDEO = MATCH

Simply press now [S] and the RPU will be fixed automatically during the injecting process. You need NO JSON file for setting cropping values for all frames in RPU.
After muxing you can proof the file with DDVT_MediaInfo and check the borders in RPU.

tijgert
16th January 2025, 21:57
After muxing you can proof the file with DDVT_MediaInfo and check the borders in RPU.

Excellent, it worked. I am getting a greater understanding of these matters. Thanks.

Mickkk
20th January 2025, 21:55
Perhaps it has been already discussed, but I cannot solve the following problem. I have a hybrid MKV video (DV + HDR10) 3840X1608. My old LG C8 shows the file in HDR10 with black bars - all OK. So to play DV, I converted the file into m2ts - now my LG shows it in DV, all OK, BUT the top & bottom bars are no longer black, they are grayish.

So I extracted the RPU & adjusted the top/bottom borders manually to 276 & injected them back into the video. Nothing changed - the bars are still not black, but grey.
Is there a solution? Please help.

Forgot to mention: I play the video with OPPO clone

BTW Great tool! Many thanks!!

Mickkk
21st January 2025, 13:29
I have an older LG TV, and the only way I could play a DV was to convert with tsmuxer, but the "seeking" during playback was horrible.

But then I found an app that was my "Saviour", and it's not DDVT.




Can you send me the name of the app please? I too struggle with my older LG TV

Fuso
21st January 2025, 20:07
Can you send me the name of the app please? I too struggle with my older LG TV

What's the model of your LG?
You can use the DDVT_MKVTOMP4 with Option 2 (Fake P5) enabled.

Mickkk
21st January 2025, 21:47
What's the model of your LG?
You can use the DDVT_MKVTOMP4 with Option 2 (Fake P5) enabled.

LG C8. I have tried the Fake P5 option also. To my surprise it did not work, I just get a black screen with sound. Somebody in this thread stated that old LG's have problems with new MP4 containers.

Converting MKV to M2TS works fine for me for files 3840x2160. If the video stream is "thinner" (like 3840X1600) then I get grey (not black) bars - this is very annoying if watching in a dark room. I understand that it is happening because DV metadata is not limited just to the video size, it is applied to the whole screen. I want to find a way to change this

JackNicko
22nd January 2025, 11:40
Hello all,

Running into a new situation here:
Source UHD with DV is 3840x1600 (letterboxed), destination UHD that needs DV is 3840x2160 (black bars).
When injecting the RPU it says video input matches with output RPU but RPU input does NOT match with video.

I also read that:
Originally Posted by Boulder View Post
My assumption is that whenever the final result doesn't have any black borders, you use the cropping option for the RPU.

So, does that mean that since the final result here WILL have black borders I do NOT need to crop?
I 'fear' the RPU will not be applied to the middle where the picture is but starts at the top so that the black bars will get DV.
Or WILL it be centered?

edit:
Made a json file where it specifies the crop, but it doesn't take over the values.



Hey, I have a question about your post. I sent you a private message about this. I would appreciate an answer! Thx.

-QfG-
24th January 2025, 06:31
Perhaps it has been already discussed, but I cannot solve the following problem. I have a hybrid MKV video (DV + HDR10) 3840X1608. My old LG C8 shows the file in HDR10 with black bars - all OK. So to play DV, I converted the file into m2ts - now my LG shows it in DV, all OK, BUT the top & bottom bars are no longer black, they are grayish.

So I extracted the RPU & adjusted the top/bottom borders manually to 276 & injected them back into the video. Nothing changed - the bars are still not black, but grey.
Is there a solution? Please help.

Forgot to mention: I play the video with OPPO clone

BTW Great tool! Many thanks!!

The active Area 0,276,0,276 is wrong if the input video is cropped and has no borders. set the Active Area to 0,0,0,0 in this case. Active borders must set for the real resolution of video file, not the aspect ratio. Also the OPPO and his clone have problems with cropped content. I recommend Ugoos AM6b+ / Dune Homatics 4K R Plus Media Player with CoreELEC CPM builds. You have full FEL support with this Media Box and no problems with cropped content. The player plays MKV P7 FEL Single layer files without re-containering, too.

So, does that mean that since the final result here WILL have black borders I do NOT need to crop?

It's easy, simply ignore resolution/AR from DV input file. Important is the resolution and the black borders of the HDR target file where you inject the RPU. If your target file is an UHD with 3840x2160 and has 276px Black borders Top/Bottom and your input file with the DV content has 3840x1600 without black borders, set the Active Area to 0,276,0,276.

-QfG-
24th January 2025, 21:21
-v0.65.2
-FIXED Errors with FFMPEG and bitstream demuxing/pipelining (clipping and wrong colors on some movies)
*Minor Bugfixes.

pejok
24th January 2025, 22:01
Hi all,

I get below errors when using HYBRID script. Last version without this errors is 0.64.2.
There are no errors with exact same video files in DEMUXER or INJECTOR -> It demux and inject without any issues and final video file is OK.
It occurs with every video file, when i try to use HYBRID script. Source video file for demuxing has both RPU and HDR10+ .json as well.
Where should be the problem or what should i try to set up/change on my side?

OS: Win 11 Pro, 24H2

Thank you very much. Excellent tool :)

-QfG-
24th January 2025, 23:53
@pejok Problem fixed, please download this file and overwrite the hybrid script with this file:
https://github.com/DonaldFaQ/DDVT/blob/Scripts/DDVT_HYBRID.cmd

pejok
25th January 2025, 09:41
@-QfG- thank you, no errors so far :) but maybe last bug as i noticed is, while testing and trying to do hybrid with HDR10 only file + DV&HDR10+ file:

- tool correctly fetch all info about the files
- i have set also to inject HDR10+
- start the script -> DV extracted -> HDR10+ -> Scenecuts fixed -> DV injected -> muxing final video file
- injecting of HDR10+ completely ignored
- final video file contains DV + HDR10 only (not HDR10+)

-QfG-
25th January 2025, 09:56
You're right, sorry forgot to process this switch. Fixed now, simply update the script.
https://github.com/DonaldFaQ/DDVT/blob/Scripts/DDVT_HYBRID.cmd

pejok
25th January 2025, 10:06
Perfectly working again. THANK YOU ! :)

Fuso
2nd February 2025, 13:53
LG C8. I have tried the Fake P5 option also. To my surprise it did not work, I just get a black screen with sound. Somebody in this thread stated that old LG's have problems with new MP4 containers.

Converting MKV to M2TS works fine for me for files 3840x2160. If the video stream is "thinner" (like 3840X1600) then I get grey (not black) bars - this is very annoying if watching in a dark room. I understand that it is happening because DV metadata is not limited just to the video size, it is applied to the whole screen. I want to find a way to change this

Strange. I have an LG B8 and the files play without any issue when they are converted to "fake" Profile 5.

AgentXXL
2nd February 2025, 23:19
You're right, sorry forgot to process this switch. Fixed now, simply update the script.
https://github.com/DonaldFaQ/DDVT/blob/Scripts/DDVT_HYBRID.cmd

Thank you for your continued efforts on improving these scripts! They have saved me so much storage by only needing 1 file that will play on pretty much anything.

Is it recommended to download the latest scripts from your github site and unzip them into the folder containing the full DDVT package, overwriting the original scripts from the Mega download? I see that 65.2 is the latest on Mega but the github scripts are showing as 65.3. Are there any gotchas like needing updates to other apps in the Tools folder?

For all:

I am experiencing a related issue - drag 'n drop is no longer working on the main Win 11 PC I use to run these scripts. A Win 11 VM running the same Win version does still work. I've been trying various recommended solutions (13 of them so far) but all I've managed is being able to drag 'n drop ONLY to the Desktop.

Not to open apps/windows/websites with a drag 'n drop function. Plus I can only drag to the sides or bottom, not up past the explorer window title bar - that just drops the item being dragged just like pressing the ESC key while dragging. If anyone else has experienced this and fixed it, I'd be grateful if you shared your solution. Right now it's looking like a full Win re-install, which I'm reluctant to do.

I can still use cut & paste to 'drop' the source files into the scripts, but drag 'n drop is preferred.

Emulgator
3rd February 2025, 00:44
Maybe this helps, Ramesh Srinivasans fix helped on my Win10 too:
https://www.winhelponline.com/blog/drag-and-drop-not-working-file-explorer/

AgentXXL
3rd February 2025, 22:06
Maybe this helps, Ramesh Srinivasans fix helped on my Win10 too:
https://www.winhelponline.com/blog/drag-and-drop-not-working-file-explorer/

Thanks, but no-go. I hadn't come across this particular registry fix, but mine was already set properly for that Attributes key, and the other key in HKCU was not present.

I'm going to try removing the shell extensions for DDVT and clearing the registry of any DDVT specific keys. And then I'll try a fresh folder with the latest package and retry adding the shell extensions. If that fails, I'm going to reluctantly do the full fresh Win install.

jl0292
14th February 2025, 14:08
@-QfG-, sorry I am quite new here, but can we have updating version (currently it is 0.65.3 if I am correct).
I have tried to ddvt_demuxer to demux RPU.bin and HDR10+.json and then use ddvt_injector to inject these two into a compressed 4k film, but I kept constantly receiving error message on Editing Video HDR Metadata and Muxing test into MKV Container.
I honestly did not meet these issues on 0.64.x; however, I could not find previous versions on GITHUB database.
So whether you can provide previous version or possibly update version will be fine, hope it is not too much request for you, thanks!!

Here are the latest result of message as follows,

[Applying cropping values]
EditConfig {
"mode": 0,
"remove_cmv4": false,
"remove_mapping": false,
"active_area": {
"crop": false,
"presets": [
{
"id": 0,
"left": 0,
"right": 0,
"top": 0,
"bottom": 0
}
],
"edits": {
"all": 0
}
}
}
Parsing RPU file...
Editing active area offsets...
Final metadata length: 183837
Writing RPU file...
Done.

[Editing Video HDR Metadata]
Error.

[Fix Scenecuts]
EditConfig {
"mode": 0,
"remove_cmv4": false,
"remove_mapping": false,
"scene_cuts": {
"0-0": true
}
}
Parsing RPU file...
Editing scene cuts...
Final metadata length: 183837
Writing RPU file...
Done.

[Injecting RPU into stream]
Done.

[Muxing test into MKV Container]
Error.

== ERROR(S) ============================================================================================================

2 Error(s) during processing.

== LOGFILE END =========================================================================================================

2025/02/14 g 19:04:56.24

AgentXXL
20th February 2025, 20:24
I honestly did not meet these issues on 0.64.x; however, I could not find previous versions on GITHUB database.
So whether you can provide previous version or possibly update version will be fine, hope it is not too much request for you, thanks!!

The older releases are available on the MEGA site in the Older Versions folder. As for 65.3, you can download 65.2 from MEGA and then the 65.3 scripts from the Github site. Extract the MEGA archive to your destination folder and then extract the 65.3 scripts to that same folder to overwrite the 65.2 versions.

I've done this and so far it's working great. And once you use the Profile 8 Hybrid script with drag 'n drop support, you're unlikely to need the other scripts very often.

lemaireus
21st February 2025, 11:42
New as I am to Dolby Vision, I would appreciate an answer to what is presumably the most elementary question of all:

In Dolby Vision encodes in which the EL is excluded and only the RPU injected, does that RPU do any work at all without the FEL/MEL?

I'm sure an answer is hidden somewhere in this forum, but I haven't been able to find it and it would be great if you could please post a link or point me to the page. Thank you.

The second question is a little more elaborate so I shall post that in a separate message below.

lemaireus
21st February 2025, 11:54
Hi -QfG-, would you please help me with this one?:

Each time I try injecting an MEL/FEL into a cropped encode with, for example, 2.39:1 aspect ratio, I get the message that

a) VIDEO INPUT (all borders rightly with a zero value since I've cropped the top and bottom black bars in my encode) does not match with the RPU-EL.
b) And the EL INPUT which, rightly again, has borders (for example, LEFT=0 TOP=276 RIGHT=0 BOTTOM=276), since it's taken from a blu-ray, does not match with the video.
c) The borders of the FILE OUTPUT, however, match with video. Here is a screenshot of what I am talking about:

https://i.postimg.cc/KcpP6Bf5/Screenshot-2025-02-21-150839-Px.jpg

What am I supposed to in such a case?
a) Set "match L6 metadata to 'yes'?
b) Do I need to edit L6 metadata?
c) Do I need to 'EDIT ACTIVE AREA' and set the borders again? I am guessing that the answer to this question is a "No" because the cropped borders are correct.
d) Do nothing, because the encode is correctly cropped and the EL data is set for the active picture, that is, the EL data excludes the area with black bars?

I run into this problem only and only when I try to inject an EL into an encode, never when I leave the EL alone and inject only an RPU. Yes, I do set the correct crop values when extracting an RPU and an EL.

What would be the right way of injecting the EL in the scenario outlined above?

[PS: In case this is relevant: yes, I would like to retain DV Profile 7.6.]

GodzilaAvenger
21st February 2025, 21:21
Hi, I'm not -QfG- but I've used DDVT enough to think I can answer your questions.

First, MEL is simply the RPU, which is the dynamic metadata that tells your TV how to adjust its brightness and colors based on the scene. If you have FEL (i.e. EL + RPU) the EL is simply the layer added to the HDR10 stream to reconstruct the original 12-bit stream, i.e. EL = original 12-bit stream - 10-bit HDR10 stream.

As for your second question, a), b), do whatever you want with the L6 metadata, I don't think your TV cares what they are. c) and d), do D here because everything is correct, if somehow the auto-detected borders are wrong then you can use C to correct them.

I'm curious if your Profile 7.6 would even work though (assuming you have a player capable of showing it), because we had a discussion in this thread a few years ago about it and I remember being told that the order of frames in the NAL changes when encoding, which means if you add the EL into the encode the frames between the two streams don't match. Ask quietvoid though, he knows a lot more about this than I do.

lemaireus
22nd February 2025, 06:25
Thank you, GodzillaAvenger, for providing exactly the kind of illuminating, helpful guidance I was looking for. Your reply settles all my queries nicely.

As for my decision to go with DV profile 7.6: I have a collection of 6000+ titles and I am in the process of re-encoding as many of them as have become available in 4k resolution. Currently there is no player that I know of which plays 7.6, nor do I have a 12-bit display. However, I do not wish to re-encode my entire library all over again as and when--if?--a player that supports 7.6 becomes available or when 12-bit displays become mainstream.

Until we get to the point where 7.6, 12-bit playback becomes mainstream--and maybe that might never happen--keeping 7.6 FEL gives me the option of running it through DDVT and converting to 8.1 right before I wish to watch the movie. That is, my library preserves 7.6 FEL in the hope that players and displays might support this format in the near future. Even if that never happens, I lose nothing: I simply run my FEL encode through DDVT before playback.

I wasn't aware of the change in the order of frames in the NAL when we re-encode and compress a blu-ray source. I wonder if there is any way in which I can verify that the FEL or the RPU I have injected back into the re-encode remains frame-by-frame-accurately-mapped to the source video. Any help from quietvoid or -QfG- or anyone else who knows the ins and outs of Dolby Vision better than I do would be much appreciated.

GodzilaAvenger
22nd February 2025, 10:59
A few Bluray players like Sony's X800M2 can play FEL off the disk. But more recently, I know Ugoos AM6B+ with CoreELEC+PM4K can play full fat Profile 7.6 FEL straight from mkv. TVs are another story, but Dolby argues even on a 10-bit display FEL can help with banding. Personally, I think studios mostly use FEL to hide their shitty encoding. Case in point, Oppenheimer doesn't even have DV!

Your approach is interesting, I personally keep the remux if it has FEL (so as to not lose the EL) and an encoded version with P8.1 to stream over low bandwidths. It does take up space, but also, HDDs are relatively cheap.

Something that you may not know is that some of those FEL are fake. If the EL bandwidth is around 2 Mbps or less, the FEL is just a grey static image and you can discard it and only keep the RPU. Based on my experience out of the major studios that use DV (so not Disney and their cheap a**), WB and Sony generally include the fake FEL and only Universal and Paramount have a real FEL (if you look at their FEL bandwidth it's usually ~5-10 Mbps).

quietvoid
22nd February 2025, 14:27
The EL is required (expected at least) to be in sync with the BL, at the bitstream level (decoding timestamps).
So you can't just re-encode and add it back. It won't be valid for the re-encoded video, even if it was in sync.

If you plan on re-encoding you need to process the EL beforehand so that its effects are present in the video itself.

lemaireus
22nd February 2025, 17:03
GodzillaAvenger, I continue to stick with the PC as the core around which my home theatre system is organised and have thus far not used Ugoos or any other hardware players. My feeling is that we are still some distance away from that inflection point at which Dolby Vision becomes as universally supported and accessible as once upon a time, for example, x264 after DivX and xVid. There is already so much wonderful work put in by the open-source community--quietvoid, -QfG-, Kuler087, to mention only three on Doom9--that by the end of 2025, I think, we should have fairly widespread support for DV encoding and playback. The hardware too, by the same logic, should improve by leaps and bounds, and at the moment, with my level of expertise--rather, lack of it--all I can do is to wait for software and hardware support for DV to mature past that inflection point at which it becomes useful for someone with my skill level.

At the moment I use Energy Media Player, suggested by Kuler087, on my HTPC for DV playback. I used to think that MPC-HC--the latest builds on GitHub--supports DV (it claims "MPCVR also supports Dolby Vision"), but Kuler told me that it merely tone maps the colour space to HDR10 while ignoring dynamic metadata. Ideally, I would be looking for a player which can simply passthrough DV metadate to the display so that the TV can do the work it was bought to do.

I had no idea that some of the FELs are fake. Thank you for sharing that information, even if that muddies the waters even more for me.

lemaireus
22nd February 2025, 17:18
The EL is required (expected at least) to be in sync with the BL, at the bitstream level (decoding timestamps).
So you can't just re-encode and add it back. It won't be valid for the re-encoded video, even if it was in sync.

If you plan on re-encoding you need to process the EL beforehand so that its effects are present in the video itself.

Sigh! :confused:

Thank you for sharing that information, quietvoid. That will save me lots and lots of wasted hours of work, not counting the ones already in the dump.

Thus far, I have been re-encoding UHD blu-rays with RibBot264 (10-bit, x265), and then, using DDVT, demuxing and injecting the EL or the RPU from the blu-ray back into that encode, assuming that the BL is preserved in the RipBot encode. I've done nearly 1500 movies using this method; all to no purpose, it appears.

I'll just keep my fingers crossed and hope that you all of you guys working on DV can tame the hydra-headed monster to the point at which the technologically-challenged such as myself can use it without feeling utterly lost.

Is there no point in injecting an RPU either to a re-encode? Thus far I've been working with the idea that timestamps and frame numbers remain unchanged, are carried over without any change, across any number of encodes. And this after twenty-plus years of re-encoding. One learns the hard way, I suppose.

SeeMoreDigital
22nd February 2025, 17:28
Something that you may not know is that some of those FEL are fake. If the EL bandwidth is around 2 Mbps or less, the FEL is just a grey static image and you can discard it and only keep the RPU. Based on my experience out of the major studios that use DV (so not Disney and their cheap a**), WB and Sony generally include the fake FEL and only Universal and Paramount have a real FEL (if you look at their FEL bandwidth it's usually ~5-10 Mbps).I had no idea that some of the FELs are fake. Thank you for sharing that information, even if that muddies the waters even more for me.I thought the Dolby Vision encodes with a 'green' (not grey) static image' video track were MELs...

quietvoid
22nd February 2025, 19:32
Sigh! :confused:
Is there no point in injecting an RPU either to a re-encode? Thus far I've been working with the idea that timestamps and frame numbers remain unchanged, are carried over without any change, across any number of encodes. And this after twenty-plus years of re-encoding. One learns the hard way, I suppose.

The issue only applies to keeping the EL video, because the RPU is synced to that EL video.
And not the re-encoded one.

RPU just needs the metadata associated to the correct frame, which is done by x265 or whatever you use.

I don't know what DDVT does for "injecting the EL or the RPU".
Injecting the RPU is fine. Muxing in the EL is not.

For your existing files, you'd have to check if the EL was kept or not.
It would be a bit more involved to extract/re-inject the RPU if that's the case.

Skav
22nd February 2025, 22:50
Hi, is it possible to prevent the cmd window from closing by itself, regardless of the script file used ?

GodzilaAvenger
23rd February 2025, 00:46
I thought the Dolby Vision encodes with a 'grey static image' (video) track were MELs...

They are technically FEL because they still have that static image video track. In true MEL the EL is only the RPU and the bitrate is ~100 kbps.

Is there no point in injecting an RPU either to a re-encode?

As quietvoid mentioned the RPU, when injected alone, only needs frame numbers (you can use DDVT_FILEINFO to convert the RPU binary into a readable .json format and look at the data). A common practice (which I also use) is to extract the RPU from the remux P7.6 and convert it to P8.1 (using something like DDVT_DEMUXER) and then add it back into the re-encoded HDR10 BL using DDVT_INJECTOR. Worth mentioning DDVT uses quietvoid's dovi_tool (https://github.com/quietvoid/dovi_tool) and hdr10plus_tool (https://github.com/quietvoid/hdr10plus_tool) to manipulate DV/HDR10+ metadata and FFmpeg/MKVToolNix to work with video files.

Thus far I've been working with the idea that timestamps and frame numbers remain unchanged, are carried over without any change, across any number of encodes. And this after twenty-plus years of re-encoding. One learns the hard way, I suppose.

Honestly, we're all here to learn. I asked the same questions you did a few years back in this very thread and a lot of folks here helped me out.

lemaireus
23rd February 2025, 06:22
I don't know what DDVT does for "injecting the EL or the RPU".
Injecting the RPU is fine. Muxing in the EL is not.

Thank you, quietvoid, for providing that clarity. I'll have to start from scratch, yet again.

Thank you also for all the work that you have put into the HDR tools which DDVT uses to make DV a bit more accessible to the likes of myself.

lemaireus
23rd February 2025, 06:38
A common practice (which I also use) is to extract the RPU from the remux P7.6 and convert it to P8.1 (using something like DDVT_DEMUXER) and then add it back into the re-encoded HDR10 BL using DDVT_INJECTOR. Worth mentioning DDVT uses quietvoid's dovi_tool (https://github.com/quietvoid/dovi_tool) and hdr10plus_tool (https://github.com/quietvoid/hdr10plus_tool) to manipulate DV/HDR10+ metadata and FFmpeg/MKVToolNix to work with video files.

I guess I have no choice but to go down that route as well. Retaining only the RPU and converting that from profile 7.6 to 8.1 seems to be the safest option and also the best supported one in playback.

Honestly, we're all here to learn. I asked the same questions you did a few years back in this very thread and a lot of folks here helped me out.

The real question here would be: is there an application out there which can help someone with my rudimentary familiarity with Dolby Vision keep the FEL/MEL intact and synced?

Has anyone tried DoVi_Scripts? If yes, does that keep the EL perfectly synced with the BL, while providing flexible bitrate control (to manage output file size, when necessary) and, importantly for me, has the application's GUI become user-friendly enough for tech-challenged users?

GodzilaAvenger
23rd February 2025, 10:09
I haven't used DoVi_Scripts, but I think DoViBaker may be closer to what you are looking for (haven't used it either, just saying based on the documentation).

lemaireus
23rd February 2025, 11:19
I haven't used DoVi_Scripts, but I think DoViBaker may be closer to what you are looking for (haven't used it either, just saying based on the documentation).

Thank you for the suggestion. I shall check out DoViBaker.

SeeMoreDigital
23rd February 2025, 11:36
They are technically FEL because they still have that static image video track. In true MEL the EL is only the RPU and the bitrate is ~100 kbps.

So are you saying that all Dolby Vision encoded 4K UHD Blu-ray discs are FEL but some are more FEL than others?

So this 'secondary' video stream is considered to be 'full' FEL: -
https://i.ibb.co/XZdNX8cj/fel.jpg

But this 'secondary' video stream is considered to be 'fake' FEL: -
https://i.ibb.co/fdDZ2M98/mel.png

I was under the impression that Dolby Vision encodes with 'green' secondary streams (like the one above) are 'MEL'...

GodzilaAvenger
23rd February 2025, 12:43
Your examples for the difference between FEL and fake FEL are spot on. That said, some DV disks are actually MEL. Here's an example:

Casino Royale (MEL):

Video: MPEG-H HEVC Video / 41863 kbps / 2160p / 23.976 fps / 16:9 / Main 10 @ Level 5.1 @ High / 10 bits / HDR10 / BT.2020
* Video: MPEG-H HEVC Video / 65 kbps / 1080p / 23.976 fps / 16:9 / Main 10 @ Level 5.1 @ High / 10 bits / Dolby Vision / BT.2020

2001: A Space Odyssey (fake FEL):

Video: MPEG-H HEVC Video / 62181 kbps / 2160p / 23.976 fps / 16:9 / Main 10 @ Level 5.1 @ High / 10 bits / HDR10 / BT.2020
* Video: MPEG-H HEVC Video / 2093 kbps / 1080p / 23.976 fps / 16:9 / Main 10 @ Level 5.1 @ High / 10 bits / Dolby Vision / BT.2020

Gladiator (FEL):

Video: MPEG-H HEVC Video / 43317 kbps / 2160p / 23.976 fps / 16:9 / Main 10 @ Level 5.1 @ High / 10 bits / HDR10 / BT.2020
* Video: MPEG-H HEVC Video / 6825 kbps / 1080p / 23.976 fps / 16:9 / Main 10 @ Level 5.1 @ High / 10 bits / Dolby Vision / BT.2020

For Casino Royale that "1080p track" is actually just the RPU (based on the bitrate), hence MEL.

See this topic (https://forum.blu-ray.com/showthread.php?t=276448), though the list hasn't been updated in a few years.

Kuler087
23rd February 2025, 14:21
Has anyone tried DoVi_Scripts? If yes, does that keep the EL perfectly synced with the BL, while providing flexible bitrate control (to manage output file size, when necessary) and, importantly for me, has the application's GUI become user-friendly enough for tech-challenged users?
Of course, it can bake FEL: Workflow 8-2-1
Dovi_scripts can do ANYthing that is DV-related and there's no such thing as ''fake FEL''
and all the modes/workflows are described on the main page:

MODE.E (8) =
VIDEO/AUDIO ENCODERS

can convert audio (DDP 7.1 / Add silent or encoded core to TrueHD)
see tutorial (convert to ddp): https://www.youtube.com/watch?v=m5_Bt2yGPhE
see tutorial (add core): https://www.youtube.com/watch?v=X8CImPBh_DI
can encode bake fel to HDR10/P8 with dovibaker+x265 or NVenc
see tutorial: https://www.youtube.com/watch?v=8BvXqw_cGJE
can encode any HDR10/HLG/FELP7/P5 source to HDR or SDR (x265 or NVenc or prores)
can encode DV to SDR using official Level-2 100nits trim pass (Official Dolby cm_offline.exe)
can encode P7/P8 to profile 5 DV (requires DEE.exe)
can encode JPEG2000 IMF mxf and Prores files to profile 5 DV (requires DEE.exe)

SeeMoreDigital
23rd February 2025, 15:53
Your examples for the difference between FEL and fake FEL are spot on. That said, some DV disks are actually MEL. Here's an example:

Casino Royale (MEL):

Video: MPEG-H HEVC Video / 41863 kbps / 2160p / 23.976 fps / 16:9 / Main 10 @ Level 5.1 @ High / 10 bits / HDR10 / BT.2020
* Video: MPEG-H HEVC Video / 65 kbps / 1080p / 23.976 fps / 16:9 / Main 10 @ Level 5.1 @ High / 10 bits / Dolby Vision / BT.2020

2001: A Space Odyssey (fake FEL):

Video: MPEG-H HEVC Video / 62181 kbps / 2160p / 23.976 fps / 16:9 / Main 10 @ Level 5.1 @ High / 10 bits / HDR10 / BT.2020
* Video: MPEG-H HEVC Video / 2093 kbps / 1080p / 23.976 fps / 16:9 / Main 10 @ Level 5.1 @ High / 10 bits / Dolby Vision / BT.2020

Gladiator (FEL):

Video: MPEG-H HEVC Video / 43317 kbps / 2160p / 23.976 fps / 16:9 / Main 10 @ Level 5.1 @ High / 10 bits / HDR10 / BT.2020
* Video: MPEG-H HEVC Video / 6825 kbps / 1080p / 23.976 fps / 16:9 / Main 10 @ Level 5.1 @ High / 10 bits / Dolby Vision / BT.2020

For Casino Royale that "1080p track" is actually just the RPU (based on the bitrate), hence MEL.

See this topic (https://forum.blu-ray.com/showthread.php?t=276448), though the list hasn't been updated in a few years.

I see... I've posted a few times within that very Blu-ray.com forum topic/thread, indeed I'm even quoted in the second spoiler of the first post, but I wasnt aware of any Dolby Vision discs with secondary video streams encoded at very low bitrates (ie: below 100kbps)!

I have a few Dolby Vision discs encoded with 'green' secondary video streams or "fake FEL" but I don't think I have any "genuine MEL" discs, so I'll have to buy one.



Cheers

EDIT: I've just extracted the secondary video stream from Fifth Element (2h 6m 22s). It's file size is just 143MB and it's bitrate is just 146kbps. When the stream is played in either MPC-BE or VLC the video is green, not grey. Is this 'fake FEL' or 'genuine MEL'?

kolak
23rd February 2025, 21:46
I would say that green means empty?

SeeMoreDigital
23rd February 2025, 21:58
I would say that green means empty?I'm interested to know if 'secondary streams' encoded below 100kbps are green or grey?!

GodzilaAvenger
23rd February 2025, 22:09
Didn't notice you were the one quoted in that post :D

I'd say Fifth Element is MEL. I don't know why I said the secondary 1080p track is grey, my bad. I guess both MEL and fake FEL show the green image.

Here's how I see this FEL/MEL debate. There are disks like Gladiator where the EL contains both additional picture information and the RPU (EL bitrate higher than 3 Mbps), i.e. FEL. There are also those like Casino Royale and Fifth Element where the EL merely contains the RPU (EL bitrate around 100 kbps), i.e. MEL. Then there are the inbetweeners from (mostly) Sony and Warner Bros. (EL bitrate around 2 Mbps). You could argue these are MEL because, unlike FEL, the EL does not contain any additional picture information. Or, you could argue that these are FEL because, unlike MEL, based on the bitrate the EL contains something in addition to the RPU (what it is is a mystery to me, if someone here knows or has worked at Sony/Warner Bros. please share because I genuinely want to know). I just call them 'fake FEL' to encompass both sides of the argument (this post (https://www.kodinerds.net/thread/79532-fel-mel-und-dolby-vision-7-8/) from -QfG- is also helpful).

At the end of the day, I think this is mostly semantics. The point I was trying to make when answering lemaireus' question was that if they see an inbetweener they can simply keep the RPU and discard the rest of the EL.

Kuler087
23rd February 2025, 22:27
Forget about the bitrate or the image color. The only reliable and accurate way to tell if a video is FEL or MEL is by reading the RPU header flag.

"dovi_profile": 7,
"el_type": "FEL",


Also, I've seen some (https://docs.google.com/spreadsheets/d/15i0a84uiBtWiHZ5CXZZ7wygLFXwYOd84/edit?gid=1226038728#gid=1226038728) 16mb/s EL add visually nothing to the 12-bit decoded stream, and I've seen some 2-3mb/s EL add grains or brightness.

SeeMoreDigital
23rd February 2025, 22:36
Thanks for the reply GodzilaAvenger,

The thing that really annoys me (and probably everybody else) about Dolby Vision on 4K UHD disc is that the encodes are not all FEL. Indeed, I feel quite ripped off when I find out that the secondary stream on the disc has been encoded with a green video stream!

Emulgator
24th February 2025, 04:02
BTW, that green plane means: all component pixel values are zero.
(this is what MPC returns when the illegal triplet Y=U=V=0 is rendered.
U=0 gives (illegal FullScale) Yellow, V=0 gives (illegal FullScale) Cyan, U,V=0 give (illegal FullScale) Green)

SubSeven
24th February 2025, 11:39
Hi everyone,

great tools and great discussions.
Unfortunately I wasn't successful to convert my MKV Hybrid Release (DV with HDR10 fallback) Profile 8 into an mp4 + DV format that can be played on my LG OLED TV.

Can someone help me here?

Thanks and best regards.

SeeMoreDigital
24th February 2025, 12:58
Thanks for the reply GodzilaAvenger,

The thing that really annoys me (and probably everybody else) about Dolby Vision on 4K UHD disc is that the encodes are not all FEL. Indeed, I feel quite ripped off when I find out that the secondary stream on the disc has been encoded with a green video stream!Well just for a laugh I did some tinkering this morning.

I added a 'MEL' secondary video stream from '2001: A Space Odyssey' to the 1982 release of 'Blade Runner' using TSmuxerGUI. Upon playback both my OPPO UDP-203 and 2016 LG television flagged a Dolby Vision signal. Suffice to say, the image was brighter and the colours were a bit off. But it just goes to show how easy it is to create 'fake' Dolby Vision content!

EDIT: Today I swapped the 'MEL' secondary video stream from '2001: A Space Odyssey' with 'James Bond: Casino Royale' and created a new 'Blade Runner' mux. Doing this saved around 2GB in overall file size and seemed to reduce the brightness of the image.

lemaireus
24th February 2025, 13:13
Of course, it can bake FEL: Workflow 8-2-1
Dovi_scripts can do ANYthing that is DV-related and there's no such thing as ''fake FEL''
and all the modes/workflows are described on the main page:

Thank you, Kuler, for joining the conversation. You've always been hearteningly, illuminatingly helpful, and you are a veritable encyclopedia when it comes to matters related to Dolby Vision. I still have some nigging doubts left over with reference to "baking" (is "injecting" in DDVT tools an equivalent term? I ask because I've been using DDVT to "inject" MEL/FELs into re-encodes of blu-ray sources which, as the conversation here suggests, is not quite the right way of going about the process.), and perhaps it would be better if I raise those questions in the DoVi_Scripts forum in which you have already answered so many of my queries.

Kuler087
24th February 2025, 13:31
Thank you, Kuler, for joining the conversation. You've always been hearteningly, illuminatingly helpful, and you are a veritable encyclopedia when it comes to matters related to Dolby Vision. I still have some nigging doubts left over with reference to "baking" (is "injecting" in DDVT tools an equivalent term? I ask because I've been using DDVT to "inject" MEL/FELs into re-encodes of blu-ray sources which, as the conversation here suggests, is not quite the right way of going about the process.), and perhaps it would be better if I raise those questions in the DoVi_Scripts forum in which you have already answered so many of my queries.

I don't know what DDVT does or can do, I never used it but baking FEL requires re-encoding the base layer with x265 or NVenc (+ dovi baker).

Injecting or muxing the EL back into the BL is NOT the same as baking it and will be wrong.

But yeah, you probably should ask DS questions in the DS thread. The process is easy though, just make sure you have avisynthplus installed and run workflow 8-2-1 with your P7 mkv rip. The output will be P8 with the FEL essence baked in the BL. You can control the encoding type( crf, 1-pass, 2-pass), bitrate and settings at lines 148-158

lemaireus
24th February 2025, 13:54
I don't know what DDVT does or can do, I never used it but baking FEL requires re-encoding the base layer with x265 or NVenc (+ dovi baker).

Injecting or muxing the EL back into the BL is NOT the same as baking it and will be wrong.

But yeah, you probably should ask DS questions in the DS thread. The process is easy though, just make sure you have avisynthplus installed and run workflow 8-2-1 with your P7 mkv rip. The output will be P8 with the FEL essence baked in the BL. You can control the encoding type( crf, 1-pass, 2-pass), bitrate and settings at lines 148-158

Thank you, Kuler, for confirming what quietvoid and GodzillaAvenger had also pointed out regarding injecting EL into BL being the wrong way to go about the process of re-encoding. I'll take the questions about DoVi_Scripts to that forum, perhaps later, after I have played around long enough with DoVi_Scripts and become familiar with it. At the moment, I use it for EAC3 7.1 audio encodes of 7.1 TrueHD Atmos and DTS: X streams and it does a great job and, to my knowledge, is the only application that offers 7.1 audio encoding.

In the meantime, if someone here can tell us exactly what DDVT tools does when it "injects" an FEL/MEL into an x265 re-encode of the BL, that would help.

GodzilaAvenger
24th February 2025, 18:39
From the code, my understanding is that DDVT uses dovi_tool's inject-rpu function, which based on the documentation "Interleaves RPU NAL units between slices in an HEVC encoded bitstream."

lemaireus
25th February 2025, 04:15
From the code, my understanding is that DDVT uses dovi_tool's inject-rpu function, which based on the documentation "Interleaves RPU NAL units between slices in an HEVC encoded bitstream."

Yes, it says as much when it injects the RPU. The question is about the FEL/MEL hevc file. Since DDVT offers the option to first demux and later inject the hevc FEL/MEL, one would think that it would/should take into account the problem that you, quietvoid, and Kuler refer to. If DDVT cannot sync the EL with the BL, then maybe the option to inject the EL should come with that cautionary note?

GodzilaAvenger
25th February 2025, 05:07
Perhaps. I guess it depends on the EL, if it is MEL (i.e. just RPU) then injecting it is probably fine.

lemaireus
25th February 2025, 10:40
I suppose the ones who compiled this wonderful, incredibly user-friendly set of tools are the only ones who can tell us what DDVT tools do when they "inject" an FEL hevc into an x265 re-encoded video from a blu-ray source.

SeeMoreDigital
13th March 2025, 11:28
Wrong topic

leotwo
20th March 2025, 10:39
The tool "can't find" the RPU in newly released web-dl videoes from Amazon Prime.

Mediainfo seems ok - showing there's and RPU and Profile 5.6, dolby vision profile 5 is found by the tool, but it somehow doesn't find the RPU or isn't able to extract it..

pejok
20th March 2025, 18:49
It is not possible to convert DV profile 5 only (it doesn't contain HDR10) into DV Profile 8.1.
DV Profile 8.1 needs HDR10 base. You cannot have DV Profile 8.1 only without HDR10 base.
In this case, you have to find HDR10 version of the video (even without DV layer) and inject/make hybrid with DV Profile 5 file.

Or did you try to do direct hybrid with HDR10 video and not to demux only the DV Profile 5?

Correct me if I am wrong.

// EDIT:
I know what you meant now.
I just tried to demux and convert DV 5 file from AMZN Prime, and everything worked.
Latest v0.65.3

SOURCE:
https://i.ibb.co/skMZtww/Screenshot-2025-03-20-192147.png

DEMUX SETTINGS:
https://i.ibb.co/7JL9GwW3/Screenshot-2025-03-20-191946.png

DEMUX DONE:
https://i.ibb.co/5XvTY9gm/Screenshot-2025-03-20-192028.png

EXPORTED FILE:
https://i.ibb.co/5XpsdHDT/Screenshot-2025-03-20-192657.png

Amateur
27th March 2025, 03:40
Suddenly I'm getting a lot of errors with trying to use the Hybrid tool in the folder. After getting the error, I came back here to download an update but I still get the error.

From my pictures, the HDR file has HDR10+ and the DV file has Dolby Vision Profile 5.06. I drag-and-drop the files into the Hybrid window so it's not like I'm typing anything incorrectly.

The original DV mp4 file had some weirdness with the FPS so I muxed it into an MKV to see if that helped but it didn't.

I also notice that the screen says that it can turn HDR10+ into Dolby Vision 8 so I tried that as well and still got an error

What is going on?

GodzilaAvenger
27th March 2025, 06:40
Does the file path contain any special characters like ( & %?

Amateur
27th March 2025, 22:53
Does the file path contain any special characters like ( & %?

Only a dash (-) or a period. But I've been doing files from the same folder for a little while now.

I tried moving it into a shorter file path with no characters at all. This time I watched the process and noticed this for the DV file. How does it have DV profile 5 but no RPU?

Hansolo
29th March 2025, 16:41
Hello!

I did some test injecting with original metadata and modified metadata (removing some frames), and i cant see any difference seeing the film.

I thought that using modified metadata, the image will flash or similar when changing scene but film goes well.
What is supposed to be?

Regards!

Amateur
29th March 2025, 18:00
Suddenly I'm getting a lot of errors with trying to use the Hybrid tool in the folder. After getting the error, I came back here to download an update but I still get the error.

From my pictures, the HDR file has HDR10+ and the DV file has Dolby Vision Profile 5.06. I drag-and-drop the files into the Hybrid window so it's not like I'm typing anything incorrectly.

The original DV mp4 file had some weirdness with the FPS so I muxed it into an MKV to see if that helped but it didn't.

I also notice that the screen says that it can turn HDR10+ into Dolby Vision 8 so I tried that as well and still got an error

What is going on?

My desktop happened to have v0.61.4 which still worked. Any ideas what my issue could be? As far as I remember, you should only have to unpack the rar into its own folder and everything works right? No other other installations are necessary?

TempToday25
2nd April 2025, 01:06
Hi Kuler!

I believe I may have uncovered a bug or some unintended behavior. I am trying to create a Dolby Vision Profile 8.4 file from a higher-bitrate base HLG stream and an RPU from a Dolby Vision stream that has a lower-bitrate on it's own. Besides trying to create a best-of-both-worlds hybrid file, it's also the file that will be most compatible across the most platforms. The issue I'm running into is that the DDVT tool seems to force a "color_transfer" function value of "bt2020-10" when the original HLG file used "arib-std-b67". The reason that this is important is that this breaks HLG/HDR recognition on many devices (Infuse on Apple devices, VLC on Android and others). Is there a particular reason why DDVT pigeonholes HLG files to use this color transfer function? Here's the mediainfo of the original HLG file (using ffprobe -v error -show_streams -of json -i file.mkv:
"color_range": "tv",
"color_space": "bt2020nc",
"color_transfer": "arib-std-b67",
"color_primaries": "bt2020",
"chroma_location": "topleft",
And after running DDVT_Demuxer to convert a Profile 5 RPU to Profile 8.4 and then DDVT_Injector to interleave the RPU in the HLG file, here's what the mediainfo says:
"color_range": "tv",
"color_space": "bt2020nc",
"color_transfer": "bt2020-10",
"color_primaries": "bt2020",
"chroma_location": "topleft"

As you can see the "color_transfer" parameter changed. I've tried using ffmpeg to set the value of the parameter/metadata after the fact but to no avail. FFMPEG doesn't throw an error but the output of this command still shows the same "color_transfer" parameter value:
ffmpeg -i input.mp4 -map 0 -c copy -metadata:s:v:0 color_transfer="arib-std-b67" output.mkv

Can you help me with this please?

GodzilaAvenger
2nd April 2025, 06:10
Just to clarify, Kuler is the maintainer of DoVi_Scripts, -QfG- is the maintainer of DDVT.

As for the issue you're describing, I think (based on the DDVT code) it is related to dovi_tool that handles the DV stuff inside DDVT, perhaps @quietvoid can provide some more info about this.

quietvoid
2nd April 2025, 11:36
The issue is most likely that the original MKV had the transfer set in the container.

Hansolo
2nd April 2025, 22:33
Hello!

I did some test injecting with original metadata and modified metadata (removing some frames), and i cant see any difference seeing the film.

I thought that using modified metadata, the image will flash or similar when changing scene but film goes well.
What is supposed to be?

Regards!

Nobody cant tell me what will happen when injecting differente metada?
:(

GodzilaAvenger
3rd April 2025, 05:11
You've given us very little information, as the answer to your question is completely dependent on the DV RPU, and your eyes. E.g. if brightness across your RPU is mostly uniform, there is a high chance you won't notice the difference. If there is e.g. one scene that has 10 nits brightness and the next 1000 nits or the other way around and you drop a few frames, you MAY notice weird brightness changes for a brief period before a scene cut.

Hansolo
4th April 2025, 18:59
You've given us very little information, as the answer to your question is completely dependent on the DV RPU, and your eyes. E.g. if brightness across your RPU is mostly uniform, there is a high chance you won't notice the difference. If there is e.g. one scene that has 10 nits brightness and the next 1000 nits or the other way around and you drop a few frames, you MAY notice weird brightness changes for a brief period before a scene cut.

Thanks for your reply!

This is the info regarding the file...
ídeo
ID : 1
Formato : HEVC
Formato/Info : High Efficiency Video Coding
Formato del perfil : Main 10@L5@High
HDR format : SMPTE ST 2094 App 4, Version 1, HDR10+ Profile B compatible
ID códec : V_MPEGH/ISO/HEVC
Duración : 1 h 48 min
Tasa de bits : 24,5 Mb/s
Ancho : 3 840 píxeles
Alto : 1 634 píxeles
Relación de aspecto : 2,35:1
Modo velocidad fotogramas : Constante
Velocidad de fotogramas : 23,976 FPS
Espacio de color : YUV
Submuestreo croma : 4:2:0 (Type 2)
Profundidad bits : 10 bits
Bits/(píxel*fotograma) : 0.163
Tamaño de pista : 18,6 GiB (77%)
Título : The Thing
Idioma : Español
Default : Sí
Forced : No
Rango de color : Limited
Colores primarios : BT.2020
Características transferencia : PQ
Coeficientes matriz : BT.2020 non-constant
Principios color monitor masterización : Display P3
Luminancia monitor masterización : min: 0.0050 cd/m2, max: 1000 cd/m2
Nivel ligero contenido máximo : 1034 cd/m2
Nivel ligero fotograma medio máximo : 794 cd/m2

I dont know what you told me about RPU.
The last test i did was to remove 60 frames from the metadata.json and injected into a 1minute clip with brighter scenes and darker scenes for seeing the difference as you told me, but i dont see anything.

Im starting to thing that the hdr10+ is a fake. Not sure, so i upload the 1minute clip with original metadata, not modified.
https://mega.nz/file/201QnYZD#HQd9z8-kFHJ47HpgsCDjOkiOirKi7SF8JFs9X96RGR0
Maybe you can tell me anything.
Regards!

Amateur
5th April 2025, 02:24
Is it possible to run the Hybrid tool to work in a batch to make hybrids from TV episodes? One folder of HDR files and another folder of DV files?

You can use the tool in posted above, very simple instructions. You don't need to do much for the file you have. It is more complicated to transform HDR layer into DV readable, but here you already have the DV layer baked into.

This is possible? I've had a couple instances where the Dolby stream is higher bitrate than HDR and wondered if I could add the HDR info to the Dolby stream.

GodzilaAvenger
5th April 2025, 09:13
Thanks for your reply!

This is the info regarding the file...
ídeo
ID : 1
Formato : HEVC
Formato/Info : High Efficiency Video Coding
Formato del perfil : Main 10@L5@High
HDR format : SMPTE ST 2094 App 4, Version 1, HDR10+ Profile B compatible
ID códec : V_MPEGH/ISO/HEVC
Duración : 1 h 48 min
Tasa de bits : 24,5 Mb/s
Ancho : 3 840 píxeles
Alto : 1 634 píxeles
Relación de aspecto : 2,35:1
Modo velocidad fotogramas : Constante
Velocidad de fotogramas : 23,976 FPS
Espacio de color : YUV
Submuestreo croma : 4:2:0 (Type 2)
Profundidad bits : 10 bits
Bits/(píxel*fotograma) : 0.163
Tamaño de pista : 18,6 GiB (77%)
Título : The Thing
Idioma : Español
Default : Sí
Forced : No
Rango de color : Limited
Colores primarios : BT.2020
Características transferencia : PQ
Coeficientes matriz : BT.2020 non-constant
Principios color monitor masterización : Display P3
Luminancia monitor masterización : min: 0.0050 cd/m2, max: 1000 cd/m2
Nivel ligero contenido máximo : 1034 cd/m2
Nivel ligero fotograma medio máximo : 794 cd/m2

I dont know what you told me about RPU.
The last test i did was to remove 60 frames from the metadata.json and injected into a 1minute clip with brighter scenes and darker scenes for seeing the difference as you told me, but i dont see anything.

Im starting to thing that the hdr10+ is a fake. Not sure, so i upload the 1minute clip with original metadata, not modified.
https://mega.nz/file/201QnYZD#HQd9z8-kFHJ47HpgsCDjOkiOirKi7SF8JFs9X96RGR0
Maybe you can tell me anything.
Regards!

I thought you were talking about Dolby Vision, the RPU I was refering to was for that.

For your case, go into the tools folder of DDVT on cmd or Powershell and run

hdr10plus_tool plot metadata.json

This will plot the min/avg/max brightness for each frame and should give you an idea of what the metadata contains.

hidef_rec
12th April 2025, 19:09
My very small contribution to helping less techie DV/HDR fans use this great tool to make hybrid videos:
https://youtu.be/FMqhb7ppGWY

asarian
3rd May 2025, 17:37
I'm getting the following error on a movie with the following characteristics: HDR Info = [HDR10, Dolby Vision Profile 7 (FEL)]. I am trying to create an RPU file:

Please wait. Demuxing EL...
frame=197674 fps=2047 q=-1.0 Lsize=49958925KiB time=02:17:24.52 bitrate=49640.6kbits/s speed=85.4x
EL Done.

Please wait. Demuxing DV Reference Processing Unit...
Error: No frames parsed!
Done.

Amateur
11th May 2025, 04:05
My very small contribution to helping less techie DV/HDR fans use this great tool to make hybrid videos:
https://youtu.be/FMqhb7ppGWY

The other guy hasn't replied but maybe you can help me with this

http://forum.doom9.org/showthread.php?p=2017261#post2017261

I know how to convert DV5 to DV8 and inject that into an HDR stream. But the above post that I quoted makes it sound like you can use a DV stream as your base and inject the HDR info into that maybe. Am I understanding that correctly?

Also, are there any drawbacks in creating DV info from an HDR10+ file? Is that considered fake DV and not quality?

GodzilaAvenger
12th May 2025, 05:26
The color space of the video stream of a P5 DV is different from P8. P8 is backward compatible with HDR, P5 is not, and injecting DV metadata will not change that.

asarian
18th May 2025, 22:13
I'm getting the following error on a movie with the following characteristics: HDR Info = [HDR10, Dolby Vision Profile 7 (FEL)]. I am trying to create an RPU file:

Please wait. Demuxing EL...
frame=197674 fps=2047 q=-1.0 Lsize=49958925KiB time=02:17:24.52 bitrate=49640.6kbits/s speed=85.4x
EL Done.

Please wait. Demuxing DV Reference Processing Unit...
Error: No frames parsed!
Done.

Anyone have an answer to this? Thanks.

Amateur
20th May 2025, 00:48
A while ago, I had shared a mass convert script adapted from yours so that it would do all files in a given folder sequentially...

Is it possible to apply this method to the Hybrid feature of the tool using two folders? When it first asks for the HDR file, a folder can be dropped into the window (hdr1.mkv, hdr2.mkv, hdr3.mkv). Then when it asks for the DV file, a second folder can be dropped into the window (dv1.mkv, dv2.mkv, dv3.mkv). Then the tool will sequentially convert the DV profile to 8.1 and inject into the HDR file automatically? (The automatic starting of each process might also need to be changed because it currently needs user input to type S to start)

This would really help me for TV series.

Thank you

ed_co
22nd May 2025, 16:17
Hello guys,

I am fairly new with adding DV/HDR10+ to encodes (I did just around a dozen now). I wanna thank the creator/s of the scripts for such a nice tool.

I have 2 files of the same movie.

The file 1.mkv:
- HDR10. Mediainfo:
SMPTE ST 2086, HDR10 compatible
- Size/quality is good. A little bit more yellowish tinted than the 2.mkv
- Resolution: 3840x1608
- Framerate: 23.976
- Has a delay of 198 frames respecting the following movie file

The file 2.mkv:
- HDR10+, DV. Mediainfo:
Dolby Vision, Version 1.0, Profile 8.1, dvhe.08.06, BL+RPU, no metadata compression, HDR10 compatible / SMPTE ST 2086, Version HDR10, HDR10 compatible / SMPTE ST 2094 App 4, Version HDR10+ Profile B, HDR10+ Profile B compatible
- Size is the double.
- Resolution: 3840x1606 (2 pixels less in height than the previous one)
- Framerate: 23.976

That 2 pixels height difference is weird. There are no black bars to any of them, and is imperceptible to know what the exact mismatch is. I don't know if it is:
- A crop thing: one was cropped more than the other.
- Aspect ratio management: they were cropped the same but the ratio was modified.
- Maybe the two movies, as they are probably from different releases of different countries, they came cropped differently.
In any case I don't know which of the three possibilities is.

As you can guess, I want to put DV and HDR10+ of 2.mkv in 1.mkv, so I proceeded in the following way:

1) Extract DV and HDR10+ from 2.mkv, steps:
- Drag and drop 2.mkv to DDVT_DEMUXER.cmd
It found: HDR Info = [HDR10, HDR10+, Dolby Vision Profile 8]
- So I guess, I must choose: SAVE BL[NO], SAVE RPU [YES], CONVERT RPU [PROFILE 8.1 HDR10], CROP RPU [NO], Remove HDR10+ Metadata from BL [NO], SAVE HDR10+ [YES]
- Then I started the process and I get the .bin and .json files.

Are these options correct? Do I have to change anything in my selection? Please, let me know.

2) Inject DV and HDR10+ in 1.mkv
- Drag and drop 2.mkv to DDVT_DEMUXER.cmd
- RPU file: Drag and drop the .bin file
- HDR10+ file: Drag and drop the .json file
- CUSTOM EDIT FILE: I just press ENTER (I don't even know what it is)
- Now I get this.
18952

The only thing I have clear is that I have to put 198 frames in the delay. Then I don't know what more to do and haven't continued.

- Don't know what is RPU L6, and don't know if I have to change anything in options 3 or 4.
- Don't know if I have to EDIT ACTIVE AREA as I don't have to crop it and the area of the target movie is 2 pixels higher than the DV/HDR10+ movie. It just detects a crop 1 in the bottom in RPU input... (which IMHO I don't think it should be cropped in any way...)

Maybe could be stupid, but I don't know how to proceed.

Can anyone help me?

Thank you very much,

E.

GodzilaAvenger
22nd May 2025, 17:53
Hi,

Generally speaking, you don't need to do anything about L6 metadata, because the one in the RPU usually doesn't even matter. But if you want, you can use the FILEINFO tool with the RPU you have (enter a random frame number, I usually go for 12345) to see what the L6 values for the RPU are, and you can open the mkv in mediainfo to see what those values are for the video (frame average light level, etc.) Then you can see if they are different and decide if you want to match them.

As for cropping, based on what you have said, you're good to go, you don't need to change anything.

ed_co
22nd May 2025, 18:24
Hi,

Generally speaking, you don't need to do anything about L6 metadata, because the one in the RPU usually doesn't even matter. But if you want, you can use the FILEINFO tool with the RPU you have (enter a random frame number, I usually go for 12345) to see what the L6 values for the RPU are, and you can open the mkv in mediainfo to see what those values are for the video (frame average light level, etc.) Then you can see if they are different and decide if you want to match them.
.
I have no idea about what L6 metadata is.
I don't know what is matching what.
Could you please develop a little bit, so I could understand and I could decide what to do?


As for cropping, based on what you have said, you're good to go, you don't need to change anything.

The problem I see is that even though does not need any crop, it crops RPU, even for 1 pixel height (which it shouldn't crop anything at all as the RPU source file is shorter than the target file, and I think is a bug).

I kept going with the script and continued the injection, adding the 198 frames delay. And it crops the RPU based on what I see in the script:

18954

So, I guess if this is a bug, it should be great to be fixed.

ed_co
23rd May 2025, 02:36
Apart from my previous reply (please @GodzilaAvenger or any other, reply if you can), I was thinking about another plan to avoid the RPU not match with VIDEO.

I just got another 3.mkv file, which is a UHD remux, and contains DV (not HDR+ though).
Obviously the resolution is not cropped: 3840x2160
So, I could add it to the 1.mkv, which has a resolution of 3840x1608.

So the steps for new plan could be:
1- Extract DV from 3.mkv (with CROP enabled or disabled? I did it with enabled)
2- Use the HDR10+ JSON file that I already extracted from 2.mkv
3- Inject DV from 3.mkv and HDR+ from 2.mkv to 1.mkv

By the way, extracting the 3.mkv I realised the size of the RPU.bin is much different from 2.mkv (28.3 vs 22.1), and then I realize the
2.mkv --> RPU .bin file size 28.3Mb --> RPU Info = [Dolby Vision Profile 8] [DM = CM v4.0]
3.mkv --> RPU .bin file size 22.1Mb --> RPU Info = [Dolby Vision Profile 8] [DM = CM v2.9]

What is this CM v4.0 vs v2.9?? Can anyone explain to me? The more size is better/more quality?

Thanks

GodzilaAvenger
23rd May 2025, 16:49
CM refers to Dolby Vision Content Mapping, v4.0 is a newer, expanded version of v2.9, so it makes sense for the file to be larger.

As for L6 (and DV metadata labels in general), see here (https://professionalsupport.dolby.com/s/article/Dolby-Vision-Metadata-Levels?language=en_US).

As for the cropping, first of all, I doubt being 1 pixel off on one side would make any difference noticeable to the human eye. Second, in general you want the RPU borders to match the video. Your remux probably has ~280 for the top and bottom borders, when you are injecting it you would want to set all those to zero.

ed_co
27th May 2025, 03:21
CM refers to Dolby Vision Content Mapping, v4.0 is a newer, expanded version of v2.9, so it makes sense for the file to be larger.

As for L6 (and DV metadata labels in general), see here (https://professionalsupport.dolby.com/s/article/Dolby-Vision-Metadata-Levels?language=en_US).

Thanks for the info.


As for the cropping, first of all, I doubt being 1 pixel off on one side would make any difference noticeable to the human eye.
Still a bug: if we are injecting RPU from a 3840x1606 video into a 3840x1608 video, the RPU shouldn't be cropped in any way, right?

Anyway, there is something more I will comment later, as this bug looks to be more complicated.


Second, in general you want the RPU borders to match the video. Your remux probably has ~280 for the top and bottom borders, when you are injecting it you would want to set all those to zero.
I don't understand what you mean with this one, as I never wanted to inject anything in the remux.

Just wanted to extract the RPU from the remux, which the RPU was cropped at RPU extraction, and no problems at injecting time in 1.mkv having a message of [MATCH WITH VIDEO], and not like the RPU from the 2.mkv video (3840x1606) as was saying [NOT MATCH WITH VIDEO].

I have some new findings that I will post later.

GodzilaAvenger
27th May 2025, 05:51
Does the 1608 video fill out all pixel rows? Or are the top and bottom pixel rows black? If it is the former, RPU top & bottom border should be 0, if the latter, 1.

As for the remux, what I meant was that when you extract the remux RPU the borders in it are probably set to ~280 (if the film has standard cinematic aspect ratio). When you want to inject said RPU into a cropped video (e.g. 1606) then you should set the borders to 0.

I recommend looking at the L5 description in the link in my previous post. The top/bottom borders are basically the amount of "Letterbox/Blanking".

ed_co
27th May 2025, 17:40
Does the 1608 video fill out all pixel rows? Or are the top and bottom pixel rows black? If it is the former, RPU top & bottom border should be 0, if the latter, 1.

Is totally filled out, as I explained in detail in a comment before:

That 2 pixels height difference is weird. There are no black bars to any of them, and is imperceptible to know what the exact mismatch is. I don't know if it is:
- A crop thing: one was cropped more than the other.
- Aspect ratio management: they were cropped the same but the ratio was modified.
- Maybe the two movies, as they are probably from different releases of different countries, they came cropped differently.
In any case I don't know which of the three possibilities is.




As for the remux, what I meant was that when you extract the remux RPU the borders in it are probably set to ~280 (if the film has standard cinematic aspect ratio). When you want to inject said RPU into a cropped video (e.g. 1606) then you should set the borders to 0.

I guess it depends how you extract the RPU:
- If you extract it cropped you add it -in a cropped video- with 0
- If you extract it not cropped you add it -in a cropped video- with 280
This is quite clear to me. I extracted both ways and I think it is how it works.

As a reminder, the bug [NOT MATCH WITH VIDEO] just sets bottom 1, and not top.


I recommend looking at the L5 description in the link in my previous post. The top/bottom borders are basically the amount of "Letterbox/Blanking".
Yep I read it, and I understand it. But it is not explaining anything about the bug.

ed_co
27th May 2025, 18:28
I found out more things by accident.

Just hold on and put on hold the mentioned bug.

So, as I said before:
- The file 2.mkv is cropped 3840x1606 and RPU is v4.0 (so this RPU should be cropped).
- The file 3.mkv is uncropped (as it is a remux) and RPU is v2.9.
I have both extracted, and for v2.9 (I have it extracted cropped and uncropped, although lets just consider the cropped one). So let's consider both RPU cropped.

So I thought, lets start clean, and as I know the remux 3.mkv has RPU injected (because this film does not have DV in its UHD release), get an untouched remux for some tests doing encodes from it. So now we have:
- The file 4.mkv, which is a clean remux without DV (just have HDR10). Size and quality looks the same vs the 3.mkv remux but with nothing injected. I will not use this file for anything but for encode a cropped version from it.
- The file 5.mkv, which is an encode from the previous remux (automatically cropped with handbrake and reduced file with CRF19). Remember just has just HDR10, and it was cropped curiously to 3840x1606 (not 1608, like 1.mkv).

So, from now we can have the bug context again.

So now I thought, OK now lets inject the RPU v4.0 to 5.mkv (from 2.mkv, which has the exact same resolution), and remember this RPU was complaining when injected to 1.mkv, but now it SHOULD WORK with no WARNINGS.
But it didn't!! It informs in RPU: [NOT MATCH WITH VIDEO] and just sets bottom 1, and not in the top!
so is complaining the same way as injecting to 1.mkv (which remember that has different resolution 3840x1608).
So with RPU v4.0 coming from 2.mkv (3840x1606), injecting to 1.mkv (3840x1608) and 5.mkv (3840x1606) is complaining with BOTH resolutions the same way.
Some problem with RPU v4.0 maybe???

So obviously I thought, let's try with the RPU v2.9 (3.mkv remux) to 5.mkv. I am considering the one I extracted cropped.
So with RPU v2.9 coming from 3.mkv -remux- (extracted cropped), injecting to 1.mkv (3840x1608) and 5.mkv (3840x1606) is NOT complaining at all with any of the resolutions.
So maybe the RPU v2.9 is more permissive or something?

So I guess, probably the DDVT tool is not considering something with RPU v4.0? Or maybe is just a bug, I don't know. The tool does not seem to have any problem with RPU v2.9.

Just one thing to remember: even the message of [NOT MATCH WITH VIDEO], I was able to inject DV to the files with no problem, as it was just a warning but is still a possible bug.

By the way the HDR10+ (which I have only in 2.mkv), does not have any problem with any file or any resolution... I guess HDR10+ is not tied to resolution at all? Don't know.

Well, I could provide any file:
- 1.mkv, 2.mkv, 3.mkv, 4.mkv, 5.mkv (although I think with just 1.mkv (7Gb) and 5.mkv (6Gb) is more than enough, maybe 2.mkv (15Gb), but definitely not the remuxes)
- RPU v4.0, RPU v2.9 cropped (and not cropped also), and HDR10+ json (everything is like 200Mb)
so maybe the author of the DDVT tool could have a look and fix the bug, if it exists. Please let me know and I will provide a link to download.

Jeez, I did a lot of work. I hope is worth it.

Thanks


P.S.: First, sorry for my English, and second, sorry for the big chunks posts!! Please read them carefully, I know there are a lot of information and is important to read it carefully and trying to understand, so please don't read diagonally or you will miss important details.

ed_co
27th May 2025, 19:05
BTW, just as a final note, it should be great to have the DDVT tool for macOS too. I had to do all of this with a Virtual Machine, which I can say is not the most optimised way I guess. Thanks!!

GodzilaAvenger
28th May 2025, 16:28
A few things:

1. You do not have to specify the cropping when extracting the RPU. You can extract the RPU from the remux with ~280 border and then set it to 0 when injecting it. You can make this change using the [Edit Active Area] option in the injector.

2. DDVT uses ffmpeg (or maybe ffprobe? doesn't really matter) to auto detect borders from the video file, and it does not analyze every frame, but a subset of frames, if I remember correctly. Because of this, it can be (and in my experience many times is) off by a few pixels, which can cause that [Not Match with Video] error. At the end of the day though, you can just go in and set the borders manually. What you are encountering has nothing to do with the source file of the RPU or whether it is v2.9 ir v4.0.

P.S. yes, HDR10+ doesn't care about borders.

Arbok
29th May 2025, 21:16
Why does DDVT INJECTOR.cmd crashes when I drag and drop .mkv file? :(

EDIT: When using DDVT_DEMUXER.cmd to get Profile 8.1, the process runs just fine, but I cannot find the resulting file(s). If I understand this right, there sholud be an Output folder in the Dolby.Vision.Tool.v0.65.3 folder, but it's not there. Can anyone help me, please?

winoni71
30th June 2025, 12:58
Hello, the "DDVT_MKVTOMP4.cmd" command doesn't work on the latest version of the file (v0.65.5), when I type "s" to start the window closes immediately, no error is shown and no log file is created.
Reverting back to the "v0.65.4" version of the file fixes the issue.

ManilaByNight
2nd July 2025, 11:49
I tried "DDVT_REMOVER.cmd" on a .mkv file (Ironheart.S01E05.Karmas.a.Glitch.2160p.DSNP.WEB-DL.DDP5.1.Atmos.H.265.mkv) and it gave an error saying:

Dolby Vision Profile 5 not supported.

The file has a RPU included, but the RPU cannot be removed.

What does this mean and why does the script not work?

Can this be fixed?

GodzilaAvenger
3rd July 2025, 10:17
I think this is because Dolby Vision Profile 5 is not backwards compatible with HDR10, i.e. the file needs the RPU to be playable.

TR-9970X
3rd July 2025, 14:51
I think this is because Dolby Vision Profile 5 is not backwards compatible with HDR10, i.e. the file needs the RPU to be playable.

Why is the latest build labeled 0.65.5, yet the download file is labeled DDVT_v0.63.5.rar.

Even the downloads on Mega are all DDVT_v0.63.5. :confused:

ManilaByNight
4th July 2025, 01:29
DDVT_Remover script with Folder support no longer works with the new released version 0.65.5. It suddenly quits and does not proceed. It used to work with version 0.65.4 after I requested for that feature to be added.

cdth
12th July 2025, 22:29
I have a question regarding remuxing the latest The Lost World Jurassic Park UHD that comes with a new DV FEL layer into a new .iso file.
The trick here is that the new UHD suffers from some nasty DNR so I'm thinking of using the 2018 HDR10 only transfer with better PQ but has 8 more black frames at the beginning.
So what can I do if I want to create a synchronized .iso remux file that has the HDR10 base layer from the 2018 UHD with the DV FEL layer from the 2025 UHD?

I hope my description isn't too confusing...

Would really appreciate any help from anyone!

alexmorph3us
13th July 2025, 12:37
I have a question. Can this tool be used to convert HDR to SDR content with tone mapping. If not, what would you recommend in this case?

LisanAlGaib
23rd July 2025, 15:58
Quick question - I've been wanting to play some remuxes on my lg g3. I've tried the mkvtomp4 script but it says that profile 7 mel is not supported. Would my workflow then be - convert to DV profile 8 through the demux script and then inject it back to the original file, proceed to use the mkvtomp4 script? or am I missing something.

GodzilaAvenger
24th July 2025, 05:38
I have a question. Can this tool be used to convert HDR to SDR content with tone mapping. If not, what would you recommend in this case?

As far as I know, no. But I think a lot of tools like Davinci Resolve, Handbrake, and FastFlix can do it. They probably all use FFmpeg to do this so you might as well use FFmpeg if you want control over the tonemapping.

Quick question - I've been wanting to play some remuxes on my lg g3. I've tried the mkvtomp4 script but it says that profile 7 mel is not supported. Would my workflow then be - convert to DV profile 8 through the demux script and then inject it back to the original file, proceed to use the mkvtomp4 script? or am I missing something.

I believe so, yes, but keep a copy of the original file just in case.

P.S. how's Chani?

sirbod
27th August 2025, 13:03
I've noticed the scripts fail if used from the command-line if filenames contain characters DOS considers special...ampersands for example.

The fix is to move the delayed expansion so it occurs before the INPUTFILE variables are set, instead of after. This goes for most of the scripts, but here's the corrected DEMUXER as an example:

setlocal EnableDelayedExpansion
rem --- Hardcoded settings. Cannot be changed ---
set "INPUTFILE=%~dpnx1"
set "INPUTFILEPATH=%~dp1"
set "INPUTFILENAME=%~n1"
set "INPUTFILEEXT=%~x1"

hidef_rec
23rd September 2025, 15:39
Can a kind soul walk me through the steps to convert a DV P7 UHD rip to a P8, baking the FEL into the latter? Here's what I did, but I still ended up with a P7 instead of a P8:

1. Used Demuxer on P7 MKV
Save BL : [YES]
Save EL : [YES]
Save RPU : [YES]
Convert RPU : [PROFILE 8.1 HDR10]
Crop RPU : [NO]

2. Used Injector like so
Filename : P7movie.4K.HDR.DV.ATMOS_[BL].hevc
DV Filename : P7movie.4K.HDR.DV.ATMOS_[EL].hevc

3. Used MKVMerge to mux the resulting
P7movie.4K.HDR.DV.ATMOS_[BL]_[BL+EL+RPU].hevc
with the audio from the original

Obviously, I messed up somewhere or everywhere :confused: :)

GodzilaAvenger
23rd September 2025, 17:30
As far as I know DDVT can't bake the FEL into the stream. You can use the injector to inject the RPU.bin converted from P7 to P8 into the .hevc stream, but not the EL.hevc (i.e. you'll be losing the FEL).

hidef_rec
23rd September 2025, 17:33
Hmm, thanks, thought it was possible, but re-encoding would be necessary... which is a big negative. Just wanted to check my understanding. There's a FEL w/Ugoos AM6B+ or just used 'baked' P8 w/Zidoo debate going on in an AVSForum thread.

Edit: Found a post by the expert that seems to indicate so...
https://i.imgur.com/qO4N0Al.png

GodzilaAvenger
24th September 2025, 15:10
I'd say FEL doesn't even matter unless the studio did a terrible job of encoding the base HDR layer and you need the FEL info to recover the picture. Case in point, non of Nolan's films even have DV.

LisanAlGaib
30th September 2025, 01:01
Hmm, thanks, thought it was possible, but re-encoding would be necessary... which is a big negative. Just wanted to check my understanding. There's a FEL w/Ugoos AM6B+ or just used 'baked' P8 w/Zidoo debate going on in an AVSForum thread.

Edit: Found a post by the expert that seems to indicate so...
https://i.imgur.com/qO4N0Al.png

Try watching this (https://www.youtube.com/watch?v=8BvXqw_cGJE) video if you want to reencode yourself (actually, check out the whole channel, that guy is crazy good). The problem is that it'll probably take hours to reencode a 4k UHD movie. But if that's not an issue you can technically bake the FEL and convert the P7 into P8 without noticeable quality loss. The output will be 10 bit instead of 12 bit, but visually it'll look the same. If you want the best possible quality, use x265 instead of nvenc for the encoding, but that'll be 2-4 times slower.

ManilaByNight
25th October 2025, 23:43
I am on Windows 11 Pro 25H2 Build 26200.6901 (the latest version) and I tried using the Dolby Vision Tool Remover and I just get stuck on the "Analysing file. Please wait ....." section at the beginning of the process. Nothing else happens and the process does not complete. What is wrong here? Please help!

19043

ManilaByNight
25th October 2025, 23:53
Some development .....

I double clicked the mouse and hit the space bar and for some reason the removal process started but I am perplexxed why it would do this? Shouldn't the process start immediately the moment I hit the enter key after typing in the command line? Why would it do this or is there something wrong here?

Thanks.

Thaddäus
2nd November 2025, 19:26
I have a question about the profile and whether I should choose to convert it:
My attempt is to mux a DV-layer from a Web-source to it's HDR10-only UHD Blu-ray-counterpart. But I not just want to have the MKV, I want to mux it into a Blu-ray structure. I've only done it once before and IIRC here's what I did:

1. Demuxing BL and RPU from the DV-version with DDVT Demuxer
2. Converting the BL to a H.265 HDR10 1080p-version with low bitrate, e.g. 2500 kBit/s
3. Injecting the RPU into the converted BL to be come my new EL-layer
4. Muxing the Blu-ray source (as BL) and the newly created EL together into an ISO or Blu-ray folder using tsMuxeR

However, the DV-source I have has Profile 8 and when trying to demux it, I can choose between "No conversion", "Profile 8.1 HDR10" and "Profile 8.4 HLG". Which would be best for what I'm trying to do? I guess either just leaving it as it is or converting it to 8.1 would be the right choice, but I just wanted to check back. :)

GodzilaAvenger
3rd November 2025, 08:17
Blu-rays use Profile 7 (P7) DV, which can be MEL or FEL. DDVT (and the underlying dovi_tool) can't convert P8 to P7.

Also, I'm a bit confused with your process. Why are you turning the BL into a 1080p stream and adding that in as the EL?

Thaddäus
3rd November 2025, 19:17
I know Blu-ray usually use P7. I'm not really into all that stuff about the profiles, but I thought P7 is more or less the same just with a MEL or FEL-layer, which I'm trying to recreate with the 1080p-version plus the RPU-data.
Unfortunately I just can't find it right now, but I once saw a tutorial somewhere, where they did the exact same thing and when I tried it myself around the same time last year it also worked. So I just wanted to try it again, I just can't remember how exactly which settings I used to extract the DV-layer. ;)

GodzilaAvenger
4th November 2025, 22:23
P7 is either RPU on its own (MEL) or RPU plus a 1080p stream (FEL). The 1080p stream is the remainder of the original 12-bit video signal and when added to the BL would reconstruct it. When you add in an encoded version of BL as the EL you're probably messing up the tonemapping and brightness settings applied by the RPU since that RPU came from a web source that has calculated those parameters for only the BL, not BL+EL (and your EL is not the source EL anyways). Aside from this, I think the frame order of your encoded version won't match that of the BL (I ran into this when I wanted to inject the original EL into a re-encoded BL). Bottomline is, I don't think you need that 1080p stream and are better off just injecting the RPU into the BL.

Deithwen
29th November 2025, 01:24
What's casuing this error? I'm trying to convert P5 file to P8
== INFORMATIONS ========================================================================================================

Filename : test.mkv
DV Filename : test_[RPU_CONVERTED-P8.4]_[P8].xml

== OPERATIONS ==========================================================================================================

[Extracting Video Layer]
Command: "D:\Programs\DDVT_v0.72.1_FULL\tools\mkvextract.exe" "C:\Users\Name\Desktop\New folder\test.mkv" tracks --ui-language en 0:"C:\Users\Name\Desktop\New folder\DDVT_NCgXO_TMP\temp.hevc"
Done.

[Creating DV RPU Binary]
Command: "D:\Programs\DDVT_v0.72.1_FULL\tools\dovi_tool.exe" generate --xml "C:\Users\Name\Desktop\New folder\DDVT Demuxer (test_[RPU_CONVERTED-P8.4].bin).log""C:\Users\Name\Desktop\New folder\test_[RPU_CONVERTED-P8.4]_[P8].xml" --canvas-width 1920 --canvas-height 1080 --rpu-out "C:\Users\Name\Desktop\New folder\DDVT_NCgXO_TMP\RPU-CREATED.bin"
Parsing XML metadata...
Error.
.
== ERROR(S) ============================================================================================================

1 Error(s) during processing.

== LOGFILE END =========================================================================================================

sk2316
5th January 2026, 01:20
How to Convert a Dolby Vision Profile 8 file to Profile 7?

GodzilaAvenger
5th January 2026, 19:33
I don't think you can, at least not with DDVT. There's a small chance dovi_tool supports it but I'm not sure so check it's documentation.

sk2316
6th January 2026, 04:03
I don't think you can, at least not with DDVT. There's a small chance dovi_tool supports it but I'm not sure so check it's documentation.

Kuler087 [DoVi_Scripts]
In the next Beta, there will be a way to encode profile 7 FEL/MEL but it will require DEE. It will even have the option to tone map the base layer to lower brightness like the studios often do.

JazzCZ
8th January 2026, 14:19
I'm not super familiar with how HDR works but can I extract the DV metadata from one inferior source and inject it into a superior SDR stream?
I somehow managed it but the result is looking quite different from the original, and it wouldn't work unless I changed the transfer characteristics, color primaries, ... headers.

GodzilaAvenger
8th January 2026, 21:37
As far as I know SDR uses the 8-bit BT.709 colorspace whereas HDR uses the 10-bit BT.2020 colorspace, so yeah, to go from SDR to HDR you need to do the things you mentioned. Once you have an HDR source (technically PQ when it doesn't have any metadata) you can add the DV metadata for dynamic tone mapping and brightness. I've never done SDR to HDR so I don't really know what exact steps it requires.

JazzCZ
9th January 2026, 09:44
Re-thinking the approach, I think it's impossible to make it look the same. Injecting DoVi/HDR10+ normally works because it's only dynamic metadata on top of the "static" HDR layer that's baked into video stream whereas what I'm trying to do is forcing the BT709 colorspace to be displayed as BT2020, which will inherently result in incorrect colors :(

dbuser38
12th January 2026, 13:34
Is it possible that we can get a MACOS version of the DDTV tools ?

AgentXXL
16th January 2026, 19:24
Is it possible that we can get a MACOS version of the DDTV tools ?

While you can run the scripts from Powershell on MacOS, many of the tools required for operations are only available on Windows. You could use VirtualBox or another VM engine and run a Win VM on your Mac.

-QfG-
18th January 2026, 14:39
As far as I know DDVT can't bake the FEL into the stream. You can use the injector to inject the RPU.bin converted from P7 to P8 into the .hevc stream, but not the EL.hevc (i.e. you'll be losing the FEL).

That is not correct. You can inject the full EL layer in the BL layer without problems.

GodzilaAvenger
18th January 2026, 22:23
Yes, but wouldn't injecting the EL into the BL result in the original P7 file?

Let's say you extract the BL, EL, and RPU. Then inject the EL into the BL, then convert the P7 RPU into P8 and inject that into BL+EL. Would that be playable? Wouldn't the player just ignore the EL at this point since P8 is not supposed to have the 1080p stream of the FEL?

-QfG-
19th January 2026, 16:19
If you inject a RPU in a single layer Profile 7 file, the RPU erases the EL. You have BL + EL and now you inject a Profile 8 RPU, You have BL+RPU (without EL).

But, you can edit a Profile 7 RPU and inject this RPU in the EL and then you can Mux this modified EL into the BL.

frandan
20th January 2026, 10:18
Hi to everyone.

I usually use Dovibaker for HDR ripping when FEL layer modifies the colors/luminance of the base layer. After the ripping, i inject the profile 8 RPU in the ripped HEVC file.

In the DDVT injector tool, I noticed the "RPU L6 to Video HDR" option, set by default on OFF: is this something about the modifications that the FEL layer makes on the luminance of the base layer? Thanks in advance for your answers, and excuse me for the probably not inherent question.

Fuso
20th January 2026, 23:46
I decided to test the capabilities of the Xbox Series X regarding Dolby Vision playback through PLEX. P8 is not supported but "my" "fake Profile 5" is playing with no problems, even supports Dolby TrueHD Atmos. I will test also fake P5 mp4 with DTS:X but I don't see a reason not to be played correctly. But no Profile 7 support (even through fake P5 - the EL is ignored).

Valnjes
21st March 2026, 22:11
Hello!

Thank you for this great tool!

My only issue is that it does not work on network drives.

My whole MKVs are on my NAS, and i would love to remux them to MP4s.

I mounted my network drive as an X:\ drive in WinOS, but i still cant use DDVT to convert MKVs to MP4s.

Could this be fixed?

Best regards :thanks:

vertigo220
22nd March 2026, 03:29
Trying to use this to merge DV metadata from one file into another file that contains HDR10 (so far unsuccessfully), I'm finding this a bit frustrating to use. First of all, it takes over the command window and, if it errors (which I'm finding it does a lot, first because I didn't have the tools, which wasn't a clear/obvious need to download separately when downloading this, then for an unknown reason when trying to use it), it closes the window. This is a problem mostly because I had spent a bit of time trying to do what I needed with dovi_tools.exe, running numerous commands, and when the window was closed, I lost the history of all of that, which is now going to make it harder to go back to it if I can't get this to work, and also because every time the window closes, I have to go through the hassle of opening a new one, which isn't hard, but certainly annoying and a waste of time.

On my first attempt to use it after downloading the tools, I ran the injector and immediately found it unclear what to do, as it asked for a non-specific file. While I assume it means the file I want to inject, it should specify that, as for all I know it's asking for the file I want to inject _into_. I dragged the rpu.bin file I'd already extracted into it, and the next step asks for a custom edit file. I have no idea what this is, and I assumed this file is optional, since up to this point in messing around with this stuff, I'd not come across this, and dovi_tools.exe didn't seem to require one. So I simply pressed enter to skip it, and it exited with the following error:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RPU.bin

Unsupported Input File. Supported Files are:

*.mkv | *.mp4 | *.h265 | *.hevc | *.bin
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

despite the fact I'd supplied the rpu.bin file, which per that error is a supported file.

Also (and this isn't meant as criticism, as I realize QfG is likely ESL, it's just meant to help improve the wording), on the custom edit file screen, where it says

"For operation with a custom json file, drag 'n' drop here your CUSTOM EDIT FILE [.json] and hit ENTER. Attention! You can set in options if CUSTOM EDIT FILE will prcessed BEFORE or AFTER tool processings."

it should say

"For operation with a custom json file, drag 'n' drop your CUSTOM EDIT FILE [.json] here and hit ENTER. Attention! You can set in options if CUSTOM EDIT FILE will be processed BEFORE or AFTER tool processing."

I then tried to demux the RPU, but once it was done it didn't provide the option to do anything else, requiring me to exit and run a different tool. It would be a lot more user-friendly if it had a main menu to select the tool to run (which would allow for a single cmd file to run and would allow sending the user back to this menu once done with a certain action to make it easier to switch to a different tool) as well as more guidance on what to do when.

Then, after demuxing and getting a json file, I tried again to use the injector tool, this time providing the json file when asked for a custom edit file, and it again crashed with the above error. So I have no idea what's going on, why it's not accepting files it should accept, and I now have to go back to trying with dovi_tools, only now without the benefit of the command history from my earlier attempts.

GodzilaAvenger
22nd March 2026, 22:36
Hi, I haven't used this tool in a while, but from what I remember you have to specify the file you want the RPU.bin to be injected into in the injector. The tool then looks in the file's directory to find the RPU file. The custom.json file is meant to specify what changes should be made to the RPU before injecting, e.g. changing L5 values.

vertigo220
2nd April 2026, 01:10
I finally got what I was trying to do done by using the hybrid tool, though I'm still not sure if it's done *right* since there was very little info provided along the way, and the height of the two videos was slightly different. From what I can tell, this automatically compensates for that, but it's not at all clear, so hopefully when I go to play the video later on an HDR display it will work properly.

I also ran into another problem, where I've tried dropping an HDR10 file into the first (HDR/HDR10+ file) step hybrid tool, essentially trying to repeat what I'd already done successfully(?) with another video, but it keeps telling me "Only Single Layer files supported." Not fully sure what that means, but AFAICT it means only files with HDR10 and not hybrid files, but this file is HDR10 only, whereas I can drop a hybrid file on it and it works fine. So it's backwards.

vertigo220
6th April 2026, 22:07
Figured out the problem. If there's an exclamation mark (!) in the path, it gives the error. I'm guessing this tool is based on batch scripting and !'s in paths/filenames aren't properly accounted for, causing issues due to delayed expansion, causing the tool to not receive the proper input file path and therefore acting like no file was given, as the same error is shown in the case of no input file.

Another problem is that, despite it saying it needs a lot of drive space, it doesn't give any indication to how much space is necessary (this should be fairly trivial to calculate) or if enough exists (again, this should be simple to do). It also doesn't allow for changing the output to a different drive, which would help a LOT in this regard. And finally, if there's not enough space, it shows an error saying it's run out but then continues on anyways, wasting time as the final encode is not going to be complete (and potentially causing data loss if the user doesn't realize this and thinks it's complete because it finishes when it, in fact, is not).

I'm also still not clear on the borders/cropping functionality, since whenever I use two files with different heights with the hybrid tool, the borders are all zeroes (0's), when it seems they shouldn't be, so I'm still not convinced it's working properly.

It's also odd that the remover tool defaults to N instead of Y. Why would someone run this tool if they didn't want it to do its job?

So now I just need to figure out the cropping, because it's not clear at all if it's being applied (or not being applied) correctly and if my final output is going to play correctly or not.

-QfG-
25th April 2026, 16:47
v0.74 Online.

sergio2
8th June 2026, 09:08
Update to v0.30. Many Bugfixes, HDR10+ to DV Conversion still working.
https://1fichier.com/?86t4gujfcl3hrv8eezw7

DV Profiles:

DV Profile 7 (UHDs [HDR BL+EL+RPU]) = Dual Layer DV Profile, FEL or MEL. Can be repacked in a single Layer stream (not official supported) via makeMKV. Single Layer mkv needs special Hard/Software for viewing in DV. Fallback to HDR: YES
DV Profile 8 (8.1[HDR BL+RPU] 8.2[SDR BL+RPU] 8.4[HLG BL+RPU]) = Single Layer Dolby Vision with Fallback to HDR if DV is not supported. Official DV Profile, can be played on every DV Player in a MP4 Container.
DV Profile 5 (WEB [HDR BL+RPU]) = Single Layer Dolby Vision without Fallback to HDR if DV is not supported. Official DV Profile, can be played on every DV Player in a MP4 Container.



Yes, you can inject a converted Profile 8 RPU in a HDR Videostream, like UHD. The streams must be frame identical, if the stream have a delay you can set the delay with the scripts.

Where can I get the dovi_tool.exe able to mux BL + EL + RPU in a single Layer stream ?

frandan
10th June 2026, 09:19
Hello to everyone,
I have a doubt about custom json option in ddvt_injector.
In the past i worked on a video with variable aspect ratio and consequently with variable crop to apply.
i used a custom json file like this
{
"mode": 2,
"active_area": {
"crop": true,
"presets": [
{
"id":0,
"left":0,
"right":0,
"top":68,
"bottom":68},{
"id":1,
"left":0,
"right":0,
"top":34,
"bottom":34
}
],
"edits": {
"0-5000":0,
"5001-186112":1

}
}
}
called level5new.json
and created a new rpu with
"dovi_tool editor -i RPU_original.bin -j level5new.json -o RPU_new.bin".
The rpu_original file was with no crop applied during demuxing.
Will i obtain the same result using the custom file as injection option?
Should I keep the file without cropping in this case as well?
Thanks in advance for your answer.

Shumbles
18th June 2026, 04:53
Hey, I was wondering if anyone might know of a solution for a problem I'm having. I was on windows 10 and using the DDVT Tool to convert DV Profile 7 to 8.1 and remux files into mp4 containers. It worked perfectly.
However, I did in in-place upgrade to windows 11, and ever since then, I can't drag and drop any files. I'm currently using the administrator account. Anyone know of any settings I need to change? Thank you.