View Full Version : [DoVi_Scripts] Multi-Function Scripts for Dolby Vision processing and a lot more...


Pages : 1 [2] 3

lemaireus
25th February 2025, 14:24
Kuler, I tried encoding with DS today but simply have not been able to get the script firing. I am using v3.0.6, and the script is DoVi_Scripts_MKV.bat. The only change I made in the script was to change the CRF value of an x265 encode to 24. The second time, I tried doing a two-pass encode. In both the cases, I run into the same error:

https://i.postimg.cc/26H1n7Rc/Screenshot-2025-02-25-184423.png

Avisynth+ is installed correctly as are all the other tools. What might I be doing wrong?

Kuler087
25th February 2025, 14:57
I don't know. try installing this AVS+ https://github.com/AviSynth/AviSynthPlus/releases/download/v3.7.3/AviSynthPlus_3.7.3_20230715_vcredist.exe

https://i.ibb.co/Xr6b3xG6/Windows-Terminal-xu4-Soy-QFMB.gif

lemaireus
25th February 2025, 17:58
Thank you for the suggestion, Kuler, but it didn't work. In fact, I deleted the tools folder, and downloaded it afresh, but still getting exactly the same error. It's probably some sort of a hidden problem specific to my computer. Very frustrating.

lemaireus
25th February 2025, 18:02
This is the error I get every single time:

avs+ [FLAW]: Error loading file: Script error: Invalid arguments to function 'z_ConvertFormat'.
(D:\DoVi.Scripts\temp.folder31\script.avs, line 5)
x265 [FLAW]: unable to open input file <D:\DoVi.Scripts\temp.folder31\script.avs>

Error: The file 'D:\DoVi.Scripts\Gladiator_II_2024_4K_002_DV-FEL_to_DVP8-HDR10.hevc' could not be opened for reading: open file error.

Kuler087
25th February 2025, 18:26
yeah that's strange, it looks like your system doesnt like z_convert. First time seeing this error and I helped many people with this workflow.

try this version, I replaced z_convert by another function.

https://drive.google.com/file/d/1hmi7vuoz6JWd2j5mVVQA1IcqZ43yJ70d/view?usp=sharing

lemaireus
26th February 2025, 04:12
Thank you for the test script, Kuler. Unfortunately, this also generates an error, seemingly a different one but in fact the error involves exactly the same steps:

avs+ [INFO]: AviSynth+ 3.7.3 (r4003, 3.7, x86_64)
avs+ [FLAW]: Error loading file: Script error: Invalid arguments to function 'ConvertToYUV420'.
(D:\DoVi.Scripts\temp.folder31\script.avs, line 5)
x265 [FLAW]: unable to open input file <D:\DoVi.Scripts\temp.folder31\script.avs>

Error: The file 'D:\DoVi.Scripts\Gladiator_II_2024_4K_002_DV-FEL_to_DVP8-HDR10.hevc' could not be opened for reading: open file error.

I would believe that mine is fairly standard computer: Windows 11 machine with Core I5 Raptor Lake. Can't figure out what the source of the problem might be. It looks like an avsynth+ issue of some kind.

lemaireus
26th February 2025, 07:14
I usually use Ripbot for encoding and that also uses avisynth+ but that has never given me this particular error, so I can't figure out what the source of this problem might be. The error is consistently "invalid arguments to function . . . " in line 5 of the avisynth script.

Kuler087
26th February 2025, 13:18
no idea why it says that for you. Try to open the script (temp folder) in avspmod.

lemaireus
26th February 2025, 14:08
This is how the avs script looks in avspmod:

https://i.postimg.cc/FzHVkb6n/Screenshot-2025-02-26-182957.png

However, when I try to run avspmod, before loading the avs script whose screenshot I've shared above, it gives me this error message:

https://i.postimg.cc/jdChsXPD/Screenshot-2025-02-26-183011.png

Kuler087
26th February 2025, 14:10
the script is incomplete, so it fails at indexing either with ffms2 or dgindex

did you install python? Watch the script installation tutorial.

Kuler087
26th February 2025, 14:25
it looks like the script failed to detect if you have an nvidia GPU or not...

try this: https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=drive_link

lemaireus
26th February 2025, 15:39
Voila! and it worked, finally! Thank you, Kuler, for helping out. The custom script you shared is doing the job even as I type this message. I'll post an update after the encoding finishes (will take a while).

However, the problem could not have been the script failing to detect nvidia GPU. Each time I tried with the .bat files from 3.0.6, those did detect that I do not have an nvidia GPU ("No Nvidia GPU detected, enabling FFMS2 decoding"). Python is also correctly installed. Still cannot figure out the issue.

Kuler087
26th February 2025, 15:52
It was my fault, sorry. I introduced a typo two versions ago...
It was detecting correctly that you didn't have an Nvidia GPU but there was a typo in the variables.

lemaireus
26th February 2025, 16:19
Thank you, Kuler. I just got my first DS encoded rip (a ten minute test clip).

One question though: how do I get DS to keep FEL/MEL and not only the 8.1 RPU? If I am not concerned with compatibility issues and if I wish to keep DV profile 7.6 along with the FEL in, for example, Gladiator II, are there settings that I might tinker with which will allow me to do that? The reason I ask this question is because as far as converting the RPU to 8.1 and injecting it back into an encode is concerned, DDVT tools does a good job. However, as you mentioned on that forum, DDVT probably cannot bake an FEL/MEL accurately. Can DS do that?

Kuler087
26th February 2025, 16:38
Not possible. You cannot keep the EL if you re-encode the BL, that's the whole point.
The dovi baker process in workflow 8-2 will bake the 12bit EL stream in the encoded BL so you get a P8 + HDR10 BL that is the same quality as the original P7 fel playback on a bluray player.

lemaireus
26th February 2025, 16:56
Thank you for the clarification, Kuler, and, once again, thank you for helping out with the script. Interacting with you is always such a pleasurable learning experience.

Evilmatcher
1st March 2025, 12:12
I came across this nice tool pack (very impressive work behind it), when I discovered it was possible to convert my HDR10+ movies to DV, so I could benefit from the dynamic metadata on my LG G4. I have now converted my two HDR10+ movies (American Gangster and Carlito’s Way) and a few others HDR10 movies to DV P8 with your script. I must admit I find it difficult to see the changes. I read a post somewhere the other day (sorry I can’t remember where, but not here) about a guy who had converted his copy of Inception to DV8, where he was very impressed and the movie couldn’t look any better, so I started with Inception. I haven’t watched the complete movie, but has tried to compare the HDR10 and DV8 versions by viewing a couple of minutes of each version until around the 15 minutes mark, which I find very difficult to spot any difference. I think I see some small brightness changes here and there, but not a day and night changes.

I am using the 3-1 workflow with the MDL primaries set to P3 4000 nits (taken from MediaInfo) and using the auto level 5.

I am using a Ugoos AM6+ with CoreElec (and have also tried my X800m2) through a Denon X4800 receiver with ultra high speed hdmi 2.1 cable to receiver and to TV. The Ugoos is cable connected to a Synology DS920+ NAS.

LG G4 77” (not calibrated) but using the picture settings from https://www.flatpanelshd.com/review.php?subaction=showfull&id=1727259776#4. I have tried to tweak these settings with the Spears & Munsil UHD calibration disc earlier on, which only updated these settings marginally.

I have converted the HDR10+ movies above, Inception, Black Hawk Down and the two Blade Runner movies, but stalling on my remaining +50 HDR10 movies as it is quite a time consuming exercise (9-14 hours per movie), which I can’t “justify” for a marginally effect.

Have I been too optimistic and set my expectations too high? Any advise or further clarifications on what the tool pack should do will be very helpful.

Kuler087
1st March 2025, 14:53
The G4 is a bright TV, so unless the content is constantly higher than your TV's 1500nits peak brightness, there will not be much difference between HDR10 and DV in most movies because no tone mapping is required. TVs get brighter every year, so eventually, DV will be useless.
PS: You should never rely on any form of auto-L5 or auto black border detection; always do the measurement manually for proper results. This is even more important now that the ugoos AM6B+ and CPM 13 support it.

You can look at the brightness plot (https://drive.google.com/drive/u/1/folders/154fBNllwOHL4Lckc7wDV8QKFJwFxnDt-) and decide if it's worth the effort.
You can also create metadata comparisons (https://drive.google.com/drive/folders/1g5I-z_sJmVu-SAIPNiiSlcdMiy2ka0mf) with workflow 7-4 to see the tone mapping effect of DV on your TV.

EG, this is on a 400nits display (your G4 is 1500nits)

https://i.ibb.co/MkMKN6d9/Application-Frame-Host-BD943-QYk-QW.gif

Evilmatcher
1st March 2025, 15:44
The G4 is a bright TV, so unless the content is constantly higher than your TV's 1500nits peak brightness, there will not be much difference between HDR10 and DV in most movies because no tone mapping is required. TVs get brighter every year, so eventually, DV will be useless.



Aaaaaaaaaaaaaaaah - that make sense.
Thanks for the clarification.

Korbus
1st March 2025, 22:28
Hi RESET, everytime I try to use workflow 7-4 or workflows of Mode 6 and the input is a DV mkv (profile 7 or 8), i get an error such as in the picture attached (basically the ffmpeg windows displays all kinds of weird symbols and crashes).

Kuler087
1st March 2025, 22:57
What the hell lol. No 2nd window is supposed to pop.
Can you show me the log (https://justpaste.it/) with ''@echo on'' (line 2)

Korbus
1st March 2025, 23:11
Here it is: log (https://justpaste.it/gjtsq)

Kuler087
1st March 2025, 23:23
strange, it seems ffmpeg fails to pipe/extract the RPU. Did you change your tool folder ffmpeg.exe version? Try replacing it, maybe it got corrupted when you extracted the tools pack?
You could try to run the cmd that fails manually to see if it's the same.

"D:\Downloads\DoVi.Scripts\tools\ffmpeg.exe" -i "D:\Downloads\DoVi.Scripts\temp.folder216\Blade Runner (1982) 4K DV.mkv" -c:v copy -bsf:v hevc_mp4toannexb -f hevc -loglevel error -stats - | "D:\Downloads\DoVi.Scripts\tools\dovi_tool.exe" extract-rpu -o "D:\Downloads\DoVi.Scripts\temp.folder216\RPU.bin" -

Korbus
2nd March 2025, 07:43
I have replaced ffmpeg.exe (I had not change that file, anyway), same thing, the second window popped. If I run the command manually (I suppose by opening the Command Processor), but only if I did not delete the temp folder after the ffmpeg.error, it runs very quickly and says "Metadata reordered", as in the screenshot attached, but apparently nothing else happens (in the temp folder, however, the RPU.bin that was showing 0 bytes now appears as ~5,7 MB).
If I run the workflow and close the second window quickly enough (have to end the process), it seems to go further, but still ends in error (see log (https://justpaste.it/eu949)).
L.E. Have to mention that other workflows using ffmpeg.exe work normally, otherwise my 8-2-1 or 3-1 workflows would end in error, but they do not.

Kuler087
2nd March 2025, 14:01
so the cmd works manually but not when you run the script... I have no idea why, and I can't reproduce it, so there's not much I can do about it sorry.
Maybe an Admin right issue? your manual CMD is with admin rights, the script is not otherwise drag and drop doesn't work. Did you try the manual / full mode ?

I tried with the same filename/path and the same output path as you, and it works fine on my end so I don't know:

https://i.ibb.co/Hf1hnNjf/Windows-Terminal-f-Sd-K9-Qzq-Uj.gif

Korbus
2nd March 2025, 14:15
I have just checked and ffmpeg.exe was set to run in Administrator mode. Once I have unchecked that, the flow proceeded just like in your .gif, and now seems to be running the encode. However, before starting the encode, it threw this error, for each of the 10 frames:
"Measure Frame: 2000 (1 of 10)
Traceback (most recent call last):
File "D:\Downloads\DoVi.Scripts\tools\Measure_HDR.py", line 1, in <module>
import cv2
ModuleNotFoundError: No module named 'cv2'"

Let's see if it finishes the encode...
L.E. It did finish the encode, resulting in an .mp4 file. Thanks a lot for your help, I'll now check other workflows that failed before due to ffmpeg.exe (Mode 6) and report back.

Kuler087
2nd March 2025, 14:27
That's a missing Python library needed to measure the frame maxcll/fall.

Open a cmd window and type:
pip install opencv-python


other python library required for other specific workflow:
colour-science, scikit-image, matplotlib, numpy, colour, headless, PyQt5

Korbus
2nd March 2025, 14:42
Yes, I have just played the .mp4 and, on my TV (Sony A95L), it showed zero difference between no metadata, L1+L3 or L1+L2+L3+L8.
I have installed the libraries you've listed and started again WF 7-4. Now encoding, no error messages this time. Anxious to see the result :)

Kuler087
2nd March 2025, 14:54
the opencv step only matters for the frame actual maxcll/fall measurements for the OSD.
It doesnt matter for the DV metadata comparison. If you don't see any difference between no metadata/with metadata, it's because the random frames selected are all within your TV's capabilities.


this is the metadata you get when you select the auto-mode for this movie. I think the A95 has a 1500nits target.
https://i.ibb.co/GQjQ3YCh/Blade-Runner-1982-The-Final-Cut-HDRg-DV-Metadata-Levels-Comparison-CMv4-0-Do-Vi-L1-PLOT.png

SeeMoreDigital
2nd March 2025, 15:20
I have replaced ffmpeg.exe (I had not change that file, anyway), same thing, the second window popped. If I run the command manually (I suppose by opening the Command Processor), but only if I did not delete the temp folder after the ffmpeg.error, it runs very quickly and says "Metadata reordered", as in the screenshot attached, but apparently nothing else happens (in the temp folder, however, the RPU.bin that was showing 0 bytes now appears as ~5,7 MB).
If I run the workflow and close the second window quickly enough (have to end the process), it seems to go further, but still ends in error (see log (https://justpaste.it/eu949)).
L.E. Have to mention that other workflows using ffmpeg.exe work normally, otherwise my 8-2-1 or 3-1 workflows would end in error, but they do not.

Are you guys trying to add 'fake' Dolby Vision to Blade Runner?

Korbus
2nd March 2025, 15:21
@RESET

Oh, OK, that makes sense. Thank you!

And one more unrelated question, please. When I play this test file (FEL TEST ST DL P7 CMV4.0 4000nits V3) on my Ugoos AM6B+ (running cpm build, but CE vanilla does the same), it never progresses past L2 (CMv2.9) stage. No L1 or L8 (CMv4), the video keeps playing, but the image stays unchanged. I have always wondered why and debated with a colleague with a LG B9 TV, who said that on his TV internal player, that file plays correctly.

@SeeMoreDigital

Yes, I 've just played, out of curiosity, with the different workflows from DS and in some cases really liked the result, in others there was no noticeable difference, in others it was worse than HDR10.

Kuler087
2nd March 2025, 15:27
Are you guys trying to add 'fake' Dolby Vision to Blade Runner?

Fake? DV metadata can be generated freely using the official Dolby algo for any HDR movie.

https://customer.dolby.com/content-creation-and-delivery/dolby-vision-professional-tools-v550

Kuler087
2nd March 2025, 15:30
And one more unrelated question, please. When I play this test file (FEL TEST ST DL P7 CMV4.0 4000nits V3) on my Ugoos AM6B+ (running cpm build, but CE vanilla does the same), it never progresses past L2 (CMv2.9) stage. No L1 or L8 (CMv4), the video keeps playing, but the image stays unchanged. I have always wondered why and debated with a colleague with a LG B9 TV, who said that on his TV internal player, that file plays correctly.

Yes it's normal because the EL is homemade, and it crashes after the L2 metadata.
However, this test file's purpose is to check FEL support. There are better test files (https://drive.google.com/drive/u/1/folders/1nMz95KqgkO95EDGrYhrk-Ifx6vRYDEfs) for testing cmv4.0 or any RPU metadata.
B9 doesn't crash because it doesn't decode the EL, I guess?

in others it was worse than HDR10.
Dolby Level 1 metadata is a non destructive process. It cannot be worse than HDR10 as long as your TV has a proper target brightness of course.

Korbus
2nd March 2025, 15:42
Thanks for the explanation!
By "worse" I've meant that, in some movies, DV tended to crush the blacks, compared to the HDR10 (The Equalizer, for example). Of course it did not destroy anything, as the RPU can be easily removed or the DV can be turned off on the player and the movie can be played as the creators intended.

SeeMoreDigital
2nd March 2025, 15:47
@SeeMoreDigital

Yes, I 've just played, out of curiosity, with the different workflows from DS and in some cases really liked the result, in others there was no noticeable difference, in others it was worse than HDR10.Is the resulting encoded considered to be MEL of FEL?

Korbus
2nd March 2025, 15:49
Neither. It's a 8.1 profile (no EL, only BL+RPU), so it's the equivalent of MEL.

Kuler087
2nd March 2025, 15:52
Thanks for the explanation!
By "worse" I've meant that, in some movies, DV tended to crush the blacks, compared to the HDR10 (The Equalizer, for example). Of course it did not destroy anything, as the RPU can be easily removed or the DV can be turned off on the player and the movie can be played as the creators intended.

Do you say that based on a DV metadata comparison from 7-4?

if yes, here is some explanation:

No metadata does not equal HDR10. No metadata just disable the TV tone mapping and hard clipping will be visible if the content exceeds your TV capabilities. HDR10 will also dim/tone map the image for that same shot according to its static tone mapping curve.

Also, don't forget that DV is shot by shot, and workflow 7-4 selects only one still image of that whole shot.

Kuler087
2nd March 2025, 15:58
Is the resulting encoded considered to be MEL of FEL?

as Korbus said, P8 DV, but what he was trying to make work is not the workflow that can generate DV from HDR10.

We are talking about workflow 7-4 that can create DV video comparisons of ''original'' or ''generated'' DV rip. It can select, automatically or manually 10 different frames, and the script will encode those images in a loop and altern between the Dolby Vision metadata on and off to see the Level 1 and the trims effect on the image as shown in the gif posted here (https://forum.doom9.org/showpost.php?p=2015591&postcount=1018)

Korbus
2nd March 2025, 16:02
No, just by watching a particular scene in that movie (The Equalizer). Around the 00:18:53 timestamp Denzel starts to walk with the girl across a bridge (it's a night scene). That scene (1-2 minutes) it's a tad darker and exhibits a light black crush in my DV-cooked remux (WF 3-1, CM algo, tried both with target MDL 1000 and 4000 nits). Perceptually, it's darker on the DV version, although in daylight or artifficial light scenes looks great.

SeeMoreDigital
2nd March 2025, 16:17
Neither. It's a 8.1 profile (no EL, only BL+RPU), so it's the equivalent of MEL.I see...

I created a 4K UHD Blu-ray MEL encode of Blade Runner myself a few days ago using TSmuxerGUI and by adding the (green) secondary MEL stream originally from James Bond Casino Royale. It plays fine in my OPPO UDP-203. Overall it looks brighter and in some areas a bit grainier.

Korbus
2nd March 2025, 16:19
Oh... that doesn't sound right to me, but I guess I'll let RESET chime in...

Kuler087
2nd March 2025, 16:26
I see...

I created a 4K UHD Blu-ray MEL encode of Blade Runner myself a few days ago using TSmuxerGUI and by adding the (green) secondary MEL stream originally from James Bond Casino Royale. It plays fine in my OPPO UDP-203. Overall it looks brighter and in some areas a bit grainier.

wow, don't do that. You cannot take the metadata from one movie and mux them to another movie , that's not how DV works. Casino royal is a 500nits grade, and Blade Runner 1982 is much brighter (1000nits +), so your experiment is telling your TV to tonemap a 1000nits+ movie like it was a 500nits movie. So less tone mapping = brighter image of course but also more clipped.

You can generate genuine DV metadata with dovi_scripts workflow 3-1 (https://www.youtube.com/watch?v=jBqbG5XM54g) or with Resolve(faster) (https://www.youtube.com/watch?v=FVSh3oGqfXY). Your oppo supports Profile 8 TS/M2TS rip just fine

SeeMoreDigital
2nd March 2025, 16:39
wow, don't do that. You cannot take the metadata from one movie and mux them to another movie , that's not how DV works. Casino royal is a 500nits grade, and Blade Runner 1982 is much brighter (1000nits +), so your experiment is telling your TV to tonemap a 1000nits+ movie like it was a 500nits movie. So less tone mapping = brighter image of course but also more clipped.

You can generate genuine DV metadata with dovi_scripts workflow 3-1 (https://www.youtube.com/watch?v=jBqbG5XM54g) or with Resolve(faster) (https://www.youtube.com/watch?v=FVSh3oGqfXY). Your oppo supports Profile 8 TS/M2TS rip just fineDon't panic, it was just an random experiment to see if it was possible to create a blu-ray disc compliant mux complete with a secondary video stream...

The entire secondary MEL stream from (the 138 minute) James Bond Casino Royale movie was less than 150MB. By contrast the secondary MEL stream from 2001:A Space Odyssey was over 2GB.

EDIT: Many thanks for confirming that my OPPO can play 'Profile 8 TS/M2TS', I didn't know this :)

foxman679
3rd March 2025, 18:19
The G4 is a bright TV, so unless the content is constantly higher than your TV's 1500nits peak brightness, there will not be much difference between HDR10 and DV in most movies because no tone mapping is required. TVs get brighter every year, so eventually, DV will be useless.


you wrote "so eventually, DV will be useless". Are you meaning Full DV FEL with 12bit Diff-Stream or only MEL-DV?

Kuler087
3rd March 2025, 18:48
Yeah I was referring to the brightness/gamut tone mapping.
I guess FEL will always be useful to achieve 12-bit or fix stupid studios that can't compress the HDR10 BL properly.

Kontrarian
4th March 2025, 07:57
@Kuler087, thank you for everything you do, your work is awesome!

I have a question regarding the Ant-Man (2015) RPU from your GD.

This is the RPU L2 plot from your P5 to P8 RPU bin file:
https://i.ibb.co/fVgdCxwq/Ant-Man-2015-P5-to-P8-Do-Vi-L2-PLOT-100nits-trim.png

It's identical to what I pulled from another source (except for the Shots):
https://i.ibb.co/dwCtd4KX/Ant-Man-2015-UHD-Blu-Ray-2160p-True-HD-Atmos-7-1-DV-HEVC-HYBRID-REMUX-Fra-Me-STo-R-RPU-Do-Vi-L2-PLOT.png

The ms.weight looks crazy on both of them.

So I grabbed a different WEB DV and plotted that one and got this:
https://i.ibb.co/0jCcMSQx/rvkd-ant-man-2015-dv-2160p-web-h265-RPU-Do-Vi-L2-PLOT-100nits-trim.png

I'd appreciate your thoughts on the differences?
Thank you.

SeeMoreDigital
4th March 2025, 11:52
Hi @Kuler087,

Maybe you're able to answer a question which came up on the Blu-ray.com forum a while ago.

With regard to the MEL encoded secondary streams, the bit-rate/file size on some discs significantly larger than on others.

For example, the MEL encoded streams for disc such as: 'James Bond: Casino Royale' (138 mins), 'Birds Of Prey' (109 mins) and 'Dune [1984]' (136 mins) have bit-rates at around 125kbps (around 150MB). But the MEL encoded streams on discs such as: '2001:A Space Odyssey' (143 mins) and Gemini Man (117 mins) are huge at around 2150kbps and 2750kbps respectively (around 2.35GB)!

Is there any particular reason why there's such a huge difference? Indeed, they're more than 16 times larger?


Cheers

Kuler087
4th March 2025, 13:23
I have no idea why some studios decide to use the larger MEL bitrate, but it doesn't matter. The quality is the same whether the bitrate is 125kbps or 2mbps; it's just a waste of space, IMO. I always convert MEL to P8 since it has better support on devices.

SeeMoreDigital
4th March 2025, 17:55
I have no idea why some studios decide to use the larger MEL bitrate, but it doesn't matter. The quality is the same whether the bitrate is 125kbps or 2mbps; it's just a waste of space, IMO. I always convert MEL to P8 since it has better support on devices.It is weird that's for sure...

So, is it possible to create a Blu-ray spec compatible MEL secondary video stream using your scripts, that can be muxed together with the primary video stream?

Has anyone created one for say, Blade Runner (1982) or Blade Runner 2049 that I can use to test with my OPPO UDP-203?

Kuler087
4th March 2025, 18:47
Workflow 4-1 (or tsmuxer) will mux any raw hevc you feed it, but the output will be incorrect when the player will decode the layers because of different NAL and IPB frames order (the same reason why you can't re-encode the BL and mux EL). Similar to all these misauthored discs (https://docs.google.com/spreadsheets/d/15i0a84uiBtWiHZ5CXZZ7wygLFXwYOd84/edit?gid=671480574#gid=671480574) that can't be muxed/played in P7 properly.

What you want is profile 8 DV. Here's a P8 generated RPU (https://drive.google.com/file/d/1oW2KaCNv5HrFBQnQ7aJdQyStrp5nYNNV/view?usp=sharing) for blade runner if you want to experiment.

Kuler087
4th March 2025, 19:12
Technically, the only way to achieve what you want to do would be:

1- generate a DV XML in resolve or doviscripts
2- encode the HDR10 to prores 422 (recreate the master)
3- encode FEL or MEL + XML in DEE (dolby encoding engine)
4- mux new BL + EL in tsmuxer


Desired use-case. A combination of content mapping type and enhancement-layer type (fel - full
enhancement-layer, mel - minimal enhancement-layer). Values: no_mapping_with_mel|no_mapping_with_fel
|map_to_1000_nits_with_fel|map_to_1000_nits_with_mel|map_to_600_nits_with_fel.

Dolby Vision to profile 7 encoding workflow.

-h [ --help ] Show this help.
--toolset-dir arg (=D:\DoVi_Scripts\tools\DEE)
Toolset installation directory.
-l [ --license ] arg (=D:\DoVi_Scripts\tools\DEE\license.lic)
Toolset license file.
--print-all arg (=0) Enable log printing. Values: 0|1.
--progress arg (=0) Show progress in percentage. Values: 0|1.
--overwrite arg (=0) Allow overwriting existing files. Values: 0|1.
--temp-dir arg (=D:\DoVi_Scripts\tools\DEE)
Directory to store temporary files.
--keep-temp arg (=0) Keep temporary files after execution. Values: 0|1.
--ffmpeg arg (=ffmpeg) FFmpeg executable.
--dvesverifier arg Dolby Vision ES Verifier executable. If not specified, the script will skip the verification step.
--input-format arg Input format followed by format-specific options. Use "--morehelp input-format" for more details.
Values: jpeg2000_list|jpeg2000_mxf|prores_list|prores_mov|tiff_list.
-i [ --input ] arg Input file with mezzanine video. Input directory for list-based inputs.
-m [ --input-metadata ] arg Optional input metadata file. If not specified, the application attempts to extract metadata from
the input.
-b [ --output-bl ] arg Base-layer output file in HEVC format.
-e [ --output-el ] arg Enhancement-layer output file in HEVC format.
--metadata-offset arg (=0) Offset added to each frame index, when accessing frame metadata from the source.
--start arg (=0s) Start position in 'xs' format, where 'x' represents seconds or 'xf' format, where 'x' is a frame
number.
--duration arg (=-1) Duration in 'xs' format, where 'x' represents seconds or 'xf' format, where 'x' is a frame number.
'-1' means "end of file".
--end arg (=-1) End position in 'xs' format, where 'x' represents seconds or 'xf' format, where 'x' is a frame
number. '-1' means "end of file".
--encoder arg HEVC encoder. Values: x265|beamr|impact.
--preset arg Encoder preset. If not specified, selected encoder's default preset is used. Use "--morehelp preset"
for more details.
--data-stream arg (=0) Use data streaming instead of temporary files, wherever possible. Values: 0|1.
--yuv-buffer-size arg (=-1) YUV buffer size in bytes. '-1' means "assign automatically". Relevant only if 'data-stream' is
enabled.
-p [ --encoder-pass-num ] arg (=2) Number of encoder passes. Values: 1|2.
--use-case arg Desired use-case. A combination of content mapping type and enhancement-layer type (fel - full
enhancement-layer, mel - minimal enhancement-layer). Values: no_mapping_with_mel|no_mapping_with_fel
|map_to_1000_nits_with_fel|map_to_1000_nits_with_mel|map_to_600_nits_with_fel.
--morehelp arg Show more help about selected topic. Values: input-format|preset.

SeeMoreDigital
4th March 2025, 20:22
Oh wow...

Thanks for such a wonderfully detailed response. I wish I had the knowledge to understand it. Indeed I have no idea how to see/open-up the files inside the .bin file you uploaded. :o

When people here are adding MEL information to their non Dolby Vision video streams are they all re-encoding the 4K HDR HEVC video stream Apple ProRes 422?

Kuler087
4th March 2025, 22:20
When people here are adding MEL information to their non Dolby Vision video streams are they all re-encoding the 4K HDR HEVC video stream Apple ProRes 422?

I don't know anyone that does that but only official dolby encoding engine (DEE) can create profile 7 stream properly. So whatever they are doing, it's wrong.
My guess is they generate DV in resolve or CM_analyze and then transfer all the levels and scene cut to the P7 rpu.

if you want to try:

1- demux your generic MEL P7 rpu with workflow 1 (skip second input and select ''e'' when asked) MEL framecount must be larger than the BL you want to add DV
2- take the generated P8 RPU I gave you and transfer the scene cuts with workflow 2-3 (input the P7 rpu first then the P8 rpu then select ''s'')
3- do the same as step 2 but this time transfer Level 1-2-3-5-8-9 (input the P7 rpu that has new scene cuts first then the P8 rpu then select ''123589'')
4- inject the new P7 rpu that contains the generated levels and scene cuts into the MEL hevc
5- mux the BL hevc with the new MEL hevc from step 4 to ST-DL with workflow 4-1, I think dovi_tool will trim the EL to match the BL but I'm not sure
6- demux the layers with workflow 2
7- mux the layers from step 6 in tsmuxer.

but again, even if this may (or not)works, the player layer's decoding will be wrong, similar to these (https://docs.google.com/spreadsheets/d/15i0a84uiBtWiHZ5CXZZ7wygLFXwYOd84/edit?gid=671480574#gid=671480574) and all of this is useless and can be done properly by simply injecting the generated P8 rpu into your HDR10 rip with workflow 1

SeeMoreDigital
4th March 2025, 22:27
I don't know anyone that does that but only official dolby encoding engine (DEE) can create profile 7 stream properly. So whatever they are doing, it's wrong.

My apologies I meant to say is: When people here are adding MEL information their non Dolby Vision video streams in order to create 'profile 8' .m2ts, .mp4 or .mkv files, are they all re-encoding the 4K HDR HEVC video stream Apple ProRes 422?

Kuler087
4th March 2025, 22:35
The P7 MEL to P8 conversion is lossless and doesn't require any re-encoding (workflow 4-1).
Works with FEL too, but you have to make sure the EL doesn't change the BL brightness. It's not rare to see a 1000nits HDR10 base layer expanded to 4000nits with FEL.

Ts9001
5th March 2025, 15:30
I've tried to go through this thread and tried to understand some of the details in relation to DV and what is possible and what is not. However I'm still struggling to understand if it's possible to have a P7 FEL REMUX mkv file that is then encoded to a smaller file size and then somehow injecting the P7 FEL DV into this file (not converting and baking to P8)?

So in nutshell this would happen:

Start: Movie_remux.mkv (70GB, P7 FEL)
End: Movie_encoded.mkv (15GB, P7 FEL)

Then if the only way to "preserve" P7 FEL is to convert and bake to P8, does it really require nvidia GPU as referred to in the YT tutorial or can it be done also using CPU encoding?

Kuler087
5th March 2025, 16:02
Yes, the only way is to bake FEL to P8/HDR10.
Nvidia GPU is no longer required, but there's a bug in the latest stable for non-nvidia PCs, so get the beta version I posted (https://forum.doom9.org/showpost.php?p=2015467&postcount=1011) a few days ago.


can it be done also using CPU encoding?
Even with an Nvidia GPU, the encoding is done by the CPU with x265.exe unless you opt to use NVenc.

Ts9001
5th March 2025, 18:25
Yes, the only way is to bake FEL to P8/HDR10.
Nvidia GPU is no longer required, but there's a bug in the latest stable for non-nvidia PCs, so get the beta version I posted (https://forum.doom9.org/showpost.php?p=2015467&postcount=1011) a few days ago.

Even with an Nvidia GPU, the encoding is done by the CPU with x265.exe unless you opt to use NVenc.

Thanks for your quick answer.

I actually have a 3060ti. Does it qualify for "Nvidia GPU" in this case? I somehow mixed Nvidia and NVenc in my head and thought that my GPU doesn't qualify for Nvenc encoding. So am I good to go with the latest stable version if I want to do some baking?

If may ask what is the GPU needed for in this process?

Kuler087
5th March 2025, 18:49
The GPU is only used for decoding the BL + FEL (dgindex). The script will detect you have an Nvidia GPU, and everything will work fine with the latest stable.
If you prefer not to use your GPU for decoding, you can force ffms2 at line 249: set force_ffms2=YES
Either way, the quality will be the same and x265.exe will be used unless you change line 148 to NVENC.

:: In 8-2, choose the video encoder you want to use: x265.exe or x264.exe or NVenc gpu (choices are: NVENC or X265 or X264) (default= X265) NVenc is faster but much worse quality. X264 can't do HDR.
set Encoder=X265

Kontrarian
6th March 2025, 00:02
@Kuler087
Any thoughts on the differences with the ms.weight that I showed in post #1046 (https://forum.doom9.org/showpost.php?p=2015703&postcount=1046)?

Kuler087
6th March 2025, 00:21
Sorry, somehow I didn't see your post until now.

It is interesting and strange to see that some streaming services don't have the same metadata. I'm guessing the one missing ms.weight is the original/older grade, and maybe they didn't like the look so the colorist/studio made some changes later to the mezzanine file.
ms.weight affects highlight details. Values under 2048 soften and values over sharpen, but in all the tests I did on many devices, this metadata is ignored so it doesn't matter for DV playback. (https://drive.google.com/file/d/1-UWofUytes79a9TxMVVXu_efEsf_Ta8o/view?usp=drive_link). If you delivered the 100nits trim, it probably would make a difference.

ps you should remove pictures that show pirated content filename. This forum has rules about that...

https://i.ibb.co/wNF0Psdn/Resolve-olp-WEMaf4-E.gif

Gatorman3385
6th March 2025, 02:45
I have a BAKED P7 to P8 encode where I used the original FEL RPU. Can I replace the RPU with a transferred cmv4.0 RPU, or do I need to to re-encode with DoVi_Baker and the new RPU?

Kuler087
6th March 2025, 02:50
Yes, you can restore cmv4.0 without having to re-encode.

Kontrarian
6th March 2025, 04:32
Sorry about the pictures, I fixed them.

So the RPU with the ms.weight just sitting flat at 0 would in theory make the entire movie look softer if the metadata wasn't being ignored.
Highly unlikely that was their intent.
There's probably something wrong with that metadata and your RPU is probably correct.

Why do you think devices are ignoring this metadata?

Kuler087
6th March 2025, 04:56
make the entire movie look softer if the metadata wasn't being ignored.
It would soften only the highlights and only when they are compressed to fit the TV target brightness.
When the colorist uses ms.weight, it's almost always a negative value, and low values like that (0-512) are common. Sometimes Dolby keeps too many details when it tone maps, and it can look a bit unnatural, similar to madVR's highlight recovery algo.

I have no idea why all the devices (TV internal media player included) ignore this metadata. It might be only for the 100, 600, 1000nits trims delivery.

Ts9001
6th March 2025, 05:50
The GPU is only used for decoding the BL + FEL (dgindex). The script will detect you have an Nvidia GPU, and everything will work fine with the latest stable.
If you prefer not to use your GPU for decoding, you can force ffms2 at line 249: set force_ffms2=YES
Either way, the quality will be the same and x265.exe will be used unless you change line 148 to NVENC.

:: In 8-2, choose the video encoder you want to use: x265.exe or x264.exe or NVenc gpu (choices are: NVENC or X265 or X264) (default= X265) NVenc is faster but much worse quality. X264 can't do HDR.
set Encoder=X265

I tried to run 8-2-1 and unofortunately in the muxing process there was an error as seen below. I only changed the speed of the encoding and CRF in the .bat file. Any idea what could be the reason for this error?

The file 'D:\DoVi.Scripts\Movie_DV.mkv' has been opened for writing.
'D:\DoVi.Scripts\Movie_DV-FEL_to_DVP8-HDR10.hevc' track 0: Extracted the aspect ratio information from the video bitstream and set the display dimensions to 3840/2160.
Error: Could not write to the destination file: 112 (L)
Deleting TEMP folder...

Kuler087
6th March 2025, 06:23
mkvtoolnix error 112 means ''not enough space on HDD'' I think.
The encoded hevc file should still be in the output path?

Ts9001
6th March 2025, 10:32
mkvtoolnix error 112 means ''not enough space on HDD'' I think.
The encoded hevc file should still be in the output path?

Damn, I didnÂ’t pay attention to available space on my
drive. Need to do some clean up.

I couldnÂ’t find any other files than Movie_DV.mkv whose size was only 400MiB. But need to recheck once IÂ’m back at my PC.

Before starting a new process I would have questions regarding audio tracks and subs:

Usually I want to preserve Dolby Atmos tracks if available and convert e.g. DTS-HD MA 5.1 to DDP+ 5.1. And for subs I want to preserve only one language. I noticed in the .bat file something about these topics (e.g. for audio to preserve only the main track or all) but these didnÂ’t answer to my case.

Am I able to re-encode my encoded file with video pass through and only touching audio and subs without having an effect to DV?

What would be the easiest way to handle audio tracks and subs in relation to 8-2-1?

Kuler087
6th March 2025, 12:49
What would be the easiest way to handle audio tracks and subs in relation to 8-2-1?

::choose if you want to mux all the audio from the input or just the main audio track. This is valid only if "set MUX=YES" (YES or NO default = YES )
set mux_all_audio=NO
::choose if you want to mux all the subtitles(up to 30) from the input or just forced/full. This is valid only if "set MUX=YES" (YES or NO default = YES )
set mux_all_sub=NO
:: you can disable ddp encoding for the all the workflows (except 8-1) (YES or NO default = NO). (except 8-1)
set encode_DDP=YES

At the end of all the settings, you can select the language you want.

Am I able to re-encode my encoded file with video pass through and only touching audio and subs without having an effect to DV?
8-1-1 can encode the audio only but it doesn't mux. So you just have to mux the tracks you want manually with mkvtoolnix

ac777103
6th March 2025, 18:31
interested in opinions on a PC spec I'm working on, I mainly run 6-2 and 3-1. Considering 8GB RTX 4060 (should I go Ti?) and something like an Intel Ultra 5 10-core, with two M2 drives and perhaps 16GB of memory. You may not believe it, but I am currently using an Intel NUC, so I'm assuming there is huge potential for performance improvement with a new build. I'm not into gaming, wondered if I might drop to RTX 3050 or would that be false economy? Welcome suggestions on anything I should be looking at to get good performance for these workflows, thanks.

Kuler087
6th March 2025, 18:54
The biggest performance improvement with dovi_scripts will come from the NVME pci-e drives. On my PC I have 3 m2 drives: 1TB for Windows ( I leave it empty with only apps on it), 2TB for work/output path and another 1TB dedicated only for the TEMP folder. This allows me to inject or process a movie RPU + muxing in less than 10min. I recommend WD black gen4 pci-e (https://www.amazon.com/WD_BLACK-SN850X-Internal-Gaming-Heatsink/dp/B0B7CKZGN6?pd_rd_w=EsZ8i&content-id=amzn1.sym.cd152278-debd-42b9-91b9-6f271389fda7&pf_rd_p=cd152278-debd-42b9-91b9-6f271389fda7&pf_rd_r=3EV3CE65N3MRC671P5NB&pd_rd_wg=Iv6yd&pd_rd_r=b1f7101e-4246-4414-8190-d10c02830a75&pd_rd_i=B0D9WTKV1B&th=1) I've had overheating and throttling speed issues with Samsung nvme drives

RTX4060 is good and 6-2 will be faster for sure(probably the same speed as my 3070). It takes about 10 minutes for a 2h movie on mine.
For 3-1, I don't know because of the CM_analyze prores slow performance bug on Windows system. In Resolve, the 4060 will perform well.
Also, I'm not sure of the cause, but CM_analyze(3-1) always crashes on my Windows 11 PC. No issue with my old Win10 PC.

If you multi-task while encoding or using resolve, you might want to increase RAM to 32gb

https://i.ibb.co/fV5g2j3m/explorer-s-ZCue0-Lksv.png

ac777103
6th March 2025, 19:10
thanks, lots of good advice there.

ac777103
6th March 2025, 19:22
forgot to ask, can Resolve be integrated into 3-1 automatically, or would I need to learn how to use Resolve (assuming I pay for a licence).

Kuler087
6th March 2025, 19:43
Yes, I think Resolve can be scripted, and a while ago, someone told me(PM) that he wrote a script for that. I forgot who he is. If you read this, can you share your script?

Resolve is easy to use with my tutorial, but indeed, it is not free.

coopzr
7th March 2025, 03:00
https://i.ibb.co/Dgrrr5R3/2025-03-0711-47-34-ezgif-com-optimize.gif
What causes these artifacts outside of the active frame & does it have anything to do with DV? I see this often when measuring letterbox.

Kuler087
7th March 2025, 04:01
In 6-1, the contrast and black level are altered on purpose for easier cropping.
remove ''Levels(0, 2.5, 255, 0, 255, coring=false)'' and you will notice how harder it is to see the letterbox in darker movies.

Kontrarian
7th March 2025, 08:47
What are the "<file_name>.mkv.measurements" and "<file_name>_Generated.bin" we get after doing 6-2 on an HDR file?
Is there anything we can do with them?
Should we keep them?

Ts9001
7th March 2025, 08:50
mkvtoolnix error 112 means ''not enough space on HDD'' I think.
The encoded hevc file should still be in the output path?

I created some more space on my drive and managed to complete 8-2-1. I ended up having Movie_DV.mkv file. Is there any way to verify that it's now actually "P8_baked" instead of just P7 FEL converted into P8? Or do I just trust that this is how 8-2-1 works for P7 FEL that it automatically does the baking?

Btw, what is the workflow in the current version of Dovi_script to verify the DoVi in general since I cannot find similar workflow as shown in the YT tutorial (2-2)?

Kuler087
7th March 2025, 13:07
What are the "<file_name>.mkv.measurements" and "<file_name>_Generated.bin" we get after doing 6-2 on an HDR file?
Is there anything we can do with them?
Should we keep them?

measurements file can be opened in tools/madMeasurementAnalyzer.exe for even more info about the input brightness.

The bin file is just that measurement file converted to DV rpu. you can delete.

Kuler087
7th March 2025, 13:11
I created some more space on my drive and managed to complete 8-2-1. I ended up having Movie_DV.mkv file. Is there any way to verify that it's now actually "P8_baked" instead of just P7 FEL converted into P8? Or do I just trust that this is how 8-2-1 works for P7 FEL that it automatically does the baking?



If the movie FEL changes the BL brightness, you can measure the encode in 6-2 and compare it to the original, example (https://slow.pics/c/3VTRACWK). You can also do screenshot comparisons in 7-2. (https://docs.google.com/spreadsheets/d/15i0a84uiBtWiHZ5CXZZ7wygLFXwYOd84/edit?gid=1226038728#gid=1226038728)

If the filename says P7FEL to P8HDR10, you can be sure that fel was baked.

Btw, what is the workflow in the current version of Dovi_script to verify the DoVi in general since I cannot find similar workflow as shown in the YT tutorial (2-2)?
are you referring to the sync verification? the workflow is 2-1

ac777103
7th March 2025, 14:15
measurements file can be opened in tools/madMeasurementAnalyzer.exe for even more info about the input brightness.

The bin file is just that measurement file converted to DV rpu. you can delete.

I've found that if I take the Generated bin file from 6-2 and copy to the directory with my source mkv, and match the filename, then 3-1 skips the madvr step, which otherwise would be repeated in a 6-2 followed by 3-1 workflow. Are there any downsides, eg if I don't exclude the letterbox in 6-2 measurements, does that mess up the output from 3-1 in some way, eg corrupting the MaxFALL in the final dv8 file?

Kuler087
7th March 2025, 14:24
yep, this is exactly why 6-2 keeps the madvr generated RPU. Excluding the letterbox doesn't matter because only the scene cuts are used.
Keep in mind that madvr scene cut detection is not as good as Resolve. Madvr is lot more sensitive to flashes or fast movement scenes and sometimes it will miss obvious scene cuts

ac777103
7th March 2025, 15:48
thanks. If I get myself a new PC, sounds like getting Resolve would be a very useful add-on.

Kuler087
7th March 2025, 16:05
yeah, Resolve is a wonderful software. I don't know what I would do without it.

ac777103
8th March 2025, 14:42
I see Resolve is available for macOS. If I can go from HDR10 mkv to dv8 mkv using macOS + Resolve I'd rather use a compact mac desktop than get a tower case PC. Any advice on what a mac-based workflow would look like, as alternative to 6-2 then 3-1 ?

Kuler087
8th March 2025, 15:07
I think Apple products are garbage, so no, I can't help you with that sorry.

ac777103
8th March 2025, 15:31
setting aside the merits or lack thereof of Apple hardware, perhaps we could just consider what additional software is needed apart from Resolve to achieve the same end product as a 6-2/3-1 workflow. Welcome comments from anyone who may have looked into this.

EDIT: I see CM Analyze is also available for macOS, so a 3-1 for macOS feels tantalisingly close if the madVR dependency can be solved.

Kontrarian
9th March 2025, 03:21
I believe @Kuler087 mentioned that someone once made it so the script uses Resolve instead of madVR.
If you could track down who that was then that might be the answer you need.

Kuler087
9th March 2025, 15:14
I believe @Kuler087 mentioned that someone once made it so the script uses Resolve instead of madVR.
If you could track down who that was then that might be the answer you need.

I emptied my mailbox recently but If I remember correctly the user that wrote a script for Resolve was: @Black Ops (https://forum.doom9.org/member.php?u=225092)

Kontrarian
10th March 2025, 04:34
Deleted

ac777103
10th March 2025, 23:12
just trying to install on a different PC and I cannot open the tools pack 7z file no matter how carefully I type the password. Has it changed?

Kuler087
10th March 2025, 23:29
The password is case sensitive: DoVi.Scripts
If you still can't extract it, download it from the MEGA link. IIRC, there's only a password for the GoogleDrive link because, for some reason, it flags one of the tools as a virus (false positive of course).

Kontrarian
11th March 2025, 08:08
I just downloaded the package from github and tested it with 7zip using the password "DoVi.Scripts" and everything was fine.

ac777103
11th March 2025, 17:48
apologies, I had a "senior moment" there, missed the upper case V. doh!

Kontrarian
12th March 2025, 00:34
@Kuler087
If I want to do 3-1 but I don't want to use madVR's shot detection can I get the shots from Resolve before hand and then some how have 3-1 use that by matching the file name or something like ac777103 says he kind of does with 6-2 first in this post (https://forum.doom9.org/showpost.php?p=2015877&postcount=1081)?
But instead of getting the shots from 6-2 we get them from Resolve.

Kuler087
12th March 2025, 01:09
Yes, but there's no point doing that. Just do the DV analysis/generation in Resolve; it will be much faster than 3-1.

ac777103
12th March 2025, 19:51
in the 3-1 workflow, can the step that creates the prores file be set to use the nvidia gpu? Just trying this out on a laptop I forgot I had (to my surprise it had an unused nvme slot which is now my new D: drive). The laptop has a GTX 1060 GPU, and 6-2 was much faster than I'm used to, but the prores conversion is still slow.

Kuler087
12th March 2025, 20:42
The GPU doesnt make the prores encoding faster when the input is a frames indexed avisynth script (3-1).

What you want to do is possible with DS but requires more manual actions:

1- Disable indexing (line 251 set disable_indexing=YES)
2- Encode to prores with workflow 8-2-3. By default, it uses qscale 1 (lossless), to speed things up, you may want to compress more (line 168 -qscale:v 6 )
3- Process the prores file in 3-1 ( you may have to add this in the filename if madvr fails to measure it: transfer=HDR.matrix=2020)

ac777103
12th March 2025, 21:25
thanks, so an alternative to my current 6-2 then 3-1 would be

8-2-3 to encode to prores with GPU support (once settings updated per your advice)
rename the prores file per your suggestion
6-2 on the prores (would this be faster / slower than 6-2 on the mkv, or have different accuracy?)
rename the _generated.bin file from 6-2 to match the prores file
3-1 on the prores file which should jump straight to CM Analyze as madVR measured in 6-2 and the prores file has already been created.

I might have read somewhere that 3-1 uses qscale=4? Just want to make the comparison vs current workflow fair.

Kuler087
12th March 2025, 21:45
Well you dont have to use 6-2. You can input the prores file in 3-1 and madvr will generate the scene cuts the same way 6-2 does.

If you absolutely want to use 6-2 before 3-1, you can do this:

1- Enable prores for 6-2: line 239 set crop.prores62=YES
2- Set the script to keep prores: line 144 set keep_prores=YES
3- Run 6-2 and opt to crop but don't enter any value: press enter to skip (default=0)

This will convert to prores with GPU acceleration(qscale 8 though but should be fine), measure HDR, and create the RPU for the scene cut
Rename the rpu the same as the prores file (with transfer=HDR.matrix=2020) and run 3-1

I might have read somewhere that 3-1 uses qscale=4?
yes, but it can be changed at line 224: set qscale=4

ac777103
12th March 2025, 22:09
thanks, reason I've been running 6-2 first is so that I can look at the plot to give me an informed decision regarding which MDL to pick in 3-1, otherwise I rely on Mediainfo. If there is a more efficient or accurate way of doing this within the workflows, happy to take advice.

Kuler087
12th March 2025, 22:33
Then yes, using 6-2 prores cropping (with values of 0) is what you want.

Kontrarian
12th March 2025, 22:44
Any idea why WEB DV only has a 100 nits L2 and nothing for 600 or 1,000 nits?

Kuler087
12th March 2025, 22:49
Most movies are trimmed only at 100 nits. 600 and 1000nits manual trims are very rare.
The 600-1000nits trims you see on cmv2.9 bluray are just an automatic conversion of the L8 100nits from the cmv4.0 workflow.

Watch my DV trims breakdown video to understand the auto-generated trims on bluray discs: https://www.youtube.com/watch?v=15HTaR0hRvI

ac777103
12th March 2025, 22:57
Then yes, using 6-2 prores cropping (with values of 0) is what you want.

thanks. So there are ways of getting GPU support through all stages of 6-2 and 3-1, but I saw a note that disabling indexing is not recommended as it's needed for frame accurate reading. Not sure how big a deal that is.

With all this complexity, I'm beginning to reconsider Resolve, now that I have a low level nvidia GPU to try it on. I'll rewatch your demo video. Can I replicate 6-2 to give me a plot via Resolve? At least now that I have a GPU, 6-2 has sped up a lot so doesn't take long to run it.

Kuler087
12th March 2025, 23:06
Not sure how big a deal that is.
I'm not sure too, I always feel safer with indexed input but if the script doesn't complain about framecount mismatch at injection, you know that everything went well.

I'm beginning to reconsider Resolve
definitely worth it. Sometimes, the DV analysis in 3-1 can take hours, even with my RTX3070. In resolve, it's always constant: about only 10min for the scene cuts and another 10 min for the DV analysis.

Can I replicate 6-2 to give me a plot via Resolve?
No. 6-2 madVR is the most accurate way of getting an HDR plot.

SamuriHL
12th March 2025, 23:45
Resolve is worth it for SO many reasons. This is just icing on the cake. Now that I have my windows resolve issues fixed, I need to get back to learning this DV process myself. I have some movies I'd like to generate DV for.

ac777103
12th March 2025, 23:50
your demo video of Resolve recommends conversion to prores as a first step. Does that recommendation still apply?

Kuler087
12th March 2025, 23:55
Yes, Resolve hevc decoding is terrible; I-frames prores codec is a must.

Kuler087
13th March 2025, 00:11
Resolve is worth it for SO many reasons. This is just icing on the cake. Now that I have my windows resolve issues fixed, I need to get back to learning this DV process myself. I have some movies I'd like to generate DV for.

What issues did you have?

SamuriHL
13th March 2025, 00:54
What issues did you have?

This was a few months ago. When I installed the DoVi Tools, it requires a version of Python to be installed. I installed it from the Windows Store as was recommended. At the time, it installed a beta version. Surprisingly, even to Davinci, after several DAYS worth of troubleshooting with them, it turned out that the version of Python that was installed broke Resolve. It wouldn't even start. It'd just crash over and over. Since removing that version of Python, Resolve has been working fine. I need to get a new version of Python and update DoVi Tools again. I never got to the point where I could use it because of this issue. So I still have a lot to learn.

B0b
13th March 2025, 16:07
I'm having an issue installing headless. I've tried installing in Safe Mode, but no luck. I've even reinstalled Windows.

C:\Windows\system32>py -m pip install headless
Collecting headless
Using cached headless-1.12.4.tar.gz (40 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting canonical>=0.24.1 (from headless)
Downloading canonical-1.0.0.tar.gz (17 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... error
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [23 lines of output]
Traceback (most recent call last):
File "C:\Program Files\Python313\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 389, in <module>
main()
~~~~^^
File "C:\Program Files\Python313\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 373, in main
json_out["return_val"] = hook(**hook_input["kwargs"])
~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python313\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 143, in get_requires_for_build_wheel
return hook(config_settings)
File "C:\Users\Win\AppData\Local\Temp\pip-build-env-jqmm1jtm\overlay\Lib\site-packages\setuptools\build_meta.py", line 334, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=[])
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Win\AppData\Local\Temp\pip-build-env-jqmm1jtm\overlay\Lib\site-packages\setuptools\build_meta.py", line 304, in _get_build_requires
self.run_setup()
~~~~~~~~~~~~~~^^
File "C:\Users\Win\AppData\Local\Temp\pip-build-env-jqmm1jtm\overlay\Lib\site-packages\setuptools\build_meta.py", line 522, in run_setup
super().run_setup(setup_script=setup_script)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Win\AppData\Local\Temp\pip-build-env-jqmm1jtm\overlay\Lib\site-packages\setuptools\build_meta.py", line 320, in run_setup
exec(code, locals())
~~~~^^^^^^^^^^^^^^^^
File "<string>", line 25, in <module>
FileNotFoundError: [Errno 2] No such file or directory: 'VERSION'
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

C:\Windows\system32>

Kuler087
13th March 2025, 16:23
This is only required for the heatmap and gamut workflow, IIRC. This should suffice: pip install opencv-python-headless

SeeMoreDigital
13th March 2025, 16:31
For anyone who's interested. When I de-muxed the secondary stream for 'The Fifth Element' and ran it through MediaInfo, it reported the following: -

Video
ID : 4117 (0x1015)
Menu ID : 1 (0x1)
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5.1@High
HDR format : Dolby Vision, Version 1.0, Profile 8.1, dvhe.08.03, BL+RPU, extended metadata compression, HDR10 compatible / SMPTE ST 2086, Version HDR10, HDR10 compatible
Codec ID : 36
Duration : 2 h 6 min
Bit rate : 146 kb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 24.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0 (Type 2)
Bit depth : 10 bits
Bits/(Pixel*Frame) : 0.003
Stream size : 132 MiB (92%)
Writing library : x265 3.2+20-a4e060a44839:[Windows][GCC 6.3.0][64 bit] 10bit
Encoding settings : cpuid=1111039 / frame-threads=5 / numa-pools=16,16 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=1920x1080 / interlace=0 / total-frames=3854 / level-idc=51 / high-tier=1 / uhd-bd=1 / ref=3 / no-allow-non-conformance / repeat-headers / annexb / aud / hrd / info / hash=0 / no-temporal-layers / no-open-gop / min-keyint=1 / keyint=24 / gop-lookahead=0 / bframes=3 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=24 / lookahead-slices=6 / scenecut=40 / hist-scenecut=0 / radl=0 / no-splice / no-intra-refresh / ctu=64 / min-cu-size=8 / no-rect / no-amp / max-tu-size=32 / tu-inter-depth=1 / tu-intra-depth=1 / limit-tu=0 / rdoq-level=0 / dynamic-rd=0.00 / no-ssim-rd / signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / strong-intra-smoothing / max-merge=3 / limit-refs=1 / no-limit-modes / me=1 / subme=2 / merange=57 / temporal-mvp / no-frame-dup / no-hme / weightp / no-weightb / no-analyze-src-pics / deblock=0:0 / sao / no-sao-non-deblock / rd=3 / selective-sao=4 / early-skip / rskip / no-fast-intra / no-tskip-fast / no-cu-lossless / b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=2.00 / psy-rdoq=0.00 / no-rd-refine / no-lossless / cbqpoffs=0 / crqpoffs=0 / rc=cbr / bitrate=500 / qcomp=0.60 / qpstep=4 / stats-write=0 / stats-read=0 / vbv-maxrate=500 / vbv-bufsize=550 / vbv-init=0.9 / ipratio=1.40 / pbratio=1.30 / aq-mode=2 / aq-strength=1.00 / cutree / zone-count=0 / no-strict-cbr / qg-size=32 / no-rc-grain / qpmax=69 / qpmin=0 / no-const-vbv / sar=1 / overscan=0 / videoformat=5 / range=0 / colorprim=9 / transfer=16 / colormatrix=9 / chromaloc=1 / chromaloc-top=2 / chromaloc-bottom=2 / display-window=0 / master-display=G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,1) / cll=0,0 / min-luma=0 / max-luma=1023 / log2-max-poc-lsb=8 / vui-timing-info / vui-hrd-info / slices=1 / no-opt-qp-pps / no-opt-ref-list-length-pps / no-multi-pass-opt-rps / scenecut-bias=0.05 / hist-threshold=0.01 / no-opt-cu-delta-qp / no-aq-motion / hdr / hdr-opt / no-dhdr10-opt / no-idr-recovery-sei / analysis-reuse-level=5 / scale-factor=0 / refine-intra=0 / refine-inter=0 / refine-mv=1 / refine-ctu-distortion=0 / no-limit-sao / ctu-info=0 / no-lowpass-dct / refine-analysis-type=0 / copy-pic=1 / max-ausize-factor=1.0 / no-dynamic-refine / no-single-sei / no-hevc-aq / no-svt / no-field / qp-adaptation-range=1.00 / no-scenecut-aware-qp
Color range : Limited
Color primaries : BT.2020
Transfer characteristics : PQ
Matrix coefficients : BT.2020 non-constant
Mastering display color primaries : Display P3
Mastering display luminance : min: 0.0001 cd/m2, max: 1000 cd/m2


I've never seen the video streams 'encoding settings' before...

B0b
13th March 2025, 16:39
This is only required for the heatmap and gamut workflow, IIRC. This should suffice: pip install opencv-python-headless

That worked. Thanks.

Kuler087
13th March 2025, 16:43
It's rare, but I've seen this before, usually with foreign studios or on streaming (MAX and AMZN IIRC). They just didn't use the ''--no-info'' option.
With the Dolby Encoding Engines (DEE) scripts, they hide the encode settings, and I removed it.

I've never seen the video streams 'encoding settings' before...

foxman679
13th March 2025, 20:35
2- Encode to prores with workflow 8-2-3. By default, it uses qscale 1 (lossless), to speed things up, you may want to compress more (line 168 -qscale:v 6 )



I might have read somewhere that 3-1 uses qscale=4? Just want to make the comparison vs current workflow fair.

Does it matter in quality for the created DV metadata? So is lower qscale better (=1 - higher output qualiyt & filesize) oder higher (=6 or 8 - lower quality and smaller filesize). Or is there a value at which the quality will not enough for the result?

Kuler087
13th March 2025, 20:41
No, it should not matter much, but don't go higher than 6-8

Kontrarian
13th March 2025, 23:58
Does it matter in quality for the created DV metadata? So is lower qscale better (=1 - higher output qualiyt & filesize) oder higher (=6 or 8 - lower quality and smaller filesize). Or is there a value at which the quality will not enough for the result?

Maybe worth reading if you are interested: https://trac.ffmpeg.org/wiki/Encode/VFX#Prores


The options used here are standard and are explained in other documents, but let's elaborate a little bit more on the qscale paramater. This parameter determines the quality of the resulting prores movie - both the resulting size and bitrate. 0 means best and it goes up to 32 which is worst. From empirical testing we've found that a qscale of 9 - 13 gives a good result without exploding the space needed too much. 11 would be a good bet, 9 if a slightly better quality is required. When space is not a problem, go with qscale 5 or less, but approaching zero the resulting clip will be extremely large and the bitrate will be so high that it will stop being playable on normal equipment. The "vendor" argument when set to "apl0" tricks quicktime and Final Cut Pro into thinking that the movie was generated on using a quicktime prores encoder.

SeeMoreDigital
14th March 2025, 10:34
I've never seen the video streams 'encoding settings' before...It's rare, but I've seen this before, usually with foreign studios or on streaming (MAX and AMZN IIRC). They just didn't use the ''--no-info'' option.
With the Dolby Encoding Engines (DEE) scripts, they hide the encode settings, and I removed it.Hello again,

With regard to Dolby Vision encoded discs, have you seen the 'encoding settings' info appear with the primary stream?

Kuler087
14th March 2025, 11:57
Hello again,

With regard to Dolby Vision encoded discs, have you seen the 'encoding settings' info appear with the primary stream?

yes, a couple times

foxman679
14th March 2025, 11:58
Maybe worth reading if you are interested: https://trac.ffmpeg.org/wiki/Encode/VFX#Prores

thanks - i will look into it ;)
But for me it will be interessting if it makes a noteable difference in resulting dv metadata when using less qulity of prores instead of higher quality.

Is there an (easy) way to check this after creating dv metadata?

Kuler087
14th March 2025, 12:24
just plot the metadata with 6-4

foxman679
14th March 2025, 16:23
Another short question: in the dv xml created with CM-Analyzer-Tool i see this under the Video-Tag:

<ColorSpace>ycbcr_bt2020</ColorSpace>
<SignalRange>video</SignalRange>


But in the xml created with resolve i see this under the Video-Tag:

<ColorSpace>rgb</ColorSpace>
<SignalRange>computer</SignalRange>


Its the difference relevant in any way or can i ignore that? i follwed your video tutorial generating dv xml metadata with resolve.

Kuler087
14th March 2025, 16:33
You can ignore that.

B0b
14th March 2025, 22:37
I'm receiving this error or something similar on all my files now. It's worked correctly for quite some time. I've tried re-installing, but still the same thing. Is this a script error from something not configured correctly or something from Resolve? I use Resolve to build the xml file.

Extracting track 0 with the CodecID 'V_MPEGH/ISO/HEVC' to the file 'D:\DoVi.Scripts\temp.folder\BL.hevc'. Container format: HEVC/H.265 elementary stream
Progress: 100%

Error: Found invalid RPU: Index 27, error: CM v2.9: Invalid metadata block. Block level 1 should have length 5

Editing L6... MDL_Min=1, MDL_Max=1000, MaxCLL=, MaxFALL=
Error: expected value at line 5 column 35
Press any key to continue . . .
The system cannot find the file specified.
Done.

Error: The system cannot find the file specified. (os error 2)
Missing operand.
Missing operand.

Video/RPU framecount mismatch. Duplicating frame =, -= times...
Error: expected value at line 4 column 15
Done.

Kuler087
14th March 2025, 23:08
I dont know; give me your XML or RPU file and the complete log of the workflow, not just part of it.

B0b
14th March 2025, 23:44
This time it completed quite a bit more. Attached are the files.

Kuler087
15th March 2025, 00:09
Sorry I meant with ''@echo on'' (line two)
no problem on my end with your XML.

PS: if you don't want to mux, you can disable it at line 58 set MUX=NO instead of using the filename trigger.

https://i.ibb.co/G3bqGG2j/Windows-Terminal-UMugp4a7-MI.gif

B0b
15th March 2025, 00:30
If the xml is good, I guess I can wipe the drive and reload Windows again. After this started to happen, I reinstalled Windows and still have the issue.

Kuler087
15th March 2025, 00:36
I don't know; the problem happens here, and I have no idea what it means... first time I see this.

E:\>"D:\DoVi.Scripts\tools\dovi_tool.exe" info -s "D:\DoVi.Scripts\temp.folder\rpu.bin" 1>"D:\DoVi.Scripts\temp.folder\sum.rpu.json"

thread 'main' has overflowed its stack

@quietvoid, if you read this. Do you know what could be causing this for him?

Kontrarian
15th March 2025, 08:09
Would there be any negative outcome from taking the RPU from Iron Man (2008) IMAX Enhanced and applying it to the US UHD with modified L5 to match the normal UHD ratio?
Have you ever tried anything like that to see what happens?
If not, I might test it out myself.

quietvoid
15th March 2025, 11:47
I don't know; the problem happens here, and I have no idea what it means... first time I see this.

E:\>"D:\DoVi.Scripts\tools\dovi_tool.exe" info -s "D:\DoVi.Scripts\temp.folder\rpu.bin" 1>"D:\DoVi.Scripts\temp.folder\sum.rpu.json"

thread 'main' has overflowed its stack

@quietvoid, if you read this. Do you know what could be causing this for him?

Needs a debug enabled build and to run the command with RUST_BACKTRACE=1.
I don't know where this could be happening otherwise.

It might just be using too much stack overall with a lot of RPUs parsed.

B0b
15th March 2025, 14:17
Needs a debug enabled build and to run the command with RUST_BACKTRACE=1.
I don't know where this could be happening otherwise.

It might just be using too much stack overall with a lot of RPUs parsed.

Since this hasn't really been seen, not worth the effort. I'll wipe Windows and reload again. Maybe a bad component on the hardware side.

quietvoid
15th March 2025, 14:40
You could maybe try using this version: https://github.com/quietvoid/dovi_tool/releases/tag/2.1.1
Since 2.1.2 stack usage might be higher.

Either way I need to analyze on my side how much it's actually using.

B0b
16th March 2025, 02:28
I've been using the script for many months and didn't have an issue until now. Wiped the drive 3 times with 2 different downloads of Windows 10. The error is still occurring. The script runs fine on Windows 11 with the exception of Dolby Tools. Might be something with Windows 10 and my hardware. The attached files are the latest error using the replacement dovi_tool file.

Kuler087
16th March 2025, 04:06
No idea; sorry. I have Windows 10 and 11 PC, and everything is fine on both systems.
Do you have a missing DLL warning when you launch the script?

quietvoid
16th March 2025, 11:47
I've been using the script for many months and didn't have an issue until now. Wiped the drive 3 times with 2 different downloads of Windows 10. The error is still occurring. The script runs fine on Windows 11 with the exception of Dolby Tools. Might be something with Windows 10 and my hardware. The attached files are the latest error using the replacement dovi_tool file.

In these it is failing to edit due to JSON but the `info` command works fine.
So maybe it is caused by more stack being used in the recent versions.
It shouldn't be related to hardware at all.

I don't know which version you've been using without problems, I don't manage the tools that come with the script.

B0b
16th March 2025, 13:23
No warnings when it launches. One day, it just gave me this error and after reinstalling Windows I still get the same error. I've updated with each version of the script as it's updated. I've always received a panic on Windows 11 with the Dolby Vision Tools. The scripts will run ok, but Dolby Vision Tools will cause a panic along the way. I've ran the script on Windows 10 since.

I appreciate the assistance. I'll try working backwards through the versions of the script and software and see what happens.

Kuler087
16th March 2025, 14:41
a panic? What do you mean?
make sure you have the Windows redistributable installed. Here are the ones (https://ibb.co/zWhdj57P) I have installed on my PC.

quietvoid
16th March 2025, 15:12
I appreciate the assistance. I'll try working backwards through the versions of the script and software and see what happens.

Can you generate the RPU and try the info command manually to get a backtrace?
Normally it's only like this in a terminal:


dovi_tool.exe generate -x "Nanny DV.xml"
RUST_BACKTRACE=1 dovi_tool.exe info RPU_generated.bin -s


It would be useful to know where the panic comes from.

I made a debug build you can use: https://github.com/quietvoid/dovi_tool/actions/runs/13884143713
You can download the Windows artifacts and extract from "dovi_tool-2.2.0-x86_64-pc-windows-msvc.zip"

I'm not sure if the debug symbols will work, though. Windows builds have them separate.
The alternative is for you to build it, I'm not sure it'll have any useful info otherwise.

TR-9970X
16th March 2025, 18:37
make sure you have the Windows redistributable installed.

https://github.com/abbodi1406/vcredist/releases

B0b
16th March 2025, 22:02
Sorry, disconnected for a while. I reinstalled Win11. Only drivers, script and required software. This is what it does. It didn't even get to the part where is shows a panic with the Dolby Vision Tools.

sunday46ma
17th March 2025, 10:10
Thank you for providing such a great tool, but I have a question: Does this tool support VapourSynth?

Kontrarian
17th March 2025, 10:51
Thank you for providing such a great tool, but I have a question: Does this tool support VapourSynth?

Yes it does.

Kuler087
17th March 2025, 12:03
It used vapoursynth a couple of versions ago but now the encoder workflows only use avisynth.

foxman679
19th March 2025, 20:33
Another question regarding resolve dv export. Which value should i sue at "coding primary Color Correction"? P3-D65 or Rec.2020?
I set the right mastering color profile in the project settings, so i'm wondering, which one i have to choose here.

Kuler087
19th March 2025, 20:40
for the XML/RPU injection in 1-1, it doesn't matter.
For DEE profile 5 encoding, rec.2020 is the correct colorspace. P3 messes up the colors but if you feed a P3 XML in 8-2-6(DEE workflow), the script will correct it and use rec2020.

foxman679
19th March 2025, 20:46
thanks @Kuler087 for explanation ;)

Kontrarian
20th March 2025, 06:46
So if I have a P5 WEB DL and my remux I first compare the HDR (6-2) of both videos to make sure they are similar, the I check sync with (9-1).
If I get an RPU from the google drive then I can check the HDR in the Dolby Vision stuff spreadsheet, BUT how do I check sync?
All I need to do is have the script output the RPU scene cuts to the text file then open up the remux in avisynth and compare, but I don't see that in the script menu, just comparing two video files.
Right now I;m just injecting then doing (2-1) afterwards, would be nice to be able to do something like that first though.

Kuler087
20th March 2025, 11:48
1- index single video in 9-1
2- export rpu/xml scene cut in 2-1
3- check sync like in the tutorial https://www.youtube.com/watch?v=lIO_ZfT-LnY

Korbus
21st March 2025, 15:44
Bit of help needed, please. Since an hour ago, whenever I start WF 1, after I drag and drop the mkv file, as soon as I hit Enter, the program (window) closes itself suddenly, with no error message. I have tried to switch on logging (and set to not delete the TEMP folder), but the window closes anyway and no temp folder is created to check the log or anything. This morning I used WF 8-2-1 with zero problems. The only change I can think of from today is installing ffmpeg on drive C: and then setting the path in Environment Variables (for Windows purposes - need it for zurg/rclone).
I have tried with multiple .mkvs and even tried running the .bat as administrator (typing manually the file path), same (non)result.

Kuler087
21st March 2025, 15:57
I dont know but there are not many codes between the first and second input so you can try to edit the script and add a couple of ''pause'' until you find out exactly where it crashes.
input 1 user prompt start at line 546

Korbus
21st March 2025, 16:02
How do I add pause? I have the script open, looking at line 545-548:

::user input
echo Drag and drop a file or a folder with files (MKV/TS/M2TS/HEVC/H265/RPU/XML/FOLDER) and press enter...
set /p video_path=
echo.

Kuler087
21st March 2025, 16:10
just type pause before each line you want to check and save the bat file.

::user input
echo Drag and drop a file or a folder with files (MKV/TS/M2TS/HEVC/H265/RPU/XML/FOLDER) and press enter...
set /p video_path=
echo.
pause
code
code
code
code
pause

Korbus
21st March 2025, 16:20
Did that, it closes after a couple of Enters. This is the log before the last Enter that causes the window to close: https://justpaste.it/b44eb

L.E. Sorry, there's one more Enter before it closes, with only these lines:

E:\Filme High Definition>goto :skip.direct

E:\Filme High Definition>pause
Press any key to continue . . .

Kuler087
21st March 2025, 16:53
looks like whatever you did broke the HDD space check...

You can try to remove the code, it wont affect the output.

::Use PowerShell to get disk space information
for /f "tokens=*" %%A in ('powershell -command "(Get-WmiObject Win32_LogicalDisk | Where-Object { $_.DeviceID -eq '%letterpath%' }).FreeSpace"') do set "free=%%A"
for /f "tokens=*" %%A in ('powershell -command "(Get-WmiObject Win32_LogicalDisk | Where-Object { $_.DeviceID -eq '%letterpath%' }).Size"') do set "total=%%A"
::Calculate used space
for /f %%A in ('powershell -command "[math]::Floor([long]%free% / 1GB)"') do set "free_gb=%%A"
if %free_gb% leq 200 echo \033[31m WARNING: Output path "%output_path%" has only %free_gb%GB of free space. Processing large file may not work.... | "%cmdcolor%"

Korbus
21st March 2025, 17:07
I did, and then it progressed until the analysis of the input and closed again. I think it has something to do with Powershell, which might have been corrupted, and I don't know how to fix it, I'll just google it. Obviously, nothing to do with DoVi_Scripts.
Thanks for your help!

L.E. after trying to reinstall/upgrade PowerShell and Net Framework and getting no results, I have restored a 3-days old system backup (which i was very lucky to have, as I do backups only once in few months), from before my messing with ffmpeg and Git. Now DS runs without a problem, as expected.

Kuler087
21st March 2025, 21:20
Since my next TV (G5) will be able to play most content without tone mapping, I thought it would be useful to list all the 4000-nit movie grades. So, I added two new tabs to my Google Drive Excel sheet:

1- movies brighter than 1000nits: https://docs.google.com/spreadsheets/d/15i0a84uiBtWiHZ5CXZZ7wygLFXwYOd84/edit?gid=1557834794#gid=1557834794
2- movies that are practically SDR in HDR container: https://docs.google.com/spreadsheets/d/15i0a84uiBtWiHZ5CXZZ7wygLFXwYOd84/edit?gid=1488998734#gid=1488998734

The dark grades list will be updated frequently over the next few days, as many movies are graded under 300 nits, and I'm still going through my library. For the bright grades list, I think I found most of them (about 200 titles)

Kontrarian
22nd March 2025, 00:40
When you see DV trims that are just a straight line across do you just consider that fake DV and then generate your own?

Example: https://slow.pics/c/1RFW8qRG

Or do those straight trims on L3 still help your TV to tone map somewhat?

Kuler087
22nd March 2025, 01:27
There is no trim at all for this movie and the cmv4.0 metadata is only for the first two frames (older MA WEB-DLs have this weird authoring).
So yes, I generate cmv4.0 DV with original scene cuts (https://ibb.co/QvGCHyj6) when the original is only cmv2.9 without trims. I even did a trim (https://ibb.co/gLmXc9sZ) for this movie.

Kontrarian
22nd March 2025, 06:33
Yeah, I saw the P5 to P8 RPU on your Google drive (I think it's from iTunes).
When I plotted it I got L1 and L2 but no L3.
When I plotted the Movies Anywhere RPU I get the L3 but it just has MIN going straight across at 2048, MAX at 1641, and AVG at 1016.
So I figured it's probably best to use your "The Prestige (2006)_BD_Resolve.bin" but was wondering what's the deal with that L3 plot?

Kuler087
22nd March 2025, 15:35
it doesnt matter, its only for the first two frames.

https://i.ibb.co/HfhTjRMM/firefox-40-FW8-Tv-Snd.png

Kontrarian
25th March 2025, 12:04
Woah, I feel like an idiot... I didn't even pay attention to the X axis at all and just assumed it was the entire films timeline.

Which one of your files do you recommend we use, The Prestige (2006)_BD_Resolve.bin or The.Prestige.2006.BD-US.Generated.OSC.bin?

https://slow.pics/c/1ChKbXgp

coopzr
3rd April 2025, 08:56
@Kuler087

6-2 measure brightness with cropping produces a prores video much faster than 8-2-2.

Is the 6-2 prores video sufficient to generate the DV metadata in Resolve or would using the proper 8-2-2 video produce more accurate DV metadata in Resolve?

EDIT:
I was mistaken, they take the same time. I could have sworn 6-2 produced a prores faster previously...

Kuler087
3rd April 2025, 11:57
6-2 does process prores faster but it doesn't index the frames and use qscale 8(more compression).
It should still be fine for Resolve.

Kuler087
3rd April 2025, 11:58
Which one of your files do you recommend we use, The Prestige (2006)_BD_Resolve.bin or The.Prestige.2006.BD-US.Generated.OSC.bin?

https://slow.pics/c/1ChKbXgp
The one I did trims:

The.Prestige.2006 BD Generated OSC T3 (MANUAL TRIMS)

lauguru
8th April 2025, 11:36
@Kuler087 Salut!


Can XML (DaVinci) be converted to RPU or BIN? If so, could it be added?

Kuler087
8th April 2025, 12:16
yes, of course. Run it in workflow 1 or plot it in 6-3

lauguru
8th April 2025, 12:51
yes, of course. Run it in workflow 1 or plot it in 6-3

ok thanks

dapope
21st April 2025, 06:19
Hi @Kuler087 (thanks again for all your hard work!) or anyone else in the know.

Just wanted to check that I'm correctly understanding how the 1000 nits vs 4000 nits mdl stuff and L2 trims works.

Last night I watched The Nice Guys 2016 (which you analysed here: https://www.youtube.com/watch?v=wlix5YFMLI8&t=15s). I watched on my LG CX internal player after using your tool to convert to P8. The movie is MEL so no concerns about FEL expand brightness.

Highlights in the movie looked great however I thought that the overall look was a little dim. The movie is one of those that has a 4000 mdl but barely goes over 1000 nits, and in such cases you recommend changing the MDL to 1000 nits when creating a new DV grade from the algorithm. But am I correct in thinking that since the film has L2 trims and I wasn't creating a new DV grade, that the film was tonemapped appropriately and appeared as intended?

Thanks again!

Kuler087
21st April 2025, 12:03
Well, this movie was mastered with the old cmv2.9 algo, which has a slight black crush, especially with 4000/10000 MDL, and the trim in this movie doesn't add much(mostly static), so it might look better with the cmv4.0 balanced tuning @ 1000nits MDL indeed.

dapope
22nd April 2025, 06:39
Well, this movie was mastered with the old cmv2.9 algo, which has a slight black crush, especially with 4000/10000 MDL, and the trim in this movie doesn't add much(mostly static), so it might look better with the cmv4.0 balanced tuning @ 1000nits MDL indeed.

Thank you for your response!
To get a "not perfect, but good enough" solution, is there a quick way to simply edit the DV metadata to change the mdl to 1000 nits, or does such a change require remaking the DV from scratch? I had a poke around your program but couldn't find if it was an option.

Kuler087
22nd April 2025, 12:01
Workflow 1/Q can edit source_pq, but this would make metadata inaccurate because Dolby calculates (https://slow.pics/c/xlgE3H1t) them differently based on the MDL.

I generated cmv4.0 1000 MDL for this movie here (https://drive.google.com/file/d/1x-zgtaArhnwO9if-lzagweXJzrZaL5KS/view?usp=drive_link).

Kontrarian
25th April 2025, 23:36
@Kuler087

I see your signature has been updated to now show: LG OLED G5 77''

How are you liking it so far?
Care to share your impressions (pros and cons)?

Kuler087
26th April 2025, 00:06
Haven't received it yet; the tracking says it should arrive on Tuesday.
It will be a massive upgrade for sure (800nits C2 to 2500nits G5). The expanded brightness through some of the FEL movies is going to have a huge impact now, can't wait!

Kontrarian
29th April 2025, 23:32
@Kuler087, todays the BIG DAY!!!

Kuler087
30th April 2025, 00:06
YEAH! :D
Uniformity is already ten times better than on my C2... I just wish I didn’t have to work this week. More intensive testing will have to wait until the weekend.

SamuriHL
30th April 2025, 00:08
That's a good sign though. Are you planning on calibrating it?

Kuler087
30th April 2025, 00:26
Yep, for sure. I’ll give it a couple of weeks to break in and let a few firmware updates roll out before calibrating.

SamuriHL
30th April 2025, 00:49
Yea that makes sense. Given what you said about black crush there's no getting around a proper calibration to fix that. But I suspect that thing is going to ROCK once it's broken in and calibrated. They're finally getting closer to what I wanted to see for my next panel. I'm curious if they've improved on bt.2020 support in terms of percent covered.

TR-9970X
30th April 2025, 03:11
I'm pretty impressed with my "old" C4 65" LG, although I haven't bothered to calibrate it....it's SO much better that the 2018 55" I had (which died, btw, the screen just went black, one night, and that's it)

Kontrarian
30th April 2025, 06:16
Yeah, no point in calibrating a panel in it's first 200 hours, that's for sure.

My C8 is still hanging in there!

Gatorman3385
14th May 2025, 01:27
DoVi_Scripts (8-2-3) is running DoviBaker on a P7 MEL to ProRes. Is this the intended behavior?

Kuler087
14th May 2025, 01:50
nop...
fix: https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=drive_link

en6ads
14th May 2025, 15:07
Hi all,

Are the colorist's manual Level 2 / Level 8 adjustments from Level 1 (a Dolby algorithm) stored separately in the RPU?

If I use CPM A14 with the updated skins, in the PPI page can I see the Level 1 values, the Level 2/8 adjustments from Level 1, then the combined result?

I'd like to know what the colorist's are doing in Level 2/8 and how they differ from what Dolby calculates.

Thank you.

Kuler087
14th May 2025, 15:22
CPM OSD info is only for L1/L5 and will not display the trims values. How strong the trim's effect is will depend on your display target brightness.
DoVi_scripts has a workflow(7-4) that lets you see the L1 mapping alone and the L1+L2(or L8/L3) mapping. I already created many examples here:
https://drive.google.com/drive/folders/1g5I-z_sJmVu-SAIPNiiSlcdMiy2ka0mf

I also did a couple of L1 and L2/L8 trims test files here: https://drive.google.com/drive/u/1/folders/1nMz95KqgkO95EDGrYhrk-Ifx6vRYDEfs

Note that there will be a difference between cmv2.9 and 4.0. I just did some L1 mapping tests about it on my new G5 here:
https://docs.google.com/spreadsheets/d/15i0a84uiBtWiHZ5CXZZ7wygLFXwYOd84/edit?gid=1289366200#gid=1289366200

en6ads
14th May 2025, 15:58
CPM OSD info is only for L1/L5 and will not display the trims values. How strong the trim's effect is will depend on your display target brightness.
DoVi_scripts has a workflow(7-4) that lets you see the L1 mapping alone and the L1+L2(or L8/L3) mapping. I already created many examples here:
https://drive.google.com/drive/folders/1g5I-z_sJmVu-SAIPNiiSlcdMiy2ka0mf

I also did a couple of L1 and L2/L8 trims test files here: https://drive.google.com/drive/u/1/folders/1nMz95KqgkO95EDGrYhrk-Ifx6vRYDEfs

Note that there will be a difference between cmv2.9 and 4.0. I just did some L1 mapping tests about it on my new G5 here:
https://docs.google.com/spreadsheets/d/15i0a84uiBtWiHZ5CXZZ7wygLFXwYOd84/edit?gid=1289366200#gid=1289366200

Thank you. I've submitted a feature request to CPM github. I would like to see in the PPI osd if level 2 / 8 trims exist, and if so what are they. Also level 3 but how often does that get used?

Kuler087
14th May 2025, 16:28
Most movies are trimmed at least at 100nits and the other target gets interpolated from those adjustments.
L3 is auto-generated and stores the mid-offset adjustments.

Not sure how CPM will add the trim's value in the OSD. That would take a lot of space since the cmv4.0 workflow auto-generated L2 trims at 100,600 and 1000nits (to fix the buggy cmv2.9).
that's a lot of data to add, EG:

"Level2": {
"target_max_pq": 2081,
"trim_slope": 1611,
"trim_offset": 2023,
"trim_power": 1380,
"trim_chroma_weight": 2048,
"trim_saturation_gain": 2048,
"ms_weight": 2048
}
},
{
"Level2": {
"target_max_pq": 2851,
"trim_slope": 2066,
"trim_offset": 2048,
"trim_power": 1959,
"trim_chroma_weight": 2048,
"trim_saturation_gain": 2048,
"ms_weight": 2048
}
},
{
"Level2": {
"target_max_pq": 3079,
"trim_slope": 2049,
"trim_offset": 2048,
"trim_power": 2046,
"trim_chroma_weight": 2048,
"trim_saturation_gain": 2048,
"ms_weight": 2048
}
]
},
"cmv40_metadata": {
"num_ext_blocks": 6,
"ext_metadata_blocks": [
{
"Level3": {
"min_pq_offset": 2048,
"max_pq_offset": 2048,
"avg_pq_offset": 1660
}
},
{
"Level8": {
"length": 10,
"target_display_index": 1,
"trim_slope": 2060,
"trim_offset": 2048,
"trim_power": 2009,
"trim_chroma_weight": 2048,
"trim_saturation_gain": 2048,
"ms_weight": 2048
}
},
{
"Level8": {
"length": 10,
"target_display_index": 28,
"trim_slope": 2048,
"trim_offset": 2048,
"trim_power": 2048,
"trim_chroma_weight": 2048,
"trim_saturation_gain": 2048,
"ms_weight": 2048

en6ads
14th May 2025, 19:37
I'm sure they can fit L2/L8 and L3 data on the screen somewhere! Might get busy, but there's room.

Kuler087
14th May 2025, 20:29
I'd be surprised if he accepted your request because 99.999999% of users wouldn't even understand the data. Do you understand the data I just posted?
The trims metadata is not like L1, which is easy to understand because it just tells you about the scene's max, average, and minimum brightness.

If you want to see what the colorist did, just watch the tons of samples I posted or create a new sample from any frame of any movie using workflow 7-4.

EG:

https://i.ibb.co/RGB4V1Jy/manual-trims.gif

en6ads
15th May 2025, 03:18
What's the best Windows player currently for correct playback of Dolby Vision mkv rips on a laptop that has a HDR OLED panel (Samsung SDC419D, 10bit 450 nits) and official DV support? Most of my rips are profile 7 cm2.9 Mel and fel. I've seen your YouTube comparing Energy Player and Madvr but that was a while ago. Use case is just for travel. Don't worry I have a couple of Ugoos for home! Thank you.

en6ads
15th May 2025, 03:48
I'd be surprised if he accepted your request because 99.999999% of users wouldn't even understand the data. Do you understand the data I just posted?
The trims metadata is not like L1, which is easy to understand because it just tells you about the scene's max, average, and minimum brightness.

If you want to see what the colorist did, just watch the tons of samples I posted or create a new sample from any frame of any movie using workflow 7-4.

EG:

https://i.ibb.co/RGB4V1Jy/manual-trims.gif

I'm not a colorist and I've never used any of Dolby's trim controls. I know level 2 and 8 are per target as you say, Lift, Gamma and Gain, with cm4 increasing that to 21 total controls (sounds complicated!).

I'll go through your examples splitting out the levels - thank you for sharing.

I just feel like if CPM is only displaying level 1, then that's not the whole story. If there's a meaningful way to expose RPU L2 (cm2.9) and L3, L8 (cm 4.0), I'd like to see it.

Kontrarian
17th May 2025, 08:18
What's the best Windows player currently for correct playback of Dolby Vision mkv rips on a laptop that has a HDR OLED panel (Samsung SDC419D, 10bit 450 nits) and official DV support? Most of my rips are profile 7 cm2.9 Mel and fel. I've seen your YouTube comparing Energy Player and Madvr but that was a while ago. Use case is just for travel. Don't worry I have a couple of Ugoos for home! Thank you.

MPC-BE works well.

Fuso
17th May 2025, 14:13
These two movies look like day and night on my LG C2. Cars 3 is bright and vivid but Cars 2 is dull and dark. Is there any way I can "fix" that? I never really undrestood fully the L1-L6 settings of the DoVi. Only L5 is known to me which sets the borders for the active area of Dolby Vision. I see that both are CM v2.9 and from what I've noticed mentioning it here v4.0 is better.

https://i.ibb.co/27jP1kP0/Cars-3-2017-Hybrid-UHD-Blu-Ray-Remux-2160p-DV-L1-Plot.png (https://ibb.co/4ZjMnVMw)

https://i.ibb.co/cKrH1pKp/Cars-2-2011-Hybrid-UHD-Blu-Ray-Remux-2160p-DV-L1-Plot.png (https://ibb.co/p6L8xs6s)

Kuler087
17th May 2025, 14:13
What's the best Windows player currently for correct playback of Dolby Vision mkv rips on a laptop that has a HDR OLED panel (Samsung SDC419D, 10bit 450 nits) and official DV support? Most of my rips are profile 7 cm2.9 Mel and fel. I've seen your YouTube comparing Energy Player and Madvr but that was a while ago. Use case is just for travel. Don't worry I have a couple of Ugoos for home! Thank you.


Sorry, I missed your reply.

MPC/MadVR is great for HDR10/SDR, but for DV, the Energy player should be good on Windows 11. The red push bug I'm talking about in the YouTube video is only affecting Windows 10.
Windows 11 has a black crush problem in HDR10 though . Windows 10 is fine.

Kuler087
17th May 2025, 14:17
These two movies look like day and night on my LG C2. Cars 3 is bright and vivid but Cars 2 is dull and dark. Is there any way I can "fix" that? I never really undrestood fully the L1-L6 settings of the DoVi. Only L5 is known to me which sets the borders for the active area of Dolby Vision. I see that both are CM v2.9 and from what I've noticed mentioning it here v4.0 is better.



Nothing to fix here. One is graded at only 200 nits on average, and the other one looks like a 4000-nit master. I always find it funny when studios decide to grade movies so differently within the same franchise.

Fuso
18th May 2025, 11:32
I see. It is what it is... and congrats on the G5.

Kuler087
18th May 2025, 14:46
Thanks, the G5 is a beast and I love it, but HDR10 is broken (https://slow.pics/c/AYrYCbvm)(banding and posterization). It doesn't affect me because I generate DV for everything...

FYI, Cars 3 P8 hybrid cannot be made. The HDR10 BD layer is a 600 nits trim, and the DV master is 4000 nits.

Grade check...
Cars 1: https://slow.pics/c/PGCSvxu9
Cars 2: https://slow.pics/c/79SARikb
Cars 3: https://slow.pics/c/RldFk4g9

coopzr
19th May 2025, 13:48
Thanks, the G5 is a beast and I love it, but HDR10 is broken (https://slow.pics/c/AYrYCbvm)(banding and posterization). It doesn't affect me because I generate DV for everything...

HDR10 banding is common on other LG OLED's right? If I can recall from memory, I too saw the banding while watching the martian on the C4.

Kuler087
19th May 2025, 14:23
Yeah, my C2 has the same banding and posterization (https://drive.google.com/drive/folders/1DxMiJvf_HHTqxw5AW4WdbrKkCkKrH3JG?usp=drive_link) but it's a least 2 times worse on the G5... If they can bring it to the level of the C2, the G5 would be great.

Did a tone mapping comparison (https://www.youtube.com/watch?v=0FaFGmU5hHo) yesterday, and the G5 is so powerful. The Spears and Munsil 10 000nits clip is even watchable without tone mapping on the G5.
Without tone mapping, the C2 is all clipped.

https://i.ibb.co/bG06Nw4/Mpc-hc64-VSs-Uya-LZ0l.png

SamuriHL
19th May 2025, 15:40
Good lord that's impressive.

SeeMoreDigital
19th May 2025, 16:02
Good lord that's impressive.Indeed...

The new LG Display 4-stack OLED panels are a game changer. Plus there are versions of this panel in the new Panasonic Z95B and Sony Bravia 8 II.

SamuriHL
19th May 2025, 17:41
Indeed...

The new LG Display 4-stack OLED panels are a game changer. Plus there are versions of this panel in the new Panasonic Z95B and Sony Bravia 8 II.

I have a 77" G2 so I'm looking at probably next year or the year after for my next upgrade. If this is the direction we're headed, I'm super excited. Now if they can give more bt.2020 coverage while they're at it, we really would be in an amazing position with these displays! Paired with adding DV metadata to everything and running that on an Ugoos....giddyup!

Hellboy.
21st May 2025, 01:29
Thanks, the G5 is a beast and I love it, but HDR10 is broken (https://slow.pics/c/AYrYCbvm)(banding and posterization). It doesn't affect me because I generate DV for everything...

FYI, Cars 3 P8 hybrid cannot be made. The HDR10 BD layer is a 600 nits trim, and the DV master is 4000 nits.

Grade check...
Cars 1: https://slow.pics/c/PGCSvxu9
Cars 2: https://slow.pics/c/79SARikb
Cars 3: https://slow.pics/c/RldFk4g9

With the broken HDR10 is it better to let Ugoos AM6Bplus convert everything to DV?

Kuler087
21st May 2025, 02:01
It certainly fixes the issues, but I'm not sure how accurate the rest will be... Better just generate proper CMV4.0 metadata in Resolve (https://www.youtube.com/watch?v=FVSh3oGqfXY) or doviscripts 3-1

another banding/posterization comparison (https://slow.pics/c/ENN0RuWy) ... I think I'll find a lot more scenes like this and make a YouTube video about it.

en6ads
23rd May 2025, 04:37
Just wanted to know your thoughts on the latest ng corelelec nightly. loads of changes (https://github.com/CoreELEC/xbmc/commits/aml-4.9-21.3), even a few commits from cpm.

For TV-led Dolby Vision on the Ugoos, what does A14 do that this latest nightly can't or gets wrong (besides VS10)? Is level 5 not properly implemented in TV-led nightlies?

Thank you.

Kuler087
23rd May 2025, 12:14
I dont know but you can test everything that works on A14 but doesnt with the nightlies with these:

L5: https://drive.google.com/drive/folders/1koVQa3hyZwZ8QP-36_rkCBLZEUH69zAV?usp=sharing
Positive lift: https://drive.google.com/drive/folders/1LbuwBDZj5x3i1bdbAntsZlr5CiYJ9KKj?usp=drive_link
unaltered metadata: https://drive.google.com/drive/folders/1FJcuC1Eo8xFS9P1wgzpARlJWcWoliuQ4?usp=drive_link

A14 does everything perfectly, I see no reason to ever update again, and I certainly won't update my ugoos anytime soon, not even if A15 comes out.

tormento
24th May 2025, 14:10
Is there some utility that can plot/analyze the created .measurements file?

Kuler087
24th May 2025, 14:21
workflow 6-2 can plot it, otherwise, open it in:

DoVi_Scripts\tools\madMeasurementAnalyzer.exe

tormento
24th May 2025, 18:21
workflow 6-2 can plot it, otherwise, open it in
I have a stupid spike that ruins the average values:

https://i.ibb.co/LzHbCBB7/Better-Man-HDR-plot.png (https://ibb.co/KjSR9BBv)

Any way to exclude spikes or choose starting and ending frame?

Why the percentages on top right are all 0?

Kuler087
24th May 2025, 18:37
Spikes like this are usually caused by your lavfilters settings. Your percentages are 0, probably because you did not install Python? You may have to install both the windows store (https://apps.microsoft.com/detail/9pjpw5ldxlz5?hl=en-US&gl=US) and regular (https://www.python.org/downloads/) versions.

My measurement of this movie (https://ibb.co/7xWwtrfK) (letterbox excluded)

https://i.ibb.co/TMbwbgpC/Better-Man-2024-BD-HDR-plot.png
https://i.ibb.co/PvZpdQVZ/rundll32-tf8-F0-NFb-Zn.png

tormento
25th May 2025, 10:12
Spikes like this are usually caused by your lavfilters settings.
That is one of the few movies where I have spikes. If you manually scan it with the FranceBB Tektronik plugin, you will see a sudden spike in luma in the movie too.
you did not install Python?
I have latest stable installed.
You may have to install both the windows store and regular versions.
Why? I can't find the rational in what you are saying.
My measurement of this movie
I have the UHD, you scanned the BD. There is no much sense in scanning a BD where of course you can't have spikes.

EDIT:

It finds and calls Python:

https://i.ibb.co/Df9tDK2h/image.png (https://ibb.co/VYgtWB4R)

Kuler087
25th May 2025, 13:21
That is one of the few movies where I have spikes. If you manually scan it with the FranceBB Tektronik plugin, you will see a sudden spike in luma in the movie too.
If it's not your lavfilters settings, then your video source has a glitch.

Why? I can't find the rational in what you are saying.
Some workflows use the Windows Store version.
or you are missing one of the required library:
opencv-python, colour-science, scikit-image, matplotlib, numpy, colour, opencv-python-headless , PyQt5

I have the UHD, you scanned the BD. There is no much sense in scanning a BD where of course you can't have spikes.
what lol? BD mean bluray disc...
Of course, I measured the UHD bluray disc... The 1080p bluray disc plot would be in the 100nits...
not to mention that I already measured practically all the UHD-BD that exist... (https://drive.google.com/drive/u/1/folders/154fBNllwOHL4Lckc7wDV8QKFJwFxnDt-)

tormento
25th May 2025, 16:29
If it's not your lavfilters settings, then your video source has a glitch.
For sure, there must be some problems on the italian version. Given that, is there any way to ignore glitches? Today I've "solved" it cutting the video before the glitch but there should be some workaround.
or you are missing one of the required library
Is that the complete python requirements or I need more? I really don't like the idea to install python from the store.
I measured the UHD bluray disc
Sorry, my bad.
I already measured practically all the BD that exist
That's awesome.

Kuler087
25th May 2025, 16:40
Is that the complete python requirements
yes

For sure, there must be some problems on the italian version. Given that, is there any way to ignore glitches? Today I've "solved" it cutting the video before the glitch but there should be some workaround.

Open the measurement file in the analyzer and look at the 99% peak values:

https://i.ibb.co/KzpnczJn/mad-Measurement-Analyzer-a-Id16-Ahg-Ky.png

Kuler087
27th May 2025, 02:43
Updated tutorial for the P8 hybrid maker/grade check:


https://i.ibb.co/XfB4BTmH/Firefox-i-KWpat-Fv2-A.png (https://www.youtube.com/watch?v=J06dUCePdd8)

wyup
27th May 2025, 12:58
Hi, Do I need to overwrite files from the latest toolpack or just the MKV/MP4/TS scripts? Because there are many files and it's tough to select only newer files. I also update some tools on my own.
In Changes section there's only hdr10plus.exe update so I guess it's the only change.

Kuler087
27th May 2025, 13:05
yes hdr10plus_tool is the only change so no need to update the rest.

coopzr
29th May 2025, 13:59
Will running multiple instances of dovi_tools cause any issues? E.g. One instance generating DV and another instance injecting/plotting/something else?

Kuler087
29th May 2025, 14:18
Each workflow creates its own temp folder so it's fine, and I do it all the time.
Just don't use two instances of the same workflow.

wyup
29th May 2025, 15:34
what's your experience with the LG G5? Does it have a good and reliable Dolby Vision implementation? I read on Rtings that it had some problem with streaming content...

Kuler087
29th May 2025, 17:58
Dolby Vision:
This is the best DV TV I’ve ever owned. It is close to perfection, even with the older and buggy cmv2.9 content.
Tone mapping (https://docs.google.com/spreadsheets/d/15i0a84uiBtWiHZ5CXZZ7wygLFXwYOd84/edit?gid=1289366200#gid=1289366200) kicks in when the metadata reaches 2550 nits, which means most content doesn’t need DV or any tone mapping.

Blacks are raised a bit, but it’s much better than on my C2 or C8. On the G5, it’s not visible at all in real content. There’s a faint glow if you use the pure black test file and stare at the screen for a couple of seconds. If you look closely, you can see that the glow is caused by DV’s stronger dithering noise.
Black clipping/crush is almost perfect. Only cmv2.9 with 4000 nits MDL shows a slight crush, but this is 100% better than my C2/C8.

HDR10:
Now, this is a major problem. Dark scenes with highlights look like straight garbage: tons of posterization and banding. There are also some ugly DSE frozen grains. All of these issues only affect HDR10 and not DV, so it doesn’t affect me since I only watch DV content.
LG should fix this issue and at least bring it to the same level as my C2, which also has these issues but they’re almost unnoticeable. Near blacks are also raised, for example, I can easily see code 65 flashing at normal viewing distance. This should not be the case.
Considering DV was also broken at launch, I don’t understand how LG went ahead and released this TV in this state. I mean, this is unacceptable for a TV that cost me 7k CAD.

SDR:
I haven’t watched any SDR content yet, but the accurate mode (FMM) with OLED Light 80 is WAY too bright, a big 500 nits. Unless you want to get blinded in SDR, you must lower the OLED Light to at least 25. I did not measure which value gives exactly 100 nits, but just by looking, I have mine set to 10.

The remote:
What a joke. Didn’t last more than 5 minutes before I threw it away. I’m using my C2 remote.

Gaming or PC monitor:
This is not the TV for you if you use it as a monitor and sit close to the screen. The diagonal dithering lines look horrible. Sometimes I even see them from 8 ft away.

Uniformity:
By far the best OLED I’ve ever owned. My C2 has horrible vertical jailbars visible in all dark content. The G5 is close to perfect: I see a small vertical bar on the right side of the screen, but I haven’t seen it in real content yet. Haven’t noticed any DSE as well.

Tint:
There’s a slight blue/magenta tint when viewed at an extreme angle, but it’s not too bad.

en6ads
29th May 2025, 21:49
Each workflow creates its own temp folder so it's fine, and I do it all the time.
Just don't use two instances of the same workflow.

I've had this issue, also.

Is there a way we can bind each task (not workflow) to its own temp folder? Have a unique name for the temp folder such as UUID?

Thank you.

Kuler087
29th May 2025, 22:34
It should already be able to create a new temp folder when it already exists, but other commands might fail, so I never risk using two instances of the same workflow

:: make and set temp folder
if exist "%temp_folder%temp.folder_new" if exist "%temp_folder%temp.folder" rmdir /Q /S "%temp_folder%temp.folder_new" & rmdir /Q /S "%temp_folder%temp.folder"
if exist "%temp_folder%temp.folder" set E1=_new
MD "%temp_folder%temp.folder%E1%"
set TEMP=%temp_folder%temp.folder%E1%\

en6ads
30th May 2025, 23:57
This may sound like a dumb question, but I'll ask it anyway:

Are there any P7 MEL disks where the MEL layer contains some (small) amount of data that would prevent a perfect conversion from P7 to P8.1? Can I assume all MEL layers are redundant and can be deleted, creating a perfect conversion to 8.1?

Many thanks.

en6ads
31st May 2025, 00:00
Perhaps another dumb question:

Is it possible to convert a 1080p SDR AVC blu ray rip to Dolby Vision Profile 9?

Thanks.

Kuler087
31st May 2025, 00:41
Are there any P7 MEL disks where the MEL layer contains some (small) amount of data that would prevent a perfect conversion from P7 to P8.1?
No, MEL can always be converted to P8 without loss.

Is it possible to convert a 1080p SDR AVC blu ray rip to Dolby Vision Profile 9?
not sure if I ever heard of P9 ? maybe you meant profile 8.2?
SDR in an HDR container is just 100 nits, so it wouldn't be useful.

domyx
2nd June 2025, 08:12
Sorry if this has been asked before, I did some research but couldn't find the answer in the forums or the YT channel. Hope I tried the correct search keywords :)

I have two remuxes of the same release:
- Remux 1: DV7 (BL + FEL)
- Remux 2: HDR10
The simple HDR10 version seems to have better base layer detail than the DV7 BL (even with FEL baked in). I’m trying to see whether I can extract and convert the RPU from the DV7 version to DV8, then mux it with the HDR10 base from remux 2.

Here's what I’ve verified so far:
- The color grade appears to be the same. I used the workflow 7-2 and compared screenshots from the DV7 BL+FEL and HDR10 => gradients and brightness look the same.
- Scene cuts are also aligned (same frame numbers)

Given that, is it safe to proceed with extracting the RPU from the DV7 remux, and muxing it onto the HDR10 base (and converting it to DV8 in the process)? Are there any other checks I should do? Am I completely misunderstanding something here?

Kuler087
2nd June 2025, 11:50
If the grades match, then no problem.
You may want to run a complete pixel measurement in MadVR (6-2) if you want to perform a true grade check. Just a bunch of random screenshots can be misleading sometimes.

domyx
2nd June 2025, 12:50
If the grades match, then no problem.
You may want to run a complete pixel measurement in MadVR (6-2) if you want to perform a true grade check. Just a bunch of random screenshots can be misleading sometimes.

I tried to do that, and there is actually a slight difference: both plots look the same, but the plot from the HDR10 remux is ~60nits higher on. The thing is that I think the plot of the DV7 remux is done from the BL (so without the FEL baked in), whereas the screenshots (made with 7-2) are made with the FEL baked in. At least that's my understanding, am I on the right track?

I can post the slowpics if that's easier, not sure if it was allowed here.

Note: oh, and thanks for those amazing scripts, it led me to start understanding DV and HDR a lot better!!

Kuler087
2nd June 2025, 13:04
small difference in the plot is normal. You probably should compare the 6-2 peaks with the L1 plot in case FEL expands the brightness, eventhough you did the fel baked screenshot comparisons.

domyx
2nd June 2025, 13:25
I believe the FEL is expanding the brightness. However, to my eyes, the overall brightness of the DV7 remux with FEL baked in (i.e., BL+FEL) looks about the same as that of the HDR10 remux. Which means the DV7 BL would be darker than the HDR10 remux (by ~60nits? which would explain the difference I see with the 6-2). Is that possible?

Another thing that makes me think the DV7 base layer is darker than the HDR10 version is when I compare both using VapourSynth/vspreview without DoViBaker (so only the base layer is shown). In that case, the HDR10 remux clearly appears brighter.

Kuler087
2nd June 2025, 13:41
which movie? if FEL expands brightness, but your HDR10 6-2 measurement looks the same, then it probably can't be done. You may want to bake FEL to prores (8-2-3) and then measure it in 6-2.
you can post slowpics comparisons here. Just don't refer to pirated content.

domyx
2nd June 2025, 15:58
I feel like I am missing some understanding to decide correctly. I thought that the RPU was being applied to the BL+FEL, so it would be good if the brightness of BL+FEL was the same as the brightness of the HDR10 remux (although the brightness of the BL alone is darker than the HDR10).

Here is the slowpics (https://slow.pics/c/EeC653AK) with:
- remux A (DV7 FEL) 6-2
- remux B (HDR10) 6-2
- remux A (DV7 FEL) 6-3
I am currently running 8-2-3 on remux A (DV7 FEL), and I will run 6-2 on it when it's done, but it will take some time.

Movie is "Now you see me".

Kuler087
2nd June 2025, 16:03
yeah, that's not the same 6-2 madvr brightness at all. What I meant by small difference is ok: https://slow.pics/c/mhgoENHh

domyx
2nd June 2025, 23:06
Ok, so I think I got it wrong with my first compare: I was comparing the DV7 remux directly.
I just did a 8-2-3 (bake FEL to prores) and a 6-2 measurement, and compared that with a 6-2 of the other HDR10 remux. The slowpics seem to indicate it's pretty close: https://slow.pics/c/U7BtfnbW
Similar I think to what you mean by "small difference".

Kuler087
2nd June 2025, 23:37
Correct. It means the studio did not deliver a trim pass for the HDR10 base layer as they did for the FEL release.
So the P7 RPU can be converted to P8 and injected into the other HDR10 layer.

domyx
2nd June 2025, 23:49
Thanks a lot for helping me understand that, I feel more confident in my understanding now.

en6ads
5th June 2025, 15:24
Hardware encoders for encoding (8) jobs.

I have read quite a few posts that state don't use hardware encoding for storage, leave it for live streaming. But I don't have any data to verify this.

Do encoding jobs such as baking FEL (8-2-1) need CPU encoding for the best quality? Is there a difference in quality between NVidia nvenc encoding and software encoding? What about Intel's encoders such as QSV on the A310 / A380? Could they be enabled for testing?

Many thanks.

Kuler087
5th June 2025, 15:33
The script supports only CPU or Nvidia encoding.
The quality will always be better using the CPU, but it's up to you. Do some comparisons, and if Nvidia is good enough for your needs, go for it and save tons of time.

en6ads
5th June 2025, 17:52
The script supports only CPU or Nvidia encoding.
The quality will always be better using the CPU, but it's up to you. Do some comparisons, and if Nvidia is good enough for your needs, go for it and save tons of time.

I'd love to test this but I don't have an NVidia GPU. I do have an Intel A380. Would it be possible to enable Intel accelerated encoding? Many thanks.

Kuler087
5th June 2025, 18:00
No sorry mate, I have no plan to change the encoder's workflow.

TR-9970X
6th June 2025, 10:24
I'd love to test this but I don't have an NVidia GPU. I do have an Intel A380. Would it be possible to enable Intel accelerated encoding? Many thanks.

I was expecting that answer from Kuler....

He'd probably need to buy an Intel GPU, and why should he, when nVidia is the way to go.

I bought a 4080 Super (with the 9950X3D) just to use DS better, I now also have a 5070 Ti, (with the 7970X) but I've yet to use it with DS...be interesting to compare.

What CPU have you got ??

Z2697
6th June 2025, 15:35
Changing the encoding process is easy enough, I guess the problem is that without an Intel GPU, there's no way to ensure the functionality.
But there's a potential collaborative development + testing possible.

But if goal is just "to see how it looks", I think it's not necessary to go through the script, just take some regular sample and encode them. (assuming you know how to use qsv)
Spoiler alert, it won't be as good as x265, but with enough bitrate, the difference might not be noticeable.

dkangel
8th June 2025, 14:19
hello everybody

can someone tell me what to do with this message in dvscript ?

L5 offset: TOP=N.A., BOTTOM=N.A., LEFT=N.A., RIGHT=N.A.

do i to correct it ?

thank you for your knowledge

Kuler087
8th June 2025, 14:27
When L5 is missing, the script will force you to edit it.
Use avspmod to measure your video letterbox. see: https://youtu.be/J06dUCePdd8?t=69

if your video has no black bars, enter 0 for left-right-top-bottom
If your video is cropped, you have nothing to do; the script will automatically add L5 to 0.

dkangel
8th June 2025, 14:32
i never got the message to force to correct it but i understand how to cerrect it :)
it's normal from a retail remux ?
in my case i have black bars (277/277)

Kuler087
8th June 2025, 14:37
Right, the script will force you to edit L5 only when using Workflow 1 with two inputs. For a single input, you have to select it manually.
Missing L5 on Blu-ray discs is rare. On streaming platforms like iTunes, it's missing from all titles.
L5 only matters for a few players though, specifically, CPM A14 devices or a TV's internal player so don't bother with L5 if you use other media/bluray players.

dkangel
8th June 2025, 14:46
ok so i will correct it because my plans are to buy ugoos player to play fel correctly

thanks for your help

en6ads
8th June 2025, 20:32
I was expecting that answer from Kuler....

He'd probably need to buy an Intel GPU, and why should he, when nVidia is the way to go.

I bought a 4080 Super (with the 9950X3D) just to use DS better, I now also have a 5070 Ti, (with the 7970X) but I've yet to use it with DS...be interesting to compare.

What CPU have you got ??

what average framerate do you get software encoding (x265) a baking FEL workflow 8-2-1? I tried my first FEL bake with default settings (Mission Impossible Fallout) and got 1.5fps!! Plus the output was 15gb smaller than the source (84gb vs 69gb output). I wasn't pleased with the baked image either, doesn't look as good as the original base layer.

Kuler087
8th June 2025, 21:30
There is no visual difference between the original FEL P7 and the script 8-2-1 (FEL baked) output. The script’s default settings produce quality that is very close to the source, but the output size in a CRF encode will depend on many factors such as the complexity and type of the source: grain, dark scenes, bright scenes, action, letterboxing, etc. In the end, regardless of the output size or bitrate, the compression quality remains consistent, and you may notice that some P7 FEL grainy action movies can result in a higher bitrate than the original source so you may want to increase CRF to 17-18 for those and reduce it to 13-14 for the cleaner darker movies.

Do a screenshot comparison in 7-2 if you are not sure. EG: https://slow.pics/c/bQQ40JlG


I get about 3-4fps depending on the source type with my i9 13900ks with the script default settings (CRF-15 with slow preset)
https://i.ibb.co/TBDfhQjZ/Windows-Terminal-d-Lqfj-RQYpf.png

Gatorman3385
8th June 2025, 21:40
Encoding a FEL Baked x265, I average 1.5fps with a Ryzen 2700X. The AM5 platform is at least twice as fast.

coopzr
14th June 2025, 07:05
I've played around with the ProRes encoding settings.

The default setting is:
set PRORES_settings=-c:v prores_ks -profile:v 3 -vendor apl0 -qscale:v 1 -pix_fmt yuv422p10le -an -hide_banner -y
I can conclude that qscale 1 is almost identical to using qscale 0 (which is the same as removing the qscale parameter entirely).

qscale 0 encodes at a lower bitrate than qscale 1 and appears to be a viable solution for those who are limited on storage capacity. I observed 200-300GB file size reductions in my tests. It's worth noting, however, that using qscale 0 doubled the encoding time, at least with my hardware.

I also compared other qscale settings: 2, 5, 9, and 11. While the final product would probably be indistinguishable to the human eye, the HDR and cm-analyze measurement graphs differed much more from each other compared to qscale 0 vs 1.

All other qscale settings I tested had slightly different scene cut detections, nits, and so on. qscale 0 and qscale 1, however, each had the same scene cut detections, and the nits only differed by 0.1 nits on some occasions.

I then ran each ProRes test through cm-analyze, and qscale 0 vs qscale 1 were once again almost identical. See the comparisons below - you need to zoom in quite close to see any differences in the charts.

In my circumstances, I'll continue to use qscale 1 since it's twice as fast. However, some movies will encode over 1TB, like one of the John Wick movies did, so then I'd have to encode it with qscale 0 for a significant reduction in file size, as I only have a 1TB hard drive.

Just thought I'd share my findings.

Comparisons:

Deepwater Horizon (https://slow.pics/c/xh3YTgj5)
John Wick Chapter 3 (https://slow.pics/c/OLrSMv9R)
Hunger Games Mockingjay Part 1 (https://slow.pics/c/wmXTOtTy)
Hunger Games Mockingjay Part 2 (https://slow.pics/c/t8EGVGB8)
Us (2019) (https://slow.pics/c/3HnXwZ80)

LLM disclaimer: I used an LLM to format this message to make it legible and free from grammatical errors, because I am lazy.

Kuler087
14th June 2025, 14:39
thanks for the tests/comparisons man

tormento
15th June 2025, 09:58
Open the measurement file in the analyzer and look at the 99% peak values

Which one, of the many ones, should I choose?

P.S: Is madMeasureHDRDynamicOptimizer of any use? In my case, I just want to feed PQ2HLG to have a proper lut file.

ac777103
15th June 2025, 12:16
Using 3.0.7 I am having a problem demuxing my disc-sourced UK John Wick 4 to BL and EL hevc files. When I go to workflow 1 and select V for Remover, I get an hevc file for the EL but no BL file (though it's created in the temp folder while the work is in progress. At the stage where the script says "Muxing to MKV" I get the following:

mkvmerge v88.0 ('All I Know') 64-bit
Error: An empty file name is not valid.
Deleting TEMP folder...
WARNING. Input frame rate seems messed up, it was forced to 23.976 but you should fix it in 2-1-3...

The input file is direct disc to mkv via makemkv, any ideas?

Kuler087
15th June 2025, 13:45
Which one, of the many ones, should I choose?

P.S: Is madMeasureHDRDynamicOptimizer of any use? In my case, I just want to feed PQ2HLG to have a proper lut file.

I don't know. Take one that makes more sense to you.

The optimizer was for madvr playback IIRC

Kuler087
15th June 2025, 13:48
Using 3.0.7 I am having a problem demuxing my disc-sourced UK John Wick 4 to BL and EL hevc files. When I go to workflow 1 and select V for Remover, I get an hevc file for the EL but no BL file (though it's created in the temp folder while the work is in progress. At the stage where the script says "Muxing to MKV" I get the following:

mkvmerge v88.0 ('All I Know') 64-bit
Error: An empty file name is not valid.
Deleting TEMP folder...
WARNING. Input frame rate seems messed up, it was forced to 23.976 but you should fix it in 2-1-3...

The input file is direct disc to mkv via makemkv, any ideas?

I may have broken something when I added batch support.. Try directly with 2-2

EDIT: This should fix it. https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=sharing
you must update your dovi_tool.exe for the latest beta.

ac777103
15th June 2025, 14:18
I may have broken something when I added batch support.. Try directly with 2-2

EDIT: This should fix it. https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=sharing
you must update your dovi_tool.exe for the latest beta.

thanks, 2-2 worked with the script version I already had, will check out your update.

ac777103
15th June 2025, 20:12
I may have broken something when I added batch support.. Try directly with 2-2

EDIT: This should fix it. https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=sharing
you must update your dovi_tool.exe for the latest beta.

DV removal via worflow 1 is working with the new beta, thanks for posting it so quickly.

Kontrarian
15th June 2025, 21:58
you must update your dovi_tool.exe for the latest beta.

Link?

Is it in the latest DoVi.Scripts.7z from your github?

Kuler087
15th June 2025, 21:59
https://github.com/quietvoid/dovi_tool/releases

Kontrarian
17th June 2025, 07:33
Ah, thank you!

wyup
17th June 2025, 10:27
Which MaxCLL/MaxFALL detection method is more accurate and reliable: Dolby (cm_analyze), MadVR or DavinciResolve (HDR10+ pass)?
I'd like to have the best estimated values for accurate HDR10 static metadata to further apply libplacebo tonemapping algorithms that take in account specially MaxCLL as source dynamic range limit..
Can I assume that Dolby cm_analyze is the best method as it is calculated by the most respected company?

I would also like to have reliable minimum brightness levels to narrow down the dynamic range (max and min values) to tonemap to SDR. I also try different max values for SDR, since libplacebo chooses 203 nits by default instead of standard 100 nits to encompass more dynamic range. Being SDR a relative system, if you can agment SDR brightness you can store more than 100 nits in SDR, since pure black is anchored the same. I'd only lose gradation.

Kuler087
17th June 2025, 11:53
madvr is the way to go.
DV metadata can vary significantly due to tuning or its restrictions(100/10nits min), and its average_pq is not representative of the actual average at all.

wyup
17th June 2025, 13:34
okay.. well, anyway it'd be nice to have DV cm_analyze plotter in menu 6 to compare to madVR. I've tried 6-3 but it doesn't work if the file doesn't have RPU already.

I am surprised that madVR method, which is not actively developed anymore (only betas from time to time) and made by a single person, madshi, can do better than Dolby own official tool.

Kuler087
17th June 2025, 14:02
It's not that MadVR does better than Dolby.
DV is meant for playback, and the metadata can be manipulated to adjust the tone mapping aggressiveness.
madMeasureHDR.exe just measures the pixels as they are.

You can see how the DV metadata can vary depending on the Dolby algorithm or tuning: https://slow.pics/c/OA0pupEN




anyway it'd be nice to have DV cm_analyze plotter in menu 6 to compare to madVR.
You can plot the CM_anlayze XML/RPU output in 6-2.

bbeny123
17th June 2025, 22:16
Hi @Kuler087

I’ve got a quick question about cm_analyze.

In some scenes, there’s a 1-pixel-high line at the very top or bottom edge of the image that’s much darker than the rest — likely an encoding artifact or gradient into the black bars.

Would you recommend treating that line as part of the image, or should it be treated like a black bar and excluded from analysis using --letterbox?

Thanks in advance!

Examples:
Top:
https://i.imgur.com/x9ydl6l.png
Bottom:
https://i.imgur.com/A1opYEn.png

Kuler087
17th June 2025, 22:30
yep, I always exclude those dirty letterbox edges from the analysis.

bbeny123
17th June 2025, 22:40
Thanks! That makes perfect sense.

Just to double-check — does the same approach apply to L5? Or should L5 contain only the actual black bars?

Kuler087
17th June 2025, 22:42
yes, I always keep the same offsets as the analysis for L5

wyup
18th June 2025, 00:08
You can plot the CM_anlayze XML/RPU output in 6-2.
6-2 is not cm_analyze and extract maxCLL/maxFALL exclusively with cm_analyze.exe tool, but Measure MadVR HDR tool. I don't want to measure with madMeasureHDR.exe, I want to measure the ProRes.mov conversion with cm_analyze. MadVR measure produces the MadVR plot, but I want to get the Dolby L1 plot, just as you show in your captions.
If I do 6-2 on a HDR10 non-DV video, it exits with error: no RPU found.


It's not that MadVR does better than Dolby.
DV is meant for playback, and the metadata can be manipulated to adjust the tone mapping aggressiveness.
madMeasureHDR.exe just measures the pixels as they are.
You can see how the DV metadata can vary depending on the Dolby algorithm or tuning: https://slow.pics/c/OA0pupEN

Well, I'd like to obtain your Dolby L1 plots aswell but don't know how.
I can see that there are variations in MaxCLL and MaxFALL in the various Dolby plots you link depending on cmv version and tonemapping algorithm. I can see there is a a lot of variation between oroginal HDR10+ plot and madVR plot aswell. :confused:

Kuler087
18th June 2025, 00:21
6-2 is not cm_analyze and extract maxCLL/maxFALL exclusively with cm_analyze.exe tool, but Measure MadVR HDR tool. I don't want to measure with madMeasureHDR.exe, I want to measure the ProRes.mov conversion with cm_analyze. MadVR measure produces the MadVR plot, but I want to get the Dolby L1 plot, just as you show in your captions.
6-2 uses madVR only if you input a video file.
When you input CM Analyze metadata (XML or RPU), the script just plots the data and does not use madVR at all.

In the end, both 6-2 and 6-3 use dovi_tool to plot the metadata, regardless of whether it comes from madVR, CM, Resolve, or HDR10+.





I can see there is a a lot of variation between oroginal HDR10+ plot and madVR plot aswell.

Right, because just like DV, HDR10plus is meant for playback.
madmeasureHDR.exe will always be more representative of the actual brightness.

Well, I'd like to obtain your Dolby L1 plots aswell but don't know how.
what do you mean? You can obtain any L1 plot with 6-3.

wyup
19th June 2025, 18:42
6-2 uses madVR only if you input a video file.
Precisely what I intend is to input a HDR10 only video file to be measured with cm_analyse only, that's to say, to obtain a DV Level 1 plot such as those screenshots you link above. Maybe 3 - 1? But I don't need to create a DV stream, only measure its MaxCLL and MaxFALL for comparison sake.
Right, because just like DV, HDR10plus is meant for playback.
Wht do you mean playback? I just want to measure the video, not create any playback stream, be DV or HDR10+. In principle, I don't need any DV tonemapping variants to measure a video.
what do you mean? You can obtain any L1 plot with 6-3
6-3 doesn't obtain any plot without DV RPU.

Kuler087
19th June 2025, 23:33
Wht do you mean playback? I just want to measure the video, not create any playback stream, be DV or HDR10+. In principle, I don't need any DV tonemapping variants to measure a video.
HDR10plus and DV metadata are meant to be used during playback for tone mapping. They don't always represent the actual brightness (1:1) of the shots.

Precisely what I intend is to input a HDR10 only video file to be measured with cm_analyse only, that's to say, to obtain a DV Level 1 plot such as those screenshots you link above. Maybe 3 - 1? But I don't need to create a DV stream, only measure its MaxCLL and MaxFALL for comparison sake.
You have to analyze the whole video with CM (3-1) or Resolve to get the MaxCLL/FALL value from the Dolby algorithm. Then you can plot the data generated in 6-2 or 6-3.
CM also has an option to calculate L6 MaxCLL/FALL, but the script doesn’t use it because it creates values with decimals that dovi_tool couldn’t convert to RPU directly. It would be easy to fix, but I just don’t care enough about L6.

https://i.ibb.co/gMQ2FLvb/firefox-u-JAR8u-Bbwz.png

SamuriHL
20th June 2025, 15:45
I'm clearly missing something stupid. If anyone can shed any light on what I'd be most appreciative. Sorry if this has already been answered.


Faulting application name: AvsPmod.exe, version: 2.7.5.5, time stamp: 0x4918017b
Faulting module name: avisynth.DLL, version: 3.7.5.0, time stamp: 0x6805a882
Exception code: 0xc0000005
Fault offset: 0x000000000011ab10
Faulting process id: 0xCBF4
Faulting application start time: 0x1DBE1F198137B75
Faulting application path: D:\DoVi_scripts\tools\AvsPmod\AvsPmod.exe
Faulting module path: C:\WINDOWS\SYSTEM32\avisynth.DLL
Report Id: 755b43aa-00cd-4b43-ac50-34973fca280b
Faulting package full name:
Faulting package-relative application ID:


Trying to run 6-1 to measure the letter box on The Hunger Games. Thanks!!

coopzr
20th June 2025, 16:04
I know how to edit an RPU to add variable L5, but how do I generate DV with variable L5?

Kuler087
20th June 2025, 16:16
I'm clearly missing something stupid. If anyone can shed any light on what I'd be most appreciative. Sorry if this has already been answered.


Faulting application name: AvsPmod.exe, version: 2.7.5.5, time stamp: 0x4918017b
Faulting module name: avisynth.DLL, version: 3.7.5.0, time stamp: 0x6805a882
Exception code: 0xc0000005
Fault offset: 0x000000000011ab10
Faulting process id: 0xCBF4
Faulting application start time: 0x1DBE1F198137B75
Faulting application path: D:\DoVi_scripts\tools\AvsPmod\AvsPmod.exe
Faulting module path: C:\WINDOWS\SYSTEM32\avisynth.DLL
Report Id: 755b43aa-00cd-4b43-ac50-34973fca280b
Faulting package full name:
Faulting package-relative application ID:


Trying to run 6-1 to measure the letter box on The Hunger Games. Thanks!!

Did you install avisynthplus?

https://github.com/AviSynth/AviSynthPlus/releases/download/v3.7.5/AviSynthPlus_3.7.5_20250420_vcredist.exe

Kuler087
20th June 2025, 16:19
I know how to edit an RPU to add variable L5, but how do I generate DV with variable L5?

I do it in resolve.
https://drive.google.com/drive/u/0/folders/1rXUfhEgNvPdntbNl3EJ8D4rHG4XNSy8x

1- import scene cuts in resolve https://www.youtube.com/watch?v=KVx01kCLLS8
2- go shot by shot and adjust blanking per clip https://www.youtube.com/watch?v=FVSh3oGqfXY
3- export XML and convert to rpu.
4- transfer L5 (2-3)

SamuriHL
20th June 2025, 16:19
Did you install avisynthplus?

https://github.com/AviSynth/AviSynthPlus/releases/download/v3.7.5/AviSynthPlus_3.7.5_20250420_vcredist.exe

Yup. Definitely didn't miss that step. I reinstalled it last night to make sure I was on the latest version.

Kuler087
20th June 2025, 16:21
Can you launch avspmod in
\DoVi_Scripts\tools\AvsPmod\AvsPmod.exe

Kuler087
20th June 2025, 16:25
Do you have an older version of the tool pack? the old avspmod version doesn't work with the latest avisynthplus

SamuriHL
20th June 2025, 16:37
I may. I'll try grabbing the latest. I'm not able to launch avspmod.exe, that's what triggers the error I posted earlier. I worked around the problem for now by finding the crop values another way. I'm exporting my first DV xml! :)

SamuriHL
20th June 2025, 17:40
Updating tools fixed it. Sorry for the distraction. Thanks again for your amazing work! Watching The Hunger Games now. Not a great test as it's like 500 nits max but still the process worked! Time to upgrade to Resolve 20. Any Dolby changes we should be aware of in 20?

Kuler087
20th June 2025, 17:51
Glad it worked :)

no change for our dv workflow in v20

wyup
20th June 2025, 20:19
CM also has an option to calculate L6 MaxCLL/FALL, but the script doesn’t use it because it creates values with decimals that dovi_tool couldn’t convert to RPU directly. It would be easy to fix, but I just don’t care enough about L6.
I do care about L6 MaxCLL/FALL because it is 'as per the blu-ray document', precisely what I want and it produces a xml file to extract the values, no need to convert to RPU, no problem with decimals. This way I don't have to do 3-1 and then 6-3, plus it's not L6. Why create a Dovi file when all I need is to CM plot?

There should be a new Plotter option to Dolby cm_analyse L6 with automated Prores conversion and manual/auto crop.

Kuler087
20th June 2025, 20:31
Just edit the script and add the L6 cmd here:

https://i.ibb.co/ZzfkjT5q/Windows-Terminal-8v-Ckiy-CYXG.png

Kuler087
20th June 2025, 20:59
Actually, I just tried the latest dovi_tool and XML +L6 with decimal now works...

Added in the latest beta (3-1):
https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=drive_link

coopzr
21st June 2025, 04:36
Do you think you could show the words "Dynamic L5" in the summary if workflow 1 input has a variable L5?

Kuler087
21st June 2025, 04:55
no, but you can use the metafier for that.

https://i.ibb.co/FkKLjBM3/Windows-Terminal-k9-I1-DA4-SKS.png

coopzr
22nd June 2025, 23:42
Oh, awesome, thats easy.

Just been having a look at metafier and I've found that cm-analyze and resolve produce slightly different DV. The L1 plot is also slightly different.

18975

Have you noticed this?

Kuler087
23rd June 2025, 00:35
yes and it doesnt matter.

wyup
23rd June 2025, 12:09
Actually, I just tried the latest dovi_tool and XML +L6 with decimal now works...

Added in the latest beta (3-1):
https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=drive_link

I'm doing 3-1 from that beta on a HDR10 video and it is running madMeasureHDR.exe instead of cm_analyse!:angry:
I want to do a cm_analyse pass with L6 to get MaxCLL and MaxFALL.
And it's talking a super long time, and not converting to ks ProRes, just reading .hevc...
Doesn't cm_analyse need ProRes source?

Kuler087
23rd June 2025, 12:27
CM_analyze cannot detect scene cuts, so madVR is used first to generate them. Then, the video is converted to ProRes, and CM performs its analysis.
If you want to skip scene cut detection, enable frame-by-frame analysis in the settings.

:: choose if you want to force frame by frame analysis in 3-1 (default = NO)
set force.FBF=NO

wyup
25th June 2025, 13:26
CM_analyze cannot detect scene cuts, so madVR is used first to generate them.
set force.FBF=NO
By curiosity, how does madVR detect and generate scene cuts and why is it necessary for cm_analyze in 3-1? Dolby Vision generation is independent of madVR, isn't it?

Kuler087
25th June 2025, 14:00
madVR has its own scene cut detection algorithm(worse than Resolve algo). CM and all versions of the Dolby algorithm (Resolve, Transkoder, etc.) do not include scene detection and require an external shot list generated by a third-party tool (automatically or manually).
Just enable CM frame-by-frame analysis to bypass the shot list.

wyup
25th June 2025, 14:59
SDR is not really 100 nits, it is a convention for minimum requirements for a SDR set. Never in the history of television has been 100 nits a hard limit nor a mastering requirement of SDR content. It has been attributed to approx 100 nits in the 2010s to compare it with HDR.

SDR is a relative system. It can scale to whatever brightness capacity.
100 nit is a convention for its minimum viewing requirements. According to Wikipedia source Flatpanels link it "assumes" a max of around 80-120 nits (or cd/m2) and a minimum (black depth) of around 0.05 cd/m2 (or 0.1 nits according to others) for living room TVs. Or as it says "able" to represent a maximum of 100 nits of old CRT displays, but not modern displays.

In reality, wikipedia defines SDR as Rec.709 or sRGB color gamut and gamma curve. Gamma curve is about 2.2 or 2.4 of BT.1886 for HD. There is no nits or cd/m2 requirement.

When placing SDR into a HDR container to compare both sources, we are hard limiting SDR to inferior dynamic range than it is capable, be 100 nits, and not representative of the potential of the image.
I insist, when grading SDR for mastering, there is no requirement to do it at 100 nits or viewing at 100 nits. 100 nits is a minimum assumption for SDR capability, not for a mandate requirement for reproduction.

When converting SDR to HDR by Dovi Script 6-2 Plotter function, script is doing an AviSynth Convert Format to YUV420P10 from Rec709 to Rec2020 and then ffmpeg conversion to ProRes. Yes, it places SDR into 100-nit value for PQ, but that follows the previous "convention" of plotting SDR to 100 nits. In reality, inverse tone-mapping should be applied to compare to the destination PQ range. I.e: if the HDR content is under x nits, SDR sould be inverse tonemapped with Bt.2446 for example to same average nits and placed into the HDR container at that similar dinamic range for comparison. That is because we don't see or need to see SDR content at 100 nits, we see it at whatever brightness we see fit. Same as HDR. Therefore if we are evaluating HDR and SDR source content we need to equalize them at the same dinamic range for a meaningful comparison. As i said, 100 nit is not a requirement for SDR viewing at all. Nobody said movies are graded at 100 nits for SDR.

When a SDR plot shows a graph under 100-120 nits, that is because it has been converted to HDR beforehand, it is not a native measurement in SDR, and YCC 8-bit values are mapped from 235 to 100 nits.

Additionally, there is a mismatch when evaluating SDR stills from HDR using libplacebo library that tonemaps HDR to SDR from 0.202 to 203 nits by default, NOT 100. It is using a specific tonemapping for comparison. It is the same as converting SDR to HDR and placing in 100 nit range, it is a arbitrary decision about downmapping it. SDR can display its 8-bit range to more than a 100-nit image with great and correct results. The 100 nit range is a decision of the avisynth Convert function.

I will always be an advocate for SDR to HDR comparison with inverse tonemapping from SDR to HDR at the same average destination brightness of the source maximum brightness, using for example Bt.2446 tonemapping algorithm, which is in my opinion the best for well mastered content.

I don't think that placing SDR into HDR at 100 nits is leaving it 'untouched'. You are in practice limiting its dynamic range to a subset of destination range. 100 isn't appropiate in a PQ of 10,000 nits and 10 bits.

When filmakers choose to master their films at HDR PQ within 100-200 nits they are actually restricting available gradation of dynamic range. They could grade with the same results at 1,000 nits at the same source dinamic range, it will have more granularity or headroom. We forget that PQ at 10-nits is at the limit of perceived granularity for covering 10,000 nits, it has been said that 12-bit would be more appropiate. So it doesn't make sense to map a modern film to 100 nits, you are needlesly approacing that limit. Probably SDR at 10-bits has more granularity of dynamic range than 100 nits in PQ, when we don't have or need the highlights, as in celluloid. Bear in mind that commercial movies are graded at 12 bits in 2.6 gamma and about 48 nits of minimum requirement. Nits are not that important, what is important is the gradation of the available dynamic range.

Kuler087
25th June 2025, 15:21
Yes, I know all of this and the script does NOT limit the output to 100 nits!! You are incorrect and cleary don't understand how SDR is graded.
It places the content UNTOUCHED into an absolute HDR container without touching the original brightness. I literally have hundreds of SDR plots in my comparisons that show that, and it is all explained how SDR is elastic and relative to your TV brightness.

Do you see this SDR plot as capped at 100 nits? No and please do not start an argument about this here. I do not care about people's opinions who watch SDR on an uncalibrated TV with more than 120nits. I also do not care how HDR gets tone mapped to SDR by any algo.


https://i.ibb.co/9kJNkjfr/The-Mitchells-vs-the-Machines-2021-Kaleidescape-4-K-UHD-HDR-WEB-REVIEW-ANALYSIS-vs-1080p-BD-SDR-100ni.png

wyup
25th June 2025, 15:56
Yes, I know all of this and the script does NOT limit the output to 100 nits!!
It places the content UNTOUCHED into an absolute HDR container without touching the original brightness. I literally have hundreds of SDR plots in my comparisons that show that, and it is all explained how SDR is elastic and relative to your TV brightness.
Do you see this SDR plot as capped at 100 nits?

The SDR content is NOT untouched because you do a colorspace conversion to put it into PQ: you convert matrix coefficients from Rec.709 to rec.2020 and gamma curve from BT.1886 to PQ, and it maps luminance to PQ range to a limit.
If you look at the graph, average MaxCLL is consistent at 102 nits, which is probably the 235 white from SDR.
SDR content has superwhites above 235 luminance, that is why you see values over 100 nits, max 165 nits. That is why all SDR graphs fall under 160 nits. It is a limit of the colorspace conversion.

SDR at tv range is 16 to 235 values in luminance. That is mapped to PQ at around 100 nit range, it's not infinite. 100-160 nits is headroom, it doesn't mean much. It all comes from the 100-nit assumption of SDR from the colormap conversion.

The Average-Joe calibrated TV is meaningless. Nobody sees SDR at 100 nits, calibrated or uncalibrated.

Kuler087
25th June 2025, 16:12
The Average-Joe calibrated TV is meaningless. Nobody sees SDR at 100 nits, calibrated or uncalibrated.
sigh! ok, if you say so, but please stop, this is nonsense...
and BTW you can do the same SDR to HDR in Resolve, and the luminance reading and colors will be identical to my script.

wyup
26th June 2025, 13:00
In Resolve you can do many things. Excuse me, this is not nonsense, this is very relevant.
Mixed SDR and HDR sources are only meant in a HDR project when they are color managed, graded and they have similar average brightness.

It is ages since tvs have more than 100 nits. Evidently, movies in SDR are not meant to be watched at 100 nits and they don't need to be graded at 100 nits, because people watch them brighter. Your LG G5 tv shows SDR with so much brighness by default. You adjust it to taste and watches OK.

If you mix SDR mapped at around 100 nits with HDR masters with different brightness you can't assess picture quality gain because you're not watching them at the same average brightness and this makes evaluation confusing. Most movies will be brighter but that doesn't atomatically make them better. They're just brighter.

Kuler087
26th June 2025, 13:14
Saying that a TV calibrated to a target brightness (100–120 nits) can go brighter than that target is nonsense, yes. Clearly, you have no idea how SDR is graded, how it's calibrated, and how it's best viewed.
I do not care how you prefer watching SDR, and this is my last reply about this. Move on and stop following my YouTube comparisons and script if you're not happy. Or maybe go complain to the calibrators and colorists about how they've been calibrating and grading SDR incorrectly all these years, lol...

wyup
1st July 2025, 12:39
I don't appreciate your arrogance and disparaging attitude to what I say. You don't read any of my arguments, only say 'nonsense' and don't reason at all. I didn't mention any number of target brightness in particular
Saying that a TV calibrated to a target brightness (100–120 nits) can go brighter than that target is nonsense, yes. Clearly, you have no idea how SDR is graded, how it's calibrated, and how it's best viewed.

All tvs today show SDR by default higher than 100 nits. That's a fact. It's perfectly viewable and tv are tweaked to look good at maximum brrightness. Your top of the line G5 has 471 nits 100% window in SDR.
I don't think it will perform bad at all at 150 nits or higher instead.

For the n-th time, SDR is a relative brightness system, and in principle it's made to look good at whatever brightness you choose. Yes, Resolve and colorspace conversion functions map SDR to 100 nits into a HDR container, because they need to set a point, and 100 nits was kind of the standard for SDR, but it doesn't apply anymore with todays tvs and how people watch tv. It's pointless to watch SDR at 100 nits if you want or need more brightness. Doesn't matter how it was graded. It's made to look good at more brightness.

When you place SDR in a HDR container and watch on a HDR tv you almost always see SDR dimmer than HDR and that isn't representative of the dynamic range of SDR because for the tv you are making a HDR file with the dynamic range of the HDR video, MaxDML in practice for Samsung TVs, which is usually 1,000 nits. So you're placing 100 nits into 1/10 of the reserved curve of the tv, so SDR looks dim. Even if the tv takes MaxCLL, if it is 800 nits, you're using 1/8 of the range for SDR. To me, what it counts though for comparison is average brightness, which'd be MaxFALL avg. Ideally both SDR and HDR should present similar average brightness prior to comparison, and that would consist of transposing the SDR to a similar level. Yeah, that's tough, but I'm making my point. How are you going to compare 100 nit SDR to a 4,000 nit HDR version? You can't evaluate dynamic range between both. More average nits don't necessarily means higher dynamic range, only brighter.

I don't say your clips are nonsense as you say to me, and your scripts and channel are indeed good work. But I'm trying to make a point with a fair reasoning. And things are not black or white, no pun intended.

Sources:

BT.1886, the EOTF for SDR blu-rays:
https://www.wikiwand.com/en/articles/ITU-R_BT.1886
https://www.itu.int/rec/R-REC-BT.1886/en

Its definition doesn't mention 100-nits, just from V=0 to V=1. Only for a EOTF-CRT matching it sets 0.1 or 0.01 for black level and 100 nits for white. But it's for a alternative CRT approximation. We no longer live in the CRT age.

xooyoozoo
2nd July 2025, 02:49
My TV definitely does not like cmv2.9 4000 nit MDL and starts tonemapping out of the gate (based on your tv-led response test files (https://docs.google.com/spreadsheets/d/15i0a84uiBtWiHZ5CXZZ7wygLFXwYOd84/edit?gid=1289366200#gid=1289366200)). My TV starts tonemapping at ~1950 nits otherwise with cmv4 RPUs. I've started analyzing my collection to see which are 4k MDL cmv2.9 to see which to prioritize for generating cmv4.

Couple random questions:


If an RPU has no L2-1000 or L2-600 trims but has an L2-100, is that L2-100 still getting used for tonemapping purposes by a bright TV?
Is there any benefit to replacing L2 trims in generated cmv4 with the original L2 trims from cmv2.9?

Kuler087
2nd July 2025, 02:57
1. If the RPU MDL is higher than your TV target, yes, the 100-nits trim should not be used. So in your case, it doesn't use the 100-600nits trims when the RPU MDL is 1000nits. You can confirm with these: https://drive.google.com/drive/u/1/folders/1J-jBAHSgHlixq9Lkjc_p98JnvY8naE0X
2. No, and you should never mix metadata from different versions of the analysis algo

SamuriHL
3rd July 2025, 20:08
Can you describe in a bit of detail the output blanking in Resolve for titles that have multiple aspect ratios? Nolan films with IMAX scenes embedded within them is a great example. In your video you set the output blanking for the main aspect ratio but then it looks like you set it per scene for the IMAX shots? Not 100% sure how that works. Any hints would be appreciated. Thanks!

Kuler087
3rd July 2025, 20:22
Resolve blanking has two main options:

1- Timeline blanking

2- Per-clip (shot) blanking

You first set the timeline blanking to match the main aspect ratio of your project. Then, for any shots that have a different aspect ratio, you need to override the timeline blanking by applying per-clip blanking.

You don’t have to adjust each IMAX shot one by one. You can select a group (or even all) of the IMAX shots and use your mouse wheel to copy the grade (which includes the blanking) to all selected shots.

As shown in the video, for this grade/blanking copy-paste method using the mouse wheel to work, you must be outside of the blanking page. If you're inside the blanking edit page, you won’t be able to copy or paste the data.

SamuriHL
3rd July 2025, 22:38
Thanks for that. I have a couple I'll try it on maybe this weekend and see how that goes. Really loving the results so far of this process, though!

Eikichi
12th July 2025, 14:45
Hi all,

I've been using dovi_scripts for a while now and I have a question.
I use it mainly because I have an LG OLED that only supports Dolby Vision via MP4 files.

To fix this, I use dovi_script gui.
I put one of my Dolby Vision MKVs in it, select MP4 output, and simply click on dovi_muxer, and that's it.
I end up with a working Dolby Vision MP4 that actually launches Dolby Vision mode once I play it on my TV.

But it seems surprisingly too easy to me, so I'd like to know if this is really the right method to do it?
Is the MP4 file I get really a Dolby Vision file, or does it trigger the mode on my TV but it's not "real" Dolby Vision?

Thanks to anyone who takes time to explain this to me. :thanks:

Kuler087
13th July 2025, 02:40
But it seems surprisingly too easy to me, so I'd like to know if this is really the right method to do it?
Is the MP4 file I get really a Dolby Vision file, or does it trigger the mode on my TV but it's not "real" Dolby Vision?


Yes, it's real Dolby Vision. MP4 is just a container. It has better compatibility with internal TV players, but it doesn't affect the Dolby Vision metadata itself.

dkangel
14th July 2025, 10:14
hello
i have a question, some p7 FEL remux have black bars but L5 are 0/0/0/0
is it normal ? do i to correct it ?
thank you

Kuler087
14th July 2025, 11:46
yes some releases have incorrect L5. You can correct it if you want.

dkangel
14th July 2025, 12:38
thank you
it seems that some releases have also incorrect L5 276/277 instead of 277/277
my plans are to buy an am6b and i've learn by you that this player is sensible to L5 :)

Kuler087
14th July 2025, 12:59
yep, I see that often.

ralberti
14th July 2025, 18:49
Hi all,

I have the latest DoVi Scripts (3.0.7) I followd the installation instructions and installed also the needed additional tools. I did not change anything in the settings of the script file. I am trying to perform a conversion from P7 to P8 (option 4-1) but the result is a file in HDR10 format instead of DV P8. I am not sure if I am doing something wrong. Can you help me to figure out what may be the problem. This is the Log Information given by the script:

===============
- INPUT INFO -
===============

L5 Left offset: 0
L5 Right offset: 0
L5 Top offset: 276
L5 Bottom offset: 277
Enhancement Layer: FEL
L2 trims: 100 nits
DoVi source min_pq: 50 nits
DoVi source max_pq: 4000 nits
HDR10 BL input MDL: min: 0.0050 cd/m2, max: 4000 cd/m2
HDR10 BL MDP: Display P3
Resolution: 3840 x 1604 @ 23.976

WARNING. WARNING. WARNING.
Profile 7 with Full Enhancement Layer (FEL) detected...
The output could be wrong if FEL expand the brightness...
SEE: https://docs.google.com/spreadsheets/d/15i0a84uiBtWiHZ5CXZZ7wygLFXwYOd84/edit?gid=828864432#gid=828864432

Presione una tecla para continuar . . .
tsMuxeR version git-7f8667d. github.com/justdan96/tsMuxer
B-pyramid level 1 detected. Shift DTS to 2 frames
0.0% complete
Decoding AC3 stream (track 2): Bitrate: 224Kbps Sample Rate: 48KHz Channels: 2
Decoding TRUE-HD stream (track 3): TRUE-HD. Peak bitrate: 3189Kbps Sample Rate: 48KHz Channels: 8
Decoding PGS stream (track 4): Resolution: 1920:1080 Frame rate: 23.976
Decoding PGS stream (track 5): Resolution: 1920:1080 Frame rate: 23.976
0.8% complete
Decoding PGS stream (track 6): Resolution: 1920:1080 Frame rate: 23.976
Decoding PGS stream (track 7): Resolution: 1920:1080 Frame rate: 23.976
44.1% complete
TRUE-HD stream (track 3): bad frame detected at position00:49:32,943. Resync stream.
Decoding TRUE-HD stream (track 3): TRUE-HD. Peak bitrate: 3507Kbps Sample Rate: 48KHz Channels: 8
96.8% complete
TRUE-HD stream (track 3): bad frame detected at position01:49:21,432. Resync stream.
Decoding TRUE-HD stream (track 3): TRUE-HD. Peak bitrate: 3879Kbps Sample Rate: 48KHz Channels: 8
100.0% complete
Processed 167628 video frames
100.0% complete
Flushing write buffer
Demux complete.
Demuxing time: 10 min 14 sec
converting and injecting RPU...
Rewriting file with interleaved EL NALUs..

=================
- MUXING TO MKV -
=================

mkvmerge v91.0 ('Signs') 64-bit
'D:\DoviScripts 3.0.7\videofile_P8.hevc': Using the demultiplexer for the format 'HEVC/H.265'.
'D:\DoviScripts 3.0.7\videofile.mkv': Using the demultiplexer for the format 'Matroska'.
'D:\DoviScripts 3.0.7\videofile_P8.hevc' track 0: Using the output module for the format 'HEVC/H.265 (unframed)'.
'D:\DoviScripts 3.0.7\videofile.mkv' track 1: Using the output module for the format 'AC-3'.
'D:\DoviScripts 3.0.7\videofile.mkv' track 2: Using the output module for the format 'text subtitles'.
'D:\DoviScripts 3.0.7\videofile.mkv' track 3: Using the output module for the format 'TrueHD'.
'D:\DoviScripts 3.0.7\videofile.mkv' track 4: Using the output module for the format 'HDMV PGS'.
'D:\DoviScripts 3.0.7\videofile.mkv' track 5: Using the output module for the format 'HDMV PGS'.
'D:\DoviScripts 3.0.7\videofile.mkv' track 6: Using the output module for the format 'HDMV PGS'.
The file 'D:\DoviScripts 3.0.7\videofile_DV.mkv' has been opened for writing.
'D:\DoviScripts 3.0.7\videofile_P8.hevc' track 0: Extracted the aspect ratio information from the video bitstream and set the display dimensions to 3840/1604.
The cue entries (the index) are being written...
Multiplexing took 14 minutes 12 seconds.
Deleting TEMP folder...


Start time: 11:08:33,80
End time: 11:53:19,54
Time taken: 0:52:46

The script has been completed. Do you want to quit or go back to main menu (q or m default=q)?


Kind Regards

Kuler087
14th July 2025, 19:20
set the display dimensions to 3840/1604
TRUE-HD stream (track 3): bad frame detected at position00:49:32,943. Resync stream.


looks like there are issues with your input. This workflow is meant for untouched P7 remux

Black Ops
14th July 2025, 22:14
Off topic question but thought i might aswell ask an expet. In your opinion what is the best way to convert a 4k hdr video to SDR? which algorithm is "good enough". Most 4k releases are HDR but some people dont have good HDR tv and SDR looks better. Of course if the rip has dolby vision you can extract the SDR 100 nit grade and you are good to go. But in cases where there is only a hdr10 stream, its not possible to do so

Kuler087
14th July 2025, 22:46
For those without original DV metadata. I generate a 100nits trim in Resolve with the balanced tuning and a slight raise in gamma and gain(bit too dark otherwise).
If it's too much work, then use libplacebo (8-2-2)

https://i.ibb.co/H1RpkVG/chrome-wx-RIk-DO2-VD.gif

Gatorman3385
15th July 2025, 04:44
For those without original DV metadata. I generate a 100nits trim in Resolve with the balanced tuning and a slight raise in gamma and gain(bit too dark otherwise).
If it's too much work, then use libplacebo (8-2-2)

Is a Dolby Vision Trim license required to use the trim controls? That option in not enabled for me. I'm using the paid version of Resolve Studio.

https://imgur.com/ygXjE6M.png

Kuler087
15th July 2025, 12:09
yes Trims Control requires a license.
check your pm

Gatorman3385
16th July 2025, 22:35
Are these trim adjustment suggested for DV to SDR when there is original DV metadata?

Kuler087
16th July 2025, 22:38
No, only when you generate from scratch. I don’t think you can edit original or imported metadata in Resolve.

The original imported metadata contains all the trim adjustments made during the color grading process by the colorist, so the artistic intent is preserved 100%.

wyup
18th July 2025, 13:06
Hi, what's the difference between these workflows when converting from DV HDR to SDR, apart from x265 and PRORES codecs?
Is Dolby CM_Offline DV Trim Pass delivery an advantage? Doesn't 8-2-2 account for trims?

8-2-2 X265: HDR to SDR (DVP7/DVP8/DVP5/HDR10/HLG)
8-2-4 PRORES: DV to SDR (Dolby CM_Offline DV Trim Pass delivery)

I tried 8-2-4 but had to stop the script because it was using huge amounts of storage in ProRes 422 HQ, 700 Mbps or so. Can I change the output codec and bitrate for 8-2-4?

Kuler087
18th July 2025, 13:13
8-2-2 uses libplacebo for SDR tone mapping and completely ignores the Dolby Vision trims.

8-2-4 can deliver any original Dolby Vision trim pass, but this workflow requires a ProRes input and also outputs to ProRes, so it needs a lot of storage space. It also suffers from the same slow performance bug as CM_analyze (3-1), which is why I’ve never actually used it. Resolve is much faster (https://www.youtube.com/watch?v=lM56zLpKDQ8)and achieves the same quality.

wyup
18th July 2025, 16:04
Cool. By curiosity, is the cm-analyze bug still present on latest May 5.6.1 version of Dolby Tools?
As a personal quest, I'd like to compare libplacebo BT.2446A HDR10 to SDR tonemapping to DV automatic 'balanced' own.
I believe BT.2446A woud be more appropiate for this task than libplacebo's default BT.2390.

It apprears that DoVi Scripts libplacebo uses an Avisynth 'wrapper' or 'plugin interface' avs_libplacebo 1.5.2 version from dec 2023 that comes itself from an older Vapoursynth one, while ffmpeg builds will use a more recent snapshot like v7.351.0-21-g686ed7e for now. Being a library in continous development it would make sense to use latest version.
Why doesn't Avisyth release more up to date versions of its libplacebo wrapper?

Kuler087
18th July 2025, 16:39
Yes the slow performance bug is still present in the latest version but this version did fix the crash I was getting on Windows 11 PC.

libplacebo has many different tone mapping modes and you can test any of them(and more) with DoVi_Scripts. lines 104-113

:: choose if you want to use dynamic peak detection in 7-2 / 7-1 / 8-2-2 true or false (default= false) true or false, see info here: https://github.com/Asd-g/avslibplacebo?tab=readme-ov-file#tone-mapping
set peak_detect=false
:: choose the SDR tone mapping function for 7-2 / 7-1 / 8-2-2 (default = bt2390) choices are: "clip", "st2094-40", "st2094-10", "bt2390", "bt2446a", "spline", "reinhard", "mobius", "hable", "gamma", "linear", "linearlight" see info here: https://github.com/Asd-g/avslibplacebo?tab=readme-ov-file#tone-mapping
set tone_mapping_function=bt2390
:: choose the SDR tone mapping mode in 7-2 / 7-1 / 8-2-2 choices are: (default = perceptual") "perceptual", "softclip", "relative", "saturation", "absolute", "desaturate", "darken", "highlight", "linear" see info here: https://github.com/Asd-g/avslibplacebo?tab=readme-ov-file#tone-mapping
set gamut_mapping_mode=perceptual
:: This helps block out annoying "sparkling" or "flickering" due to small variations in frame-to-frame brightness for the SDR tone mapping mode in 7-2 / 7-1 / 8-2-2 (default=20.0) see info here: https://github.com/Asd-g/avslibplacebo?tab=readme-ov-file#tone-mapping
set smoothing_period=20.0
::Which percentile of the input image brightness histogram to consider as the true peak of the scene for the SDR tone mapping mode in 7-2 / 7-1 / 8-2-2 (default=99.995) see info here: https://github.com/Asd-g/avslibplacebo?tab=readme-ov-file#tone-mapping
set percentile=99.995

vapoursynth vs avisynth version, I don't know, but I don't think anything changed regarding the HDR to SDR tone mapping.

ralberti
19th July 2025, 07:47
looks like there are issues with your input. This workflow is meant for untouched P7 remux

Thanks for you answer. The error you are mentioning is in an audio track not in video. But I tried a lot of different files, below another example without apparent error messages. The thing is that if I process the same video file with an older version of the script (version 3.0.0) it works great and the output is an DV P8 file, but with the 3.0.7 version the output is an HDR10 file. That why I asume that it is not a problem with the video file itself and that something is working different in version 3.0.7.


============
- P7 TO P8 -
============

-------------------------------------------------------------------------------------
--Convert any P7 file to profile 8
--Input can be MKV/TS/M2TS/MP4/BDMV/MPLS/RPU
--Tutorial: https://youtu.be/sBUL2gjhqEE?list=PLFGpkrmX_eOL2Dre1ZyIJP2uMtcQYH8ql
-------------------------------------------------------------------------------------

Drag and drop a P7 DV file (BDMV folder/mpls or m2ts/ts/mkv/mp4) and press enter...
"D:\DoviScripts 3.0.7\video DV7.mkv"
WARNING: Output path "D:\DoviScripts 3.0.7" has only 85GB of free space. Processing large file may not work....
Do you want to convert the audio to DDP? (default= n )

--> YES= y
--> NO= n
n

Reading input tracks format/id/language...
Done.
tsMuxeR version git-7f8667d. github.com/justdan96/tsMuxer
HEVC muxing fps is not set. Get fps from stream. Value: 23.976
B-pyramid level 1 detected. Shift DTS to 2 frames
0.3% complete
Flushing write buffer
Demux complete.
Demuxing time: 0 sec
Parsing RPU file...
Exporting serialized RPU list...
Done.


===============
- INPUT INFO -
===============

L5 Left offset: 0
L5 Right offset: 0
L5 Top offset: 0
L5 Bottom offset: 0
Enhancement Layer: MEL
L2 trims:
DoVi source min_pq: 50 nits
DoVi source max_pq: 4000 nits
HDR10 BL input MDL: min: 0.0001 cd/m2, max: 1000 cd/m2
HDR10 BL MDP: BT.2020
Resolution: 3840 x 2160 @ 23.976
Output Path Free Space: 85gb


tsMuxeR version git-7f8667d. github.com/justdan96/tsMuxer
B-pyramid level 1 detected. Shift DTS to 2 frames
0.0% complete
Decoding AC3 stream (track 2): Bitrate: 256Kbps Sample Rate: 48KHz Channels: 5.1
Decoding AC3 stream (track 3): Bitrate: 256Kbps Sample Rate: 48KHz Channels: 5.1
Decoding PGS stream (track 5): Resolution: 1920:1080 Frame rate: 23.976
0.4% complete
Decoding PGS stream (track 4): Resolution: 1920:1080 Frame rate: 23.976
100.0% complete
Processed 238900 video frames
100.0% complete
Flushing write buffer
Demux complete.
Demuxing time: 10 min 15 sec
converting and injecting RPU...
Rewriting file with interleaved EL NALUs..

=================
- MUXING TO MKV -
=================

mkvmerge v91.0 ('Signs') 64-bit
'D:\DoviScripts 3.0.7\video DV7_P8.hevc': Using the demultiplexer for the format 'HEVC/H.265'.
'D:\DoviScripts 3.0.7\video DV7.mkv': Using the demultiplexer for the format 'Matroska'.
'D:\DoviScripts 3.0.7\video DV7_P8.hevc' track 0: Using the output module for the format 'HEVC/H.265 (unframed)'.
'D:\DoviScripts 3.0.7\video DV7.mkv' track 1: Using the output module for the format 'AC-3'.
'D:\DoviScripts 3.0.7\video DV7.mkv' track 2: Using the output module for the format 'AC-3'.
'D:\DoviScripts 3.0.7\video DV7.mkv' track 3: Using the output module for the format 'text subtitles'.
'D:\DoviScripts 3.0.7\video DV7.mkv' track 4: Using the output module for the format 'text subtitles'.
The file 'D:\DoviScripts 3.0.7\video DV7_DV.mkv' has been opened for writing.
'D:\DoviScripts 3.0.7\video DV7_P8.hevc' track 0: Extracted the aspect ratio information from the video bitstream and set the display dimensions to 3840/2160.
The cue entries (the index) are being written...
Multiplexing took 15 minutes 50 seconds.
Deleting TEMP folder...


Start time: 22:42:08,46
End time: 23:30:21,69
Time taken: 0:48:21

The script has been completed. Do you want to quit or go back to main menu (q or m default=q)?


Kind regards,

Kuler087
19th July 2025, 13:19
Your log from the other day shows that your video is not an untouched P7 remux. The resolution is cropped, which means the video was re-encoded.
Even if it worked on older versions for whatever reason, the output will still be incorrect.

ralberti
19th July 2025, 16:48
Your log from the other day shows that your video is not an untouched P7 remux. The resolution is cropped, which means the video was re-encoded.
Even if it worked on older versions for whatever reason, the output will still be incorrect.

Yes the one I posted the other day was sort of a corrupt file and does also not work correctly on older versions, but the one I posted today is working on older versions producing a correct DV P8.1 profile but with the new script version an HDR10 file.

Kuler087
19th July 2025, 16:58
Please, give me a sample so I can reproduce it.

ralberti
19th July 2025, 20:58
Please, give me a sample so I can reproduce it.

I think I found it after a lot of time executing step by step both scripts and found that after job.4.1.1 in the demux section they behave different due to the value of the variable %ffmpeg_pipe% (OLD script=YES; NEW script=NO). So the old script goes over the :skip.demux way while the new over the :skippipe way. I change the advanced settings where ffmpeg_pipe is set by default to NO to YES and was able to convert to a DV P8.1 file like with the old script.

I now wonder why it does not work with the ffmpeg_pipe=NO option.

Kuler087
19th July 2025, 21:13
Unless you provide a sample, I can’t tell you.
The old FFmpeg pipe demuxing mode is faster than mkvextract, but also riskier. I’ve seen some processed files get broken because of FFmpeg.

ralberti
20th July 2025, 11:00
Unless you provide a sample, I can’t tell you.
The old FFmpeg pipe demuxing mode is faster than mkvextract, but also riskier. I’ve seen some processed files get broken because of FFmpeg.

I've send you a PM with a link to a sample file.

Kind regards

Kuler087
20th July 2025, 13:32
Your file Enhancement Layer hevc is empty with a frame-by-frame RPU. I'm not sure why ffmpeg piping is still able to process the file, but it doesn't appear to be an original P7 rip.

Gatorman3385
22nd July 2025, 02:12
Is there a way to add DV metadata at 24fps to a video file at 23.976fps?

Kuler087
22nd July 2025, 02:31
There is no frame order difference between 23.976 and 24fps. Just sync the metadata as usual.

Gatorman3385
26th July 2025, 04:33
I remember a while back the default bitrate for EAE eac3 7.1 was changed to 1028 from 1536. Plex has made changes to EAE to fix choppy for high bitrate audio. I have a version from 2022. Might it be worth trying the latest version? What was the reason for lowering the default bitrate?

Kuler087
26th July 2025, 04:57
EC3 1536kbps didn't play well on the Sony X800m2 (and webos kodi IIRC)

danny2576
26th July 2025, 12:15
Hello
Can DoVi Profile 5 be converted to Profile 8 ?

Thanks

Kuler087
26th July 2025, 14:28
Yes, workflow 8-2-1. (Re-encoding is required).

danny2576
26th July 2025, 15:30
Thanks

Gatorman3385
27th July 2025, 04:29
When playing the Fel Test St DI P7 CMv4 4000nits test file on my am6b+, I don't see the CMv4.0 messages. It just stays on CMv2.9 messages. This is a TV compatibility issue, correct?

Kuler087
27th July 2025, 05:47
You mean the osd?

I have more cmv4.0 test files here:
https://drive.google.com/drive/u/1/folders/1BD0FBOjBnf5gu-sUi5U4BUeyGDQEGJuF

Gatorman3385
28th July 2025, 23:06
I wasn't able to add pictures at the time and struggled to find the right words. The OSD displays cmv4.0 correctly. Here's what I see. VLC on PC is first, followed by am6b+. Both are at the 29 sec mark. I'll try the other test files.

https://imgur.com/QTss87i.png

https://imgur.com/GkwZiUj.png

Kuler087
28th July 2025, 23:11
This test file is designed specifically for testing FEL. It freezes after the Level 2 test.
To properly test CMv4.0, use the test files I linked in my previous response.

dkangel
29th July 2025, 20:13
Hello,
i found a hybrid version of the star wars movies
i have the mesaage that there are consecutive frames
so i'm using scene cut edit and remove scene cut flag
here is what i have
have i to delete scene cut 1 to 15 so it wil be 0 16 40
or delete 1 to 16 so it will be 0 40 ?

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
40
88
133
313
317
350
534
759
.....


Thank you to help my ignorance

Edit : second question, how do i know if a tv can play cmv4.0 ? or is it the player ?

Kuler087
29th July 2025, 21:02
Yes select to remove 15 cuts when asked. This doesn't really matter or affect quality, though. You can leave it like this. These consecutive cuts happen when you duplicate frame 0 to sync the metadata.
Always duplicate frame 1, not frame 0 which is almost always a scene cut frame. Dovi_scripts duplicate frame one by default FYI, so this hybrid was not done with my scripts.

You can check cmv4.0 support with this file. If supported, there will be visible brightness changes when the metadata changes.
https://drive.google.com/file/d/1TzYzbhgEVwfFxaL2ZoRcJxAXc4m9Eqbo/view?usp=drive_link

https://i.ibb.co/m5SqVSQ4/Application-Frame-Host-Akg-TAtriy-Q.gif

dkangel
29th July 2025, 21:12
i'm looking for a new tv with dolby vision so that's why i'm asking if the cmv4.0 is player dependant or tv dependant
if it's tv dependant i want to know if the tv is cmv4.0 capable before buying
i can't test your video file until then

and thank you for your explanation about consecutive scene cuts, it's very clear !!!

Kuler087
29th July 2025, 21:19
both the player and TV must support it...
All the TVs made after 2019 support cmv4.0

dkangel
29th July 2025, 21:24
both the player and TV must support it...
All the TVs made after 2019 support cmv4.0

ah ok so nothing to worry with a new tv from 2025 and a am6b+

thank you !!!!!!

Gatorman3385
29th July 2025, 23:40
All the TVs made after 2019 support cmv4.0

I have a Hisense 58R6E3 (not a great TV) manufactured in April of 2021, and do not see any brightness changes with these test files. Is it likely I have a "unicorn" TV, or are there other variables I could look into?

Kuler087
29th July 2025, 23:45
That's strange. I have a cheap Hisense TV too (from 2022, I think) and it supports CMV 4.0

Gatorman3385
2nd August 2025, 16:46
I'm getting an error when trying to shorten then inject an RPU to an HDR file. It's with the edits2.json.
Converting Profile 5 RPU to Profile 8...
Done.

Editing L5... Left=0, Right=0, Top=42, Bottom=42
Error: No RPU found
Done.

Error: The system cannot find the file specified. (os error 2)
Missing operand.
Missing operand.

Video/RPU framecount mismatch. Duplicating frame =, -= times...
Error: expected value at line 4 column 15
Done.
The json doesn't have any values.

{
"duplicate": [
{
"source": =,
"offset": =,
"length": -=
}
]
}


Am I missing something?

Kuler087
2nd August 2025, 17:00
I dont know. Looks like a problem with your rpu, it even fails to edit L5.
Hard to tell without the full log and ''echo on'' though...

Gatorman3385
2nd August 2025, 17:02
Thanks. When I try to just use dovi_tool to convert the RPU from P5 to P8, I get the error
Error: Condition failed: `self.max_display_mastering_luminance <= MAX_PQ_LUMINANCE` (23040 vs 10000)

I'll dig deeper with "echo on"

Kuler087
2nd August 2025, 17:18
Looks like your rpu has invalid L6 metadata.

Gatorman3385
2nd August 2025, 17:22
I see. Thank you.

Fuso
7th August 2025, 22:03
Ok, so... I decided to "play" and think out-of-the-box.
I've demuxed ST-DL 7.6 file and muxed it to Profile 6 (no longer supported).
From this:
Dolby Vision, Version 1.0, Profile 7.6, dvhe.07.06, BL+EL+RPU, no metadata compression, Blu-ray compatible / SMPTE ST 2086, Version HDR10, HDR10 compatible
to this:
Dolby Vision, Version 1.0, Profile 6.1, dvhe.06.06, BL+EL+RPU, no metadata compression, HDR10 compatible / SMPTE ST 2086, Version HDR10, HDR10 compatible
Then played it through Plex on my LG C2 and to my suprise the file played fine showing Dolby Vision.
Then I've downloaded both FEL test - FEL TEST ST DL P7 CMV2.9 4000nits V3 and FEL TEST ST DL P7 CMV4.0 4000nits V3.
Tried the same but didn't show "THIS DEVICE CAN DECODE FEL". :(

Kuler087
7th August 2025, 22:57
Right, the last LG TV to support FEL(internal apps) is the C9. Every TV made since 2020 discards the EL and only processes the RPU

You have to bake FEL to P8(8-2-1) if you want your C2 internal player to show the "THIS DEVICE CAN DECODE FEL"

coopzr
15th August 2025, 23:38
My L2 and L8 plots are freaking out all of a sudden. For every film.
https://i.ibb.co/WNPw1BTT/The-Pitt-S01-E01-Do-Vi-L8-PLOT-100nits-trim.png (https://ibb.co/TDbS5PCC)

Kuler087
15th August 2025, 23:44
https://github.com/R3S3t9999/DoVi_Scripts/issues/67

danny2576
16th August 2025, 10:58
Hello,
How can I change the command-line parameters for x265 conversions?
I use cpu conversions and I need CRF18 and to enable hevc-aq mode. I would also like to be able to resize 4k content to 1080p resolution (for Plex storge)

Thank you
Danny

Kuler087
16th August 2025, 14:47
Yes, all the encoding settings and downscaling options are at lines 139-178.
FYI, in the latest beta (https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=drive_link), I added a new workflow(8-2-7) for aq_strenght/mode testing

https://i.ibb.co/5XB3JyXv/explorer-j-Pmuhi81r9.png

danny2576
17th August 2025, 12:00
Thanks

MoonKnight
18th August 2025, 14:36
Hello, @Kuler087

Any idea why when injecting an RPU in format .xml or .bin that was made with resolve at @24.000

after injection dovi_tool and metafier reports a change the framerate at 23.976

Copyright (c) 2013-2025 Dolby Laboratories, Inc. All Rights Reserved
08/18/2025/14:27:08.730000000 Metadata: INFO Validation Summary:
=========================
Metadata version: "5.1.0"
Level254 CMVersion: 4 1
Aspect Ratios (Canvas - Image): 1.77778 - 2.39402
Frame Rate: 23.976fps

how can i fix this bug ? it should stay like I made it, at 24 and not changed at 23.976 after injection

Kuler087
18th August 2025, 14:53
if you input a RPU, the default frame rate will be 23.976 because a binary file doesn't have a framerate.
Add ''24FPS'' in the filename and it should convert it to a 24fps XML.

For video input, it should be able to read the framerate automatically.

MoonKnight
18th August 2025, 15:00
if you input a RPU, the default frame rate will be 23.976 because a binary file doesn't have a framerate.
Add ''24FPS'' in the filename and it should convert it to a 24fps XML.

For video input, it should be able to read the framerate automatically.

my xml is already in 24 fps, I made it with resolve, resolve give me a good RPU xml at 24, metafier can confirm this.

But when I inject to BL.hevc
and use your script and give the rpu.xml at 24

after injection it becomes 23.976

its a bug,

But I can leave it like that ?

Kuler087
18th August 2025, 15:07
What file are you running in metafier exactly?

if you input the injected video and if your video framerate is 24fps(according to mediainfo), then the script should export a 24fps XML and metafier will report 24fps
if you input the injected RPU file (not XML), you have to specify the framerate in the filename because, as I said, a binary file doesn't have a frame rate and the script will fallback to 23.976.

MoonKnight
18th August 2025, 15:26
Yes, thank you, I did more testing, I had :

- BL.hevc
- RPU.xml

I renamed like this

BL24FPS.hevc
RPU24FPS.xml

and bug was fixed, but first metafier reports still show 23.976 (the one after injection 1-1)

but to be sure, I extracted again the RPU entirely and used metafier on it and it was good 24 fps

badshah
19th August 2025, 06:36
I used DoVi_Scripts_MKV.bat to experiment with DV baking on a sample mkv video which contains FEL.

but it does not show extracting EL or indexing EL as part of the process and simply doing RPU to P8 conversion and injecting.

I have copied this from CMD on a second attempt where it directly starts encoding after extracting BL and indexing.
No Nvidia GPU detected, enabling FFMS2 decoding

Do you want to crop? (default=n)

--> YES= y
--> NO= n
n


Reading input tracks format/id/language...
Done.
Indexing, please wait... 100%
Writing index... done.
Extracting track 0 with the CodecID 'V_MPEGH/ISO/HEVC' to the file 'D:\BD\DoVi.Scripts\temp.folder31\BL.hevc'. Container format: HEVC/H.265 elementary stream
Progress: 100%
Reordering metadata... Done.

=============================SCRIPT==============================================================================
LoadPlugin("D:\BD\DoVi.Scripts\tools\FFMS2\ffms2.dll")
LoadPlugin("D:\BD\DoVi.Scripts\tools\avs_libplacebo.dll")
LoadPlugin("D:\BD\DoVi.Scripts\tools\avsresize_r21\x64\Release\avsresize.dll")
FFVideoSource("D:\BD\DoVi.Scripts\DV_FEL_Sample.mkv", cachefile="D:\BD\DoVi.Scripts\temp.folder31\indexed.video.ffindex")
=================================================================================================================
D:\BD\DoVi.Scripts>if not "NO" == "YES" if not "0" == "2" "D:\BD\DoVi.Scripts\tools\x265.exe" --crf 15

Kuler087
19th August 2025, 08:41
Are you sure the input is FEL?

badshah
19th August 2025, 09:16
Are you sure the input is FEL?
yes, input file has BL+EL+RPU, EL is FEL

badshah
19th August 2025, 09:27
I tried another source and it's working fine, so most likely it's the problem with the earlier source. thanks for your script and sorry to waste time on above post :/

en6ads
19th August 2025, 23:00
Which method is better to create a Profile 8.1 from a P7 FEL source to play back on non-FEL devices? What are the strengths and weaknesses of each?
-Bake BL and FEL with workflow 8-2-1
-Use CM_Analyze on the BL HDR10 with workflow 3-1

Or, if it's known the FEL does not elevate combined BL+FEL brightness so the RPU can work for just the BL, What P8.1 workflow can just discard the P7 FEL? How can we tell if the FEL elevates overall brightness?

Thank you.

Edit: I should add I'm keeping the FEL source files for home theater playback (I have a couple of Ugoos CE CPM). My interest in correct FEL P8.1 conversion is for playback on Dolby Vision laptops / ipads etc...

Kuler087
19th August 2025, 23:11
-Bake BL and FEL with workflow 8-2-1
This re-encodes the video, so if you don’t use proper settings, visual quality can be lost.

Use CM_Analyze on the BL HDR10 with workflow 3-1
This leaves the video untouched, but if it’s graded beyond your TV’s capabilities, you’ll miss the artistic trims that fine-tune the tone mapping.

If FEL doesn’t change the brightness, then discarding the EL and converting the RPU to P8 is fine.
You can find out if FEL changes the brightness with workflow 7-1. Usually, the ones that do will have a 4000-nit MDL for the DV RPU and a 1000-nit MDL for the HDR10 base layer.

en6ads
20th August 2025, 23:29
but if it’s graded beyond your TV’s capabilities, you’ll miss the artistic trims that fine-tune the tone mapping.


Are you referring to the BL or EL grade?

For example, I create CM4.0 from HDR10 content. Almost all of it is 1000 nits P3 HDR10. My DV laptop is 675nits. So tone mapping required. Are you saying this workflow 3-1, the CDM_analyze L2 and L8 trims will be missed because MDL is greater than 675 nits?

I think what I am asking is: Will the CM4.0 generated from CM_Analyze from the HDR10 base layer look as good as the combined BL+FEL CM2.9 RPU from the studio on Laptops and Ipads (say ~1000 nits max).
I fully understand on a G5 you need the 4000 nits EL to make use of the TV's brightness. But for ipads and laptops? Wouldn't the CM4.0 from the 1000nits base layer be enough?

Kuler087
20th August 2025, 23:44
BL
When you replace the original metadata with generated metadata, you lose the artistic trims. The L8 trim(s) are created manually, shot by shot, by the colorist on the mastering display, just like the HDR master itself.
When you generate DV, the L8 trim is either blank or absent, and only L1+L3 handle the tone mapping.

en6ads
21st August 2025, 03:43
BL
When you replace the original metadata with generated metadata, you lose the artistic trims. The L8 trim(s) are created manually, shot by shot, by the colorist on the mastering display, just like the HDR master itself.
When you generate DV, the L8 trim is either blank or absent, and only L1+L3 handle the tone mapping.

OK thanks. Baking FEL preserves the original RPU with colorists trims, while generating a new one from HDR10 does not. It sounds like baking is the way to go.

thank you.

Edit: Is Resolve Studio much quicker at baking vs 8-2-1?

Kuler087
21st August 2025, 03:50
resolve can't bake fel

Kuler087
23rd August 2025, 04:44
3.0.8 released:



https://github.com/R3S3t9999/DoVi_Scripts/releases

CHANGES:

- DoVi_Tool.exe (https://github.com/quietvoid/dovi_tool/releases/download/2.3.1/dovi_tool-2.3.1-x86_64-pc-windows-msvc.zip) must be updated to the latest version
- Added a prompt to specify the qscale value for ProRes encoding
- Added a prompt to specify the analysis tuning in 3-1 CM_analyze
- Added an option to bypass framecount check in workflow 1 for some rare cases when it doesnt work (default = NO) line 298
- Added an option to bypass HDD space check for some rare cases when it doesnt work (default = YES) line 300
- (6-4) Trims (L2/L8) plotter: Now supported natively in dovi_tool.exe (much faster). The old mode can still be enabled in the settings (line 222). Default = NEW
- (2-3) Dovi_tool can now transfer cmv4.0 to cmv2.9 natively.
- NEW (8-2-7): Added a new workflow for compression settings comparisons (aq-mode, aq-strength, psy-rdoq, psy-rd, qcomp etc...) settings at lines 188-203

en6ads
23rd August 2025, 16:20
Hi, quick question:
Mission Impossible Fallout UHD (changing aspect ratios in the IMAX scenes) shows a Level 5 of this in workflow 1:
L5 offset: TOP=N.A., BOTTOM=N.A., LEFT=N.A., RIGHT=N.A.

Does this mean there is no Level 5, or that the dynamic nature of it cannot be reported properly in workflow 1?

I tried to plot level 5 using workflow 5-5 but got this message: Input doesn't have L5 metadata, skipping...

Did the UHD disk did not come with Level 5? If not, is there a way to recreate it including the dynamic aspect ratio changes?

Edit: And if the disk did not come with level 5, does that mean the measurements in the RPU is for the whole screen, including all letterboxing?

coopzr
23rd August 2025, 16:31
OK thanks. Baking FEL preserves the original RPU with colorists trims, while generating a new one from HDR10 does not. It sounds like baking is the way to go.

thank you.

Edit: Is Resolve Studio much quicker at baking vs 8-2-1?

In case you or any other user needs instructions :)

Step 1: Extract DV from original_movie.mkv
Step 2: Bake FEL to ProRes using 8-2-3. This produces a prores.mov file that is essentially the HDR12 bit master. This file will be very large (upwards of 800GB sometimes!). If storage is limited, change qscale to 0 on line 168 (-qscale:v 1 --> -qscale:v 0). This should significantly reduce the size of the prores.mov, however, it may take twice as long to encode. There is no difference in quality between qscale 1 and 0.
Step 3: Rename original_movie_RPU.bin to the same file name as the prores.mov (and same path too)
Step 4: Run 3-1 on the prores.mov, using the same MDL and scene cuts as the original DV. If you did step 3 correctly, it will automatically grab the scene cuts from the original RPU. You cannot make your own scene cuts or force FBF using this method. This will produce a generated_RPU.bin
Step 5. Use 2-3 to transfer levels 12389 from generated_RPU.bin to original_movie_RPU.bin. This produces a transferred_RPU.bin
Step 6: Inject transferred_RPU.bin into original_movie.mkv using workflow 1.

Hope this helps!

Kuler087
23rd August 2025, 16:33
Edit: And if the disk did not come with level 5, does that mean the RPU is for the whole screen, including all letterboxing?
yes

Hi, quick question:
Mission Impossible Fallout UHD (changing aspect ratios in the IMAX scenes) shows a Level 5 of this in workflow 1:
L5 offset: TOP=N.A., BOTTOM=N.A., LEFT=N.A., RIGHT=N.A.

Does this mean there is no Level 5, or that the dynamic nature of it cannot be reported properly in workflow 1?

I tried to plot level 5 using workflow 5-5 but got this message: Input doesn't have L5 metadata, skipping...

Did the UHD disk did not come with Level 5? If not, is there a way to recreate it including the dynamic aspect ratio changes?





Yes, that means the RPU doesn’t have any L5.

I’ve already created the proper L5 metadata for this movie. You can edit your RPU with this JSON. Just rename the JSON file to match the RPU (and place it in the same path), then run Workflow 1.

{
"mode": 0,
"active_area": {
"presets": [
{
"id": 0,
"left": 0,
"right": 0,
"top": 277,
"bottom": 277
},
{
"id": 1,
"left": 0,
"right": 0,
"top": 67,
"bottom": 67
},
{
"id": 2,
"left": 0,
"right": 0,
"top": 171,
"bottom": 171
}
],
"edits": {
"0-33428": 0,
"33429-38332": 1,
"38333-38412": 2,
"38413-38951": 1,
"38952-161534": 0,
"161535-161990": 1,
"161991-162028": 0,
"162029-162103": 1,
"162104-162594": 0,
"162595-163439": 1,
"163440-164082": 0,
"164083-166526": 1,
"166527-166623": 0,
"166624-166689": 1,
"166690-166851": 0,
"166852-166943": 1,
"166944-167008": 0,
"167009-167113": 1,
"167114-167181": 0,
"167182-167324": 1,
"167325-167448": 0,
"167449-168595": 1,
"168596-169024": 0,
"169025-171447": 1,
"171448-172543": 0,
"172544-172954": 1,
"172955-175358": 0,
"175359-176799": 1,
"176800-179240": 0,
"179241-179711": 1,
"179712-180450": 0,
"180451-181791": 1,
"181792-183440": 0,
"183441-185508": 1,
"185509-186612": 0,
"186613-191299": 1,
"191300-191689": 0,
"191690-191817": 1,
"191818-192111": 0,
"192112-192227": 1,
"192228-192747": 0,
"192748-193181": 1,
"193182-193993": 0,
"193994-194580": 1,
"194581-212065": 0
}
}
}

en6ads
23rd August 2025, 17:01
Yes, that means the RPU doesn’t have any L5.

I’ve already created the proper L5 metadata for this movie. You can edit your RPU with this JSON. Just rename the JSON file to match the RPU (and place it in the same path), then run Workflow 1.


Wow thank you for sharing!
If the RPU is missing Level 5 by mistake, and the trims in RPU are meant to tone map excluding the letterboxes, then injecting it would be great.

However, if level 5 was omitted by design, does that mean the colorist graded the movie, and the trims are meant to include the letterboxing during tone mapping? If this is the case then injecting the dynamic level 5 data would create an incorrect RPU?

Or does it not matter?
Thanks again.

Kuler087
23rd August 2025, 17:17
All Blu-ray players and HDMI devices on the market, except for the custom Ugoos, ignore L5 (and positive lift) and always apply tone mapping to the entire image, letterbox included.

All DV metadata, except for “trims positive lift offsets,” has no effect on the letterbox. And even if the colorist applies a slight positive lift, as long as the Dolby 0.0025 limit is respected, the letterbox will remain unaffected.

In other words, L5 is essentially useless during playback, but when active, it allows the positive lift to work.

No L5 at all is technically incorrect.

You can test the relationship between positive lift and L5 with these test files:
https://drive.google.com/drive/folders/1LbuwBDZj5x3i1bdbAntsZlr5CiYJ9KKj?usp=drive_link

en6ads
23rd August 2025, 17:54
Thank you. Ok, I'll go ahead and inject your level 5 which will allow the trims to properly pass to the TV and be used.

Much appreciated.

All Blu-ray players and HDMI devices on the market, except for the custom Ugoos, ignore L5 (and positive lift) and always apply tone mapping to the entire image, letterbox included.

All DV metadata, except for “trims positive lift offsets,” has no effect on the letterbox. And even if the colorist applies a slight positive lift, as long as the Dolby 0.0025 limit is respected, the letterbox will remain unaffected.

In other words, L5 is essentially useless during playback, but when active, it allows the positive lift to work.

No L5 at all is technically incorrect.

You can test the relationship between positive lift and L5 with these test files:
https://drive.google.com/drive/folders/1LbuwBDZj5x3i1bdbAntsZlr5CiYJ9KKj?usp=drive_link

coopzr
24th August 2025, 00:04
Do you think we will ever see a cmv2.9 L2 --> cmv4.0 L8 conversion tool?

I hope one day we can keep old L2 artistic trims when converting to cmv4.0. A man can only dream...

Kuler087
24th August 2025, 01:14
No. The trims are created based on what the colorist sees from the default analysis tone mapping, and the metadata in a CMv2.9 workflow is calculated differently than in a CMv4.0 workflow.

Metafier has an option to update a CMv2.9 XML to CMv4.0, but it doesn’t actually recalculate anything; IIRC, it simply adds the 10/100-nit floor to L1 that CMv4.0 has.

en6ads
24th August 2025, 02:34
@coopzr thanks for sharing these instructions.
What is the end goal of these steps?

I'm not sure it helps me, If I understand the steps correctly? You generate a new RPU from the HDR12 ProRes (taking scene cuts from original RPU) and transfer these new generated levels back to the original RPU? My goal is to create a single layer P8.1. How do these steps achieve that?

Thanks again, appreciate your help.

In case you or any other user needs instructions :)

Step 1: Extract DV from original_movie.mkv
Step 2: Bake FEL to ProRes using 8-2-3. This produces a prores.mov file that is essentially the HDR12 bit master. This file will be very large (upwards of 800GB sometimes!). If storage is limited, change qscale to 0 on line 168 (-qscale:v 1 --> -qscale:v 0). This should significantly reduce the size of the prores.mov, however, it may take twice as long to encode. There is no difference in quality between qscale 1 and 0.
Step 3: Rename original_movie_RPU.bin to the same file name as the prores.mov (and same path too)
Step 4: Run 3-1 on the prores.mov, using the same MDL and scene cuts as the original DV. If you did step 3 correctly, it will automatically grab the scene cuts from the original RPU. You cannot make your own scene cuts or force FBF using this method. This will produce a generated_RPU.bin
Step 5. Use 2-3 to transfer levels 12389 from generated_RPU.bin to original_movie_RPU.bin. This produces a transferred_RPU.bin
Step 6: Inject transferred_RPU.bin into original_movie.mkv using workflow 1.

Hope this helps!

coopzr
24th August 2025, 03:15
@coopzr thanks for sharing these instructions.
What is the end goal of these steps?

I'm not sure it helps me, If I understand the steps correctly? You generate a new RPU from the HDR12 ProRes (taking scene cuts from original RPU) and transfer these new generated levels back to the original RPU? My goal is to create a single layer P8.1. How do these steps achieve that?

Thanks again, appreciate your help.

Sorry, those were instructions for generating a P7 FEL RPU. This way avoids having to encode x265 (takes a really long time).

To bake FEL and generate P8, do the following:
Step 1: Bake FEL to HDR x265 using 8-2-1. This will produce a HDR12 bit x265 (HEVC) master. There will be a slight loss of quality unless you use the right settings (unlike the previous method, which is lossless). This will take a very long time (days on my system). It should automatically convert the P7 RPU to P8.
Step 2: If you need to generate new DV, use 3-1. Another benefit of this method is that you can use your own scene cuts for force frame-by-frame if needed.

en6ads
24th August 2025, 04:08
Sorry, those were instructions for generating a P7 FEL RPU. This way avoids having to encode x265 (takes a really long time).


Isn't the RPU from a FEL disk already a FEL RPU? Surely it's not a base layer only RPU.

coopzr
24th August 2025, 05:05
Isn't the RPU from a FEL disk already a FEL RPU? Surely it's not a base layer only RPU.

The DV in a FEL disk is the RPU + EL.

My first instructions was how to generate new DV for a FEL movie (as 4000nit MDL cmv2.9 is broken on many displays) losslessly. (Sorry, should have clarified it was to generate new, cmv4.0 DV)

My second instructions was how to bake the EL into the HDR10 base layer so that you can have a P8 RPU (single layer). This way leaves the DV untouched.

coopzr
24th August 2025, 05:08
Metafier has an option to update a CMv2.9 XML to CMv4.0, but it doesn’t actually recalculate anything; IIRC, it simply adds the 10/100-nit floor to L1 that CMv4.0 has.

Does this fix the 4000nit cmv2.9 bug?

Kuler087
24th August 2025, 13:19
Does this fix the 4000nit cmv2.9 bug?

nop...

dkangel
25th August 2025, 20:34
Hi
I have more questions for your endless knowledge of DV :)
I saw your video to generate dv from hdr with resolve.
You told some guy that it's will be useless if your tv have enough nits.
So first question is : i have plan to buy TCL 75C8K TV, it's 5000 nits peak brightness , is it worth to generate DV or HDR is enough ?
I'm ready to generate dv for all my hdr movie but "est-ce que ca en vaut la peine ?" i know you speak french and my english is bad...
Second question : my second plan is to buy ugoos am6, so what to do with remux who have wrong L5 ? either N.A. or 0/0 instead of 277/277 for example...
L5 is useless with all the hdmi player but with the ugoos ?
Thank you

Kuler087
25th August 2025, 23:06
yes, DV tone mapping is useless for 99% of the movies on a 5000nits TV. It still can be useful if your TV has issues in HDR10 like my G5.

L5 + ugoos: it doesn't matter much because even if it's missing or incorrect, the ugoos output will still be accurate. So save your HDD life and avoid the editing/injecting/remuxing

en6ads
26th August 2025, 17:14
Does this fix the 4000nit cmv2.9 bug?

@coopzer, @Kuler087,

Do you generate CM4.0 (either 3-1 or in Resolve) for all your CM2.9 4000nit MDL UHD that do not have a web streaming CM4.0 RPU that can be used?

Or do you just keep the CM2.9 and accept the darker image?

I have an LG C4.

Many thanks.

Kuler087
26th August 2025, 17:29
Yes, I generate new metadata for any CMV2.9 4000-nit movie. I just can't accept any dimming for low-nit content on a 2500-nit G5 TV.

Did a bunch of comparisons with cmv2.9 4000nits content that can be displayed without any tone mapping on my G5:

https://slow.pics/c/ou5rw0zy?canvas-mode=fit-height
https://slow.pics/c/RcJlcJ4w?canvas-mode=fit-height
https://slow.pics/c/1mW5gzyv?canvas-mode=fit-height
https://slow.pics/c/96SmJmjF?canvas-mode=fit-height
https://slow.pics/c/SjaFh5i1

And I have many real DV examples here that show how 2.9 + 4000nits dims for no reason:
https://drive.google.com/drive/folders/1g5I-z_sJmVu-SAIPNiiSlcdMiy2ka0mf

dkangel
26th August 2025, 17:34
yes, DV tone mapping is useless for 99% of the movies on a 5000nits TV. It still can be useful if your TV has issues in HDR10 like my G5.

L5 + ugoos: it doesn't matter much because even if it's missing or incorrect, the ugoos output will still be accurate. So save your HDD life and avoid the editing/injecting/remuxing

Thank you so much for your help, you save me a lot of useless work :)

PS : So some hi-models TV with 6000-7000 nits and DV capable are in a way a non sense ? Except with a 10000 nits movie but there doesn't exist i think

Kuler087
27th August 2025, 00:07
PS : So some hi-models TV with 6000-7000 nits and DV capable are in a way a non sense ? Except with a 10000 nits movie but there doesn't exist i think

Not completely because a lot of Blu-rays have the full enhancement layer encoded at 4000+ nits, while the HDR10 base layer is a trim pass of the HDR12 master (1000 nits or even 600 nits), so brighter TVs benefit more from those discs in DV. But when it comes to tone mapping with dynamic metadata, yeah, it’s pretty much useless on a bright TV.

https://i.ibb.co/S708Bc8f/xnviewmp-An-Gnbo-GBp-L.gif

coopzr
27th August 2025, 04:28
@coopzer, @Kuler087,

Do you generate CM4.0 (either 3-1 or in Resolve) for all your CM2.9 4000nit MDL UHD that do not have a web streaming CM4.0 RPU that can be used?

Or do you just keep the CM2.9 and accept the darker image?

I have an LG C4.

Many thanks.
I have an LG C4 as well. I will never use a CMV2.9 4000nit MDL due to the brightness hit.
There is a very slight dimming with every other MDL with a CMV2.9 RPU. Unless the movie is already very dark I will usually take this tiny brightness hit.

Thank you so much for your help, you save me a lot of useless work :)
Don't sleep on the benefits of FEL!
Check out this banger of a video https://youtu.be/iKUf2GpqoeU ;)

dkangel
27th August 2025, 15:53
Not completely because a lot of Blu-rays have the full enhancement layer encoded at 4000+ nits, while the HDR10 base layer is a trim pass of the HDR12 master (1000 nits or even 600 nits), so brighter TVs benefit more from those discs in DV. But when it comes to tone mapping with dynamic metadata, yeah, it’s pretty much useless on a bright TV.

https://i.ibb.co/S708Bc8f/xnviewmp-An-Gnbo-GBp-L.gif

Thank you for your explanation, always full of interesting things :)

Xillix
29th August 2025, 01:35
This may be a dumb question, but -

Is there a way to get the workflow 7-1 DoVi screenshot baker to output images without the text in the top left corner? Couldn't find anything related in the batch file.

Kuler087
29th August 2025, 01:45
Of course, line 131

::choose if you want OSD information in your screenshot for 7-1 / 7-2 / 7-3 (default= YES)
set screenshot_OSD=YES

en6ads
29th August 2025, 17:07
Coincidentally I have been testing best practice with this movie!
So now in my Jellyfin server for this movie I have: unaltered CM2.9 FEL UHD rip; P7 FEL with generated CM4.0; Baked FEL P8.1 generated CM4.0. I use the P7 CM4.0 on Ugoos, and the single layer CM4.0 on DV laptops and ipads.

It's a lot of work, but now I have what I like. Thank you for your guidance and help.


Not completely because a lot of Blu-rays have the full enhancement layer encoded at 4000+ nits, while the HDR10 base layer is a trim pass of the HDR12 master (1000 nits or even 600 nits), so brighter TVs benefit more from those discs in DV. But when it comes to tone mapping with dynamic metadata, yeah, it’s pretty much useless on a bright TV.

https://i.ibb.co/S708Bc8f/xnviewmp-An-Gnbo-GBp-L.gif

en6ads
13th September 2025, 04:02
Workflow 8 - 2 - 6:
I'm interested in converting my FEL movies to ICtCp Dolby Vision P5. Should be the best way to preserve as much of the 12 bit BL+FEL as possible when a single layer is required.
But it says I need the DEE.exe encoder. I don't have this.

Is anyone here doing this? Do you like the results? Did you pay for a license? Is it worth it? Can I get it free somewhere?

TR-9970X
13th September 2025, 07:39
Workflow 8 - 2 - 6:
I'm interested in converting my FEL movies to ICtCp Dolby Vision P5. Should be the best way to preserve as much of the 12 bit BL+FEL as possible when a single layer is required.
But it says I need the DEE.exe encoder. I don't have this.

Is anyone here doing this? Do you like the results? Did you pay for a license? Is it worth it? Can I get it free somewhere?

You can get DEE here:-

https://customer.dolby.com/content-creation-and-delivery/dolby-encoding-engine-with-dolby-ac-4-v521

As best I can remember, you have to sign up to gain access to these tools, (and other Dolby stuff) it's free. (to sign up, that is)

However, come to think of it, I had to get these elsewhere :(

Kuler087
13th September 2025, 13:37
the dolby encoding engine (https://professional.dolby.com/product/media-processing-and-delivery/dee--dolby-encoding-engine/)(DEE) is not free.
Also, script 8-2-6 uses FFmpeg ProRes, which doesn’t support 12-bit encoding, so even though the DoVi Baker output is 16-bit RGB, the 12-bit data from the FEL is lost during ProRes encoding. The solution would be to use JPEG 2000, but I haven’t found a way to produce files compatible with DEE in FFmpeg.

The encoding quality is as good as x265.exe, if you edit the Dolby Python script to use CRF and custom settings as explained in the workflow notes (their default settings are terrible: no wonder many streaming platforms have worse DV encoding than HDR10). Overall, I find DEE’s HEVC compression slower and less efficient.

en6ads
13th September 2025, 15:13
OK thanks for letting us know. I'll stick with workflow 8 - 2 - 1 for now if the 12 bits FEL data is lost. Hopefully you can find a 12-bit solution in the future!



the dolby encoding engine (https://professional.dolby.com/product/media-processing-and-delivery/dee--dolby-encoding-engine/)(DEE) is not free.
Also, script 8-2-6 uses FFmpeg ProRes, which doesn’t support 12-bit encoding, so even though the DoVi Baker output is 16-bit RGB, the 12-bit data from the FEL is lost during ProRes encoding. The solution would be to use JPEG 2000, but I haven’t found a way to produce files compatible with DEE in FFmpeg.

The encoding quality is as good as x265.exe, if you edit the Dolby Python script to use CRF and custom settings as explained in the workflow notes (their default settings are terrible: no wonder many streaming platforms have worse DV encoding than HDR10). Overall, I find DEE’s HEVC compression slower and less efficient.

tormento
13th September 2025, 20:10
I keep on getting the error:

Calculating per shot MaxFALL threshold...
usage: Percent.target.py [-h] -i INPUT -t THRESHOLD -m {over,under}
Percent.target.py: error: the following arguments are required: -m/--mode
usage: Percent.target.py [-h] -i INPUT -t THRESHOLD -m {over,under}
Percent.target.py: error: the following arguments are required: -m/--mode
usage: Percent.target.py [-h] -i INPUT -t THRESHOLD -m {over,under}
Percent.target.py: error: the following arguments are required: -m/--mode
usage: Percent.target.py [-h] -i INPUT -t THRESHOLD -m {over,under}
Percent.target.py: error: the following arguments are required: -m/--mode
usage: Percent.target.py [-h] -i INPUT -t THRESHOLD -m {over,under}
Percent.target.py: error: the following arguments are required: -m/--mode
Done.

Calculating per shot MaxCLL threshold...
usage: Percent.target.py [-h] -i INPUT -t THRESHOLD -m {over,under}
Percent.target.py: error: the following arguments are required: -m/--mode
usage: Percent.target.py [-h] -i INPUT -t THRESHOLD -m {over,under}
Percent.target.py: error: the following arguments are required: -m/--mode
usage: Percent.target.py [-h] -i INPUT -t THRESHOLD -m {over,under}
Percent.target.py: error: the following arguments are required: -m/--mode
usage: Percent.target.py [-h] -i INPUT -t THRESHOLD -m {over,under}
Percent.target.py: error: the following arguments are required: -m/--mode
usage: Percent.target.py [-h] -i INPUT -t THRESHOLD -m {over,under}
Percent.target.py: error: the following arguments are required: -m/--mode
Done.

usage: maxcll.shot.finder.py [-h] -i INPUT -m {max,min}
maxcll.shot.finder.py: error: the following arguments are required: -m/--mode
usage: maxcll.shot.finder.py [-h] -i INPUT -m {max,min}
maxcll.shot.finder.py: error: the following arguments are required: -m/--mode
Deleting TEMP folder...

I have python installed with all the requirements that I've found in the requirements.txt around the directories.

Any idea?

Kuler087
13th September 2025, 20:40
It looks like you’re using older versions of Percent.target.py and maxcll.shot.finder.py alongside the latest script version. Replace them with these, but you should probably update your entire tools folder.

https://drive.google.com/drive/folders/1LIzRvPi_uXQQi7t3qK9mFHCXGDZBdmyv?usp=sharing

tormento
13th September 2025, 22:55
It looks like you’re using older versions
It's the last version of the complete package.

It happens when running HDR10 Plotter. I haven't tested the others as I don't use them.

Kuler087
13th September 2025, 23:20
Are you using the latest script version? At some point, those two files that calculate the HDR10 measurement stats were updated with a new CLI (--mode) and the error message you get tells you that this new cli is missing. (the following arguments are required: -m/--mode)

tormento
14th September 2025, 15:56
Are you using the latest script version? At some point, those two files that calculate the HDR10 measurement stats were updated with a new CLI (--mode) and the error message you get tells you that this new cli is missing. (the following arguments are required: -m/--mode)
Would be possible that the bug is originated from Windows Terminal set as default instead of normal command prompt? How can I debug it?

Kuler087
14th September 2025, 16:21
I dont know, but the error clearly shows that it's a missing argument(--mode) for the Python script that was added in later versions of the main script. I don't see how you can have the latest script bat + tools pack and get this error.

en6ads
14th September 2025, 18:06
How can I create screenshot comparisons comparing original BL+FEL vs Baked FEL encodes without and NVidia GPU? I tried 7-2 but it says FEL processing disabled because I don't have an NVidia GPU.
Thank you.

Kuler087
14th September 2025, 18:19
The problem is that without an NVIDIA GPU, the script has to use FFMS2 for frame indexing. For some reason, this is incredibly slow when exporting each frame one by one because it re-parses the entire video every time a new frame is requested.

In 8-2-1, this isn’t really a problem because the parsing happens only once and then the encoding proceeds normally. But in the screenshot workflows, I use AviSynth’s trim function with a separate AviSynth script for each frame (to ensure frame accuracy). As a result, for every new frame to export, the whole video is parsed again with ffms2, which makes the process extremely slow and adds a lot of wear on the HDD/SSD.

7-2 FEL processing is disabled for non-nvidia GPU setups, but I think 7-1 isn’t. Instead, it forces ‘quick mode’ when no NVIDIA GPU is detected. This way, the script doesn’t have to parse the entire video for each frame; it parses only a smaller 20-minute sample. Not ideal but better than nothing I guess...

en6ads
15th September 2025, 19:42
7-1 works for FEL without nvidia, but only the first 10 minutes (even if "full mode" is chosen, not quick mode).

To make a comparison I need to: Split the files into 10 minute sections in mkvtoolnix, then 7-1 the FEL file, then 7-2 the FEL baked encode file. And hope the frames match.




7-2 FEL processing is disabled for non-nvidia GPU setups, but I think 7-1 isn’t. Instead, it forces ‘quick mode’ when no NVIDIA GPU is detected. This way, the script doesn’t have to parse the entire video for each frame; it parses only a smaller 20-minute sample. Not ideal but better than nothing I guess...

Kuler087
15th September 2025, 19:51
right , quick mode is forced for non-NVIDIA GPU.

you can delete '& set quickFEL=q' at line 14889 but expect the process to be very slow.

if %errorlevel%==1 echo No Nvidia GPU detected, enabling FFMS2 decoding and forcing quick mode because otherwise the process is too slow & set force_ffms2=YES& set quickFEL=q

Korbus
16th September 2025, 14:41
Hey @R3S3t, when using 7-5 for creating FEL vs BL video comparison, are there anywhere in the config file options to manually set the timestamps for that 19-min quick clip and to pick the frames to be measured/exported outside of that 1000-10000 default interval? I'm asking because in certain movies the algorithm happens to select mostly dark or some fast-moving scenes, where either the difference in brightness between FEL and BL is very small or non-existant (whereas it's significant in bright, daylight scenes), or you can't make much of what's displayed (fast-moving scenes). Thanks in advance for any answer.

Kuler087
16th September 2025, 15:19
Just enter the frames you want manually, and make sure you don’t select any frames after the 19-minute mark if you’re using quick mode. Regardless of the interval, auto mode can and will output random frames that may be blurry or too dark.

You can change the auto-selected frames at line 19,484.

if /i "%mode%"=="a" set quickmode=q& set frame1=2000& set frame2=5000& set frame3=10000& set frame4=15000& set frame5=20000& set frame6=25000& set frame7=27000& set frame8=23000& set frame9=17000& set frame10=7500& goto :LOOP.FELBL.SAMPLES

Korbus
16th September 2025, 15:30
Thanks!

coopzr
20th September 2025, 05:02
@Kuler087

Please remind me again how to generate DV with variable L5? Is this possible in Dovi.Scripts or only in Davinci Resolve?

Kuler087
20th September 2025, 14:46
You have to use Resolve. In my tutorial, it is a movie with variable AR.

Gatorman3385
20th September 2025, 18:32
When converting a file from DV with variable L5 and original metadata to SDR, is it necessary to set the correct blanking within Resolve?

Kuler087
20th September 2025, 19:16
I’m not sure if the dynamic blanking gets imported into Resolve. If it doesn’t, you’ll need to use the values from the IMAX shots; otherwise, the delivery file will crop them.
As for how much it affects SDR tone mapping, I have no idea.

DaMacFunkin
21st September 2025, 08:26
I have just attempted to Dovi Bake a P7 FEL title to P8 with Prores, option 8-2-3 and I get a 683gb MOV file that doesn't contain any DV or HDR flags.
The original file is only 43gb, I am using default Prores settings, do I need to change something first?

If I convert the same Movie with 8-2-1 using Nvenc the file converts properly and at a Normal size.

Kuler087
21st September 2025, 13:44
It's normal. ProRes is an intermediate format for video editing; it's not intended for playback.
If you load it into Resolve or other editing software, it will appear as HDR.

DaMacFunkin
21st September 2025, 22:08
It's normal. ProRes is an intermediate format for video editing; it's not intended for playback.
If you load it into Resolve or other editing software, it will appear as HDR.Ok, so to bake P7 FEL to P8.1 just use Nvenc?

Kuler087
21st September 2025, 23:05
yes 8-2-1 x265.exe or nvenc

en6ads
21st September 2025, 23:47
Profile 10 support possible?

Do you think you may support profile 10 in the future? I tried workflow 1 ("INJECT / EDIT / EXTRACT / INFO / VALIDATE") on a P10 file but it came back saying it's HDR10 only, nothing to do.

Format/Info : AOMedia Video 1
Format profile : Main@L5.0
HDR format : SMPTE ST 2086, Version 1.0, dav1.10.08, BL+RPU, no metadata compression, HDR10 compatible / Dolby Vision, HDR10 compatible / SMPTE ST 2086, HDR10 compatible

Kuler087
22nd September 2025, 00:31
i dont think dovi_tool support av1 yet

dkangel
22nd September 2025, 09:28
Hello
Just a question, with older version of dovi_script qscale was 4 by default for prores encoding, now it's 1
Can you explain why ?
Thank you

Kuler087
22nd September 2025, 11:59
I have just changed the default to the value I use most often.
For HDR to SDR conversion, I use 1
For just generating DV, I use 4

dkangel
22nd September 2025, 12:12
I have just changed the default to the value I use most often.
For HDR to SDR conversion, I use 1
For just generating DV, I use 4

Thank you
1 is better quality then 4 i think so no problem to use 1 also for generating DV by default. Correct ?

Kuler087
22nd September 2025, 12:24
yes but using 1 just for generating DV is a waste of time and space.

dkangel
22nd September 2025, 12:31
yes but using 1 just for generating DV is a waste of time and space.

ok file will be smaller with 4

thank you very much

dkangel
2nd October 2025, 14:50
Hello
I see that Davinvi Resolve 20 is available, do you know if the upgrade worth it just for generate DV ?

Kuler087
2nd October 2025, 15:26
No change related to DV generation in v20.

dkangel
2nd October 2025, 15:48
thank you

Z2697
3rd October 2025, 17:34
Will the videos look visually different after baking? I mean apart from the more accurate scene light level and other playback related things.

Kuler087
3rd October 2025, 17:47
The difference between the BL and EL can be anything. For example in LaLa Land (https://slow.pics/c/m1rRrqSQ), the colors are very different with FEL. In Watchmen (https://slow.pics/c/xlpglnYA), the black get raised with FEL.
In Annihilation (https://slow.pics/c/yBmeMXtA), FEL uncrush the black.

Those are IMO, studio errors and usually, FEL just improves compression or increases brightness or does nothing.

en6ads
5th October 2025, 04:13
I've been playing with Cavernize and the newly released TrueHDD (https://github.com/truehdd/truehdd). It can take a TrueHD Atmos track from a UHD and convert it to Dolby Atmos Master Format (DAMF). This can be read by Davinci Resolve and also the free Dolby Atmos Conversion Tool - however this only converts to either: .atmos, .rpl, .wav(ADM BWF), or .mxf(IMF IAB).

So we can now edit Atmos tracks from the TrueHD Atmos while preserving the Atmos.

The last step I need to find is how to convert DAMF to DDP Atmos without having to pay the $400 per year for Dolby Encoder Engine. One can hope a free solution can be reverse engineered soon. Or do you know of a way?
Thank you.

Kuler087
5th October 2025, 12:41
No, I dont know.

Gatorman3385
5th October 2025, 16:12
The last step I need to find is how to convert DAMF to DDP Atmos without having to pay the $400 per year for Dolby Encoder Engine. One can hope a free solution can be reverse engineered soon. Or do you know of a way?
Thank you.

Look into AWS. There's a small fee for storage and processing.

https://youtu.be/0oEEiR9fRoQ?si=NEFLvFggay0SCfUt

en6ads
5th October 2025, 19:53
Look into AWS. There's a small fee for storage and processing.

https://youtu.be/0oEEiR9fRoQ?si=NEFLvFggay0SCfUt

This looks great. Might be what i'm looking for. I'll test it out and report back.

Gatorman3385
6th October 2025, 23:22
TrueHDD + DEE + Deezy seems to work for me. Without an Atmos speaker setup I can't test it. However, Cavern does show objects moving through a 9.1.6 virtual space.

It may be possible without Deezy, but I don't know the correct DEE syntax.

Hellboy.
8th October 2025, 22:35
@Kuler087
I tried bake FEL for the first time and the process got stuck. What could be the problem?

Donate: https://www.paypal.com/donate/?hosted_button_id=6ML5KUZG9XGB6 Date: 10/07/2025 10:57 PM
Contact: R3S3T_9999@proton.me Version: 3.0.8_MKV
Tutorials: https://www.youtube.com/playlist?list=PLFGpkrmX_eOL2Dre1ZyIJP2uMtcQYH8ql

WARNING! No EAE folder found, disabling 7.1 EC3 encoding (the script will still work correctly).... See line 395

WARNING! "E:\DoVi_Scripts_v3.0.8\tools\metafier.exe" not found. Disabling L2 trims removal and metadata validation . Some workflow will not work but most should be fine...
You can download the Dolby exe here: https://customer.dolby.com/content-creation-and-delivery/dolby-vision-professional-tools-v550

_____ __ ___ _____ _ _
| __ \ \ \ / (_) / ____| (_) | |
| | | | __\ \ / / _ | (___ ___ _ __ _ _ __ | |_ ___
| | | |/ _ \ \/ / | | \___ \ / __| '__| | '_ \| __/ __|
| |__| | (_) \ / | | ____) | (__| | | | |_) | |_\__ \
|_____/ \___/ \/ |_| |_____/ \___|_| |_| .__/ \__|___/
-Author: RESET_9999--------------------------|__|-----------



1) MODE.I= INJECT / EDIT / EXTRACT / INFO / VALIDATE
2) MODE.F= VERIFY SYNC / REMOVER / TRANSFER LEVELS
3) MODE.H= DoVi MAKER from HDR10 (Dolby Algo or MadVR or HDR10+)
4) MODE.7= DoVi Profile 7 Input (MKV/BDMV)
5) MODE.B= DoVi MKV Batch Muxer
6) MODE.P= Plotter (DoVi/HDR10/HLG/SDR)
7) MODE.S= Screenshots & Player
8) MODE.E= Encoders (video and audio)
9) MODE.M= MORE

Choice? [1,2,3,4,5,6,7,8,9]?8

======================
- SELECT A MODE -
======================

1) MODE.A= AUDIO Encoding (DDP, THDAC3, DEE)
2) MODE.V= VIDEO Encoding (x265/Prores/dovi_baker/libplacebo/cm_offline)

Choice? [1,2,3]?2

=========================
- SELECT A WORKFLOW -
=========================

1) Workflow.1= X265: HDR to HDR (DVP7/DVP8/DVP5/HDR10/HLG)
2) Workflow.2= X265: HDR to SDR (DVP7/DVP8/DVP5/HDR10/HLG)
3) Workflow.3= PRORES: HDR to HDR (DVP7/DVP8/DVP5/HDR10/HLG)
4) Workflow.4= PRORES: DV to SDR (Dolby CM_Offline DV Trim Pass delivery)
5) Workflow.5= PRORES: SDR to HDR-100nits
6) Workflow.6= DoVi-P5: P8/P7/prores/MXF to Profile 5 DV HEVC (require DEE.exe)
7) Workflow.7= AQ _strength compression tool
8) Workflow8= back to main menu

Choice? [1,2,3,4,5,6,7,8]?1


============
- ENCODERS -
============

-------------------------------------------------------------------------------------
-- Encode any HDR source(DVP7/DVP5/DVP8/HDR10/HLG) to HDR x265.exe or NVenc.exe. see line 150
-- DV P5/P7/P8 will be converted/injected to DV P8.1
-- FEL Tutorial: https://youtu.be/8BvXqw_cGJE?list=PLFGpkrmX_eOL2Dre1ZyIJP2uMtcQYH8ql
-- Does not support P5 to P5 encoding
-- Encode settings can be configured at line 143-182
-- Require Avisynthplus https://github.com/AviSynth/AviSynthPlus/releases
-- Libplacebo SDR tone mapping and P5/HLG input require a gpu with vulkan support
-------------------------------------------------------------------------------------

Drag and drop a video and press enter...
"D:\Downloads\Sanctum (2011)\Sanctum.2011.2160p.UHD.BluRay.REMUX.mkv"


Do you want to crop? (default=n)

--> YES= y
--> NO= n



Reading input tracks format/id/language...
Done.
Extracting track 0 with the CodecID 'V_MPEGH/ISO/HEVC' to the file 'E:\DoVi_Scripts_v3.0.8\temp.folder31\BL.P7.hevc'. Container format: HEVC/H.265 elementary stream
Progress: 100%

Indexing the HDR10 base layer...
Project
100

Indexing the DV 12bits enhancement layer...
Project
100

Reordering metadata... Done.

=============================SCRIPT==============================================================================
LoadPlugin("E:\DoVi_Scripts_v3.0.8\tools\dgdecnv_242\DGDecodeNV.dll")
LoadPlugin("E:\DoVi_Scripts_v3.0.8\tools\DoViBaker_x64.dll")
LoadPlugin("E:\DoVi_Scripts_v3.0.8\tools\avs_libplacebo.dll")
LoadPlugin("E:\DoVi_Scripts_v3.0.8\tools\avsresize_r21\x64\Release\avsresize.dll")
bl = DGSource("E:\DoVi_Scripts_v3.0.8\temp.folder31\BL.dgi")
el = DGSource("E:\DoVi_Scripts_v3.0.8\temp.folder31\EL.dgi")
SetFilterMTMode("DoViBaker",2)
DoViBaker(bl, el, rpu="E:\DoVi_Scripts_v3.0.8\temp.folder31\RPU_FEL.bin")
z_ConvertFormat(pixel_type="YUV420P10",colorspace_op="rgb:st2084:2020:full=>2020ncl:st2084:2020:limited",dither_type="error_diffusion",resample_filter="spline36",resample_filter_uv="spline36",chromaloc_op="left=>top_left")
Prefetch(8)
INPUT: "D:\Downloads\Sanctum (2011)\Sanctum.2011.2160p.UHD.BluRay.REMUX.mkv"
=================================================================================================================


E:\DoVi_Scripts_v3.0.8>if not "NO" == "YES" if not "0" == "2" "E:\DoVi_Scripts_v3.0.8\tools\x265.exe" --crf 18 --preset slow --profile main10 --level-idc 5.1 --output-depth 10 --colorprim bt2020 --transfer smpte2084 --colormatrix bt2020nc --range limited --chromaloc 2 --hdr10 --hdr10-opt --max-luma 1023 --sar 1 --repeat-headers --aud --hrd --no-open-gop --min-keyint=24 --keyint=240 --no-strong-intra-smoothing --no-rect --vbv-maxrate=160000 --vbv-bufsize=160000 --master-display "G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,1)" --max-cll "586,50" --dolby-vision-profile 8.1 --dolby-vision-rpu "E:\DoVi_Scripts_v3.0.8\temp.folder31\P8.RPU.bin" --input "E:\DoVi_Scripts_v3.0.8\temp.folder31\script.avs" --output "E:\DoVi_Scripts_v3.0.8\Sanctum.2011.2160p.UHD.BluRay.REMUX_DV-FEL_to_DVP8-HDR10.hevc"
avs+ [INFO]: AviSynth+ 3.7.3 (r4003, 3.7, x86_64)
avs+ [INFO]: 3840x2160 fps 24/1 i420p10 sar 1:1 frames 0 - 156261 of 156262
raw [INFO]: output file: E:\DoVi_Scripts_v3.0.8\Sanctum.2011.2160p.UHD.BluRay.REMUX_DV-FEL_to_DVP8-HDR10.hevc
x265 [INFO]: HEVC encoder version 4.0+4+2-c591f33d4 [Mod by Patman]
x265 [INFO]: build info [Windows][GCC 14.2.0][64 bit] 10bit
x265 [INFO]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
x265 [INFO]: Main 10 profile, Level-5.1 (High tier)
x265 [INFO]: Thread pool created using 12 threads
x265 [INFO]: Slices : 1
x265 [INFO]: frame threads / pool features : 3 / wpp(34 rows)
x265 [INFO]: Coding QT: max CU size, min CU size : 64 / 8
x265 [INFO]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [INFO]: ME / range / subpel / merge : star / 57 / 3 / 3
x265 [INFO]: Keyframe min / max / scenecut / bias : 24 / 240 / 40 / 5.00
x265 [INFO]: Lookahead / bframes / badapt : 25 / 4 / 2
x265 [INFO]: b-pyramid / weightp / weightb : 1 / 1 / 0
x265 [INFO]: References / ref-limit cu / depth : 4 / on / on
x265 [INFO]: AQ: mode / str / qg-size / cu-tree : 1 / 1.0 / 32 / 1
x265 [INFO]: Rate Control / qCompress : CRF-18.0 / 0.60
x265 [INFO]: VBV buffer / maxrate / init : 160000 / 160000 / 0.900
x265 [INFO]: tools: limit-modes rd=4 psy-rd=2.00 rdoq=2 psy-rdoq=1.00
x265 [INFO]: tools: rskip mode=2 rskip-edge-threshold=0.05 signhide tmvp
x265 [INFO]: tools: lslices=4 deblock sao selective-sao
[13.7%] 21358/156262 Frames @ 4.458 FPS | 47017 kb/s | 1:19:50 [-8:24:20] | 5230.2 MB [38266 MB]


I have a small request. Can you share an example of the command lines to do the bake FEL. I want to see if the process is not to complicated and maybe in the future create a gui in c#. I checked the code in the "DoVi_Scripts_MKV.bat" but i don't understand some of the terms. It is more easy for me to just see examples of the command lines.
Thanks.

Kuler087
8th October 2025, 22:42
I don’t know, did you accidentally pause the encode? I think on Windows 10, when you click within the command window, it pauses the process, and you have to press Space to resume. For some reason, Windows 11 doesn’t behave the same and doesn’t seem to be able to pause the process.

As for the CMD lines, you already have pretty much everything you need in the example you posted. You just need to demux the BL, EL, and RPU, then index the videos with dgindex, create the AviSynth script, and encode with x265.exe.


avisynth script:
LoadPlugin("E:\DoVi_Scripts_v3.0.8\tools\dgdecnv_242\DGDecodeNV.dll")
LoadPlugin("E:\DoVi_Scripts_v3.0.8\tools\DoViBaker_x64.dll")
LoadPlugin("E:\DoVi_Scripts_v3.0.8\tools\avs_libplacebo.dll")
LoadPlugin("E:\DoVi_Scripts_v3.0.8\tools\avsresize_r21\x64\Release\avsresize.dll")
bl = DGSource("E:\DoVi_Scripts_v3.0.8\temp.folder31\BL.dgi")
el = DGSource("E:\DoVi_Scripts_v3.0.8\temp.folder31\EL.dgi")
SetFilterMTMode("DoViBaker",2)
DoViBaker(bl, el, rpu="E:\DoVi_Scripts_v3.0.8\temp.folder31\RPU_FEL.bin")
z_ConvertFormat(pixel_type="YUV420P10",colorspace_op="rgb:st2084:2020:full=>2020ncl:st2084:2020:limited",dither_type="error_diffusion",resample_filter="spline36",resample_filter_uv="spline36",chromaloc_op="left=>top_left")
Prefetch(8)

x265.exe cmd:

"E:\DoVi_Scripts_v3.0.8\tools\x265.exe" --crf 18 --preset slow --profile main10 --level-idc 5.1 --output-depth 10 --colorprim bt2020 --transfer smpte2084 --colormatrix bt2020nc --range limited --chromaloc 2 --hdr10 --hdr10-opt --max-luma 1023 --sar 1 --repeat-headers --aud --hrd --no-open-gop --min-keyint=24 --keyint=240 --no-strong-intra-smoothing --no-rect --vbv-maxrate=160000 --vbv-bufsize=160000 --master-display "G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,1)" --max-cll "586,50" --dolby-vision-profile 8.1 --dolby-vision-rpu "E:\DoVi_Scripts_v3.0.8\temp.folder31\P8.RPU.bin" --input "E:\DoVi_Scripts_v3.0.8\temp.folder31\script.avs" --output "E:\DoVi_Scripts_v3.0.8\Sanctum.2011.2160p.UHD.BluRay.REMUX_DV-FEL_to_DVP8-HDR10.hevc"

en6ads
9th October 2025, 02:12
I've noticed your script changes source file names sometimes.

For example, I did a 7-2 screenshot with these filenames:

Dune (1984) - 2160p-ESC 2025 France Release-DV P8.1 Baked FEL Encode CRF15 Slow-1000nits MDL.mkv

and

Dune (1984) - 2160p-ESC 2025 France Release-DV 7 FEL.mkv


And after completing the screenshots it had changed the names of the files to these:
Dune (19842 - 2160p-ESC 2025 France Release-DV P8.1 Baked FEL Encode CRF15 Slow-1000nits MDL.mkv

Dune (19841 - 2160p-ESC 2025 France Release-DV 7 FEL.mkv

This has happened before. Any idea what's happening?

Kuler087
9th October 2025, 03:02
Yes, the script removes the “)” character from the input filename in some workflows. It caused issues in certain parts of the workflow, and I just never bothered changing the behavior since I never use special characters in my paths or filenames.

en6ads
9th October 2025, 03:39
OK, thanks.

All my files include the year in parenthesis to match TMDB.

Yes, the script removes the “)” character from the input filename in some workflows. It caused issues in certain parts of the workflow, and I just never bothered changing the behavior since I never use special characters in my paths or filenames.

Hellboy.
9th October 2025, 18:45
I'm using Windows 11. I let the process running in the night and in the morning when i checked it, it was stuck. I did a test with a smaller file and the process finish 100%. Maybe the file is corrupted or my PC has a problem.

coopzr
9th October 2025, 23:57
@Kuler087
I tried bake FEL for the first time and the process got stuck. What could be the problem?
I'm using Windows 11. I let the process running in the night and in the morning when i checked it, it was stuck. I did a test with a smaller file and the process finish 100%. Maybe the file is corrupted or my PC has a problem.

Try grabbing the latest 265.exe (patman mod) here (https://github.com/Patman86/x265-Mod-by-Patman/releases). I recall a recent NVIDIA driver update caused cm_analyze to hang. Dolby quickly fixed this with an update. Perhaps the same thing is happening here?

Hellboy.
10th October 2025, 00:54
Thanks. Going to try it.

wyup
10th October 2025, 01:47
What are the differences between madVR, Resolve and Dolby tool for scene cut detection?
Which is better, more dependable and realistic for scene cuts?

MadVR scene detection is used for plotting.
Resolve use its own neural scene cut detection (best?)
Dolby generates it's own scene cuts for it's plotting and auto trims.

When feeding a external scene cut list such as for av1 encoder (SvtAv1EncApp), which scene cut list would be the most realistic for keyframes?

Kuler087
10th October 2025, 02:35
CM_analyze has a scene-cut detection algorithm, but it’s only used for frame-by-frame analysis. It can’t perform shot-by-shot analysis without an external shot list, which is why madVR generates the scene cuts for workflow 3-1.
Resolve has much better scene-cut detection than madVR. madVR is extremely sensitive to fast movement and flashes, and sometimes even misses very obvious scene cuts.

You can use workflow 2-8 to export the scene-cut differences between two sources, and then compare them with an indexed video (9-1).

Dolby generates it's own scene cuts for it's plotting and auto trims.
It doesn’t generate cuts; the DV Plotter workflows(6-3 / 6-4) only plots existing metadata along with the existing scene cuts.

wyup
10th October 2025, 11:42
How does the Dolby tool generate auto trims if it doesn't set scene changes? It's supposed to be a self-contained solution, without requiring an external shot list. Dolby Vision is known to adjust its tonemapping by scenes, not by individual frames.
When I said Dolby generates its own scene cuts I didn't mean that it exports them, but that at least it generates them.
It doesn’t generate cuts; the DV Plotter workflows(6-3 / 6-4) only plots existing metadata along with the existing scene cuts.
Where do 6-3 and 6-4 (Measure DoVi Levels) take the 'existing scene cuts' then if the DV plotter only plots existing metadata? Do these workflows also use MadVR scene detection?

Kuler087
10th October 2025, 12:17
As I said, the Dolby Vision algorithm alone cannot create shot-by-shot metadata, it requires an external shot list text file in cm_analyze, or an editing software like Resolve to auto-generate the cuts, or the colorist to do them manually.
When you use cm_analyze without providing a shot list text file, the algorithm produces frame-by-frame metadata with L2 trims using its internal scene-cut detection (I dont know how that works). The generated trims in L2 are just a workaround to mitigate the cmv2.9 bugs.

Where do 6-3 and 6-4 (Measure DoVi Levels) take the 'existing scene cuts' then if the DV plotter only plots existing metadata? Do these workflows also use MadVR scene detection?

all the existing DV movies have scene cuts within the metadata. Madvr is not used in 6-3/6-4

wyup
13th October 2025, 16:01
When you use cm_analyze without providing a shot list text file, the algorithm produces frame-by-frame metadata with L2 trims using its internal scene-cut detection (I dont know how that works).
Ok. Allow me to ask, then, what purpose does cm_analize internal scene-cut detection algorithm serve if it produces just frame-by-frame metadata, when not providing a external shot list file.

Kuler087
13th October 2025, 16:27
Because that’s how it works, the frame-by-frame algorithm is a different type of DV analysis.
It used to output the same scene cuts as the frame count, but this was changed in the recent CM version. The frame-by-frame metadata now has scene cuts similar to Resolve and madVR, but the metadata still change frame by frame.
Resolve still outputs the same scene cuts as framecount when you export frame-by-frame profile 5 or 8 HEVC.


https://i.ibb.co/TqxwJCBv/explorer-8k-ET5x-XFk6.png

https://i.ibb.co/2Y7bVZ9t/l1.gif

https://i.ibb.co/6cYJyYr8/l2.gif

MwenDavo
18th October 2025, 00:11
Hi guys. First of all thanks for making such an awesome tool. I'm looking into making a Linux compatible version of the 8-2-1 flow to convert DoVi P7 into P8.1 (only the video stream, the idea is to be able to automate that and integrate it with other transcoding software). After reading through the script, I'm trying to understand the steps it takes to do this. Currently, I have the following:
- The script separates the BL, EL and RPU from the video stream of the file
- It then checks if EL is either FEL or MEL. In case of FEL it bakes it into the BL, and in case of MEL it discards it
- After that, it combines the baked BL (or untouched BL if MEL was found) with the RPU into a new P8.1 HEVC stream, which then gets muxed with the rest of the original file's streams.

I've seen the script use AviSynth+, dovi_baker, dovi_tool, ffms2 and FFmpegin various steps, though I'm not entirely sure what each one does on its respective part. If someone could explain this I'd be thankful.
Lastly, I've researched into some of the tools that I mentioned earlier, specifically if they have Linux support, and seems that most of them have, so it shouldn't be an issue.

Kuler087
18th October 2025, 21:36
that sounds right.

ffmpeg or mkvextract is for demuxing HEVC from the container
dovi_tool is for demuxing the layers, extracting & converting the RPU to P8 and then injecting into the encoded HEVC.
ffms2 or dgindex are the frame indexer
avisynth+ is the whole script to be encoded
x265 is for encoding
mkvtoolnix(mkvmerge) is for muxing to mkv

alexmorph3us
19th October 2025, 14:37
@Kuler087: I'm new to this. I have ripped the movie Titanic for which I know that it has an FEL layer because I used Dovi_tool for demuxing it, but it doesn't have the option for baking FEL into the BL in order to use MEGUI for x265 encoding after that. Can you please give me an Avisynth helper script for DoviBaker or at least tell me what to change in this script that I have created using MEGUI?

LoadPlugin("C:\Users\ALEX\OneDrive\Documents\MeGUI x64\tools\avisynth_plugin\DGDecodeNV.dll")
LoadPlugin("C:\Users\ALEX\OneDrive\Documents\MeGUI x64\tools\avisynth_plugin\fft3dfilter.dll")
LoadPlugin("C:\Users\ALEX\OneDrive\Documents\MeGUI x64\tools\avisynth_plugin\dfttest.dll")
LoadPlugin("C:\Users\ALEX\OneDrive\Documents\MeGUI x64\tools\avisynth_plugin\masktools2.dll")
LoadPlugin("C:\Users\ALEX\OneDrive\Documents\MeGUI x64\tools\avisynth_plugin\mvtools2.dll")
LoadPlugin("C:\Users\ALEX\OneDrive\Documents\MeGUI x64\tools\avisynth_plugin\nnedi3.dll")
LoadPlugin("C:\Users\ALEX\OneDrive\Documents\MeGUI x64\tools\avisynth_plugin\RgTools.dll")
LoadPlugin("C:\Users\ALEX\OneDrive\Documents\MeGUI x64\tools\avisynth_plugin\avsresize.dll")
LoadPlugin("C:\Users\ALEX\OneDrive\Documents\MeGUI x64\tools\avisynth_plugin\DGTonemap.dll")
LoadPlugin("C:\Users\ALEX\OneDrive\Documents\MeGUI x64\tools\avisynth_plugin\DePan.dll")
LoadPlugin("C:\Users\ALEX\OneDrive\Documents\MeGUI x64\tools\avisynth_plugin\DePanEstimate.dll")
LoadPlugin("C:\Users\ALEX\OneDrive\Documents\MeGUI x64\tools\avisynth_plugin\HDRTools.dll")
LoadPlugin("C:\Users\ALEX\OneDrive\Documents\MeGUI x64\tools\avisynth_plugin\DoViBaker_x64.dll")
LoadPlugin("C:\Users\ALEX\OneDrive\Documents\MeGUI x64\tools\avisynth_plugin\avscube_x64.dll")
LoadPlugin("C:\Users\ALEX\OneDrive\Documents\MeGUI x64\tools\avisynth_plugin\MapNLQ.dll")
LoadPlugin("C:\Users\ALEX\OneDrive\Documents\MeGUI x64\tools\lsmash\LSMASHSource.dll")
LWLibavVideoSource("C:\Users\ALEX\OneDrive\Documents\Titanic - A Cold Breakfast Chapter (Original) [BD]\Titanic - A Cold Breakfast Chapter (Original) [BD].mkv", format="YUV420P8")
#deinterlace
crop(0, 264, 0, -264)
Spline64Resize(1920,816) # Spline64 (Sharp)
#denoise
ConvertBits(16)
z_ConvertFormat(pixel_type="YUV444P16",dither_type="none")
ConvertYUVtoXYZ(Color=0, HDRMode=0, OOTF=false, OutputMode=2)
ConverXYZ_BT2446_C_HDRtoSDR(PQMode=true, Lhdr=10000, Lsdr=100.0, pColor=0)
ConvertXYZtoYUV(Color=2, pColor=0, OOTF=false, OutputMode=2)
ConvertBits(10)
ConvertBits(16)
ConvertToYUV420()

I would also like to change the tone mapping algorithm in the script so that I can use libplacebo because I heard that it does a better job than what I have put in there.

Any help will be appreciated! Thank you.

Kuler087
19th October 2025, 16:25
Just use dovi_scripts workflow 8-2-1 (HDR) or 8-2-2(SDR), cancel the encode when it starts, and go into the temp folder to see what the AVS script looks like.

en6ads
21st October 2025, 17:43
An update:
I have DDE now, and converting TrueHD to DDP with Atmos is working well with Deezy (https://github.com/jessielw/DeeZy). It uses TrueHDD (https://github.com/truehdd/truehdd) to create an atmos master audio file from a trueHD atmos movie, then encodes to DDP atmos. I can set bed conformance, get a 1536kbps 7.1 atmos, etc. I check generated file with Cavernize (https://cavern.sbence.hu/cavern/doc.php?p=Cavernize) and it appears to be real atmos (beds and objects).

A feature request: Could you please add Deezy as part of your scripts? So those with DEE can generate DDP Atmos as part of the broader workflows with Dovi Scripts.

Many thanks.

I've been playing with Cavernize and the newly released TrueHDD (https://github.com/truehdd/truehdd). It can take a TrueHD Atmos track from a UHD and convert it to Dolby Atmos Master Format (DAMF). This can be read by Davinci Resolve and also the free Dolby Atmos Conversion Tool - however this only converts to either: .atmos, .rpl, .wav(ADM BWF), or .mxf(IMF IAB).

So we can now edit Atmos tracks from the TrueHD Atmos while preserving the Atmos.

The last step I need to find is how to convert DAMF to DDP Atmos without having to pay the $400 per year for Dolby Encoder Engine. One can hope a free solution can be reverse engineered soon. Or do you know of a way?
Thank you.

Kuler087
21st October 2025, 17:55
I’d have to find out how it handles DEE’s inverted channel encoding. Right now, the script can encode DDP (without Atmos) using DEE, and I use FFmpeg to correct the channel order when encoding to WAV PCM as a workaround.
I’m not sure how I could do that with the Atmos master format, because in my limited testing with DDP-Atmos through DEE, the channels were also inverted.

en6ads
21st October 2025, 19:00
OK I appreciate you looking into it. Thank you.
I’d have to find out how it handles DEE’s inverted channel encoding. Right now, the script can encode DDP (without Atmos) using DEE, and I use FFmpeg to correct the channel order when encoding to WAV PCM as a workaround.
I’m not sure how I could do that with the Atmos master format, because in my limited testing with DDP-Atmos through DEE, the channels were also inverted.

Kuler087
25th October 2025, 01:10
OK I appreciate you looking into it. Thank you.

Ok please try this version. Workflow 8-1-3. (you must put the truehdd.exe in the tools folder)
https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=drive_link

The default mode is 5.1 Atmos at 1024 kbps, but you can change it to 7.1 at 1536 kbps in lines 82–84. I don’t see much point in using the 7.1 Blu-ray mode though. IMO, the purpose of lossy Atmos is to make it playable on a TV’s internal player or apps like Plex. The 7.1 Blu-ray mode triggers Atmos on Blu-ray players or devices like the Ugoos, but not on a LG TV’s Plex app, where only the 640 kbps 5.1 AC-3 core is played. That’s why the 7.1 mode isn’t the default in the script.

5.1 vs 7.1 doesn’t matter when you’re bitstreaming Atmos anyway, and you probably wouldn’t be able to tell the difference between 1024 and 1536 kbps. The AC-3 core just ends up being a waste of space.

en6ads
25th October 2025, 04:03
You rock, thank you. It works!

I agree the default should be 5.1 1024kbps. I'm only doing this for tv apps / apple tv compatibility and they need 5.1. I tried 7.1 1664kbps and infuse on apple tv does not pass the atmos part. No such issues with 5.1.

The script breaks if there is a ")" in the filename. I know it breaks for other workflows too, and for those you change the filename to prevent it breaking. Please include this workaround for 8-1-3 also.

Much appreciated. Many thanks again for this work!



Ok please try this version. Workflow 8-1-3. (you must put the truehdd.exe in the tools folder)
https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=drive_link

The default mode is 5.1 Atmos at 1024 kbps, but you can change it to 7.1 at 1536 kbps in lines 82–84. I don’t see much point in using the 7.1 Blu-ray mode though. IMO, the purpose of lossy Atmos is to make it playable on a TV’s internal player or apps like Plex. The 7.1 Blu-ray mode triggers Atmos on Blu-ray players or devices like the Ugoos, but not on a LG TV’s Plex app, where only the 640 kbps 5.1 AC-3 core is played. That’s why the 7.1 mode isn’t the default in the script.

5.1 vs 7.1 doesn’t matter when you’re bitstreaming Atmos anyway, and you probably wouldn’t be able to tell the difference between 1024 and 1536 kbps. The AC-3 core just ends up being a waste of space.

alexmorph3us
25th October 2025, 14:21
@Kuler087: I'm a bit confused. When using Dovi Baker to "bake" FEL with the BL what values I should enter in the x265 encoder for: "--master-display L ( min/max luminance)" and "--max-cll" parameters ? The ones from the base layer or the enhancement layer RPU metadata ? I'm asking this because I'm also reinjecting the RPU file with: "--dolby-vision-profile 8.1 --dolby-vision-rpu" as part of the encoding process and there are cases where the MinMDL/MaxMDL (Mastering Display Luminance) for the full 12 bit signal will be different and usually above the 1000 nits that is required for the base HDR10 static metadata. How I should proceed in this case for the final 10 bit encoding ? What is the correct way ?

Kuler087
25th October 2025, 15:23
Just look at how workflow 8-2-1 works; it uses the metadata values from the RPU source PQ (MDL) and the light level (CLL/FALL) to generate the static HDR10 metadata for the FEL-baked encode.

Kuler087
25th October 2025, 18:08
The script breaks if there is a ")" in the filename. I know it breaks for other workflows too, and for those you change the filename to prevent it breaking. Please include this workaround for 8-1-3 also.


I just tried 8-1-3 Movie.Name(2025) and it works.
In which other workflows does it break? I know there is one or two workflows that will remove the '')''

TR-9970X
26th October 2025, 03:57
Ok please try this version. Workflow 8-1-3. (you must put the truehdd.exe in the tools folder)
https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=drive_link

The default mode is 5.1 Atmos at 1024 kbps, but you can change it to 7.1 at 1536 kbps in lines 82–84. I don’t see much point in using the 7.1 Blu-ray mode though. IMO, the purpose of lossy Atmos is to make it playable on a TV’s internal player or apps like Plex. The 7.1 Blu-ray mode triggers Atmos on Blu-ray players or devices like the Ugoos, but not on a LG TV’s Plex app, where only the 640 kbps 5.1 AC-3 core is played. That’s why the 7.1 mode isn’t the default in the script.

5.1 vs 7.1 doesn’t matter when you’re bitstreaming Atmos anyway, and you probably wouldn’t be able to tell the difference between 1024 and 1536 kbps. The AC-3 core just ends up being a waste of space.

Kuler, you just keep out doing yourself, constantly adding to this already awesome set of tools, and taking the time to explain pretty much anything people ask of you....

Now I haven't used Dovi for quite some time, being too distracted with other stuff, but that's basically all done now :)

And I'm very curious about this truehdd, dee, deezy addition.

You've released a new script that has this new function, and has been tested by the user that asked about it.

You mention that truehdd.exe needs to added to the tools folder, but is that all ??

I know that dee can already be added (from a long time back), but is deezy required as well ??

It's just that I am setting up a fresh Windows 25H2 on the Threadrippers, and it would be nice to get everything organised from the get go.

Regards.

Kuler087
26th October 2025, 05:06
The script does not use Deezy.
You only need to add the truehdd.exe and, of course, the paidware DEE folder.

TR-9970X
26th October 2025, 05:12
The script does not use Deezy.
You only need to add the truehdd.exe and, of course, the paidware DEE folder.

Too easy, thank you very much.

TR-9970X
27th October 2025, 11:40
I just wanted to say that I got everything set up on 1 pc today....took a while, and I think things have changed a little since I used it last (3.0.5).

Since last time, I had to process as an .mp4 to get DV thru the TV's player.
But I bought an nVidia Shield Pro, and I was able to play DV .mkv's (downloaded), playing thru the Shield :)
So the tests I did today, using 3-1, 3.0.9 beta mkv, to convert a short HDR10 clip, tried a couple of different settings.
They played fine as DV thru the Shield, and just for fun I plugged the usb stick into the LG C4, and to my shock, they played as DV....
Be interested to know whats changed.

Kuler087
27th October 2025, 11:59
You probably got the WEBOS-25 update, which enables DV MKV support. C2/C3 should also receive that update.

TR-9970X
27th October 2025, 12:10
You probably got the WEBOS-25 update, which enables DV MKV support. C2/C3 should also receive that update.

That's interesting to know...I know I've had quite a few updates since having the C4, but there's not much info about the updates.

The Shield does have more options & functions, but it did take me a while to get it all sorted.

So now I've got 2 options. :)

So now onto setting up DS on other pc's :), while it's fresh in my mind, after today.

Cheers.

Kuler087
27th October 2025, 13:05
FYI, the shield is buggy as hell, has color issues (https://drive.google.com/drive/u/1/folders/1uaHVLriou0RFuS8DWtVmxYs1tumPl0F3)in DV and about 30% of the FEL bluray disc rip (https://drive.google.com/drive/u/0/folders/1FS42T95TOSpoy4xtwUBIQmziCe_R_IKe) won't be accurate. You should get the Ugoos (https://www.youtube.com/watch?v=HyrA3KmcJBU) if you want the best quality/experience.

TR-9970X
27th October 2025, 13:20
FYI, the shield is buggy as hell, has color issues (https://drive.google.com/drive/u/1/folders/1uaHVLriou0RFuS8DWtVmxYs1tumPl0F3)in DV and about 30% of the FEL bluray disc rip (https://drive.google.com/drive/u/0/folders/1FS42T95TOSpoy4xtwUBIQmziCe_R_IKe) won't be accurate. You should get the Ugoos (https://www.youtube.com/watch?v=HyrA3KmcJBU) if you want the best quality/experience.

Maybe so, but I wanted something that played stuff better than the LG player, and I was hearing that the Shield is hard to beat, I did try some pretty cheap "Android" box's, using Kodi, the play back was jumpy, and I tried every setting, but no luck.

The Shield did have some playback issues, but it turned out I had it connected wrong.....the proper connection with a good hdmi cable solved all that.

But now that the C4 plays DV mkv, I can compare for myself.

I bet the C4 still won't play TrueHD, tho.

Thanks for the advise, but I don't think I need to get more "gadgets".

MwenDavo
27th October 2025, 18:59
that sounds right.

ffmpeg or mkvextract is for demuxing HEVC from the container
dovi_tool is for demuxing the layers, extracting & converting the RPU to P8 and then injecting into the encoded HEVC.
ffms2 or dgindex are the frame indexer
avisynth+ is the whole script to be encoded
x265 is for encoding
mkvtoolnix(mkvmerge) is for muxing to mkv

Thanks for the reply!

So you first get the HEVC stream with the baked FEL and the RPU converted to P8, and then you combine them to get the final HEVC to mux. I'll take note of that.

Where does the FEL baking take place? in the avisynth+ script?

Also, what would frame indexer do?

Kuler087
27th October 2025, 20:19
FEL is baked when you encode the AviSynth+ script with x265.exe.
The frame indexer is either DGIndex or FFMS2, it serves as the frame-accurate source for the encoder.

TR-9970X
30th October 2025, 05:56
A question about Python installation..

I set up DS on the other Threadripper today, but I thought I'd watch your installation video, and the Python install seems to be different to what I recall with earlier builds.

You did mention that Python 3.9 to be install from the Microsoft Store. and then once that's installed run a command :-

pip install numpy

then during that process it was recommended to run this command:-

python.exe -m pip install --upgrade pip

but then I see another cmd:- (on your site)

python (you also have to install the version in Windows Store) python libraries to install: opencv-python, colour-science, scikit-image, matplotlib,
numpy, colour, opencv-python-headless , PyQt5. Open a command window and type for example: pip install scikit-image, so I did that as well, and that installed a lot of other stuff.

C:\Windows\System32>pip install scikit-image
Collecting scikit-image
Downloading scikit_image-0.24.0-cp39-cp39-win_amd64.whl.metadata (14 kB)
Requirement already satisfied: numpy>=1.23 in c:\users\geoff\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages (from scikit-image) (2.0.2)
Collecting scipy>=1.9 (from scikit-image)
Downloading scipy-1.13.1-cp39-cp39-win_amd64.whl.metadata (60 kB)
Collecting networkx>=2.8 (from scikit-image)
Downloading networkx-3.2.1-py3-none-any.whl.metadata (5.2 kB)
Collecting pillow>=9.1 (from scikit-image)
Downloading pillow-11.3.0-cp39-cp39-win_amd64.whl.metadata (9.2 kB)
Collecting imageio>=2.33 (from scikit-image)
Downloading imageio-2.37.0-py3-none-any.whl.metadata (5.2 kB)
Collecting tifffile>=2022.8.12 (from scikit-image)
Downloading tifffile-2024.8.30-py3-none-any.whl.metadata (31 kB)
Collecting packaging>=21 (from scikit-image)
Downloading packaging-25.0-py3-none-any.whl.metadata (3.3 kB)
Collecting lazy-loader>=0.4 (from scikit-image)
Downloading lazy_loader-0.4-py3-none-any.whl.metadata (7.6 kB)
Downloading scikit_image-0.24.0-cp39-cp39-win_amd64.whl (12.9 MB)
---------------------------------------- 12.9/12.9 MB 6.5 MB/s 0:00:01
Downloading imageio-2.37.0-py3-none-any.whl (315 kB)
Downloading lazy_loader-0.4-py3-none-any.whl (12 kB)
Downloading networkx-3.2.1-py3-none-any.whl (1.6 MB)
---------------------------------------- 1.6/1.6 MB 6.3 MB/s 0:00:00
Downloading packaging-25.0-py3-none-any.whl (66 kB)
Downloading pillow-11.3.0-cp39-cp39-win_amd64.whl (7.0 MB)
---------------------------------------- 7.0/7.0 MB 6.6 MB/s 0:00:01
Downloading scipy-1.13.1-cp39-cp39-win_amd64.whl (46.2 MB)
---------------------------------------- 46.2/46.2 MB 6.7 MB/s 0:00:06
Downloading tifffile-2024.8.30-py3-none-any.whl (227 kB)
Installing collected packages: tifffile, scipy, pillow, packaging, networkx, lazy-loader, imageio, scikit-image
---------------------------------------- 0/8 [tifffile] WARNING: The scripts lsm2bin.exe, tiff2fsspec.exe, tiffcomment.exe and tifffile.exe are installed in

'C:\Users\xxx\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\Scripts' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
------------------------------ --------- 6/8 [imageio] WARNING: The scripts imageio_download_bin.exe and imageio_remove_bin.exe are installed in

'C:\Users\xxx\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\Scripts' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed imageio-2.37.0 lazy-loader-0.4 networkx-3.2.1 packaging-25.0 pillow-11.3.0 scikit-image-0.24.0 scipy-1.13.1 tifffile-2024.8.30

-------------------------------------------------------------------------

But before I did all that, I simply installed Python 3.12.3 (as shown in the video), then installed Vapoursynth R72.

Once I'd done that and all the other requirements I started a 3-1 job, and it processed as expected, but then I noticed that it stated that Python wasn't installed, so I stopped the script, and went back and did the Python 3.9 procedure.

So even tho it showed this "error" with Python, it still seemed to be processing properly, but maybe if I had of kept it going, there may have been an error at the finish.

To sum up, is ALL the above still necessary, or is there now a simpler way ??



As for LAVfilters install, simply run that, but then go to Video Configuration and set Hardware Decoder to "D3D11". and Hardware Device to "Auto" (or you could choose the installed GPU)

Kuler087
30th October 2025, 11:56
yeah i need to make an updated installation video one day...

Just install python 3.12 from windows and the regular version. then run this cmd:
pip install opencv-python colour-science scikit-image matplotlib numpy colour opencv-python-headless PyQt5

for lavfilters: nothing changed, do like in the video.

TR-9970X
30th October 2025, 12:03
yeah i need to make an updated installation video one day...

Just install python 3.12 from windows and the regular version. then run this cmd:
pip install opencv-python colour-science scikit-image matplotlib numpy colour opencv-python-headless PyQt5

for lavfilters: nothing changed, do like in the video.

Excellent, thankyou.

I'll be interested to check processing times between the 4080 Super & the 5070Ti.

Cheers.

DMD
30th October 2025, 13:34
If it may be useful, I will explain my procedure for installing Python.

After installing Python, check the version using the cmd command:
python --version

If Windows returns the following
error message:
Python not found; Run without arguments to install from the Microsoft Store or disable the shortcut from Settings > Manage app launch aliases.


To avoid this problem, set the path in the environment variables, locating the installation path of the Python program and the Scripts subfolder.

If you have kept the default installation path, the paths are located in:
(Example for Python39 version)

C:\Users\USERNAME\AppData\Local\Programs\Python\Python39
C:\Users\USERNAME\AppData\Local\Programs\Python\Python39\Scripts
For convenience, copy these paths to a notepad

To open the environment variables window, type the following in the search box: Environment variables, selecting the one related to the system

https://i.postimg.cc/sBY9MY9x/v1.png (https://postimg.cc/sBY9MY9x)

https://i.postimg.cc/jwC5pK5V/v2.png (https://postimg.cc/jwC5pK5V)



Select “New” and copy the previously noted paths one at a time.

https://i.postimg.cc/4nQfWmwR/v3.png (https://postimg.cc/4nQfWmwR)

https://i.postimg.cc/Kkr2pH7x/v4.png (https://postimg.cc/Kkr2pH7x)


Checking the version with the command prompt
python --version

https://i.postimg.cc/BvxgMsGJ/v5.png

Install all necessary modules manually.




[OPTIONAL]
Personally, for this procedure, I opened Notepad and named it “Requirements.txt,” in which I entered the names of all the necessary modules:
Colour
colour-science
matplotlib
numpy
opencv-python
opencv-python-headless
PyQt5
scikit-image

Then I created a launch batch file so that all the modules are installed at once.

@echo off
REM Request elevation to administrator rights
:check_admin
NET SESSION >nul 2>&1
if NOT %ERRORLEVEL% EQU 0 (
echo Request for administrator rights...
goto elevarsi
)
goto continua

:elevarsi
echo. > "%TEMP%\elevate.vbs"
echo Set UAC = CreateObject("Shell.Application") >> "%TEMP%\elevate.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%TEMP%\elevate.vbs"
cscript //nologo "%TEMP%\elevate.vbs"
exit /b

:continua
REM ====================================================================
REM SCRIPT LOGIC START (EXECUTION WITH ELEVATED RIGHTS)
REM ====================================================================

REM Temporarily set the working directory to the script folder
pushd "%~dp0"

echo Execution with administrator rights.

REM Verify that the Requirements.txt file exists
if not exist "Requirements.txt" (
echo.
echo ERROR: File "Requirements.txt" Not found in the script folder.
popd
pause
exit /b
)

echo Installing Python modules from Requirements.txt...

REM Performs pip install -r
pip install -r Requirements.txt

if errorlevel 1 (
echo.
echo ERROR: The installation of the modules failed.
echo Check the previous error messages.
echo.
) else (
echo.
echo Installation completed successfully.
echo.
)

REM Back to previous directory
popd

pause

alexmorph3us
30th October 2025, 14:12
Can someone give me an updated installation guide? I've downloaded Python 3.14 from their site. Will it work with this version? Also, is Vapoursynth still required in order for Dovi Script to work properly?

Kuler087
30th October 2025, 14:22
avisynth+
https://github.com/AviSynth/AviSynthPlus/releases/download/v3.7.5/AviSynthPlus_3.7.5_20250420_vcredist.exe

python 3.12 windows store
https://apps.microsoft.com/detail/9ncvdn91xzqp?hl=en-US&gl=US

python 3.12 regular version
https://www.python.org/ftp/python/3.12.10/python-3.12.10-amd64.exe

python libraries:
you can do as DMD said but it is just simpler to run this in a Windows command prompt:
pip install opencv-python colour-science scikit-image matplotlib numpy colour opencv-python-headless PyQt5

lavfilters:
https://files.1f0.de/lavf/nightly/LAVFilters-0.80.0-9.exe

madvr:
go in the dovi_scripts/tools/madvr folder and with admin rights, click on the install bat.

vapoursynth no longer required

alexmorph3us
30th October 2025, 14:29
@Kuler087: Thank you so much for this! I have already installed LAV filters and Madvr in my system as part of K-lite Codec Pack. In this case, do I still need to run install.bat for Madvr?

I appreciate your help.

TR-9970X
30th October 2025, 14:37
Well, I'm glad I wasn't the only one asking about initial installation :)

Thanks Kuler, that makes it a LOT easier :)

Kuler087
30th October 2025, 14:38
it depends on which version it is. try 6-2 if it works.
if it doesn't, you will need the version included with the tools pack. 113b IIRC

@Kuler087: Thank you so much for this! I have already installed LAV filters and Madvr in my system as part of K-lite Codec Pack. In this case, do I still need to run install.bat for Madvr?

I appreciate your help.

alexmorph3us
30th October 2025, 15:02
it depends on which version it is. try 6-2 if it works.
if it doesn't, you will need the version included with the tools pack. 113b IIRC

It's the latest version 0.92.17 (February 2025).

Kuler087
30th October 2025, 15:15
That's one of the beta time-limited builds? If yes, then be careful when it expires, it will break ''madMeasureHDR.exe''...
The version included in the tools pack is the latest beta without this time restriction.

alexmorph3us
30th October 2025, 15:20
That's one of the beta time-limited builds? If yes, then be careful when it expires, it will break ''madMeasureHDR.exe''...
The version included in the tools pack is the latest beta without this time restriction.
No. It's an official build
https://www.videohelp.com/software/madVR

But I've installed it a while ago as part of K-lite Codec Pack 19.2.5 which can be found here:
https://codecguide.com/features_mega.htm

Kuler087
30th October 2025, 15:37
then it will probably not work.. try 6-2

kyrunner1
5th November 2025, 19:08
I know the ugoosamb6+ can do HDR to Dolby vision 8.1 on the fly is there any benefit to re-encode the file using the Dovi scripts?

Kuler087
5th November 2025, 19:17
I know the ugoosamb6+ can do HDR to Dolby vision 8.1 on the fly is there any benefit to re-encode the file using the Dovi scripts?

Generating native Dolby Vision will be slightly more accurate and a bit brighter, but it might not be worth the extra effort since the VS10 HDR10-to-DV conversion is already surprisingly good.

Check out my comparison on it:

https://www.youtube.com/watch?v=2N6uBDmSwec

kyrunner1
5th November 2025, 19:47
Just finished the video I have a G4 so I think I’ll just keep running with on fly HDR to Dolby Vision. When I was wa5ch the G5 couldn’t tell any difference so I assume G4 would be about the same.

alexmorph3us
6th November 2025, 14:21
@Kuler087: I would like to know if in Workflow 3-1 the FEL (if present in the original stream) is taken into consideration when generating the new metadata (CM v4.0) using CM_Analyzer or not ?

Kuler087
6th November 2025, 14:27
No, it discards FEL and generates new metadata for the BL brightness, whatever it is.

alexmorph3us
6th November 2025, 14:57
No, it discards FEL and generates new metadata for the BL brightness, whatever it is.
I see. So in this case, what is the correct approach ? I'm asking this because I could do Workflow 8-2-3 in advance and after that run 3-1. Does it make any difference in the end ?

Kuler087
6th November 2025, 15:07
If you want to generate DV for FEL, you have to use the same scene cuts.

1- bake fel to prores in 8-2-3
2- extract P7 RPU rename it the same as the prores file(same path too)
3- run 3-1 with pores file (rpu scene cuts will be used)
4- transfer levels 12389 from the generated rpu to the original P7 RPU in 2-3
5- Inject new P7 rpu.

alexmorph3us
6th November 2025, 15:11
If you want to generate DV for FEL, you have to use the same scene cuts.

1- bake fel to prores in 8-2-3
2- extract P7 RPU rename it the same as the prores file(same path too)
3- run 3-1 with pores file (rpu scene cuts will be used)
4- transfer levels 12389 from the generated rpu to the original P7 RPU
5- Inject new P7 rpu.

Ok, thanks! I just want to preserve as much as possible from the 12bit master.

alexmorph3us
6th November 2025, 15:26
Is ProRes 444xq a better choice in this scenario ?

Kuler087
6th November 2025, 15:52
Yeah, but that won’t make any difference for the brightness measurement in 3-1. The way the script is designed right now, it goes from FEL to 4:2:0 to ProRes 422. I’ll change that in the next version so it stays entirely in 4:2:2.
FYI, the latest beta version (https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=drive_link) now includes an option to encode FEL to JPEG2000 12-bit 4:4:4 or 4:2:2, but it doesn’t work in 3-1, you have to use Resolve. The process is also incredibly slow (around 4–5 fps).

line 184:
::enable jpeg-2000 12bit encoding for FEL source in 8-2-3(default = NO)
set enable_jpeg12bit=NO
::set jpeg-2000 12bit encoding compression factor in 8-2-3 (default = 10)
set jpeg12bit_compression=10
::set jpeg-2000 12bit encoding pixel format 444 or 422 in 8-2-3 (default = 422)
set jpeg12bit_format=422

alexmorph3us
6th November 2025, 16:05
Will JPEG2000 work in DEE for Workflow 8-2-6 after that ? Because from what I understand that's the closest output when dealing with 12 bit FEL for someone that doesn't have an Ugoos media player.


As a side note: Thank you once again for the development in the latest beta version!

Kuler087
6th November 2025, 16:14
Unfortunately, no, it won’t work. FFmpeg’s JPEG 2000 encoding isn’t compatible with Dolby CM or DEE tools. You could import the file into Resolve, export it as JPEG 2000, and then it would work correctly in 8-2-6 but that's a lot of work for something that wont actually look different on your 10bit display


https://i.ibb.co/1tSpLKxg/JX0lgx1-HNr.png

alexmorph3us
6th November 2025, 16:21
Ok. I'll do just that.

dkangel
9th November 2025, 21:52
Summary:
Frames: 566
Profile: 7 (MEL)
DM version: 1 + 2 (CM 2.9 and 4.0)
v2.9 count: 566
v4.0 count: 312

Kaïro (2001)

What th f..... ?????

:eek:

First time i see this

Kuler087
9th November 2025, 22:09
It reminds me of Spawn 1997 Director's Cuts. Probably an authoring issue.

https://slow.pics/c/S4WimTli?canvas-mode=fit-width

dkangel
9th November 2025, 22:40
can i use option 1-7 to convert mel to p8 as always ?

thanks

Kuler087
9th November 2025, 23:00
i dont know but i think you'll have to remove cmv4.0

dkangel
9th November 2025, 23:55
ok i will try thank you

alexmorph3us
12th November 2025, 19:05
@Kuler087: I managed to create a workflow without Resolve.

1) First I created an Avisynth for DoVi Baker where I put this:

LoadPlugin("C:\Users\ALEX\OneDrive\Documents\MeGUI x64\tools\avisynth_plugin\avsresize.dll")
LoadPlugin("C:\Users\ALEX\OneDrive\Documents\MeGUI x64\tools\avisynth_plugin\DoViBaker_x64.dll")
LoadPlugin("C:\Users\ALEX\OneDrive\Documents\MeGUI x64\tools\lsmash\LSMASHSource.dll")
LoadPlugin("C:\Users\ALEX\OneDrive\Documents\MeGUI x64\tools\dgindexnv\DGDecodeNV.dll")

# Load the separate Base Layer and Enhancement Layer from their respective .dgi files
BL = DGSource("C:\Users\ALEX\OneDrive\Documents\Titanic - A Cold Breakfast Chapter (Original) [BD]\Movie_Original_[BL].hevc.dgi")
EL = DGSource("C:\Users\ALEX\OneDrive\Documents\Titanic - A Cold Breakfast Chapter (Original) [BD]\Movie_Original_[EL].hevc.dgi")

# Combine the two clips using DoViBaker and the RPU metadata file
DoViBaker(BL, EL, RPU="C:\Users\ALEX\OneDrive\Documents\Titanic - A Cold Breakfast Chapter (Original) [BD]\Movie_DV.bin")


2) Then I opened a Command Prompt for ffmpeg where I entered this:

ffmpeg.exe -i "Titanic.avs" -pix_fmt gbrpf32le -vcodec exr -framerate 23.976 -compression zip1 -format half -start_number 0 "C:\Users\ALEX\OneDrive\Documents\Output_frames\image_sequence_%07d.exr"


3) I aldo did a conversion for the RPU using metafier:

metafier.exe -e "Movie_RPU_DV.xml" "C:\Users\ALEX\OneDrive\Documents\Titanic - A Cold Breakfast Chapter (Original) [BD]\Movie_DV.bin"


4) After that I called for CM_offline tool in Command Prompt where I entered this:

cm_offline.exe -m "C:\Users\ALEX\OneDrive\Documents\Output_frames\Movie_RPU_DV.xml" "C:\Users\ALEX\OneDrive\Documents\Output_frames\image_sequence_#######.exr" "output_Movie.mov" --output-format "1920x816 u10 interleaved 422 le lsb32rev ycbcr_bt709 gamma_bt1886 video bt709" --quicktime-codec prores_422_hq --targ 1


This final command helped me extract the L2 100 nits trim from the original XML metadata file and this worked like this:

C:\Users\ALEX\OneDrive\Documents\Output_frames>cm_offline.exe -m "C:\Users\ALEX\OneDrive\Documents\Output_frames\Movie_RPU_DV.xml" "C:\Users\ALEX\OneDrive\Documents\Output_frames\image_sequence_#######.exr" "output_Movie.mov" --output-format "1920x816 u10 interleaved 422 le lsb32rev ycbcr_bt709 gamma_bt1886 video bt709" --quicktime-codec prores_422_hq --targ 1
Copyright (c) 2013-2025 Dolby Laboratories, Inc. All Rights Reserved
11/12/2025/19:10:56.158000000 cuda: INFO initializing CUDA
11/12/2025/19:10:56.295000000 cuda: INFO using CUDA version 11.8.0
11/12/2025/19:10:56.296000000 cuda: INFO NVIDIA GeForce GTX 1070 Ti: compute 6.1, cores 2432*1683MHz, memory 8191MB
11/12/2025/19:10:56.418000000 Metadata: WARNING List of WARNINGS:
=========================
WARNING: 25 Shots contain identical Level1 values
WARNING: 25 Shots contain identical Level2 values
=========================
11/12/2025/19:10:56.421000000 cm_offline: INFO Source: 'C:\Users\ALEX\OneDrive\Documents\Output_frames\image_sequence_#######.exr'
11/12/2025/19:10:56.422000000 cm_offline: INFO Src Info: '1920x816x3 f16 planar 444 le tight 0-2248 24fps top_left pq rgb computer bt2020'
11/12/2025/19:10:56.423000000 cm_offline: INFO Source Display: 1000-nit, P3, D65, ST.2084, Full (ID 20): Bit Depth: 16bit - Diagonal: 42.00in - Application Type: ALL - Color Info: "pq(0.0001,1000) rgb computer p3d65"
11/12/2025/19:10:56.423000000 cm_offline: INFO Destination: 'output_Movie.mov'
11/12/2025/19:10:56.424000000 cm_offline: INFO Dst Info: '1920x816x3 u10 interleaved 422 le lsb32rev 0-2248 24fps top_left gamma_bt1886 ycbcr_bt709 video bt709'
11/12/2025/19:10:56.424000000 cm_offline: INFO Target Display: 100-nit, BT.709, BT.1886, Full (HOME) (ID 1): Bit Depth: 16bit - Diagonal: 42.00in - Application Type: ALL - Color Info: "gamma_bt1886(0.005,100) rgb computer bt709"
11/12/2025/19:10:56.425000000 cm_offline: INFO Frames: 0-2248
11/12/2025/19:13:12.945000000 processing: INFO frame 2248 completed in 0.045 seconds. ETA: 0:00:00.000
11/12/2025/19:13:12.960000000 processing: INFO completed 2249 frames in 0:01:52.512
11/12/2025/19:13:12.960000000 processing: INFO processing speed: 0.05 seconds per frame (19.99 fps)
11/12/2025/19:13:12.961000000 processing: INFO Write5(4) 44.6% 0.02 spf 44.95 fps
11/12/2025/19:13:12.961000000 processing: INFO Read1 42.0% 0.02 spf 47.69 fps
11/12/2025/19:13:12.962000000 processing: INFO Pad4(3) 8.5% 0.00 spf 237.09 fps
11/12/2025/19:13:12.962000000 processing: INFO Crop/Resize2(1) 3.9% 0.00 spf 519.75 fps
11/12/2025/19:13:12.963000000 processing: INFO ContentMap3(2) 1.1% 0.00 spf 1807.25 fps
11/12/2025/19:13:12.964000000 processing: INFO Startup 0.300 seconds
11/12/2025/19:13:12.964000000 processing: INFO Shutdown 0.000 seconds

C:\Users\ALEX\OneDrive\Documents\Output_frames>


I did all of this just with the free tools that I had at my disposal and the final result looks great on my monitor and the playback is running fine as well.

Kuler087
12th November 2025, 19:17
Thanks but this is for the SDR 100nits trim delivery?
Workflow 8-2-4 already can do that without Resolve.

https://i.ibb.co/PzWcf3HY/Windows-Terminal-MBJJbv-Fg6w.gif

alexmorph3us
12th November 2025, 19:17
I tested with ProRes 4444XQ as well for the Dolby Profile 5 encoding where I load it up DoVi Baker after that using Workflow 8-2-6 and it worked in DEE!

So it seems that ProRes 4444XQ is better suited for this kind of job because is compatible with DEE when it comes to 12 bit intermediate workflows.


Later Edit: The important part was to find a way to preserve and export the 16 bit RGB container image from ffmpeg using a lossless compression format. From there ProRes 4444XQ took the workflow even further including profile 5 encoding using DEE tools.

Kuler087
12th November 2025, 19:20
But ffmpeg doesnt support ProRes 12-bit encoding ??

alexmorph3us
12th November 2025, 19:23
But ffmpeg doesnt support ProRes 12-bit encoding ??
No. Which is why I used OpenEXR in order to export the 16 bit data with the 12 bit signal inside in a lossless compression format. From there it was easy to use Mezzinator in order to create an MXF compliant file from the resulted image sequences or by just using ProRes 4444XQ.

OpenEXR is really good when it comes to compression compared to TIFF or any other formats. I reduced the file size about half using this method.

Kuler087
12th November 2025, 19:33
thanks I'll check it out

alexmorph3us
12th November 2025, 20:01
thanks I'll check it out

Also from what I read, OpenEXR format was developed by the movie industry, in particular Industrial Light & Magic, and it seems to be a better choice especially when dealing with high dynamic range HDR content where you need to preserve the luminance and of all the details in a frame. So I think it's worth taking a look at it. The compression is very good, like I said.

Kuler087
12th November 2025, 20:20
so you're saying that EXR image sequence is supported in DEE and dolby tools (CM) ?

alexmorph3us
12th November 2025, 20:26
so you're saying that EXR image sequence is supported in DEE and dolby tools (CM) ?

Only in Dolby tools like: Mezzinator, Cm_Analyze, CM_Offline, Metafier that are already in DoVi Scripts. You need to sign up on their website, but they give them to you without any cost. From there you can create an intermediate 12 bit that it will.work in DEE.

Kuler087
12th November 2025, 20:28
strange , if they work in CM tools, they must work in DEE too. did you try?

alexmorph3us
12th November 2025, 20:30
strange , if they work in CM tools, they must work in DEE too. did you try?

Not yet. You can read their documentation. It's very comprehensive.

Kuler087
12th November 2025, 21:38
how many encoding fps do you get, and how large is the images folder?

SamuriHL
12th November 2025, 21:51
Out of my depth on this but would that work in Resolve?

alexmorph3us
12th November 2025, 22:30
how many encoding fps do you get, and how large is the images folder?

I only did a sample from that.movie (Titanic) because I know that it has a FEL layer that I could use for testing and because I want it to find a way of recreating the full 12 bit flavor without Resolve. I don't have a powerful machine like you, but from what I could see it didn't take that long to complete on my old machine. You can follow the workflow that I provided in my previous post. For the rest of the command-lines that are available, like for Mezzinator etc., you can read their documentation - it's part of the Dolby Professional Tools from their website.

alexmorph3us
12th November 2025, 22:40
Out of my depth on this but would that work in Resolve?
For Resolve it should be simple. You import the resulting image sequences from FFMPEG (OpenEXR) and then choose to export them as another format that is compliant like MXF container using JPEG2000 12 bit or like I tested using ProRes 4444Xq 12 bit. From there, get into DoVi Scripts and choose Workflow 8-2-6 for Dolby Profile 5 encoding (DEE is required for this final step) and that's it.

Kuler087
12th November 2025, 22:46
You can follow the workflow that I provided in my previous post. For the rest of the command-lines that are available, like for Mezzinator etc., you can read their documentation - it's part of the Dolby Professional Tools from their website.
Yes, I know. The Dolby tools have been part of my scripts for years...

I only did a sample from that.movie (Titanic) because I know that it has a FEL layer that I could use for testing and because I want it to find a way of recreating the full 12 bit flavor without Resolve.
My PC was already running a task (40% CPU usage). Without compression, I got 19 fps and a 52 GB folder for a 1‑minute sample. With compression, I got 9 fps and a 28 GB folder.

Regarding the final Profile 5 encoding quality (with exr compression), there’s slightly more noise, and the whites appear a bit darker compared to the source and ProRes + DEE.
https://slow.pics/c/m4FJfdTJ

alexmorph3us
12th November 2025, 22:52
Yes, I know. The Dolby tools have been part of my scripts for years...


My PC was already running a task (40% CPU usage). Without compression, I got 19 fps and a 52 GB folder for a 1‑minute sample. With compression, I got 9 fps and a 28 GB folder.

Regarding the final Profile 5 encoding quality (with exr compression), there’s slightly more noise, and the whites appear a bit darker compared to the source and ProRes + DEE.
https://slow.pics/c/m4FJfdTJ

For EXR what compression algorithm did you use? The lossless ones are: ZIP1, ZIP16 and PIZ. I used ZIP1 in my workflow half format since I think 32 bit is a bit overkill.

Kuler087
12th November 2025, 23:37
for some reason your command was too slow. I used this instead:

"D:\DoVi_Scripts\tools\ffmpeg.exe" -i D:\test.mkv -vf "format=gbrpf32le" -color_primaries bt2020 -color_trc smpte2084 -colorspace bt2020nc -compression 3 -pix_fmt gbrpf32le -start_number 0 -loglevel error -stats "D:\test\%07d.exr"

alexmorph3us
12th November 2025, 23:52
for some reason your command was too slow. I used this instead:

"D:\DoVi_Scripts\tools\ffmpeg.exe" -i D:\test.mkv -vf "format=gbrpf32le" -color_primaries bt2020 -color_trc smpte2084 -colorspace bt2020nc -compression 3 -pix_fmt gbrpf32le -start_number 0 -loglevel error -stats "D:\test\%07d.exr"

Yes. I have an old machine and that is probably why. I haven't found a way of using PIZ compression in FFMPEG, though. From what I have read online, PIZ is regarded as the best lossless compression algorithm for this EXR format.

alexmorph3us
13th November 2025, 13:03
For everyone interested I will put some examples here on how to use Mezzinator (This is extracted from Dolby Professional Tools Documentation):

Open a Command Prompt in Windows Explorer and enter one of the following:

1) Create a ProRes QT MOV with Dolby Vision metadata carriage:

mezzinator.exe -m "input_path\metadata.xml" "input_path\image_sequence_#######.exr" "output_name.mov" --quicktime-codec prores_4444_xq ------> with interleaved Dolby Vision metadata


2) Create a ProRes QT MOV with sidecar XML metadata file:

mezzinator.exe -m "input_path\metadata.xml" "input_path\image_sequence_#######.exr" "output_name.mov" --quicktime-codec prores_4444_xq --output-xml "output_name.xml" ----> with sidecar Dolby Vision metadata


3) Create a JPEG2000 MXF with sidecar XML metadata file:

mezzinator.exe -m "input_path\metadata.xml" "input_path\image_sequence_#######.exr" "output_name.mxf" --j2k-profile imf_ml6 --output-xml "output_name.xml" ----> this is for preserving the 16 bit color information in a lossless compression


4) Create a standard MXF with sidecar XML metadata file:

mezzinator.exe -m "input_path\metadata.xml" "input_path\image_sequence_#######.exr" "output_name.mxf" --output-xml "output_name.xml" ----> The default JPEG2000 encoding profile is "j2k-profile bcp5" which is mostly recommended for encoding bit depth between 8 and 12-bits

alexmorph3us
14th November 2025, 14:48
strange , if they work in CM tools, they must work in DEE too. did you try?

This is from the documentation. In order to do this directly without having to convert to ProRes in Mezzinator, you need to use the pre-processor first before encoding and feed it these supported formats:

http://ibb.co/N6TkSw49

https://i.ibb.co/jvJxR7py/Dolby-Vision-Profile-5-pre-processor.jpg (https://ibb.co/N6TkSw49)

alexmorph3us
15th November 2025, 15:22
@Kuler087:

I'm struggling with this command-line : "F:\DoVi.Scripts\tools\DEE\dee_dv5_preproc.exe" --license F:\DoVi.Scripts\tools\DEE\license.lic --input-format tiff_list:framerate=23.976 --input "F:\DoVi.Scripts\Exported_TIFF" --input-metadata "F:\DoVi.Scripts\Movie_DV.xml" --output "F:\DoVi.Scripts\output_Test.yuv" --output-rpu "F:\DoVi.Scripts\output_Test_DV.rpu" and it doesn't work in DEE. I'm doing something wrong probably.

Can you add the possibility to use image sequences that are in folders in Workflow 8-2-6 in DoVi Scripts ? That would be very helpful.

Kuler087
15th November 2025, 15:34
Maybe later, but why not just use the Python script that already handles everything? Check the command I’m using in DS and adjusting it to accept a TIFF list should be straightforward.

python "%DEE_python_P5_script%" -i "%filepath%%filename%%fileext%" --input-format jpeg2000_mxf:range=auto:framerate=%FPS% -m %XML% --temp "%TEMP:~0,-1%" --ffmpeg "%ffmpeg_path%" --preset %DEE_P5_preset% --encoder-pass-num %DEE_pass% %bitrate.for.vbr% --mdpp none --data-stream 1 --progress 1 --overwrite 1 --output "%output_path%%filename%_jpeg2000.P5.DV.h265"


D:\>python D:\DoVi_Scripts\tools\DEE\python_scripts\encode_dvmezz_to_dv5.py -h
Dolby Vision profile 5 encoding workflow.

-h [ --help ] Show this help.
--toolset-dir arg (=D:\DoVi_Scripts\tools\DEE)
Toolset installation directory.
-l [ --license ] arg (=D:\DoVi_Scripts\tools\DEE\license.lic)
Toolset license file.
--print-all arg (=0) Enable log printing. Values: 0|1.
--progress arg (=0) Show progress in percentage. Values: 0|1.
--overwrite arg (=0) Allow overwriting existing files. Values: 0|1.
--temp-dir arg (=D:\DoVi_Scripts\tools\DEE)
Directory to store temporary files.
--keep-temp arg (=0) Keep temporary files after execution. Values: 0|1.
--ffmpeg arg (=ffmpeg) FFmpeg executable.
--dvesverifier arg Dolby Vision ES Verifier executable. If not specified, the script will skip the verification step.
--input-format arg Input format followed by format-specific options. Use "--morehelp input-format" for more details.
Values: jpeg2000_list|jpeg2000_mxf|prores_list|prores_mov|tiff_list.
-i [ --input ] arg Input file with mezzanine video. Input directory for list-based inputs.
-m [ --input-metadata ] arg Optional input metadata file. If not specified, the application attempts to extract metadata from
the input.
-o [ --output ] arg [arg ...] Space-separated output file paths in HEVC or MP4 format.
--metadata-offset arg (=0) Offset added to each frame index, when accessing frame metadata from the source.
--start arg (=0s) Start position in 'xs' format, where 'x' represents seconds or 'xf' format, where 'x' is a frame
number.
--duration arg (=-1) Duration in 'xs' format, where 'x' represents seconds or 'xf' format, where 'x' is a frame number.
'-1' means "end of file".
--end arg (=-1) End position in 'xs' format, where 'x' represents seconds or 'xf' format, where 'x' is a frame
number. '-1' means "end of file".
-r [ --target-resolution ] arg [arg ...] (=[])
Output resolution, or space-separated target resolutions in 'WxH' format.
--data-rate arg [arg ...] (=[]) Target data rate, or space-separated list of target data rates, in kbps units. '0' means "assign
automatically".
--preset arg (=medium) Encoder preset. Values: ultrafast|superfast|veryfast|faster|fast|medium|slow|slower|veryslow.
--data-stream arg (=0) Use data streaming instead of temporary files, wherever possible. Values: 0|1.
--data-stream-arch arg (=serial) Data streaming architecture. Relevant only if --data-stream is set to 1. Values: serial|parallel.
--yuv-buffer-size arg (=-1) YUV buffer size in bytes. '-1' means "assign automatically". Relevant only if 'data-stream' is
enabled.
-p [ --encoder-pass-num ] arg (=2) Number of encoder passes. Values: 1|2.
-g [ --gop-duration ] arg (=2) GOP duration (seconds). Affects the distance between IDR frames in outputs.
--codec-id arg (=dvhe) Video codec ID. Relevant for MP4 outputs only. Values: dvhe|dvh1.
--mdpp arg (=full) Post-processing configuration. Use "--morehelp mdpp" for more details. Values: full|L5|none.
--morehelp arg Show more help about selected topic. Values: mdpp|input-format.

Argument of option "--input-format" can be followed by the list of format-specific options.

MXF container with JPEG2000 video essence:
Example: --input-format jpeg2000_mxf:range=auto:framerate=24.0
Options:
range=<STRING> Optional (default: auto). Input signal range. Values: auto|computer|legal|sdi.
framerate=<DECIMAL> Optional (default: auto). Input framerate.

List of JPEG2000 files:
Example: --input-format jpeg2000_list:range=auto:width=3840:height=2160:framerate=24:regex=.*\.j2k
Options:
range=<STRING> Optional (default: auto). Input signal range. Values: auto|computer|legal|sdi.
width=<INTEGER> Required. Input width.
height=<INTEGER> Required. Input height.
framerate=<DECIMAL> Optional (default: 24.0). Input frame rate.
regex=<STRING> Optional (default: .*\.j2k). Regular expression to match files found in specified input directory.

MOV container with ProRes video track:
Example: --input-format prores_mov:range=auto:trackid=-1:framerate=24.0
Options:
range=<STRING> Optional (default: auto). Input signal range. Values: auto|computer|legal|sdi.
trackid=<INTEGER> Optional (default: -1 == the first found video track). Video track to demux.
framerate=<DECIMAL> Optional (default: auto). Input framerate.

List of ProRes files:
Example: --input-format prores_list:range=auto:codec=ap4x:width=3840:height=2160:framerate=24:regex=.*\.prores
Options:
range=<STRING> Optional (default: auto). Input signal range. Values: auto|computer|legal|sdi.
codec=<STRING> Required. ProRes codec. Values: ap4h|ap4x|apch|apcn|apco|apcs.
width=<INTEGER> Required. Input width.
height=<INTEGER> Required. Input height.
framerate=<DECIMAL> Optional (default: 24.0). Input frame rate.
regex=<STRING> Optional (default: .*\.prores). Regular expression to match files found in specified input directory.

List of TIFF files:
Example: --input-format tiff_list:range=auto:framerate=24:regex=.*\.tiff?
Options:
range=<STRING> Optional (default: auto). Input signal range. Values: auto|computer|legal|sdi.
framerate=<DECIMAL> Optional (default: 24.0). Input frame rate.
regex=<STRING> Optional (default: .*\.tiff?). Regular expression to match files found in specified input directory.

alexmorph3us
15th November 2025, 16:23
Ok. I will try this option too. I appreciate the support. Thank you once again!

TR-9970X
19th November 2025, 05:07
I've hit a problem with DEE :(

I am setting up & testing DS, after a LONG time of not using it, and I can't figure out what's going wrong here...

What is the audio track id (default=1) and press enter...
1
[2025-11-19T03:53:48Z INFO truehdd] 0.4.0 (truehd library 0.4.0) Built: 2025-08-15 19:46:04 UTC
[2025-11-19T03:53:48Z INFO truehdd::cli::decode::decode_impl] Decoding TrueHD stream: - (strict mode: false, presentation: 3)
[2025-11-19T03:53:48Z INFO truehdd::cli::decode::decode_impl] Output path specified: D:\Dovi_Temp_MKV\temps\temp_folder19\Star.Wars.Episode.I.The.Phantom.Menace.1999.IGNOREBITRATE
[2025-11-19T03:53:48Z INFO truehdd::cli::decode::decoder_thread] Processing complete: 0 frames, 0 samples
[2025-11-19T03:53:48Z INFO truehdd::cli::decode::decode_impl] Decoding completed successfully 0 frames speed: 0.0x | timestamp: 00:00:00.000 | elapsed: 00:00:00
[2025-11-19 14:53:49.174] INFO: Dolby Encoding Engine, version: 5.2.1-5994839.
[2025-11-19 14:53:49.174] ERROR: Error while reading license.
[2025-11-19 14:53:49.174] --- Execution summary starts here ---
ERROR: Error while reading license.
Time elapsed: 0.502071 seconds
Application exits with error code: 1
Deleting TEMP folder...

I know it plainly states that there's a License problem, but the license file IS where it needs to be, so unless there's something basic that I can't see. I can't use 8-1-3.

@en6ads... did you have this issue ??

UPDATE:-

Seems that I might have solved the License issue, as the process goes for a lot longer, then at the end I get this :-

[2025-11-19 15:43:13.380] INFO: Average CPU usage in system: 1.6 %.
[2025-11-19 15:43:13.380] INFO: Average MEM usage in system: 8821 MB.
[2025-11-19 15:43:13.380] INFO: Max MEM usage in system: 8830 MB.
[2025-11-19 15:43:13.380] INFO: Average CPU used by DEE process: 0 %.
[2025-11-19 15:43:13.380] INFO: Max MEM used by DEE process: 35 MB.
[2025-11-19 15:43:13.385] ERROR: encode_to_atmos_ddp: Invalid timecode_frame_rate value: .
[2025-11-19 15:43:13.385] --- Execution summary starts here ---
ERROR: encode_to_atmos_ddp: Invalid timecode_frame_rate value: .
Time elapsed: 3.2226 seconds
Application exits with error code: 10
Deleting TEMP folder...

Kuler087
19th November 2025, 12:56
i dont know, looks like a source framerate issue. Give me a sample and I'll see if I can reproduce.

en6ads
19th November 2025, 16:48
I noticed you have updated the "Dolby_Vision_stuff" spreadsheet with this: Only device to supports Positive Lift(L2/L8 offset) and Level 5 Active area in TV-LED (CPM A14 and latest NG only)

Interesting. I've been on A14 for a while. Installed the latest NG nightly, rebooted, and It still fails L5 using your test file: https://drive.google.com/file/d/1TSfE1KJPTlb1Xj5IpwnyoSiytqWy4jF1/view?usp=drive_link

How are you getting the latest NG nightly to work with L5? Thank you.

Edit: I see the pull requests: https://github.com/CoreELEC/linux-amlogic/pull/44 and https://github.com/CoreELEC/xbmc/pull/36 were merged into CoreELEC:aml-4.9-21.3. Why can't I get it to work? I only tested the latest nightly, not the latest stable. I didn't see any settings for Source levels metadata like there is with CPM.

Edit 2: After reading this post: https://www.avsforum.com/posts/64306594/, I installed the latest stable, not the latest nightly. The latest stable 21.3 works. All good now.

en6ads
19th November 2025, 16:56
In which other workflows does it break? I know there is one or two workflows that will remove the '')''

Screenshots (7-1 and 7-2).

Script replaces ")" in source filenames and does not restore it back to what it was after it's finished. I have to manually restore the filename. Would be awesome to update your script to correct this.

Many thanks.

en6ads
19th November 2025, 17:02
Ok please try this version. Workflow 8-1-3. (you must put the truehdd.exe in the tools folder)
https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=drive_link

The default mode is 5.1 Atmos at 1024 kbps, but you can change it to 7.1 at 1536 kbps in lines 82–84. I don’t see much point in using the 7.1 Blu-ray mode though. IMO, the purpose of lossy Atmos is to make it playable on a TV’s internal player or apps like Plex. The 7.1 Blu-ray mode triggers Atmos on Blu-ray players or devices like the Ugoos, but not on a LG TV’s Plex app, where only the 640 kbps 5.1 AC-3 core is played. That’s why the 7.1 mode isn’t the default in the script.

5.1 vs 7.1 doesn’t matter when you’re bitstreaming Atmos anyway, and you probably wouldn’t be able to tell the difference between 1024 and 1536 kbps. The AC-3 core just ends up being a waste of space.

Feature Request:
When Script asks if you want to convert audio to DDP (in several workflows including converting P7 to P8): if user has DEE, then use it with TrueHDD instead of using FFMPEG. Default would be DDP 5.1 Atmos @ 1024 kbps for TrueHD Atmos, but configurable in bat file. If not Atmos, then just DDP 5.1 @1024 but again configurable.

Many thanks.

Kuler087
19th November 2025, 21:00
Screenshots (7-1 and 7-2).

Script replaces ")" in source filenames and does not restore it back to what it was after it's finished. I have to manually restore the filename. Would be awesome to update your script to correct this.

Many thanks.

done in beta (https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=drive_link)

Feature Request:
When Script asks if you want to convert audio to DDP (in several workflows including converting P7 to P8): if user has DEE, then use it with TrueHDD instead of using FFMPEG. Default would be DDP 5.1 Atmos @ 1024 kbps for TrueHD Atmos, but configurable in bat file. If not Atmos, then just DDP 5.1 @1024 but again configurable.

Many thanks.

This will require a lot more work. Maybe later.

I noticed you have updated the "Dolby_Vision_stuff" spreadsheet with this: Only device to supports Positive Lift(L2/L8 offset) and Level 5 Active area in TV-LED (CPM A14 and latest NG only)

Interesting. I've been on A14 for a while. Installed the latest NG nightly, rebooted, and It still fails L5 using your test file: https://drive.google.com/file/d/1TSfE1KJPTlb1Xj5IpwnyoSiytqWy4jF1/view?usp=drive_link

How are you getting the latest NG nightly to work with L5? Thank you.

Edit: I see the pull requests: https://github.com/CoreELEC/linux-amlogic/pull/44 and https://github.com/CoreELEC/xbmc/pull/36 were merged into CoreELEC:aml-4.9-21.3. Why can't I get it to work? I only tested the latest nightly, not the latest stable. .

The new builds have L5 to zero regardless of the source, so it’s normal. You can test if positive lift works and confirm that L5 is working(at 0) with these files:
https://drive.google.com/drive/u/1/folders/1LbuwBDZj5x3i1bdbAntsZlr5CiYJ9KKj

Anyway, no reason to use any of these builds over CPM A14. They are all inferior features-wise.

I didn't see any settings for Source levels metadata like there is with CPM
I’m not sure if there’s supposed to be an option for that, but by default, the latest NG and NO should use the source metadata. You can easily test this with this file. When the source metadata is used, no clipping will be visible even when the brightness exceeds your TV’s capabilities.
https://drive.google.com/file/d/1S6Z3ux_Wi7CncxSRhrZhkeDlgFvr3CVl/view?usp=drive_link

TR-9970X
20th November 2025, 05:42
i dont know, looks like a source framerate issue. Give me a sample and I'll see if I can reproduce.

Hi, I'm getting really confused here :(

So, first of all, the test I did the other day, I'd demuxed the .thd stream from the movie using gMKVExtractGUI.

Now I think this is where I went very wrong...

I then loaded that into 8-1-3, but isn't that for convert other formats to .thd ??, not converting .thd to .thd ??? :stupid:

Same file using 8-1-1 works just fine.

So just to confirm, what exactly is 8-1-3 designed for ??, what format's will it except ??

Kuler087
20th November 2025, 12:52
8-1-3 is for TrueHD Atmos to DDP Atmos conversion or PCM7.1 WAV to TrueHD.
It's all written in the description...


https://i.ibb.co/GQZHcbrb/Windows-Terminal-Ej-D19-JB7-Hx.png

TR-9970X
20th November 2025, 13:17
8-1-3 is for TrueHD Atmos to DDP Atmos conversion or PCM7.1 WAV to TrueHD.
It's all written in the description...

So there must be a difference between TrueHD and TrueHD Atmos...

'Cause I loaded a .thd into 8-1-3 which caused those errors that I showed a few posts back.

Kuler087
20th November 2025, 13:20
.thd, not supported yet, and yes, input must have Atmos metadata.
For anything else, there's no point using DEE for DDP encoding, just use 8-1-1

en6ads
20th November 2025, 16:37
Sorry I've been away for a bit so sorry if this question is a repeat somewhere:

I saw a few posts back about P5 DEE encoding. Is it now possible (perhaps in beta) to transcode P7 FEL 12-bit to P5 ICtCp with DEE?
I would love to use this functionality. I have DEE.
Thank you.

Kuler087
20th November 2025, 17:04
It’s been possible for a while: Workflow 8-2-6.
If you want to use CRF encoding, you’ll need to edit the DEE Python script as instructed and adjust the script settings; otherwise it will default to 2-pass bitrate, which is a waste of time.

en6ads
20th November 2025, 17:38
It’s been possible for a while: Workflow 8-2-6.
If you want to use CRF encoding, you’ll need to edit the DEE Python script as instructed and adjust the script settings; otherwise it will default to 2-pass bitrate, which is a waste of time.

Awesome! Last time I looked into it in September you mentioned this:


Also, script 8-2-6 uses FFmpeg ProRes, which doesn’t support 12-bit encoding, so even though the DoVi Baker output is 16-bit RGB, the 12-bit data from the FEL is lost during ProRes encoding. The solution would be to use JPEG 2000, but I haven’t found a way to produce files compatible with DEE in FFmpeg.

The encoding quality is as good as x265.exe, if you edit the Dolby Python script to use CRF and custom settings as explained in the workflow notes (their default settings are terrible: no wonder many streaming platforms have worse DV encoding than HDR10). Overall, I find DEE’s HEVC compression slower and less efficient.

When you mentioned the FEL data is lost I decided to not continue.

Does that mean you've solved the 12-bit issue since then?

Edit. My question was about bypassing the above contstraint, mentioned here:

No. Which is why I used OpenEXR in order to export the 16 bit data with the 12 bit signal inside in a lossless compression format. From there it was easy to use Mezzinator in order to create an MXF compliant file from the resulted image sequences or by just using ProRes 4444XQ.

OpenEXR is really good when it comes to compression compared to TIFF or any other formats. I reduced the file size about half using this method.


Thank you.

Kuler087
20th November 2025, 17:59
Only the 12-bit precision is lost, and that’s irrelevant in practice since consumer displays are limited to 10-bit output. All the important aspects, expanded brightness range, color volume, shadow detail, and film grain remain intact exactly as they would in any standard P8 HEVC encode with dovi_baker.
You could convert the source to EXR (roughly 2 TB) and then to JPEG 2000 (likely another 2 TB) just to keep the 12-bit depth, but it’s pointless. The comparison I posted earlier in that thread shows there’s no visible benefit.

en6ads
20th November 2025, 18:23
Only the 12-bit precision is lost, and that’s irrelevant in practice since consumer displays are limited to 10-bit output. All the important aspects, expanded brightness range, color volume, shadow detail, and film grain remain intact exactly as they would in any standard P8 HEVC encode with dovi_baker.
You could convert the source to EXR (roughly 2 TB) and then to JPEG 2000 (likely another 2 TB) just to keep the 12-bit depth, but it’s pointless. The comparison I posted earlier in that thread shows there’s no visible benefit.

OK thanks. I suppose I don't know enough about how 10-bit IPTPQc2/IPT is handled by TVs and if there's any visual benefit such as reduced banding vs 10-bit YPbPr.

https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcScfwRyYYAPBQr_DPKbATqiQgLvDM9JZffb3w&s

I get that FEL 12-bit YPbPr is 2 bits more than our TV panels, but what about 10-bit IPTPQc2/IPT when displayed on a 10-bit panel? Since 10-bit IPTPQc2/IPT is "supposed" to be more efficient than 10-bit YPbPr, doesn't that mean more of the FEL precision is rendered on the display compared to YPbPr? I don't know how LG/Dolby implements it in practice.

Edit: From Kaleidescape Owners' Forum:

By transforming the 12-bit YCbCr master image to ICtCp, Profile 5 is able to use the 10-bit video decoding engines present on current system-on-chip designs like the one used in Strato V, and it has no need for a second decoder, which these chips don’t have. Since HDMI doesn’t support ICtCp, Profile 5 players like Strato V convert the decoded ICtCp color back to 12-bit YCbCr during playback and send that 12-bit signal to the display.

The result is that Strato V’s Profile 5 playback is accomplishing the same thing as Profile 7 with FEL — it’s recovering the fidelity of the 12-bit YCbCr master image and delivering it alongside dynamic metadata. And, as a bonus, if connected to an HDR10 display, Strato V will convert that ICtCp image to an HDR10-compatible output that retains the 12-bit YCbCr. You do lose the dynamic metadata since that’s not supported by HDR10.

OK looks like HDMI does not support ICtCp, so conversion back to 12-bit YCbCr is required. OK, I see now transcoding from P7 FEL to P5 is not helpful if transmitted by HDMI.

Maybe local file playback. But I'm thinking it's still not worth the effort.

Thank you.

Kuler087
20th November 2025, 18:37
The comparison I posted (https://forum.doom9.org/showpost.php?p=2024824&postcount=1531) is in 16-bit RGB HDR and you can check it out in 12bit from an htpc.

alexmorph3us
20th November 2025, 18:50
Only the 12-bit precision is lost, and that’s irrelevant in practice since consumer displays are limited to 10-bit output. All the important aspects, expanded brightness range, color volume, shadow detail, and film grain remain intact exactly as they would in any standard P8 HEVC encode with dovi_baker.
You could convert the source to EXR (roughly 2 TB) and then to JPEG 2000 (likely another 2 TB) just to keep the 12-bit depth, but it’s pointless. The comparison I posted earlier in that thread shows there’s no visible benefit.

There's no need to convert that further to JPEG2000 for another 2tb because you can use a TIFF exported list from the DoVi Baker script using FFMPEG directly in Workflow 8-2-6 since the python script accepts that.
You can always split the movie by chapters in order to accomodate with the storage and then put it back together.

Kuler087
20th November 2025, 18:56
How large is a 2H movie in TIFF images? Probably much larger than JPEG2000 or EXR ? Like 2TB per hour ?

alexmorph3us
20th November 2025, 19:00
How large is a 2H movie in TIFF images? Probably much larger than JPEG2000 or EXR ? Like 2TB per hour ?

From my personal tests, an uncompressed TIFF frame image is around 18 MB for a 4K resolution or 9.04 MB for 1080p if you scale it in half in the Avisynth script. Then you multiply it by 23.976 frames per second for a second then another 60 seconds for a minute and then add the lengh of the movie and you get your final output.

Kuler087
20th November 2025, 19:02
18mb seems very low for uncompressed, especially for grainy 16:9 content. My script uncompressed images (7-1 / 7-2) are often in the 40mb

alexmorph3us
20th November 2025, 19:08
Anyway an option would be nice to have besides JPEG2000 which is considered a lossy format. Also, in Workflow 8-2-1 it would be great to have the option to use ProRes directly so I don't have to use StaxRip for the final encoding. The way it is now it defaults to DEE encoding no matter what.

ProRes 4444XQ can be a great alternative when it comes to reducing the file size while preserving the 12 bit essence inside.

I believe that those external tools can be used in an automated script in order to make things easier.

en6ads
20th November 2025, 19:19
The comparison I posted (https://forum.doom9.org/showpost.php?p=2024824&postcount=1531) is in 16-bit RGB HDR and you can check it out in 12bit from an htpc.

Thanks for sharing.

I think what comparison I need is this:

On a 10-bit Dolby Vision display,
With a 12-bit or greater Master,
12-bit YPbPr vs 10-bit YPbPr vs 10-bit IPTPQc2/IPT.

On a 10-bit Dolby Vision display, is there less banding with 10-bit IPTPQc2/IPT compared to 10-bit YPbPr when both are sourced from a 12-bit or greater master?

Edit: I asked some AIs this question:

On a 10-bit Dolby Vision display such as the LG G5, is there less banding with 10-bit IPTPQc2/IPT compared to 10-bit YPbPr when both are sourced from the same 12-bit or greater master? I know HDMI does not support ICtCp, so let's assume the comparison is local file playback only.

Grok 4.1:
Yes, there is less banding with 10-bit Dolby Vision using IPTPQc2 (also called ICtCp or IPT) compared to 10-bit YPbPr (YCbCr) when both come from the same 12-bit (or higher) master, assuming local file playback on a display like the LG G5 OLED.
Why ICtCp/IPTPQc2 Reduces Banding More Effectively
ICtCp (the color space behind IPTPQc2 in Dolby Vision Profile 5) is perceptually optimized for human vision in HDR. It provides better hue linearity, more constant luminance, and more uniform quantization than traditional YCbCr/YPbPr. In quantization error tests (e.g., CIEDE2000), 10-bit ICtCp delivers smoothness equivalent to about 11.5-bit YCbCr. This means fewer visible steps (banding) in gradients, skies, skin tones, and high-saturation areas, even though both are encoded at 10 bits.
Dolby Vision Profiles using ICtCp (primarily Profile 5, single-layer, no HDR10 fallback) keep the full efficiency of the color space. The dynamic metadata (RPU) and reshaping then recover the 12-bit master's detail with minimal posterization on a 10-bit panel.
In contrast, Profiles using YPbPr/YCbCr (e.g., Profile 8.x, dual-layer with HDR10 fallback, common in UHD Blu-ray and most streaming) lose some of that perceptual efficiency. Even with 12-bit-capable variants (like FEL/MEL), the underlying color encoding is less optimal, so quantization noise becomes more visible when down-converted to 10-bit display output.
LG OLED-Specific Behavior (Including G5)
LG OLEDs (from ~2017 onward, including the G5) are native 10-bit panels but accept higher-bit-depth signals for internal processing. In Dolby Vision mode:

The TV's Dolby Vision engine processes the signal at high precision (effectively 12-bit or higher internally).
For Profile 5 (ICtCp), the more efficient encoding + internal processing yields noticeably smoother gradients.
For YCbCr-based profiles, the TV still benefits from Dolby Vision tone-mapping, but the base color representation is less efficient → slightly more risk of visible banding in critical content.

Real-world reports (from high-end rips and local playback tests) consistently show Profile 5 files looking cleaner in challenging gradients than Profile 7/8 versions of the same master, even on LG OLEDs.


I then asked this question:
On a 10-bit Dolby Vision display such as the LG G5, is there less banding with 10-bit IPTPQc2/IPT compared to 12-bit YPbPr when both are sourced from the same 12-bit or greater master? I know HDMI does not support ICtCp, so let's assume the comparison is local file playback only.

Grok 4.1:
Yes, on an LG G5 (or any recent LG OLED) with local file playback, a 10-bit IPTPQc2/ICtCp-based Dolby Vision file (Profile 5 or Profile 8 MEL with ICtCp) will almost always show noticeably less banding than a 12-bit YCbCr/YPbPr-based Dolby Vision or HDR10 file from the same ≥12-bit master.
Why 10-bit ICtCp Beats 12-bit YCbCr for Banding
ICtCp (the color space used in IPTPQc2) is perceptually quantized much more uniformly than YCbCr. Independent measurements (Dolby papers, ITU reports, and real-world code-value tests) show:

10-bit ICtCp has roughly the same or lower visible quantization error as ~11.5- to 12-bit YCbCr in luminance and especially in saturated colors.
In hue-linear gradients (sunsets, skies, skin tones, colored lighting), ICtCp needs ~1.5–2 fewer bits to achieve imperceptible steps compared to YCbCr.

So even though the YCbCr version has 12 bits (4096 code values per channel) vs 10 bits (1024 code values) in ICtCp, the ICtCp version still wins on smoothness because the 1024 code values are distributed where the eye is most sensitive.
Real-World Evidence on LG OLEDs (including G-series)
AVSForum, Reddit (r/hometheater, r/OLED), and Makemkv users who compare rips regularly report:

Dolby Vision Profile 5 (single-layer, full ICtCp, 10-bit) or Profile 8 MEL with ICtCp from UHD Blu-ray → cleanest gradients, often described as “buttery smooth” or “zero banding” in problematic scenes (e.g., Dune desert skies, Oppenheimer fission cloud, dark space scenes in The Creator).
The same title in 12-bit YCbCr HDR10 or Dolby Vision Profile 7/8 (non-ICtCp) from streaming or forced YCbCr rips → visible banding or grain clumping in the same scenes, even though it’s 12-bit.

LG OLEDs (including the G5) perform high-precision internal processing (effectively >12-bit) and apply excellent dithering, but they can’t overcome fundamentally inefficient code-value distribution in YCbCr. ICtCp gives them cleaner source data to begin with.


Hmm. Maybe the absolute best possible FEL playback quality is to encode to P5 (with preserving the 12 bits before DEE encoding), and playing file on the TV either locally from USB or from an LG app such as Plex or something. Just not via HDMI source. Or does the DV tunnel (8 bit RGB) allow the ICtCp to pass through HDMI?

But I think it comes down to how each is processed / implemented internally.
So I asked this question:
In an LG G5 or C5, how is 10-bit IPTPQc2/IPT internally processed, and how does this compare to 12-bit YPbPr processing?

And got this answer:

On LG 2025 OLEDs like the G5 (with α11 AI Processor Gen2) and C5 (with α9 AI Processor Gen8), the internal processing pipeline for Dolby Vision differs significantly depending on whether the source uses 10-bit IPTPQc2/ICtCp (primarily Profile 5 single-layer files, or untouched Profile 8 MEL with ICtCp — possible only via local playback like USB/HDD or certain media servers) or 12-bit YPbPr/YCbCr (standard for HDMI-sourced Dolby Vision from streaming, UHD Blu-ray, or consoles).

Shared Aspects of Processing (Both Formats)
The panel itself is native 10-bit (all consumer OLEDs are; there are no 12-bit consumer panels).
LG's SoC (Alpha-series processor) performs high-precision internal calculations — effectively 12–16 bits or higher floating-point in the Dolby Vision tone-mapping and reshaping engine.
Dynamic metadata (RPU) is always applied frame-by-frame (or scene-by-scene) at high precision.
Final output to the panel is 10-bit + temporal/spatial dithering (FRC) to simulate extra smoothness.
The Dolby Vision hardware decoder and display management engine are the same; the difference is in the source color encoding efficiency.
10-bit IPTPQc2/ICtCp Processing (Profile 5 or native ICtCp MEL)
The TV's internal media player (or DLNA server) decodes the HEVC stream directly.
Video stays in native 10-bit ICtCp domain from decoder → Dolby Vision engine.
The processor applies the dynamic RPU (trim passes, reshaping curves) entirely in ICtCp space at very high internal precision (≥12-bit equivalent).
Only at the final stage (after tone-mapping, detail recovery, etc.) does the signal get converted to RGB 10-bit for the OLED panel.
Key advantage — No lossy color space conversion until the very end. ICtCp's perceptually uniform quantization means the 10-bit code values are already optimally distributed → minimal quantization noise even before dithering.
Result on G5/C5: Extremely smooth gradients, virtually no visible banding/posterization in critical content (skies, sunsets, smoke, skin tones under colored light). Many users describe Profile 5 files as “buttery” or “film-like” on these sets.

12-bit YPbPr/YCbCr Processing (Standard HDMI-sourced Dolby Vision or HDR10)
Signal arrives over HDMI as 10-bit or 12-bit YCbCr (4:2:2 or 4:2:0).
The Dolby Vision engine converts the base/enhancement layers from YCbCr → internal working space (effectively ICtCp-like or linear RGB at high precision).
Dynamic metadata and reshaping are applied.
Final conversion to RGB 10-bit for the panel (with dithering).
Result on G5/C5: Still excellent thanks to LG's high-precision engine and great dithering, but the original YCbCr encoding is less efficient → slightly higher risk of visible quantization steps in the same challenging scenes, even though the source has “more bits.”

Bottom Line for G5/C5 Owners
The 2025 Alpha 11 (G5) and Alpha 9 Gen8 (C5) processors do not treat 10-bit ICtCp as “lower quality” just because it’s 10-bit — they treat it as higher fidelity because it avoids the inefficiencies and extra conversion steps of YCbCr. This is why enthusiasts go out of their way to play untouched Profile 5 or full-MEL ICtCp rips via USB: the gradient performance is objectively and visibly better than even 12-bit YCbCr Dolby Vision from external sources, despite the panel being 10-bit either way.


Thoughts?

Kuler087
21st November 2025, 00:20
I think what comparison I need is this:

On a 10-bit Dolby Vision display,
With a 12-bit or greater Master,
12-bit YPbPr vs 10-bit YPbPr vs 10-bit IPTPQc2/IPT.

Try these. There's a slight improvement with P5, but not a lot. P8, P7, P5 all look miles better than HDR10 and SDR on LG TVs. And my Samsung QD-OLED monitor looks a lot better than LG.

https://mega.nz/folder/FG1X1DCK#rf7riUbSuhGF4gd8N0FyIg

https://i.ibb.co/x8mSjXV6/firefox-06-Yi-FIMHfk.png

For reference, this is how horrible it looks in HDR10 on LG: https://slow.pics/c/ij0YwKgT?canvas-mode=fit-height

https://i.ibb.co/rKfkd3KZ/chrome-LKS0w-Ph-A0v.gif

en6ads
21st November 2025, 01:16
Try these. There's a slight improvement with P5, but not a lot.

For reference, this is how horrible it looks in HDR10 on LG:

Thanks for sharing. Wow, HDR10 banding looks like 8-bit.

OK, I'd like to test 10-bit P5 playback both locally (USB) and through HDMI (with DV tunneling) with other movies. Your Green Lantern is a great example to start.

If you can find a way to update your script to enable DEE P5 encode from a 12-bit FEL (that preserves the 12-bit somehow, like with lossless tiffs or something) that would be awesome.

Much appreciated. Thank you for everything you do.

Kuler087
21st November 2025, 01:44
If you can find a way to update your script to enable DEE P5 encode from a 12-bit FEL (that preserves the 12-bit somehow, like with lossless tiffs or something) that would be awesome.
Yes I'll add TIFF sequence support later.

FYI, the green knight P5 sample was encoded from YCbCr 12-bit fel to JPEG2000 12-bit to P5 ipt, so the 12-bit essence is 100% preserved in the sample.

Also, in Workflow 8-2-1 it would be great to have the option to use ProRes directly so I don't have to use StaxRip for the final encoding..

Try this (https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=drive_link)

Deithwen
21st November 2025, 05:07
I can't get it to run. All the dependencies are installed and the tools are up to date. The GUI version works but it doesn't seem to have the option to convert Profile 5 to 8.

https://i.postimg.cc/90p52p1T/2025-11-2105-41-40-ezgif-com-video-to-gif-converter.gif

Kuler087
21st November 2025, 12:49
It looks like you might be running the script with administrator privileges?

alexmorph3us
21st November 2025, 16:13
Yes I'll add TIFF sequence support later.

FYI, the green knight P5 sample was encoded from YCbCr 12-bit fel to JPEG2000 12-bit to P5 ipt, so the 12-bit essence is 100% preserved in the sample.



Try this (https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=drive_link)

It works. Thank you, Kuler!

Only thing that is left is adding the option to export as TIFF/EXR Image Sequences in Workflows like 8-2-3 and add them directly in Workflows like : 3-1/6-2, 8-2-1, 8-2-2, 8-2-4 or 8-2-6.

en6ads
21st November 2025, 21:37
Or does the DV tunnel (8 bit RGB) allow the ICtCp to pass through HDMI?

I can't find much information about this and I'm still learning.

Dolby's ICtCp patents (https://patents.google.com/patent/WO2017184784A1/en)and IP are all about streaming. It's not part of the BD spec, nor HDMI spec.

Of the three main AIs (ChatGPT, Grok, Gemini), two say no it gets converted to YCbCr first before HDMI tunneling, and the last one says yes the ICtCp remains in tact!

Hmm. I'll keep digging.

I'd rather not have to set up a DNLA server and play back P5 encodes using an LG native app to bypass any HDMI limitations with IPTPQc2/ICtCp, but if yields the absolute best possible image (better than FEL YCbCr) I'm willing to try it.

Kuler087
21st November 2025, 22:13
I wouldn’t trust an AI chatbot for this kind of information.
For what it’s worth, I don’t see any banding/posterization difference between the Ugoos and my G5’s internal player with the Green Knight Profile 5 sample.

Kuler087
21st November 2025, 22:32
It works. Thank you, Kuler!

Only thing that is left is adding the option to export as TIFF/EXR Image Sequences in Workflows like 8-2-3 and add them directly in Workflows like : 3-1/6-2, 8-2-1, 8-2-2, 8-2-4 or 8-2-6.

Try this version. (https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=drive_link)

You have to enable it at line 190

:: enable uncompressed tiff in 8-2-3 and 8-2-6 for FEL input (default = NO)
set enable_uncompressed_tiff=NO

No cropping if the input is a folder with tiff images.
If input is a mkv, then cropping + tiff is possible.

In the tests I conducted, the TIFF images are 40-47 MB, so we're talking about something like 4TB per hour. I'm not sure how usable this is, and I certainly won't use it personally; ProRes 10-bit is good enough for me.

alexmorph3us
21st November 2025, 23:30
Try this version. (https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=drive_link)

You have to enable it at line 190

:: enable uncompressed tiff in 8-2-3 and 8-2-6 for FEL input (default = NO)
set enable_uncompressed_tiff=NO

No cropping if the input is a folder with tiff images.
If input is a mkv, then cropping + tiff is possible.

In the tests I conducted, the TIFF images are 40-47 MB, so we're talking about something like 4TB per hour. I'm not sure how usable this is, and I certainly won't use it personally; ProRes 10-bit is good enough for me.

Thank you so much! I'll give it a try.

en6ads
21st November 2025, 23:37
I wouldn’t trust an AI chatbot for this kind of information.
For what it’s worth, I don’t see any banding/posterization difference between the Ugoos and my G5’s internal player with the Green Knight Profile 5 sample.

Agree. Internally I think it's all processed in 12 or more bits, then lossy converted to RGB for each pixel. So there may not be any benefit at all here.

Deithwen
22nd November 2025, 03:19
It looks like you might be running the script with administrator privileges?

Yeah, it didn't normally run, so I thought maybe elevating it could get it to run.

TR-9970X
22nd November 2025, 04:52
Pretty basic question..

Is there any point or advantage to converting a 23.9xx fps 4K to 60fps (or higher).

Kuler087
22nd November 2025, 14:05
imo no

alexmorph3us
22nd November 2025, 15:30
Kuler087, if you don't mind I noticed that in Workflow 8-2-3 in the latest beta the Avisynth does a conversion from RGB 16 bit that DoVi Baker produces to YUV444P16 using z_ConvertFormat and then back to RGB 16 bit for the TIFF export. I think it is a mistake because it should be a direct export to RGB 16. From what I know, converting from RGB to YUV you will always loose some information in the process because it's lossy, not the other way around though. Also LZB is a lossless compression algorithm, so it's not actually uncompressed tiff like it says on line 190 in the script. Perhaps you can take a look at it:


=============================SCRIPT==============================================================================
LoadPlugin("F:\DoVi.Scripts\tools\dgdecnv_242\DGDecodeNV.dll")
LoadPlugin("F:\DoVi.Scripts\tools\DoViBaker_x64.dll")
LoadPlugin("F:\DoVi.Scripts\tools\avs_libplacebo.dll")
LoadPlugin("F:\DoVi.Scripts\tools\avsresize_r21\x64\Release\avsresize.dll")
bl = DGSource("F:\DoVi.Scripts\temp.folder31\BL.dgi")
el = DGSource("F:\DoVi.Scripts\temp.folder31\EL.dgi")
SetFilterMTMode("DoViBaker",2)
DoViBaker(bl, el, rpu="F:\DoVi.Scripts\temp.folder31\RPU_FEL.bin")
z_ConvertFormat(pixel_type="YUV444P16",colorspace_op="rgb:st2084:2020:full=>2020ncl:st2084:2020:full",dither_type="error_diffusion",resample_filter="spline36",resample_filter_uv="spline36",chromaloc_op="left=>top_left")
Prefetch(8)
Spline36Resize(Width / 2, Height / 2)
=================================================================================================================

============================COMMAND==============================================================================
INPUT: "F:\DoVi.Scripts\Movie_Original.mkv"
"F:\DoVi.Scripts\tools\ffmpeg.exe" -i "F:\DoVi.Scripts\temp.folder31\script.avs" -pix_fmt rgb48le -compression_algo lzw -color_primaries bt2020 -color_trc smpte2084 -colorspace bt2020nc -start_number 0 -y "F:\DoVi.Scripts\Movie_Original_tiff\%06d.tiff"
=================================================================================================================

alexmorph3us
22nd November 2025, 19:24
So I changed the argument in lines: 23259, 23260, 23269 and 23274 from "-compression_algo lzw" to "-compression_algo raw" and deleted lines: 23190, 23191, 23209 and 23210 entirely so that the export can be RGB 16 bits directly without unnecessary additional processing. This is the result:

_____ __ ___ _____ _ _
| __ \ \ \ / (_) / ____| (_) | |
| | | | __\ \ / / _ | (___ ___ _ __ _ _ __ | |_ ___
| | | |/ _ \ \/ / | | \___ \ / __| '__| | '_ \| __/ __|
| |__| | (_) \ / | | ____) | (__| | | | |_) | |_\__ \
|_____/ \___/ \/ |_| |_____/ \___|_| |_| .__/ \__|___/
-Author: RESET_9999--------------------------|__|-----------



1) MODE.I= INJECT / EDIT / EXTRACT / INFO / VALIDATE
2) MODE.F= VERIFY SYNC / REMOVER / TRANSFER LEVELS
3) MODE.H= DoVi MAKER from HDR10 (Dolby Algo or MadVR or HDR10+)
4) MODE.7= DoVi Profile 7 Input (MKV/BDMV)
5) MODE.B= DoVi MKV Batch Muxer
6) MODE.P= Plotter (DoVi/HDR10/HLG/SDR)
7) MODE.S= Screenshots & Player
8) MODE.E= Encoders (video and audio)
9) MODE.M= MORE

Choice? [1,2,3,4,5,6,7,8,9]?8

======================
- SELECT A MODE -
======================

1) MODE.A= AUDIO Encoding (DDP, THDAC3, DEE)
2) MODE.V= VIDEO Encoding (x265/Prores/dovi_baker/libplacebo/cm_offline)

Choice? [1,2,3]?2

=========================
- SELECT A WORKFLOW -
=========================

1) Workflow.1= X265: HDR to HDR (DVP7/DVP8/DVP5/HDR10/HLG)
2) Workflow.2= X265: HDR to SDR (DVP7/DVP8/DVP5/HDR10/HLG)
3) Workflow.3= PRORES: HDR to HDR (DVP7/DVP8/DVP5/HDR10/HLG)
4) Workflow.4= PRORES: DV to SDR (Dolby CM_Offline DV Trim Pass delivery)
5) Workflow.5= PRORES: SDR to HDR-100nits
6) Workflow.6= DoVi-P5: P8/P7/prores/MXF to Profile 5 DV HEVC (require DEE.exe)
7) Workflow.7= AQ _strength compression tool
8) Workflow8= back to main menu

Choice? [1,2,3,4,5,6,7,8]?3


============
- ENCODERS -
============

-------------------------------------------------------------------------------------
-- Can Encode any HDR source(DVP7/DVP5/DVP8/HDR10/HLG) to HDR PRORES 422 HQ
-- Require Avisynthplus https://github.com/AviSynth/AviSynthPlus/releases
-- Libplacebo SDR tone mapping and P5/HLG input require a gpu with vulkan support
-------------------------------------------------------------------------------------

Drag and drop a video and press enter...
F:\DoVi.Scripts\Movie_Original.mkv



Reading input tracks format/id/language...
Done.
Extracting track 0 with the CodecID 'V_MPEGH/ISO/HEVC' to the file 'F:\DoVi.Scripts\temp.folder31\BL.P7.hevc'. Container format: HEVC/H.265 elementary stream
Progress: 100%

Indexing the HDR10 base layer...
Project
100

Indexing the DV 12bits enhancement layer...
Project
100

Reordering metadata... Done.

=============================SCRIPT==============================================================================
LoadPlugin("F:\DoVi.Scripts\tools\dgdecnv_242\DGDecodeNV.dll")
LoadPlugin("F:\DoVi.Scripts\tools\DoViBaker_x64.dll")
LoadPlugin("F:\DoVi.Scripts\tools\avs_libplacebo.dll")
LoadPlugin("F:\DoVi.Scripts\tools\avsresize_r21\x64\Release\avsresize.dll")
bl = DGSource("F:\DoVi.Scripts\temp.folder31\BL.dgi")
el = DGSource("F:\DoVi.Scripts\temp.folder31\EL.dgi")
SetFilterMTMode("DoViBaker",2)
DoViBaker(bl, el, rpu="F:\DoVi.Scripts\temp.folder31\RPU_FEL.bin")
Prefetch(8)
Spline36Resize(Width / 2, Height / 2)
=================================================================================================================

============================COMMAND==============================================================================
INPUT: "F:\DoVi.Scripts\Movie_Original.mkv"
"F:\DoVi.Scripts\tools\ffmpeg.exe" -i "F:\DoVi.Scripts\temp.folder31\script.avs" -pix_fmt rgb48le -compression_algo raw -color_primaries bt2020 -color_trc smpte2084 -colorspace bt2020nc -start_number 0 -y "F:\DoVi.Scripts\Movie_Original_tiff\%06d.tiff"
=================================================================================================================

frame=2249 (total)
ffmpeg version 2024-02-22-git-76b2bb96b4-full_build-www.gyan.dev Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --pkg-config=pkgconf --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-dxva2 --enable-d3d11va --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
libavutil 58. 39.100 / 58. 39.100
libavcodec 60. 40.100 / 60. 40.100
libavformat 60. 21.101 / 60. 21.101
libavdevice 60. 4.100 / 60. 4.100
libavfilter 9. 17.100 / 9. 17.100
libswscale 7. 6.100 / 7. 6.100
libswresample 4. 13.100 / 4. 13.100
libpostproc 57. 4.100 / 57. 4.100
Input #0, avisynth, from 'F:\DoVi.Scripts\temp.folder31\script.avs':
Duration: 00:01:33.80, start: 0.000000, bitrate: 0 kb/s
Stream #0:0: Video: rawvideo (G3[0][16] / 0x10003347), gbrp16le(pc, gbr/bt2020/smpte2084, progressive), 1920x1080, 23.98 fps, 23.98 tbr, 23.98 tbn
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> tiff (native))
Press [q] to stop, [?] for help
Output #0, image2, to 'F:\DoVi.Scripts\Movie_Original_tiff\%06d.tiff':
Metadata:
encoder : Lavf60.21.101
Stream #0:0: Video: tiff, rgb48le(pc, bt2020nc/bt2020/smpte2084, progressive), 1920x1080, q=2-31, 200 kb/s, 23.98 fps, 23.98 tbn
Metadata:
encoder : Lavc60.40.100 tiff
frame= 2249 fps=3.8 q=-0.0 Lsize=N/A time=00:01:33.80 bitrate=N/A speed=0.157x
Deleting TEMP folder...


Start time: 20:03:20.36
End time: 20:14:00.24
Time taken: 0:10:40

The script has been completed. Do you want to quit or go back to main menu (q or m default=q)?

alexmorph3us
22nd November 2025, 19:38
And this is the beginning of Workflow 8-2-6 with the changes that I've made in my previous post:

Choice? [1,2,3,4,5,6,7,8,9]?8

======================
- SELECT A MODE -
======================

1) MODE.A= AUDIO Encoding (DDP, THDAC3, DEE)
2) MODE.V= VIDEO Encoding (x265/Prores/dovi_baker/libplacebo/cm_offline)

Choice? [1,2,3]?2

=========================
- SELECT A WORKFLOW -
=========================

1) Workflow.1= X265: HDR to HDR (DVP7/DVP8/DVP5/HDR10/HLG)
2) Workflow.2= X265: HDR to SDR (DVP7/DVP8/DVP5/HDR10/HLG)
3) Workflow.3= PRORES: HDR to HDR (DVP7/DVP8/DVP5/HDR10/HLG)
4) Workflow.4= PRORES: DV to SDR (Dolby CM_Offline DV Trim Pass delivery)
5) Workflow.5= PRORES: SDR to HDR-100nits
6) Workflow.6= DoVi-P5: P8/P7/prores/MXF to Profile 5 DV HEVC (require DEE.exe)
7) Workflow.7= AQ _strength compression tool
8) Workflow8= back to main menu

Choice? [1,2,3,4,5,6,7,8]?6


============
- ENCODERS -
============

-------------------------------------------------------------------------------------
-- Encode any P8/P7/prores/IMF/HDR10/HLG source to Profile 5 Dolby Vision
-- Input can be MKV/TS/MP4/MOV/MXF
-- Support JPEG2000 MXF and MOV prores (you must provide a valid DV XML)
-- Support HDR10 and HLG (you must provide a valid DV XML)
-- Require DEE, see line 390
-- encode_dvmezz_to_dv5.py must be edited to do CRF ... see: https://justpaste.it/enibt
-- Encode settings can be configured at line 143-182
-- Require Avisynthplus https://github.com/AviSynth/AviSynthPlus/releases
-- Libplacebo SDR tone mapping and P5/HLG input require a gpu with vulkan support
-------------------------------------------------------------------------------------

Drag and drop a video and press enter...
F:\DoVi.Scripts\Movie_Original_tiff


Folder input, assuming it contains tiff list...
Drag and drop a XML file and press enter...
F:\DoVi.Scripts\Movie_RPU_DV.xml
TIFF List folder input, please provide the framerate... Default = 23.976

--> 23.976= 1
--> 24.000= 2
--> 25.000= 3
1
Parsing XML metadata...
Generating metadata: Profile 8.1 (HDR10)...
Generated metadata for 2249 frames
Done.
Parsing RPU file...
Converting RPU file...
CM v2.9 RPU found, saving as v2.0.5 XML...
Sanity check: PREPROC: F:\DoVi.Scripts\tools\DEE\dee_dv5_preproc -h
PREPROC: Sanity check successful.
Sanity check: VES_MUXER: F:\DoVi.Scripts\tools\DEE\dee_dv_vesmux -h
VES_MUXER: Sanity check successful.
Sanity check: POSTPROC: F:\DoVi.Scripts\tools\DEE\dee_dv_postproc -h
POSTPROC: Sanity check successful.
Sanity check: PARSE_MEZZ: F:\DoVi.Scripts\tools\DEE\dee_dv_parse_mezz -h
PARSE_MEZZ: Sanity check successful.
Sanity check: STREAM_SPLITTER: F:\DoVi.Scripts\tools\DEE\dee_stream_splitter -h
STREAM_SPLITTER: Sanity check successful.
Sanity check: MEDIAINFO: F:\DoVi.Scripts\tools\DEE\mediainfo -h
MEDIAINFO: Sanity check successful.
Sanity check: MP4_MUXER: F:\DoVi.Scripts\tools\DEE\mp4muxer -h --log-file F:\DoVi.Scripts\temp.folder31\tmp_0ustm_d5\mp4muxer_log_sanity_check
MP4_MUXER: Sanity check successful.
Sanity check: FFMPEG: F:\DoVi.Scripts\tools\ffmpeg.exe -version
FFMPEG: Sanity check successful.

LICENSE_CHECK: F:\DoVi.Scripts\tools\DEE\dee_dv5_preproc -l F:\DoVi.Scripts\tools\DEE\license.lic


[2025-11-22 20:29:19.738] Features enabled by the license: internal, dolby_vision, dolby_audio, hdr10, ac4, sdr_plus.

Execution time: 0.0145252 seconds
Exit code: 0
LICENSE_CHECK: Finished.

LICENSE_CHECK: F:\DoVi.Scripts\tools\DEE\dee_dv_vesmux -l F:\DoVi.Scripts\tools\DEE\license.lic


[2025-11-22 20:29:19.780] Features enabled by the license: internal, dolby_vision, dolby_audio, hdr10, ac4, sdr_plus.

Execution time: 0.0130749 seconds
Exit code: 0
LICENSE_CHECK: Finished.

LICENSE_CHECK: F:\DoVi.Scripts\tools\DEE\dee_dv_postproc -l F:\DoVi.Scripts\tools\DEE\license.lic


[2025-11-22 20:29:19.817] Features enabled by the license: internal, dolby_vision, dolby_audio, hdr10, ac4, sdr_plus.

Execution time: 0.0140086 seconds
Exit code: 0
LICENSE_CHECK: Finished.

LICENSE_CHECK: F:\DoVi.Scripts\tools\DEE\dee_dv_parse_mezz -l F:\DoVi.Scripts\tools\DEE\license.lic


[2025-11-22 20:29:19.858] Features enabled by the license: internal, dolby_vision, dolby_audio, hdr10, ac4, sdr_plus.

Execution time: 0.0130877 seconds
Exit code: 0
LICENSE_CHECK: Finished.

LICENSE_CHECK: F:\DoVi.Scripts\tools\DEE\dee_stream_splitter -l F:\DoVi.Scripts\tools\DEE\license.lic


[2025-11-22 20:29:19.897] Features enabled by the license: internal, dolby_vision, dolby_audio, hdr10, ac4, sdr_plus.

Execution time: 0.0134558 seconds
Exit code: 0
LICENSE_CHECK: Finished.

MEDIAINFO: F:\DoVi.Scripts\tools\DEE\mediainfo --Output=JSON F:\DoVi.Scripts\Movie_Original_tiff\000000.tiff

MEDIAINFO: Finished.
MEDIAINFO: Operation took 0.078111 seconds to complete.

[1920x1080] PREPROC: F:\DoVi.Scripts\tools\DEE\dee_dv5_preproc --license F:\DoVi.Scripts\tools\DEE\license.lic --input-format tiff_list:range=auto:framerate=23.976 --input F:\DoVi.Scripts\Movie_Original_tiff --input-metadata F:\DoVi.Scripts\temp.folder31\Movie_Original_tiff_DV.xml --metadata-offset 0 --start 0 --duration -1 --overwrite 1 --decoder tiff=libtiff --max-scene-frames 96 --show-frames counters --progress 1 --keep-temp 0 --temp-dir F:\DoVi.Scripts\temp.folder31\tmp_0ustm_d5 --loglevel info:timestamps=0 --output named_pipe://\\.\pipe\69fb528b60994a560_1920x1080_dv_preproc_output.yuv:buffer_size=6220800 --output-rpu named_pipe://\\.\pipe\69fb528b60994a560_1920x1080_dv_preproc_output_rpu.bin:buffer_size=196608

(PREPROC)
(PREPROC) Features enabled by the license: internal, dolby_vision, dolby_audio, hdr10, ac4, sdr_plus.
(PREPROC) CFR: 23.976000
(PREPROC) Frame range in the container: [0,2248]
(PREPROC) Requested frame range: [0,2248]
(PREPROC) Mastering display peak luminance: 1000.000000
(PREPROC) Mastering display minimum luminance: 0.000100
(PREPROC) LIBTIFF version: LIBTIFF, Version 4.0.9
(PREPROC) Copyright (c) 1988-1996 Sam Leffler
(PREPROC) Copyright (c) 1991-1996 Silicon Graphics, Inc.
(PREPROC) Resolution: 1920x1080
(PREPROC) Consumed input frames: 1/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 2/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 3/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 4/2249

[1920x1080] VES_MUXER: F:\DoVi.Scripts\tools\DEE\dee_dv_vesmux --license F:\DoVi.Scripts\tools\DEE\license.lic --overwrite 1 --input-bl named_pipe://\\.\pipe\69fb528b60994a560_1920x1080_ffmpeg_output_hevc.hevc:buffer_size=4096 --input-rpu named_pipe://\\.\pipe\69fb528b60994a560_1920x1080_dv_preproc_output_rpu.bin:buffer_size=196608:client=true --output F:\DoVi.Scripts\temp.folder31\tmp_0ustm_d5\0_1920x1080_dv_vesmux_output.hevc --loglevel info:timestamps=0

(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 5/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 6/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 7/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 8/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 9/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 10/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 11/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 12/2249
(PREPROC)
(PREPROC) [> ] 0 %

[1920x1080] ENCODER: F:\DoVi.Scripts\tools\ffmpeg.exe -y -f rawvideo -s 1920x1080 -pix_fmt yuv420p10le -loglevel error -framerate 23.976 -i \\.\pipe\69fb528b60994a560_1920x1080_dv_preproc_output.yuv -c:v libx265 -preset slow -x265-params crf=17:deblock=-2-2:aq-mode=1:aq-strength=1.0:psy-rd=2.0:psy-rdoq=1.0:no-cutree=0:min-keyint=23:keyint=250:level-idc=5.1:no-open-gop=1:aud=1:hrd=1:repeat-headers=1:sar=1:sao=0:chromaloc=0:colormatrix=2:colorprim=2:transfer=2:vbv-maxrate=160000:vbv-bufsize=160000:input-csp=i420:fps=23.976:range=full:no-info=0:log-level=0 -f hevc \\.\pipe\69fb528b60994a560_1920x1080_ffmpeg_output_hevc.hevc -nostdin

(PREPROC) Consumed input frames: 13/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 14/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 15/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 16/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 17/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 18/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 19/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 20/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 21/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 22/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 23/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 24/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 25/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 26/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 27/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 28/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 29/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 30/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 31/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 32/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 33/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 34/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 35/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 36/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 37/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 38/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 39/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 40/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 41/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 42/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 43/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 44/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 45/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 46/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 47/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 48/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 49/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 50/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 51/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 52/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 53/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 54/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 55/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 56/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 57/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 58/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 59/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 60/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 61/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 62/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 63/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 64/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 65/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 66/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 67/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 68/2249
(PREPROC)
(PREPROC) [> ] 0 %
(PREPROC) Consumed input frames: 69/2249
(PREPROC)
(PREPROC) [> ] 0 %

Kuler087
23rd November 2025, 17:11
Ok, this workflow was getting messy with all the new input, options, and encoders. I did a clean-up in this version (https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=drive_link); hopefully, I did not break anything else.

alexmorph3us
24th November 2025, 14:59
Ok, this workflow was getting messy with all the new input, options, and encoders. I did a clean-up in this version (https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=drive_link); hopefully, I did not break anything else.

It's much better now! Everything is working as expected:

_____ __ ___ _____ _ _
| __ \ \ \ / (_) / ____| (_) | |
| | | | __\ \ / / _ | (___ ___ _ __ _ _ __ | |_ ___
| | | |/ _ \ \/ / | | \___ \ / __| '__| | '_ \| __/ __|
| |__| | (_) \ / | | ____) | (__| | | | |_) | |_\__ \
|_____/ \___/ \/ |_| |_____/ \___|_| |_| .__/ \__|___/
-Author: RESET_9999--------------------------|__|-----------



1) MODE.I= INJECT / EDIT / EXTRACT / INFO / VALIDATE
2) MODE.F= VERIFY SYNC / REMOVER / TRANSFER LEVELS
3) MODE.H= DoVi MAKER from HDR10 (Dolby Algo or MadVR or HDR10+)
4) MODE.7= DoVi Profile 7 Input (MKV/BDMV)
5) MODE.B= DoVi MKV Batch Muxer
6) MODE.P= Plotter (DoVi/HDR10/HLG/SDR)
7) MODE.S= Screenshots & Player
8) MODE.E= Encoders (video and audio)
9) MODE.M= MORE

Choice? [1,2,3,4,5,6,7,8,9]?8

======================
- SELECT A MODE -
======================

1) MODE.A= AUDIO Encoding (DDP, THDAC3, DEE)
2) MODE.V= VIDEO Encoding (x265/Prores/dovi_baker/libplacebo/cm_offline)

Choice? [1,2,3]?2

=========================
- SELECT A WORKFLOW -
=========================

1) Workflow.1= X265: HDR to HDR (DVP7/DVP8/DVP5/HDR10/HLG)
2) Workflow.2= X265: HDR to SDR (DVP7/DVP8/DVP5/HDR10/HLG)
3) Workflow.3= PRORES: HDR to HDR (DVP7/DVP8/DVP5/HDR10/HLG)
4) Workflow.4= PRORES: DV to SDR (Dolby CM_Offline DV Trim Pass delivery)
5) Workflow.5= PRORES: SDR to HDR-100nits
6) Workflow.6= DoVi-P5: P8/P7/prores/MXF to Profile 5 DV HEVC (require DEE.exe)
7) Workflow.7= AQ _strength compression tool
8) Workflow8= back to main menu

Choice? [1,2,3,4,5,6,7,8]?3


============
- ENCODERS -
============

-------------------------------------------------------------------------------------
-- Can Encode any HDR source(DVP7/DVP5/DVP8/HDR10/HLG) to HDR PRORES 422 HQ
-- Require Avisynthplus https://github.com/AviSynth/AviSynthPlus/releases
-- Libplacebo SDR tone mapping and P5/HLG input require a gpu with vulkan support
-------------------------------------------------------------------------------------

Drag and drop a video and press enter...
F:\DoVi.Scripts\Movie_Original.mkv


Do you want to crop? (default=n)

--> YES= y
--> NO= n
y


Odd numbers will be rounded...

Right border pixels offset... (default=0)
0
Left border pixels offset...(default=0)
0
Top border pixels offset...(default=0)
264
Bottom border pixels offset...(default=0)
264
Extracting track 0 with the CodecID 'V_MPEGH/ISO/HEVC' to the file 'F:\DoVi.Scripts\temp.folder31\BL.P7.hevc'. Container format: HEVC/H.265 elementary stream
Progress: 100%

Indexing the HDR10 base layer...
Project
100

Indexing the DV 12bits enhancement layer...
Project
100

Reordering metadata... Done.

=============================SCRIPT==============================================================================
LoadPlugin("F:\DoVi.Scripts\tools\dgdecnv_242\DGDecodeNV.dll")
LoadPlugin("F:\DoVi.Scripts\tools\DoViBaker_x64.dll")
LoadPlugin("F:\DoVi.Scripts\tools\avs_libplacebo.dll")
LoadPlugin("F:\DoVi.Scripts\tools\avsresize_r21\x64\Release\avsresize.dll")
bl = DGSource("F:\DoVi.Scripts\temp.folder31\BL.dgi")
el = DGSource("F:\DoVi.Scripts\temp.folder31\EL.dgi")
SetFilterMTMode("DoViBaker",2)
DoViBaker(bl, el, rpu="F:\DoVi.Scripts\temp.folder31\RPU_FEL.bin")
z_ConvertFormat(pixel_type="RGBP16",colorspace_op="rgb:st2084:2020:full=>rgb:st2084:2020:full",dither_type="error_diffusion",resample_filter="spline36",resample_filter_uv="spline36",chromaloc_op="left=>top_left")
Prefetch(8)
Crop(0, 264, -0, -264)
Spline36Resize(Width / 2, Height / 2)
=================================================================================================================

============================COMMAND==============================================================================
INPUT: "F:\DoVi.Scripts\Movie_Original.mkv"
"F:\DoVi.Scripts\tools\ffmpeg.exe" -i "F:\DoVi.Scripts\temp.folder31\script.avs" -pix_fmt rgb48le -compression_algo raw -color_primaries bt2020 -color_trc smpte2084 -colorspace bt2020nc -start_number 0 -y "F:\DoVi.Scripts\Movie_Original_tiff\%06d.tiff"
=================================================================================================================

frame=2249 (total)
ffmpeg version 2024-02-22-git-76b2bb96b4-full_build-www.gyan.dev Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --pkg-config=pkgconf --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-dxva2 --enable-d3d11va --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
libavutil 58. 39.100 / 58. 39.100
libavcodec 60. 40.100 / 60. 40.100
libavformat 60. 21.101 / 60. 21.101
libavdevice 60. 4.100 / 60. 4.100
libavfilter 9. 17.100 / 9. 17.100
libswscale 7. 6.100 / 7. 6.100
libswresample 4. 13.100 / 4. 13.100
libpostproc 57. 4.100 / 57. 4.100
Input #0, avisynth, from 'F:\DoVi.Scripts\temp.folder31\script.avs':
Duration: 00:01:33.80, start: 0.000000, bitrate: 0 kb/s
Stream #0:0: Video: rawvideo (G3[0][16] / 0x10003347), gbrp16le(pc, gbr/bt2020/smpte2084, progressive), 1920x816, 23.98 fps, 23.98 tbr, 23.98 tbn
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> tiff (native))
Press [q] to stop, [?] for help
Output #0, image2, to 'F:\DoVi.Scripts\Movie_Original_tiff\%06d.tiff':
Metadata:
encoder : Lavf60.21.101
Stream #0:0: Video: tiff, rgb48le(pc, bt2020nc/bt2020/smpte2084, progressive), 1920x816, q=2-31, 200 kb/s, 23.98 fps, 23.98 tbn
Metadata:
encoder : Lavc60.40.100 tiff
[out#0/image2 @ 000002b23c65a840] video:20660636KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown
frame= 2249 fps=3.6 q=-0.0 Lsize=N/A time=00:01:33.80 bitrate=N/A speed=0.15x
Deleting TEMP folder...


Start time: 15:41:33.28
End time: 15:55:02.12
Time taken: 0:13:29

The script has been completed. Do you want to quit or go back to main menu (q or m default=q)?

alexmorph3us
24th November 2025, 15:03
Thank you once again Kuler087 for your continuing support! I'm happy with the final results. God bless you, man.

alexmorph3us
24th November 2025, 21:18
@Kuler087: In the mean time I've tested all the workflows and everything is working. So nothing to worry about there.

I would like one more feature request: is it possible to include Workflow 8-2-4 as well at line 190 as an option when the input mkv source file has FEL inside and DoVi Baker is used in Avisynth as intermediate for CM_Offline in the scripts?

alexmorph3us
24th November 2025, 22:48
Perhaps something like this:


Microsoft Windows [Version 10.0.19045.6093]
(c) Microsoft Corporation. All rights reserved.

C:\Users\ALEX\OneDrive\Documents\Output_frames>cm_offline.exe -m "C:\Users\ALEX\OneDrive\Documents\Output_frames\Movie_RPU_DV.xml" "F:\DoVi.Scripts\Movie_Original_tiff\image_sequence_######.tiff" "F:\DoVi.Scripts\output_ProRes.mov" --output-format "1920x816 u10 interleaved 422 le lsb32rev ycbcr_bt709 gamma_bt1886 video bt709" --quicktime-codec prores_422_hq --targ 1
Copyright (c) 2013-2025 Dolby Laboratories, Inc. All Rights Reserved
11/24/2025/23:30:36.630000000 cuda: INFO initializing CUDA
11/24/2025/23:30:36.770000000 cuda: INFO using CUDA version 11.8.0
11/24/2025/23:30:36.771000000 cuda: INFO NVIDIA GeForce GTX 1070 Ti: compute 6.1, cores 2432*1683MHz, memory 8191MB
11/24/2025/23:30:36.880000000 Metadata: WARNING List of WARNINGS:
=========================
WARNING: 25 Shots contain identical Level1 values
WARNING: 25 Shots contain identical Level2 values
=========================
11/24/2025/23:30:36.883000000 cm_offline: INFO Source: 'F:\DoVi.Scripts\Movie_Original_tiff\image_sequence_######.tiff'
11/24/2025/23:30:36.884000000 cm_offline: INFO Src Info: '3840x1632x3 u16 interleaved 444 le tight 0-2248 24fps top_left pq rgb computer bt2020'
11/24/2025/23:30:36.884000000 cm_offline: INFO Source Display: 1000-nit, P3, D65, ST.2084, Full (ID 20): Bit Depth: 16bit - Diagonal: 42.00in - Application Type: ALL - Color Info: "pq(0.0001,1000) rgb computer p3d65"
11/24/2025/23:30:36.885000000 cm_offline: INFO Destination: 'F:\DoVi.Scripts\output_ProRes.mov'
11/24/2025/23:30:36.885000000 cm_offline: INFO Dst Info: '1920x816x3 u10 interleaved 422 le lsb32rev 0-2248 24fps top_left gamma_bt1886 ycbcr_bt709 video bt709'
11/24/2025/23:30:36.886000000 cm_offline: INFO Target Display: 100-nit, BT.709, BT.1886, Full (HOME) (ID 1): Bit Depth: 16bit - Diagonal: 42.00in - Application Type: ALL - Color Info: "gamma_bt1886(0.005,100) rgb computer bt709"
11/24/2025/23:30:36.887000000 cm_offline: INFO Frames: 0-2248
11/24/2025/23:44:52.921000000 processing: INFO frame 2248 completed in 0.295 seconds. ETA: 0:00:00.000
11/24/2025/23:44:52.935000000 processing: INFO completed 2249 frames in 0:13:57.740
11/24/2025/23:44:52.936000000 processing: INFO processing speed: 0.37 seconds per frame (2.68 fps)
11/24/2025/23:44:52.937000000 processing: INFO Read1 84.9% 0.32 spf 3.16 fps
11/24/2025/23:44:52.937000000 processing: INFO Crop/Resize2(1) 8.2% 0.03 spf 32.55 fps
11/24/2025/23:44:52.938000000 processing: INFO Write5(4) 3.6% 0.01 spf 73.83 fps
11/24/2025/23:44:52.938000000 processing: INFO Pad4(3) 3.1% 0.01 spf 86.90 fps
11/24/2025/23:44:52.939000000 processing: INFO ContentMap3(2) 0.1% 0.00 spf 3029.77 fps
11/24/2025/23:44:52.939000000 processing: INFO Startup 0.292 seconds
11/24/2025/23:44:52.940000000 processing: INFO Shutdown 0.000 seconds

C:\Users\ALEX\OneDrive\Documents\Output_frames>

Kuler087
25th November 2025, 15:19
I started working on this but haven’t tested it yet. The latest beta can do it, but I don’t think downscaling and cropping are functional for now, since it doesn’t seem to manage the XML level-5 relation with the video resolution the same way DEE does, so I’ll need to look into that.
I added ProRes 444 options, and I also want to integrate HEVC/AVC encoding directly into that workflow.

en6ads
25th November 2025, 18:45
Sorry for the dumb question: Circling back to 12-bit encoding. Does the latest beta enable 8-2-1 12-bit YCbCr x265 encoding? Or Do I need to 8-2-3 first with either Jpeg or TIFF, then send that to another x265 encoder? Many thanks.

alexmorph3us
25th November 2025, 18:51
I just did a test with an HEVC source file as input in the latest beta and you're right. Even though it now accepts the new workflow, cropping and resizing is not done properly. So it requires more testing.

The new ProRes options are a welcomed addition for this workflow.

Kuler087
25th November 2025, 18:52
Sorry for the dumb question: Circling back to 12-bit encoding. Does the latest beta enable 8-2-1 12-bit YCbCr x265 encoding? Or Do I need to 8-2-3 first with either Jpeg or TIFF, then send that to another x265 encoder? Many thanks.


No, this is only for Profile 5 encoding in 8-2-6.
8-2-1 targets 10-bit HDR10/DV8, and there’s no practical reason to encode 12-bit YCbCr HDR since no player can decode it anyway. The only way to achieve 12bit-ycbcr playback is with the dual 10bit decoders on bluray players and ugoos + P7 FEL.
I’ve already created a file like that before.

https://mega.nz/file/wKkD3DgZ#o9HtgEaxjpYr6ib-ZoLxxVhHrsUAE6FN1uhlDkhVPNs


Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Format Range@L5.1@High
HDR format : Dolby Vision, Version 1.0, Profile 3.1, dvhe.03.06, BL+RPU, extended metadata compression, HDR10 compatible / SMPTE ST 2086
Codec ID : 36
Duration : 25 s 567 ms
Bit rate : 38.4 Mb/s
Width : 3 840 pixels
Height : 1 608 pixels
Display aspect ratio : 2.39:1
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0 (Type 2)
Bit depth : 12 bits
Bits/(Pixel*Frame) : 0.259
Stream size : 117 MiB (95%)
Writing library : x265 3.5+100-3dae0c3cc:[Windows][GCC 13.1.0][64 bit] 12bit
Encoding settings : cpuid=1111039 / frame-threads=5 / numa-pools=32 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=3840x1608 / interlace=0 / total-frames=614 / level-idc=51 / high-tier=1 / uhd-bd=0 / ref=4 / no-allow-non-conformance / repeat-headers / annexb / aud / no-eob / no-eos / hrd / info / hash=0 / temporal-layers=0 / no-open-gop / min-keyint=23 / keyint=250 / gop-lookahead=0 / bframes=4 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=25 / lookahead-slices=4 / scenecut=40 / no-hist-scenecut / radl=0 / no-splice / no-intra-refresh / ctu=64 / min-cu-size=8 / no-rect / no-amp / max-tu-size=32 / tu-inter-depth=1 / tu-intra-depth=1 / limit-tu=0 / rdoq-level=2 / dynamic-rd=0.00 / no-ssim-rd / signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / no-strong-intra-smoothing / max-merge=3 / limit-refs=3 / limit-modes / me=3 / subme=3 / merange=57 / temporal-mvp / no-frame-dup / no-hme / weightp / no-weightb / no-analyze-src-pics / deblock=-3:-3 / no-sao / no-sao-non-deblock / rd=4 / selective-sao=0 / no-early-skip / rskip / no-fast-intra / no-tskip-fast / no-cu-lossless / no-b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=2.00 / psy-rdoq=1.00 / no-rd-refine / no-lossless / cbqpoffs=0 / crqpoffs=0 / rc=crf / crf=15.0 / qcomp=0.60 / qpstep=4 / stats-write=0 / stats-read=0 / vbv-maxrate=160000 / vbv-bufsize=160000 / vbv-init=0.9 / min-vbv-fullness=50.0 / max-vbv-fullness=80.0 / crf-max=0.0 / crf-min=0.0 / ipratio=1.40 / pbratio=1.30 / aq-mode=2 / aq-strength=1.00 / no-cutree / zone-count=0 / no-strict-cbr / qg-size=32 / no-rc-grain / qpmax=69 / qpmin=0 / no-const-vbv / sar=1 / overscan=0 / videoformat=5 / range=0 / colorprim=9 / transfer=16 / colormatrix=9 / chromaloc=1 / chromaloc-top=2 / chromaloc-bottom=2 / display-window=0 / master-display=G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(40000000,50) / cll=0,0 / min-luma=0 / max-luma=4095 / log2-max-poc-lsb=8 / vui-timing-info / vui-hrd-info / slices=1 / no-opt-qp-pps / no-opt-ref-list-length-pps / no-multi-pass-opt-rps / scenecut-bias=0.05 / no-opt-cu-delta-qp / no-aq-motion / hdr10 / no-hdr10-opt / no-dhdr10-opt / no-idr-recovery-sei / analysis-reuse-level=0 / analysis-save-reuse-level=0 / analysis-load-reuse-level=0 / scale-factor=0 / refine-intra=0 / refine-inter=0 / refine-mv=1 / refine-ctu-distortion=0 / no-limit-sao / ctu-info=0 / no-lowpass-dct / refine-analysis-type=0 / copy-pic=1 / max-ausize-factor=1.0 / no-dynamic-refine / no-single-sei / no-hevc-aq / no-svt / no-field / qp-adaptation-range=1.00 / scenecut-aware-qp=0conformance-window-offsets / right=0 / bottom=0 / decoder-max-rate=0 / no-vbv-live-multi-pass / no-mcstf / no-sbrc
Color range : Limited
Color primaries : BT.2020
Transfer characteristics : PQ
Matrix coefficients : BT.2020 non-constant
Mastering display color primaries : Display P3
Mastering display luminance : min: 0.0050 cd/m2, max: 4000 cd/m2

alexmorph3us
25th November 2025, 18:56
Sorry for the dumb question: Circling back to 12-bit encoding. Does the latest beta enable 8-2-1 12-bit YCbCr x265 encoding? Or Do I need to 8-2-3 first with either Jpeg or TIFF, then send that to another x265 encoder? Many thanks.

In Workflow 8-2-1 it works with PoRes 4444XQ as direct input + your XML metadata file. I'm not sure about image sequences. I haven't tested that.

But your final output is going to be HEVC 10 bit using the x265 encoder.

What you're asking it should work in Workflow 8-2-3 (Image Sequences) + Mezzinator in order to export to a 12 bit YCbCr format using ProRes 4444.

Mezzinator is part of the Dolby tools that can be found here:
https://customer.dolby.com/content-creation-and-delivery/dolby-vision-professional-tools

en6ads
25th November 2025, 19:04
The only way to achieve 12bit-ycbcr playback is with the dual 10bit decoders on bluray players and ugoos + P7 FEL.

Got it, many thanks.

So 10-bit ICTCP would be the way to achieve a single layer FEL encode for playback on consumer devices that preserves as much of the FEL data as possible.

Thank you.

en6ads
25th November 2025, 19:34
But your final output is going to be HEVC 10 bit using the x265 encoder

Thanks. I'll stick with p5 testing for now.

en6ads
26th November 2025, 03:38
Just a heads up that OSMC have apparently got FEL playback working without dovi.ko.

https://discourse.osmc.tv/t/testing-vero-v-dolby-vision-tv-led-support/108393/359

Edit: Looks like it's still in early testing: https://forum.kodi.tv/showthread.php?tid=376035&pid=3246153#pid3246153

Edit: Also the guy that makes the CPM skins (https://discourse.coreelec.org/t/several-skins-for-cpm-builds/53514) says he'll drop support for CPM when OSMC FEL is released: https://www.avsforum.com/posts/64325433/

en6ads
26th November 2025, 19:29
Going back to P5 encoding. I've attempted 8-2-6 with v3.0.8 and I get this error, "No ProRes decoder available". Is there a DEE setting I need to change?

(PREPROC_PASS1)
(PREPROC_PASS1) Features enabled by the license: dolby_vision, dolby_audio, hdr10, ac4, sdr_plus.
(PREPROC_PASS1) Resolution: 3840x2160
(PREPROC_PASS1) CFR: 23.976000
(PREPROC_PASS1) Frame range in the container: [0,4323]
(PREPROC_PASS1) Requested frame range: [0,4323]
(PREPROC_PASS1) Mastering display peak luminance: 1000.000000
(PREPROC_PASS1) Mastering display minimum luminance: 0.000100
(PREPROC_PASS1) Total time in MOV demuxer: 0.0396304 seconds (504.663 fps)
(PREPROC_PASS1) Removing temporary directory: "A:\DoVi.Scripts-3.0.8\temp.folder31_new\tmp_sjseqzh8\eee670b2-11164"
(PREPROC_PASS1) ERROR: There is no ProRes decoder available.
(PREPROC_PASS1)
(PREPROC_PASS1) ---- Summary of errors and warnings ----
(PREPROC_PASS1) ERROR: There is no ProRes decoder available.
(PREPROC_PASS1) ----------------------------------------
(PREPROC_PASS1) Execution time: 1.01476 seconds
(PREPROC_PASS1) Exit code: 1
ERROR: [3840x2160] PREPROC_PASS1: Failed (1).

[3840x2160] ENCODER_PASS1: A:\DoVi.Scripts-3.0.8\tools\ffmpeg.exe -y -f rawvideo -s 3840x2160 -stats -pix_fmt yuv420p10le -loglevel error -framerate 23.976 -i \\.\pipe\8b4ad0a8b85f4ac70_3840x2160_dv_preproc_output.yuv -vf scale=3840:2160 -c:v libx265 -preset slow -x265-params chromaloc=0:colormatrix=2:colorprim=2:transfer=2:annexb=1:aud=1:hash=1:hrd=1:repeat-headers=1:sar=1:input-csp=i420:level-idc=0:fps=23.976:range=full:bitrate=25000:vbv-maxrate=25000:vbv-bufsize=50000:min-keyint=48:keyint=48:no-open-gop=1:rc-lookahead=48:scenecut=0:scenecut-bias=0:crqpoffs=3:min-cu-size=8:psy-rd=1.6:psy-rdoq=5.0:ctu=64:cbqpoffs=0:qg-size=32:frame-threads=0:no-info=1:log-level=0:nr-inter=400:nr-intra=100:bframes=8:no-rc-grain=1:pass=1:stats='A:\DoVi.Scripts-3.0.8\temp.folder31_new\tmp_sjseqzh8\0_3840x2160_ffmpegPassLog' -f hevc NUL -nostdin

ERROR: [3840x2160] ENCODER_PASS1: Failed (4294967294).
Last 3 messages from [3840x2160] ENCODER_PASS1:
(ENCODER_PASS1) [in#0 @ 0000020f283c2cc0] Error opening input: No such file or directory
(ENCODER_PASS1) Error opening input file \\.\pipe\8b4ad0a8b85f4ac70_3840x2160_dv_preproc_output.yuv.
(ENCODER_PASS1) Error opening input files: No such file or directory

ERROR: The process "23620" not found.
ERROR: The process "15876" not found.

--- Execution summary ---
ERROR: [3840x2160] PREPROC_PASS1: Failed (1).
ERROR: [3840x2160] ENCODER_PASS1: Failed (4294967294).
MEDIAINFO: Operation took 0.0175 seconds to complete.

Execution time: 6.939445495605469 seconds

Kuler087
26th November 2025, 19:35
your DEE folder is missing:
dee_plugin_prores_dec_apple_dlb.dll

en6ads
26th November 2025, 19:53
That was it - thank you.

I copied dee_plugin_prores_dec_apple_dlb.dll and dee_plugin_j2k_dec_kakadu_dlb.dll from the plugins folder to the main folder and it's working now.

Thank you.

your DEE folder is missing:
dee_plugin_prores_dec_apple_dlb.dll

Lucky38
27th November 2025, 11:37
Hey Kuler,

Have you seen this repo for DD+ 7.1 encode ?

https://github.com/HG3112/md71

Could it be possible to implement it in you script?

Kuler087
27th November 2025, 13:11
Hi, dovi_scripts already support 7-1 DD+ encoding via the EasyAudioEncoder.exe. You just have to configure it, see lines 425-427 (latest beta)



::Create a Folder ''EAE'' and put these files in it. Get the files from plex media server ''C:\Program Files\Plex\Plex Media Server'' https://i.ibb.co/c8sWD4p/Capture-d-cran-2024-07-20-094922.png
set EAE_path=%~dp0tools\EAE
:: https://github.com/pabloromeo/clusterplex/files/9396885/EasyAudioEncoder.zip
set EAE=%~dp0tools\EAE\EasyAudioEncoder.exe

Lucky38
27th November 2025, 17:01
Hi, dovi_scripts already support 7-1 DD+ encoding via the EasyAudioEncoder.exe. You just have to configure it, see lines 425-427 (latest beta)



::Create a Folder ''EAE'' and put these files in it. Get the files from plex media server ''C:\Program Files\Plex\Plex Media Server'' https://i.ibb.co/c8sWD4p/Capture-d-cran-2024-07-20-094922.png
set EAE_path=%~dp0tools\EAE
:: https://github.com/pabloromeo/clusterplex/files/9396885/EasyAudioEncoder.zip
set EAE=%~dp0tools\EAE\EasyAudioEncoder.exe

yes, i know that, but changing bitrate is not possible in EAE workflow...

and this could be replaced by FFMPEG...

Kuler087
27th November 2025, 17:24
I haven't used EAE in a while, but there is an option to change the bitrate:

::choose workflow 8-1-1 EC3 DD+ encoding bitrate (default= 1024) 2.0/5.1 = max 1536kbps and 7.1 = max 1024kbps.
set DDP_bitrate=1024

Lucky38
27th November 2025, 17:35
I haven't used EAE in a while, but there is an option to change the bitrate:

::choose workflow 8-1-1 EC3 DD+ encoding bitrate (default= 1024) 2.0/5.1 = max 1536kbps and 7.1 = max 1024kbps.
set DDP_bitrate=1024

in which file i need to change then?

Kuler087
27th November 2025, 17:40
I'm not sure what you mean. You just have to create the EAE folder and put these files from Plex and EasyAudioEncoder.exe in it.
then you can control the bitrate with the script bat file
set DDP_bitrate=1024


https://i.ibb.co/c8sWD4p/Capture-d-cran-2024-07-20-094922.png

Lucky38
27th November 2025, 17:51
I'm not sure what you mean. You just have to create the EAE folder and put these files from Plex and EasyAudioEncoder.exe in it.
then you can control the bitrate with the script bat file
set DDP_bitrate=1024


https://i.ibb.co/c8sWD4p/Capture-d-cran-2024-07-20-094922.png

i have only this

https://ibb.co/qY90DzmT

Kuler087
27th November 2025, 18:57
I did mine a very long time ago and maybe plex no longer provides some files... I'll send you the files via PM tonight when I get home

en6ads
28th November 2025, 04:41
Just to say I tested the latest beta 8-2-6, FEL mkv source, TIFF lzw, CRF 15. Image looks great. Very impressed. Agree TIFF file size is massive, but It's great we now have a full FEL 12-bit YCbCr to P5 10-bit ICtCp transcode method. Thank you.

Do you have any suggested FEL movies to test? Examples where FEL significantly improves from the 10-bit base layer, also to test for banding / sky comparisons.

Much appreciate your scripts.

Kuler087
28th November 2025, 05:02
From my experience, when FEL actually makes a difference, it’s usually by improving compression (grain) and expanding brightness (https://docs.google.com/spreadsheets/d/15i0a84uiBtWiHZ5CXZZ7wygLFXwYOd84/edit?gid=1226038728#gid=1226038728). I don’t have many clear banding examples, but if I remember correctly, Wall-E shows some early in the movie, and the FEL layer mitigates it slightly.

TR-9970X
28th November 2025, 06:29
https://i.ibb.co/c8sWD4p/Capture-d-cran-2024-07-20-094922.png

I just thought I'd compare the Plex Server items used, between what is in my Tools folder, and the latest update:-

EAE\avcodec-58.dll" 4,144kb
EAE\avfilter-7.dll" 7,210kb
EAE\avformat-58.dll" 5,280kb
EAE\avutil-56.dll" 838kb
EAE\EasyAudioEncoder.exe" 1,952kb
EAE\libwinpthread-1.dll" 86kb
EAE\PlexTranscoder.exe" 1,529kb
EAE\swresample-3.dll" 144kb
EAE\swscale-5.dll" 751kb

====================================

Plex Media Server\avcodec-59.dll" 5,886kb
Plex Media Server\avfilter-8.dll" 5,930kb
Plex Media Server\avformat-59.dll" 3,554kb
Plex Media Server\avutil-57.dll" 1,005kb
EasyAudioEncoder.exe" 1,952kb (missing on purpose)
Plex Media Server\libwinpthread-1.dll" 81kb
Plex Media Server\Plex Transcoder.exe" 313kb
Plex\Plex Media Server\swresample-4.dll" 149kb
Plex Media Server\swscale-6.dll" 868kb

Any point in updating ???

Kuler087
28th November 2025, 12:48
ec3 encoding is working? then no reason to touch anything

RRAH
28th November 2025, 14:06
In case you or any other user needs instructions :)

Step 1: Extract DV from original_movie.mkv
Step 2: Bake FEL to ProRes using 8-2-3. This produces a prores.mov file that is essentially the HDR12 bit master. This file will be very large (upwards of 800GB sometimes!). If storage is limited, change qscale to 0 on line 168 (-qscale:v 1 --> -qscale:v 0). This should significantly reduce the size of the prores.mov, however, it may take twice as long to encode. There is no difference in quality between qscale 1 and 0.
Step 3: Rename original_movie_RPU.bin to the same file name as the prores.mov (and same path too)
Step 4: Run 3-1 on the prores.mov, using the same MDL and scene cuts as the original DV. If you did step 3 correctly, it will automatically grab the scene cuts from the original RPU. You cannot make your own scene cuts or force FBF using this method. This will produce a generated_RPU.bin
Step 5. Use 2-3 to transfer levels 12389 from generated_RPU.bin to original_movie_RPU.bin. This produces a transferred_RPU.bin
Step 6: Inject transferred_RPU.bin into original_movie.mkv using workflow 1.

Hope this helps!

Hello, can I replace step 4 with workflow 2-5 and Resolve (export EDL, import into Resolve, run DV analysis, export DV-xml, continue with workflow 2-3)?

Thank you

Kuler087
28th November 2025, 14:53
Yes that's what I do since Resolve is a million times faster than CM

ralberti
13th December 2025, 11:15
yes, DV tone mapping is useless for 99% of the movies on a 5000nits TV. It still can be useful if your TV has issues in HDR10 like my G5.

L5 + ugoos: it doesn't matter much because even if it's missing or incorrect, the ugoos output will still be accurate. So save your HDD life and avoid the editing/injecting/remuxing

Sorry, not sure if I understand this right. Does this mean that there is no advantage in converting to DV? I am converting from HDR10 and HDR10plus mkv to DV P8 with workflow 3-1 and also converting from mkv DV P7 to P8 with workflow 4-1 (this is because my plex server is not able to play DV P7).

Kuler087
13th December 2025, 14:41
Right, on a 5000-nits TV, there is no advantage to converting HDR10 to Dolby Vision in 3-1(or resolve).
For a native DV Blu-ray rip, some FEL titles do restore a brighter master (https://drive.google.com/drive/u/0/folders/1FS42T95TOSpoy4xtwUBIQmziCe_R_IKe), but that benefit is lost once they are converted to Profile 8. You need a device like the Ugoos Am6B+ to get that brighter DV from FEL playback.

ralberti
13th December 2025, 20:10
But HDR10 is supposed to be static metadata and DV is dynamic metadata. ¿Does the conversion from HDR10 to DV (3-1) not create dynamic metadata? The thing is that if If play the same file with HDR10 or with DV P8 on the same TV y see them different. I played around with the HDR10 and DV settings of the TV to get "the best" settings for each format but still I see them different, specially with movies with high contrast changes where I feel HDR10 is either too dark (clear scenes are OK, but dark scenes too dark) or too clear( clear scenes are too light or even burned and dark scenes OK ) and DV does a better job (more details in dark and light) and I supposed it is due to dynamic metadata, but may be it is my perception.

Kuler087
13th December 2025, 20:34
Dolby Vision is indeed dynamic, shot-by-shot metadata, and the metadata generated in profile 3-1 is also dynamic.

However, setting aside FEL-expanded brightness, Dolby Vision is fundamentally just tone-mapping metadata. When the content’s peak and average brightness already fall within the native capabilities of the display, no tone mapping is required, which means the Dolby Vision metadata has effectively no impact and the TV just displays the content as it is, just like HDR10. There may still be some gamut mapping taking place, but its effect is negligible.

A TV may still look better in Dolby Vision than in HDR10 due to superior internal processing in its Dolby Vision mode, as is the case with LG TVs but that improvement is not driven by the metadata itself.

FYI, the dovi_script workflow 7-4 can generate Dolby Vision tone-mapping comparison videos of any movie any frame, allowing you to see exactly what the metadata actually does. Many examples are available here:
https://drive.google.com/drive/folders/1g5I-z_sJmVu-SAIPNiiSlcdMiy2ka0mf

Gatorman3385
24th December 2025, 02:04
I'm getting this error when trying to open a "L8.Saturation.Vector.Field.PLOT" and "HUE.Vector.Field.PLOT" png. Is there something I'm missing. Windows 11.
https://imgur.com/kbLARBZ.png

Kuler087
24th December 2025, 02:22
This function works only with the old Trims plotter and is disabled by default. I guess you enabled it? Does the L2/L8/L3 plot works?

Gatorman3385
24th December 2025, 02:27
They do work. I did enable the old Trims plotter. I think I remember noticing the new plotter didn't match your L2 plots on YouTube. Am I wrong?

Kuler087
24th December 2025, 02:36
Strange, there’s no obvious reason the vector plot wouldn’t work then. Can you upload the RPU? It’s possible there’s a detection error, since not every CMV 4.0 RPU actually contains this metadata.

the new plotter didn't match your L2 plots on YouTube
The difference is that the old plotter dynamically rescales the data to improve visibility when the values are very low, but the underlying data being plotted is exactly the same.

Gatorman3385
24th December 2025, 03:02
I see. I was plotting your "Coco 2017 UHD BD_CM_Analyze_OSC" when it failed. I tried "Knock.Knock.2015.UHD-BD_P7 FEL_(retail cmv4.0 restored)" then "L8.Saturation.Vector.Field.PLOT" and "HUE.Vector.Field.PLOT" plotted just fine. Thank you.

ralberti
30th December 2025, 15:57
Hi, could some one tell me please the steps and or commands to reduce the size of an mkv file with HDR (either HDR10, HDR10+ or DV) keeping HDR information? As far as I have seen I have to extract HDR Information, reencode video and inject back HDR information but I have no idea how to do that :(.

Kuler087
30th December 2025, 16:37
Workflow 8-2-1

Kuler087
2nd January 2026, 01:11
3.1.0 Released:

https://github.com/R3S3t9999/DoVi_Scripts/releases

TR-9970X
2nd January 2026, 01:16
3.1.0 Released:

https://github.com/R3S3t9999/DoVi_Scripts/releases

What a nice New Year surprise :)

:thanks:

PS:-

I now have a couple of questions about the new stuff...

Not sure if you covered this in the new tutorial.

With Workflow 6-8, you show "cavernize folder", and that is a hyperlink to where to download it, so the question is, which version to download, the 2.0.2 for Windows, or the portable type.

Then, how to add it to the tools folder ?? (create a new folder called "cavernize", and add the portable version in there ????)

Then workflow 9-9, where do you place that "hevc_hdr_editor.exe" ??

Apologies.

Kuler087
2nd January 2026, 20:45
With Workflow 6-8, you show "cavernize folder", and that is a hyperlink to where to download it, so the question is, which version to download, the 2.0.2 for Windows, or the portable type.

Then, how to add it to the tools folder ?? (create a new folder called "cavernize", and add the portable version in there ????)

I don't remember but I think the portable version will work, just place the cavernize folder in the script tools folder.

Then workflow 9-9, where do you place that "hevc_hdr_editor.exe" ??

In the tools folder

TR-9970X
2nd January 2026, 20:51
I don't remember but I think the portable version will work, just place the cavernize folder in the script tools folder.


In the tools folder

:thanks: others may also need to know this. :)

Kuler087
2nd January 2026, 21:31
PS: Right after the 3.1.0 release, I had an idea to auto-detect (very quickly) when DV FEL changes the BL brightness. This new feature will therefore remain beta-only (https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=drive_link) for a while until I have enough updates to release a regular version.

This new option was added to workflow 4-1 (P7 to P8), workflow 1 (editor), and batch info workflow 2-7.

The option checks for brightness differences and, based on my testing, it appears very accurate. However, there may be false positives due to BL artifacts or heavier grain compression, and it may miss some expanded-brightness releases since it only checks two random frames.

There are two categories:

- “FEL expanded brightness” (99.9% guaranteed): detects any difference greater than 60 nits peak or 2nits average

- “FEL possibly expanded brightness”: detects any difference greater than 15 nits

This feature is very fast and only takes a few seconds to run. It can be disabled at line 335 by setting:
set check.brighter.fel=NO

2-7 results of my whole library:

Profile 7 FEL total: 542 (36 percent)
168 titles expand the HDR10 BL brightness via FEL
67 titles possibly expand the HDR10 BL brightness via FEL
Profile 7 MEL total: 26 (1 percent)
Profile 8 total: 996 (66 percent)
Profile 5 total: 97 (6 percent)
CMv4.0 total: 985 (66 percent)
CMv2.9 total: 507 (33 percent)
DoVi Files Total: 1492

https://i.ibb.co/3ydCLMkB/1.gif

https://i.ibb.co/XrTFCFDR/2.gif

KoVaR
2nd January 2026, 21:40
Hi
Most of the things I try to do end in error:
"GPU decoder: Failed to create video decoder [801]"

What is that ?

Google has 1 result for this error, some Russian forum post from 2019

Kuler087
2nd January 2026, 21:42
No idea. Which workflow?

TR-9970X
3rd January 2026, 00:45
Hi
Most of the things I try to do end in error:
"GPU decoder: Failed to create video decoder [801]"

What is that ?

Google has 1 result for this error, some Russian forum post from 2019

What brand & model is your GPU ??

Maybe it's too old.

The error code 801 indicates that the GPU is not supported for the resolution being processed.
This can occur due to various reasons, such as the GPU not being able to handle the video codec or the video file format not being supported by the GPU.
To resolve this issue, you may need to check the video codec and format compatibility with your GPU, consider using software decoding, or update your GPU drivers to the latest version.

KoVaR
3rd January 2026, 22:49
GeForce 970

How do I foce software decoding ?

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

en6ads
5th January 2026, 02:18
PS: Right after the 3.1.0 release, I had an idea to auto-detect (very quickly) when DV FEL changes the BL brightness. This new feature will therefore remain beta-only (https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=drive_link) for a while until I have enough updates to release a regular version.

This new option was added to workflow 4-1 (P7 to P8), workflow 1 (editor), and batch info workflow 2-7.

The option checks for brightness differences and, based on my testing, it appears very accurate. However, there may be false positives due to BL artifacts or heavier grain compression, and it may miss some expanded-brightness releases since it only checks two random frames.

There are two categories:

- “FEL expanded brightness” (99.9% guaranteed): detects any difference greater than 60 nits peak or 2nits average

- “FEL possibly expanded brightness”: detects any difference greater than 15 nits

This feature is very fast and only takes a few seconds to run. It can be disabled at line 335 by setting:
set check.brighter.fel=NO

2-7 results of my whole library:

Profile 7 FEL total: 542 (36 percent)
168 titles expand the HDR10 BL brightness via FEL
67 titles possibly expand the HDR10 BL brightness via FEL
Profile 7 MEL total: 26 (1 percent)
Profile 8 total: 996 (66 percent)
Profile 5 total: 97 (6 percent)
CMv4.0 total: 985 (66 percent)
CMv2.9 total: 507 (33 percent)
DoVi Files Total: 1492


Thanks for doing this.

Someone else did something similar recently that runs in docker / linux / mac / Windows via wsl:

https://docs.doviconvert.com/before-you-start#understanding-the-enhancement-layer
https://github.com/cryptochrome/dovi_convert

He links your github page and spreadsheet.
I was going to try it out but I have been traveling over the holidays.

Edit: his version scans either 10 frames, or all frames:
https://docs.doviconvert.com/essentials/scanning#how-inspect-differs-from-scan
Interesting how you can get over 99% with just 2 frames.
Are these 2 chosen at random?

Kuler087
5th January 2026, 03:40
How to Converting a Dolby Vision Profile 8 file to Profile 7?

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.

profile 7 encoding mode. default =( no_mapping_with_fel ) Choices are: 'no_mapping_with_mel', 'no_mapping_with_fel', 'map_to_1000_nits_with_fel', 'map_to_1000_nits_with_mel', 'map_to_600_nits_with_fel'
set usecase=no_mapping_with_fel


Interesting how you can get over 99% with just 2 frames.
Are these 2 chosen at random?
Yes,random, and most of the time the script detects the difference on the first frame and doesn’t even need to check the second one, which is why the process is very fast.

In most cases where FEL changes the BL brightness, it isn’t limited to the highlights. The average brightness of the entire image is lifted, and this happens across nearly all shots. Because of that, detecting a small 2–3 nits difference in average brightness is quite straightforward in those situations.

TR-9970X
5th January 2026, 10:35
Just a trivial thing, but there are later versions of Lavfilters now, than the one you have linked to on your Github page.

https://files.1f0.de/lavf/nightly/LAVFilters-0.80.0-14.exe

Kuler087
5th January 2026, 13:14
Thanks, I prefer sharing only the versions I tested, but the latest version should be ok.

sk2316
6th January 2026, 03:56
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.


Good Job:)

Colek
6th January 2026, 10:58
Hello,

I wanted to make an 10-bit x265 encode of UHD disc - I've used the 8-2-3 to bake FEL into lossless ProRes file, but honestly I am unsure how to proceed now with this file I've received in the end, this is my first time dabbling in DV and encoding this stuff.

I've loaded the ProRes file into AviSynth like this:

LWLibavVideoSource("G:\DoVi_Scripts\Movie_prores.422_DV-FEL_to_HDR10.mov")
Crop(0, 42, -0, -42)
ConvertBits(10, dither=1)
ConvertToYUV420()


I assume this will get me HDR10 file - but what parameters do I provide to x265 for master-display and max-cll? How do I proceed with injecting (and converting) RPU now to Profile 8?

I want to work on lossless files to minimize any potential quality loss.

Thank you!

Kuler087
6th January 2026, 13:12
You dont have to encode the file to ProRes.
Just use workflow 8-2-1 and the script will do everything for you (bake fel and encode HDR10 x265 with static metadata+P8).

Colek
6th January 2026, 14:08
You dont have to encode the file to ProRes.
Just use workflow 8-2-1 and the script will do everything for you (bake fel and encode HDR10 x265 with static metadata+P8).

I see it now, didn't notice before, that you can do 2-pass encode with your script. Thank you, I'll try it :)

Rootdown4594
10th January 2026, 16:51
Tell me if this workflow is flawed, please...

Using 8-2-1 to bake FEL, I set a crf of 0 and an encode speed of faster. Gives me about a 100gig file.

I do this because I ultimately want to encode that baked file to AV1 and I want to give the AV1 encoder (AV1-SVT-HDR 10bit) the best possible quality file.

Is there anything wrong with this approach?

Kuler087
10th January 2026, 17:18
Tell me if this workflow is flawed, please...

Using 8-2-1 to bake FEL, I set a crf of 0 and an encode speed of faster. Gives me about a 100gig file.

I do this because I ultimately want to encode that baked file to AV1 and I want to give the AV1 encoder (AV1-SVT-HDR 10bit) the best possible quality file.

Is there anything wrong with this approach?



Yes, don’t do that.

dovi_script does not support AV1 (I could add support eventually), but you can still use it to generate the FEL Baker AviSynth script and then encode to AV1 using a GUI like StaxRip.

1- Run 8-2-1 and cancel the process as soon as the encode starts.
2- Go to the dovi_script TEMP folder and import ''script.avs'' into StaxRip. From there, you can bake the FEL and encode directly to AV1.

*It’s also possible that StaxRip now supports FEL directly, but I haven’t followed its development recently.

Kuler087
10th January 2026, 18:46
(Latest beta) (https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=drive_link) Pretty cool new addition to workflow 7-2 for users who prefer exporting SDR tone-mapped screenshots.

The workflow now includes an option to use the Dolby Vision 100-nits trim pass. Because the colorist creates these trim passes manually and they are delivered for the official SDR releases, the HDR-to-SDR mapping is far more accurate than any generic tone-mapping algorithm like Libplacebo, madVR, which tend to darken too much to preserve highlight details. This method will match the official SDR release most of the time, at least for titles mastered/delivered in cmv4.0, which is the case for the majority of movies today.

Example comparison:
DV trim pass vs Libplacebo vs studio original SDR release
https://slow.pics/c/2ZrwYO9i

more examples:
Babe 1995 L8 trim: https://slow.pics/c/KBk1g3gg
War of the Worlds L2 trim: https://slow.pics/c/sTwj3ifW


Notes:
- The process is slightly slower than using libplacebo, but still fast enough to be practical and the mapping quality 100% worth it.
Pipeline DV input: Index video → extract RPU → ProRes (qscale=0) → cm_offline → ffmpeg lossless RGB 16-bit screenshots
Pipeline HDR10 input: Index video → ProRes (qscale=0) → cm_analyze → cm_offline → ffmpeg lossless RGB 16-bit screenshots

- If the input does not contain Dolby Vision, the script falls back to cm_analyse to generate Dolby’s default SDR tone mapping.

-This new function made me discover a bug in workflow 8-2-4 trim pass delivery, the output has slightly raised black in the latest dovi_scripts.

EDIT: I forgot to say, you need to add these two files in your tool folder.
https://drive.google.com/drive/folders/1msSCOHJm4kzemykWjL0kmwJ4JGvDZ4px?usp=drive_link

https://i.ibb.co/TqxHhk3j/Windows-Terminal-SRk-MK0-AFeu.gif

Rootdown4594
10th January 2026, 19:20
Yes, don’t do that.

dovi_script does not support AV1 (I could add support eventually), but you can still use it to generate the FEL Baker AviSynth script and then encode to AV1 using a GUI like StaxRip.

1- Run 8-2-1 and cancel the process as soon as the encode starts.
2- Go to the dovi_script TEMP folder and import ''script.avs'' into StaxRip. From there, you can bake the FEL and encode directly to AV1.

*It’s also possible that StaxRip now supports FEL directly, but I haven’t followed its development recently.


I get this error when I drag and dop the scipt.avs file into Straxrip and select automatic:

Script Error

Python exception: name 'core' is not defined

Traceback (most recent call last):
File "src/cython/vapoursynth.pyx", line 3393, in vapoursynth._vpy_evaluate
File "src/cython/vapoursynth.pyx", line 3394, in vapoursynth._vpy_evaluate
File "D:\DoVi\DoVi.Scripts\temp.folder31\script.avs_temp\script_source.vpy", line 1, in <module>
clip = core.avisource.AVISource(r"D:\DoVi\DoVi.Scripts\temp.folder31\script.avs")
^^^^
NameError: name 'core' is not defined

Kuler087
10th January 2026, 19:30
You have to change your staxrip project to avisynth.

https://i.ibb.co/ycXqhZ5M/Stax-Rip-VG378fcn-Op.png

Rootdown4594
10th January 2026, 19:52
Thank you

dkangel
13th January 2026, 20:30
hello
i'm trying to inject your L5 offsets data in the rpu of interstellar.
copy the text into a samename.json file
everything good except at the end, i've this message

01/13/2026/20:29:54.198000000 metafier: ERROR Illegal Per-frame Level Data: 5
Parsing RPU file...

Summary:
Frames: 243218
Profile: 8
DM version: 1 (CM v2.9)
Scene/shot count: 2358
RPU mastering display: 0.0050/4000 nits
RPU content light level (L1): MaxCLL: 3056.40 nits, MaxFALL: 588.84 nits
L6 metadata: Mastering display: 0.0050/4000 nits. MaxCLL: 0 nits, MaxFALL: 0 nits
L5 offsets: top=0..280, bottom=0..280, left=0, right=0
L2 trims: 100 nits

do you know what it is ? ERROR illegal per frame

thank you

Kuler087
13th January 2026, 21:03
It means that some L5 change happens on a frame that is not a scene cut.
Is this the json edit you've used? I just checked my RPU, and everything is fine.

https://i.ibb.co/rGSD3Hn9/v8-Jl-QFNy-Iw.png

{
"mode": 0,
"active_area": {
"presets": [
{
"id": 0,
"left": 0,
"right": 0,
"top": 280,
"bottom": 281
},
{
"id": 1,
"left": 0,
"right": 0,
"top": 0,
"bottom": 0
}
],
"edits": {
"0-2117": 0,
"2118-2589": 1,
"2590-4429": 0,
"4430-4588": 1,
"4589-4657": 0,
"4658-4736": 1,
"4737-9349": 0,
"9350-12547": 1,
"12548-20071": 0,
"20072-20228": 1,
"20229-26005": 0,
"26006-27624": 1,
"27625-29207": 0,
"29208-29379": 1,
"29380-32410": 0,
"32411-33439": 1,
"33440-52177": 0,
"52178-52270": 1,
"52271-59929": 0,
"59930-61037": 1,
"61038-61098": 0,
"61099-61199": 1,
"61200-61306": 0,
"61307-61411": 1,
"61412-62296": 0,
"62297-62454": 1,
"62455-62779": 0,
"62780-62895": 1,
"62896-62984": 0,
"62985-63072": 1,
"63073-63310": 0,
"63311-63407": 1,
"63408-65118": 0,
"65119-65269": 1,
"65270-65475": 0,
"65476-65745": 1,
"65746-65790": 0,
"65791-65886": 1,
"65887-65951": 0,
"65952-66059": 1,
"66060-66179": 0,
"66180-66318": 1,
"66319-66770": 0,
"66771-66917": 1,
"66918-67974": 0,
"67975-68163": 1,
"68164-69114": 0,
"69115-69530": 1,
"69531-69652": 0,
"69653-69843": 1,
"69844-70575": 0,
"70576-70774": 1,
"70775-71548": 0,
"71549-71652": 1,
"71653-71835": 0,
"71836-71865": 1,
"71866-71945": 0,
"71946-72079": 1,
"72080-72124": 0,
"72125-72403": 1,
"72404-76948": 0,
"76949-77258": 1,
"77259-78833": 0,
"78834-79911": 1,
"79912-82014": 0,
"82015-82265": 1,
"82266-82856": 0,
"82857-82985": 1,
"82986-83345": 0,
"83346-83474": 1,
"83475-84866": 0,
"84867-84986": 1,
"84987-85142": 0,
"85143-85255": 1,
"85256-85479": 0,
"85480-85719": 1,
"85720-85877": 0,
"85878-86018": 1,
"86019-86094": 0,
"86095-86191": 1,
"86192-86423": 0,
"86424-86551": 1,
"86552-86615": 0,
"86616-86700": 1,
"86701-86840": 0,
"86841-86893": 1,
"86894-87014": 0,
"87015-87113": 1,
"87114-87457": 0,
"87458-87556": 1,
"87557-88210": 0,
"88211-88456": 1,
"88457-88841": 0,
"88842-89377": 1,
"89378-94039": 0,
"94040-94168": 1,
"94169-94328": 0,
"94329-94490": 1,
"94491-94574": 0,
"94575-94638": 1,
"94639-95152": 0,
"95153-95210": 1,
"95211-95399": 0,
"95400-95516": 1,
"95517-96608": 0,
"96609-96705": 1,
"96706-96820": 0,
"96821-96911": 1,
"96912-96953": 0,
"96954-97019": 1,
"97020-97372": 0,
"97373-97397": 1,
"97398-97441": 0,
"97442-97491": 1,
"97492-97540": 0,
"97541-97620": 1,
"97621-97663": 0,
"97664-97727": 1,
"97728-97770": 0,
"97771-97869": 1,
"97870-97918": 0,
"97919-98070": 1,
"98071-98112": 0,
"98113-98203": 1,
"98204-98607": 0,
"98608-105200": 1,
"105201-110488": 0,
"110489-110578": 1,
"110579-110783": 0,
"110784-110833": 1,
"110834-110870": 0,
"110871-110910": 1,
"110911-110956": 0,
"110957-111007": 1,
"111008-111039": 0,
"111040-111106": 1,
"111107-111135": 0,
"111136-111158": 1,
"111159-111181": 0,
"111182-111443": 1,
"111444-128219": 0,
"128220-129099": 1,
"129100-130228": 0,
"130229-130512": 1,
"130513-135990": 0,
"135991-137775": 1,
"137776-142345": 0,
"142346-142941": 1,
"142942-150171": 0,
"150172-151096": 1,
"151097-154631": 0,
"154632-156627": 1,
"156628-156817": 0,
"156818-157207": 1,
"157208-157847": 0,
"157848-159661": 1,
"159662-159951": 0,
"159952-161259": 1,
"161260-161479": 0,
"161480-162074": 1,
"162075-162476": 0,
"162477-163947": 1,
"163948-165059": 0,
"165060-170806": 1,
"170807-170925": 0,
"170926-175489": 1,
"175490-175689": 0,
"175690-176841": 1,
"176842-177228": 0,
"177229-200823": 1,
"200824-201104": 0,
"201105-204170": 1,
"204171-204414": 0,
"204415-204477": 1,
"204478-204553": 0,
"204554-204700": 1,
"204701-204873": 0,
"204874-205839": 1,
"205840-206259": 0,
"206260-206443": 1,
"206444-206504": 0,
"206505-206829": 1,
"206830-206849": 0,
"206850-206892": 1,
"206893-207033": 0,
"207034-207082": 1,
"207083-207172": 0,
"207173-207243": 1,
"207244-207302": 0,
"207303-207343": 1,
"207344-207380": 0,
"207381-207621": 1,
"207622-207637": 0,
"207638-207790": 1,
"207791-207882": 0,
"207883-208172": 1,
"208173-208290": 0,
"208291-208976": 1,
"208977-209112": 0,
"209113-209376": 1,
"209377-209558": 0,
"209559-210406": 1,
"210407-210990": 0,
"210991-212925": 1,
"212926-213076": 0,
"213077-214127": 1,
"214128-214235": 0,
"214236-214672": 1,
"214673-214762": 0,
"214763-214840": 1,
"214841-215120": 0,
"215121-215403": 1,
"215404-215498": 0,
"215499-215613": 1,
"215614-215687": 0,
"215688-217571": 1,
"217572-217634": 0,
"217635-217691": 1,
"217692-217781": 0,
"217782-217977": 1,
"217978-218091": 0,
"218092-218575": 1,
"218576-218628": 0,
"218629-218697": 1,
"218698-218858": 0,
"218859-222520": 1,
"222521-222594": 0,
"222595-222722": 1,
"222723-222737": 0,
"222738-223265": 1,
"223266-225789": 0,
"225790-227094": 1,
"227095-229653": 0,
"229654-229822": 1,
"229823-233190": 0,
"233191-235847": 1,
"235848-243202": 0
}
}
}

dkangel
13th January 2026, 21:18
it's this one

https://justpaste.it/bhv73 from your excell sheet

my last frame is 243218

EDIT : ok if i change the last line with "235848-243217": 0

Kuler087
13th January 2026, 21:33
Yeah, my RPU frame count comes from the WEB-DL before it’s injected into the Blu-ray remux, which automatically duplicates frames at the end to match the video length.

Other than that, there’s no difference with that JSON, so you shouldn’t be getting a Metafier error. Are you using an older version of DoVi_meta.exe? I know that a while ago, it had an issue when converting RPU to XML, which caused this kind of error in Metafier.

dkangel
13th January 2026, 21:41
no everything is up to date, dovi script 3.1.0 with last tools directory

it seems ok now with changing the number of the last frame

if i put 243217

01/13/2026/21:43:58.811000000 metafier: INFO No issues found in the Metadata
Parsing RPU file...

Summary:
Frames: 243218
Profile: 8
DM version: 1 (CM v2.9)
Scene/shot count: 2335
RPU mastering display: 0.0050/4000 nits
RPU content light level (L1): MaxCLL: 3056.40 nits, MaxFALL: 588.84 nits
L6 metadata: Mastering display: 0.0050/4000 nits. MaxCLL: 0 nits, MaxFALL: 0 nits
L5 offsets: top=0..280, bottom=0..280, left=0, right=0
L2 trims: 100 nits

Kuler087
13th January 2026, 21:49
This movie trim pass is useless, FYI. You'll get better quality if you generate new CMV4.0 metadata.

dkangel
13th January 2026, 21:52
ok i will do that with resolve, is it possible to import your l5 metadata in resolve to avoid all the cuting stuff ?

Kuler087
13th January 2026, 22:01
No. You can only import the scene cuts, but not L5.

You can use my Resolve project:
with homemade trims: https://drive.google.com/file/d/1M1t9D3r5JJRYqnMgjNlcPCEx_WfnJmmS/view?usp=drive_link
without trims: https://drive.google.com/file/d/1VrmvolOnhppUH8XxnFA9r9k5_duA6gMC/view?usp=drive_link

dkangel
13th January 2026, 22:03
ok i'll try this tomorrow, thank you for your time

dkangel
14th January 2026, 17:33
i've import your project with my mov file, scene cuts are ok and so L5 changes seems synchro too, i'm analysing for dv and give a try on my tv
but i think it will be ok

prudentavocado
14th January 2026, 23:21
Right, on a 5000-nits TV, there is no advantage to converting HDR10 to Dolby Vision in 3-1(or resolve).
For a native DV Blu-ray rip, some FEL titles do restore a brighter master (https://drive.google.com/drive/u/0/folders/1FS42T95TOSpoy4xtwUBIQmziCe_R_IKe), but that benefit is lost once they are converted to Profile 8. You need a device like the Ugoos Am6B+ to get that brighter DV from FEL playback.

Baking in the FEL properly to get a p8 is still lower on the picture quality scale than a Web p5 (due to the color space), correct?

Kuler087
15th January 2026, 03:08
yes but streaming DV5 has worse hevc compression due to the lower bitrate

prudentavocado
15th January 2026, 05:45
yes but streaming DV5 has worse hevc compression due to the lower bitrate

Damn, so what do you choose? I suppose whatever looks pleasing to the eyes on your display?

I guess p8 remux > p5 > p8 encode

Kuler087
15th January 2026, 14:12
When compressed properly, a P8 encode will be better than streaming DV5.
remux > p8 encode > P5

prudentavocado
16th January 2026, 00:06
When compressed properly, a P8 encode will be better than streaming DV5.
remux > p8 encode > P5

No kidding, does that mean if the p8 encode and p5 are identical bitrate you'd go with the p8?

Thanks in advance.

Kuler087
16th January 2026, 00:41
If the P8 encode comes from the UHD Blu-ray and I compressed it myself, yes.
Streaming compression is subpar. iTunes is DNR garbage, MA has a lot of compression noise and introduces visible artifacts with grain-heavy content, Disney’s and Fandango bitrate is too low, and Amazon’s HEVC compression is horrible.

prudentavocado
18th January 2026, 01:56
If the P8 encode comes from the UHD Blu-ray and I compressed it myself, yes.
Streaming compression is subpar. iTunes is DNR garbage, MA has a lot of compression noise and introduces visible artifacts with grain-heavy content, Disney’s and Fandango bitrate is too low, and Amazon’s HEVC compression is horrible.

Interesting note about MA, everything else I've read about it is exceptional and potentially equal/better than the UHD disks.

en6ads
18th January 2026, 23:16
Damn, so what do you choose? I suppose whatever looks pleasing to the eyes on your display?

I guess p8 remux > p5 > p8 encode

There is one other option: Mode 8-2-6. With DEE you could transcode P7 FEL (12-bit YCbCr) to P5 (10-bit ICtCp, about 11.5-bit YCbCr equivalent).

However with lossless TIFF it takes absolutely ages and massive amounts of disk space. But it retains the 12-bit FEL (almost), and can have the same high encode rate of the UHD.

I have yet to encode a full movie using this method, only 10 minute chunks. But the result is really good. If you have a home server with loads of disk space I can recommend at least trying it.

Kuler087
19th January 2026, 00:54
You can also encode any DV source to P7 (FEL or MEL) with the latest beta(workflow 8-2-7). Add these x265 plugin (https://drive.google.com/drive/folders/1yTGPpiaKRnWg9A0viVd2-d7t9ZmO7P8r?usp=sharing) to your DEE folder. You also need to replace \DoVi_Scripts\tools\DEE\python_scripts\encode_dvmezz_to_dv7.py

::8-2-7 profile 7 encoding mode. (default= no_mapping_with_fel) Choices are: 'no_mapping_with_mel', 'no_mapping_with_fel', 'map_to_1000_nits_with_fel', 'map_to_1000_nits_with_mel', 'map_to_600_nits_with_fel'
set usecase=no_mapping_with_fel
::BL bitrate in 8-2-7 P7 FEL encoding
set BL_rate=25000
::BL buffer in 8-2-7 P7 FEL encoding
set BL_buff=99000
::EL bitrate in 8-2-7 P7 FEL encoding. MEL bitrate / buffer is hardcoded to 500 / 550
set EL_rate=3000
::EL buffer in 8-2-7 P7 FEL encoding. MEL bitrate / buffer is hardcoded to 500 / 550
set EL_buff=5000

prudentavocado
19th January 2026, 02:13
There is one other option: Mode 8-2-6. With DEE you could transcode P7 FEL (12-bit YCbCr) to P5 (10-bit ICtCp, about 11.5-bit YCbCr equivalent).



Hmm, I guess I would have just assumed this is what the streaming services are already doing

Kuler087
19th January 2026, 02:20
Well, streaming services get the 12 or 10 bit mezzanine source from the studios; they don't convert P7 FEL to P5.

Gigabit
22nd January 2026, 20:34
Hi,

Have you considered using http://avisynth.nl/index.php/LSMASHSource when doing the baking via DoViBaker as I believe this supports Intel Quick Sync?

Kuler087
22nd January 2026, 21:08
No sorry man, I'm not really interested in adding a third frame indexer in the encoder workflows.

Gigabit
22nd January 2026, 22:00
No sorry man, I'm not really interested in adding a third frame indexer in the encoder workflows.

Is there a way I can use it manually? Can I edit the script at the end to use it?

Kuler087
22nd January 2026, 22:05
Is there a way I can use it manually? Can I edit the script at the end to use it?

The Script Workflow 8-2 would be complicated to edit manually because it includes a lot of other options, but you can simply follow the dovi_baker instructions, it’s not too complicated.

https://github.com/erazortt/DoViBaker

Gigabit
22nd January 2026, 22:58
The Script Workflow 8-2 would be complicated to edit manually because it includes a lot of other options, but you can simply follow the dovi_baker instructions, it’s not too complicated.

https://github.com/erazortt/DoViBaker

I had a look at your script and it seems to be doing a lot more than DoViBaker so I wondered if you were doing something extra?

I am trying to "bake" a FEL movie ("Saving Private Ryan").

I have the MKV of the source movie. From what I can understand, I need to load this into `dovi_tool` and use:

- extract-rpu to extract the RPU
- demux to output the base layer and enhancement layer as separate files

From what I can see, I then provide these files to `DoViBaker` via an AviSynth/AviSynth+ script:

bl = LWLibavVideoSource("bl.hevc", format="YUV420P10", stream_index=0)

el = LWLibavVideoSource("el.hevc", format="YUV420P10", stream_index=1)

DoViBaker(bl, el, rpu="RPU.bin")

Is that...it?

Kuler087
22nd January 2026, 23:40
yes pretty much. Lsmash and ffms2 can read the rpu from the stream so you only need

bl = LWLibavVideoSource("bl.hevc", format="YUV420P10", stream_index=0)

el = LWLibavVideoSource("el.hevc", format="YUV420P10", stream_index=1)

DoViBaker(bl,el)

but this output will be 16bit RGB PQ. You have to convert it to YUV420P10 bt2020 then feed that script to the encoder.

Gigabit
23rd January 2026, 01:12
yes pretty much. Lsmash and ffms2 can read the rpu from the stream so you only need

bl = LWLibavVideoSource("bl.hevc", format="YUV420P10", stream_index=0)

el = LWLibavVideoSource("el.hevc", format="YUV420P10", stream_index=1)

DoViBaker(bl,el)

but this output will be 16bit RGB PQ. You have to convert it to YUV420P10 bt2020 then feed that script to the encoder.

Thanks mate, how do I do the conversion?

Kuler087
23rd January 2026, 01:20
ConvertBits(10)
ConvertToYUV420(matrix="2020")

Colek
25th January 2026, 10:27
Just a small bug report - if filename contains an exclamation mark, at least in the Mode 1 it will be incorrectly reported as HDR10 only.

Had an issue figuring it out with one of the files, after renaming it, it worked just fine and detected P7.

Kuler087
25th January 2026, 14:07
right input with ! will never work in any workflow because it's used to delimit a variable.

for %%i in (!video_path!) do set filename=%%~ni
for %%i in (!video_path!) do set filepath=%%~di%%~pi
for %%i in (!video_path!) do set fileext=%%~xi

prudentavocado
26th January 2026, 02:21
Bit rate : 23.1 Mb/s
Mastering display luminance : min: 0.0050 cd/m2, max: 4000 cd/m2
Maximum Content Light Level : 305 cd/m2
Maximum Frame-Average Light Le : 10 cd/m2


Bit rate : 18.0 Mb/s
Mastering display luminance : min: 0.0001 cd/m2, max: 1000 cd/m2
Maximum Content Light Level : 1000 cd/m2
Maximum Frame-Average Light Le : 928 cd/m2


Trying to decide between two P8 proper group encodes (both should be from the UHD blu ray as primary video source), mostly similar but noticed this one difference in the light levels, should I put much stock into these values for P8s?

Kuler087
26th January 2026, 14:16
just measure the video in 6-2 without letterbox and edit it to the right values with workflow 9-9

Enet47
27th January 2026, 14:51
Only found out about this wonderful tool yesterday. It took me a minute to find out then work out how to use it. But I've finally converted my first FEL mkv to DV 8.1 Question: How do I check that it actually worked?

Kuler087
27th January 2026, 14:54
You can do some screenshot comparisons in Workflow 7-2 or 7-1

Enet47
27th January 2026, 16:55
You can do some screenshot comparisons in Workflow 7-2 or 7-1
Thanks. Hopefully my final dumb question. I get that there is a list of FEL files that can't be converted without baking FEL into BL. But does that mean that I can convert the other DV FEL files to 8.1 without loosing FEL?

Kuler087
27th January 2026, 17:05
You always lose FEL when re-encoding to Profile 8. When you bake FEL, you retain all bitrate, grain, brightness, and any differences relative to the BL but the 12bit depth precision is lost forever.
You should always bake FEL when re-encoding, regardless of whether FEL makes a visible difference in that specific title. It does not slow down processing, so there is no reason not to bake it.

Enet47
27th January 2026, 17:40
You always lose FEL when re-encoding to Profile 8. When you bake FEL, you retain all bitrate, grain, brightness, and any differences relative to the BL but the 12bit depth precision is lost forever.
You should always bake FEL when re-encoding, regardless of whether FEL makes a visible difference in that specific title. It does not slow down processing, so there is no reason not to bake it.
Thank you for the clear explanation. I didn't go to sleep trying to get Nvenc to work. Then I realized that it needed be be updated to work with the same command line I use with StaxRip :)

Thanks again for the clear explanation. This now makes a lot more sense. Thank you again for the great application.

Teddy13
29th January 2026, 21:34
I have a question regarding a german capelight disc (Strange Darling) with previously described authoring issues, which I was not aware of. I used makemkv to create the mkv. Since it is only DV MEL I used handbrake for profile 7 to 8 encoding keeping the DV metadata. Now I had a look into the film and there are only odd looking purple and green bands. Just then I saw this movie in your list of discs with authoring issues. My question is, how can I resync the RPU? Can I use Dovi Scripts? Can I do it with the finished handbrake encode or should I do it with the makemkv output? Or do I need to get the .m2ts file first and start all over? Thx

Kuler087
29th January 2026, 21:54
You have to demux/extract the RPU straight from the original M2TS. Then you can convert it and inject it as P8.

Teddy13
29th January 2026, 22:17
Thx for the quick reply. At what point can/do I have to do the reencode then? Before or after reinjection of the RPU P8, or does it not matter?

Kuler087
29th January 2026, 23:11
you can encode with the P8 rpu or inject it after; it doesn't matter

en6ads
31st January 2026, 02:12
I have a question regarding a german capelight disc (Strange Darling) with previously described authoring issues, which I was not aware of. I used makemkv to create the mkv. Since it is only DV MEL I used handbrake for profile 7 to 8 encoding keeping the DV metadata. Now I had a look into the film and there are only odd looking purple and green bands. Just then I saw this movie in your list of discs with authoring issues. My question is, how can I resync the RPU? Can I use Dovi Scripts? Can I do it with the finished handbrake encode or should I do it with the makemkv output? Or do I need to get the .m2ts file first and start all over? Thx

Please don't use Handbrake to encode a P8.1 from a P7 MEL.

Instead use DoviScripts to create a new mkv file that injects a converted p8 rpu into the P7 base layer without needing to reencode the base layer.

If you know for sure it's MEL, then workflow 4-1.
To check the mkv file first, use workflow 1, then 7.

With a fast SSD this takes about 5 - 7 minutes.

rollmayonnaise
31st January 2026, 09:28
Are there plans to add support for exporting the DV 100-nit trim as screenshots when using Dolby Vision Profile 5? At the moment, with workflow 7-2 and tonemapping option 3, DV P5 screenshots render with a green/purple tint.

Kuler087
31st January 2026, 15:24
Try the latest beta; it should work now. There was a typo.

https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=sharing

TR-9970X
1st February 2026, 00:58
Try the latest beta; it should work now. There was a typo.

https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=sharing

Hi kuler,

It's good that are always improving this great app you've created, but I'd just like to say that every time a new beta comes along, the users that have edited the previous release to suit their needs, have to go thru the whole process again :(

Would it be possible just to provide the actual changes, and the user could then just copy that into the appropriate line of the previous version ??

And if needed (for continuity), even the build number could be changed.

I know that could also create issues, but it's an option.

Just a thought.

Regards.

Kuler087
1st February 2026, 01:18
I understand, but the beta versions only introduce new features. There’s no reason to always update to the latest beta, especially if you’ve made your own changes to the script. The beta releases rarely include bug fixes (except for new features), and I haven’t had any bugs to fix for many releases, so you're not missing much by not using the latest beta.
As for the version number, the last modified date is displayed every time you launch the script.

TR-9970X
1st February 2026, 01:27
I understand, but the beta versions only introduce new features. There’s no reason to always update to the latest beta, especially if you’ve made your own changes to the script. The beta releases rarely include bug fixes (except for new features), and I haven’t had any bugs to fix for many releases, so you're not missing much by not using the latest beta.
As for the version number, the last modified date is displayed every time you launch the script.

Fair enough.

So the possible new features aren't simply a line or 2 of text, then ??

Is there a way to just release the new features ??

Kuler087
1st February 2026, 01:41
Is there a way to just release the new features ??
possible yes, but that would just increase my workload, and I already have enough to do(outside DS).
When there's a new feature I like, I always share it here in the forum, so unless you want one of those, there's no reason to update to the latest beta every time I make a change.

So the possible new features aren't simply a line or 2 of text, then ??
No, the current beta has many changes in different workflows:

- (7-2) Can now export SDR screenshots from Dolby Vision trim pass (L8 or L2)
- (8-2-7) NEW Workflow: Can now re-encode and keep P7 FEL/MEL with proper nal units for both layers (requires DEE with x265 plugins)
- (4-1) P7 to P8 will now attempt to detect FEL expanded brightness.
- (1) (EDITOR) The script will now attempt to detect if FEL expands the brightness
- (2-7) (BATCH INFO) The script will now attempt to detect if FEL expands the brightness
- (7-1) (7-2) Added trims metadata to OSD. Default = NO (line )
- (1) (EDITOR) Can now quickly ''info'' more inputs instead of exiting the script.
- (7-4)(7-5) Removed the limitation that restricted the script from processing CMv4.0, RPUs with L8 trims at 300, 600, 1000, or 2000 nits. These fellback to cmv2.9 before. Files in the tool folder to be updated/replaced:
- (8-2-8) Added a mode that can estimate bitrate from CRF encoding/settings
- (8-2-8) Bugfix: regression in previous version: workflow didn't work
- (8-2-4) Bugfix: regression in previous version: fix raised black

TR-9970X
1st February 2026, 03:22
possible yes, but that would just increase my workload, and I already have enough to do(outside DS).
When there's a new feature I like, I always share it here in the forum, so unless you want one of those, there's no reason to update to the latest beta every time I make a change.


No, the current beta has many changes in different workflows:

Understood, just thought I'd ask, that's all.

Answered & explained thoroughly, as always :)

Rootdown4594
1st February 2026, 15:05
Please don't use Handbrake to encode a P8.1 from a P7 MEL.

Instead use DoviScripts to create a new mkv file that injects a converted p8 rpu into the P7 base layer without needing to reencode the base layer.

If you know for sure it's MEL, then workflow 4-1.
To check the mkv file first, use workflow 1, then 7.

With a fast SSD this takes about 5 - 7 minutes.

Why do this for MEL instead of using handbrake?

Woodrowspoo81
2nd February 2026, 00:42
What's the best way using Dovi_Scripts to triple an rpu.bin? I really need a proper .json with script to triple rpu yet interleaving the metadata evenly throughout. Any help would be appreciated.

prudentavocado
2nd February 2026, 00:56
Can anyone point me to instructions on how to convert a 8.6 video to 8.1? Or is this not possible? Tried searching this thread but didn't find anything promising.

8.6 giving me fits on Jellyfin via the LG app.

Kuler087
2nd February 2026, 01:51
What's the best way using Dovi_Scripts to triple an rpu.bin? I really need a proper .json with script to triple rpu yet interleaving the metadata evenly throughout. Any help would be appreciated.

The script cannot do that. There might be a way with one of the DEE tools, but I don't know.

Kuler087
2nd February 2026, 01:53
Can anyone point me to instructions on how to convert a 8.6 video to 8.1? Or is this not possible? Tried searching this thread but didn't find anything promising.

8.6 giving me fits on Jellyfin via the LG app.

8.6?
Maybe you meant 7.6 to 8.1?

workflow 4-1 can do that.

prudentavocado
2nd February 2026, 04:31
8.6?
Maybe you meant 7.6 to 8.1?

workflow 4-1 can do that.

I wish, but no, sadly I have a 8.6 file and would like to convert to 8.1.

Any ideas on if plausible or not?

rollmayonnaise
2nd February 2026, 09:42
Thank you for the beta update. DV P5 tonemapped screenshots look great!

May I ask, how have you implemented the FEL brightness expansion detection? Do you rely on metadata alone, only on actual luminance measurements or both? I understand that most FEL titles that expand brightness are ones where the HDR10 BL is tonemapped to 1000 nits and the FEL restores the 4000 nits master. But does FEL brightness expansion happen only when mapping was applied?

I see that you usually show the DV L1 plot in your comparisons to put in evidence that FEL restores the original brightness but what about titles where the DV L1 is a bit "weird". For example, Jack Reacher (2012). For that title, it looks like the DV L1 MaxCLL is capped to 900 nits which is less than the maximum MaxCLL (1454 nits) of the HDR10 BL measured with madVR. In that case, comparing both values would lead to a verdict of no brightness expansion, right? Yet, the screenshot comparison clearly shows a brightness difference which I take this to mean that the actual peak luminance of BL+FEL is higher than maximum MaxCLL of BL and therefore of the maximum DV L1 MaxCLL as well.

Also, for Nosferatu (2024), you mention that FEL expands brightness. So, is this the case here of the HDR10 BL being tonemapped to 600 or 1000 nits? If so, which one? And why is there even a difference between BL and BL+FEL since the movie is so dark?
And on a related note, why does FEL sometimes darken the image, by that I mean, if there is no mapping, what would lead to the residual layer causing darkening? Is it due to a manual adjustment of the BL?

Kuler087
2nd February 2026, 12:59
I wish, but no, sadly I have a 8.6 file and would like to convert to 8.1.

Any ideas on if plausible or not?

Are you sure it doesn't say: Profile 8.1, dvhe.08.06


how have you implemented the FEL brightness expansion detection?
The scripts detect brightness differences in the screenshots. It looks for any average brightness higher than 2nits or any peak brightness higher than 50nits.


I see that you usually show the DV L1 plot in your comparisons to put in evidence that FEL restores the original brightness but what about titles where the DV L1 is a bit "weird". For example, Jack Reacher (2012). For that title, it looks like the DV L1 MaxCLL is capped to 900 nits which is less than the maximum MaxCLL (1454 nits) of the HDR10 BL measured with madVR. In that case, comparing both values would lead to a verdict of no brightness expansion, right? Yet, the screenshot comparison clearly shows a brightness difference which I take this to mean that the actual peak luminance of BL+FEL is higher than maximum MaxCLL of BL and therefore of the maximum DV L1 MaxCLL as well.

Also, for Nosferatu (2024), you mention that FEL expands brightness. So, is this the case here of the HDR10 BL being tonemapped to 600 or 1000 nits? If so, which one? And why is there even a difference between BL and BL+FEL since the movie is so dark?
And on a related note, why does FEL sometimes darken the image, by that I mean, if there is no mapping, what would lead to the residual layer causing darkening? Is it due to a manual adjustment of the BL?
rollmayonnaise is offline Report Post Reply With Quote

If a title is graded to, for example, 2000 nits and you decide to map the base layer to 600 nits or 1000 nits, the algorithm will automatically and uniformly dim the image to match that target.
When the colorist does trim pass(es), those adjustments get baked into the base layer as well when encoding to P7. In some cases, the colorist raise the 100-nit SDR trim above the HDR master’s mid-range, which can result in the FEL appearing darker in comparison.

prudentavocado
2nd February 2026, 15:11
Are you sure it doesn't say: Profile 8.1, dvhe.08.06



Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5.1@Main
HDR format : Dolby Vision, Version 1.0, Profile 8.6, dvhe.08.06, BL+RPU, no metadata compression, Blu-ray compatible / SMPTE ST 2086, Version HDR10, HDR10 compatible
Codec ID : V_MPEGH/ISO/HEVC
Duration : 2 h 0 min
Bit rate : 17.9 Mb/s
Width : 3 840 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 (Type 2)
Bit depth : 10 bits
Bits/(Pixel*Frame) : 0.122
Stream size : 15.1 GiB (99%)
Writing library : x265 unknown:[Linux][GCC 7.5.0][64 bit] 10bit
Encoding settings : cpuid=1111039 / frame-threads=3 / numa-pools=8 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=3840x1600 / interlace=0 / total-frames=0 / level-idc=51 / high-tier=1 / uhd-bd=0 / ref=4 / no-allow-non-conformance / repeat-headers / annexb / aud / hrd / info / hash=0 / no-temporal-layers / open-gop / min-keyint=23 / keyint=250 / gop-lookahead=0 / bframes=4 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=25 / lookahead-slices=4 / scenecut=40 / hist-scenecut=0 / radl=0 / no-splice / no-intra-refresh / ctu=64 / min-cu-size=8 / no-rect / no-amp / max-tu-size=32 / tu-inter-depth=1 / tu-intra-depth=1 / limit-tu=0 / rdoq-level=1 / dynamic-rd=0.00 / no-ssim-rd / signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / strong-intra-smoothing / max-merge=3 / limit-refs=3 / no-limit-modes / me=3 / subme=3 / merange=57 / temporal-mvp / no-frame-dup / no-hme / weightp / no-weightb / no-analyze-src-pics / deblock=-3:-3 / no-sao / no-sao-non-deblock / rd=4 / selective-sao=0 / no-early-skip / rskip / no-fast-intra / no-tskip-fast / no-cu-lossless / no-b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=1.00 / psy-rdoq=3.00 / no-rd-refine / no-lossless / cbqpoffs=0 / crqpoffs=0 / rc=cbr / bitrate=18000 / qcomp=0.60 / qpstep=4 / stats-write=0 / stats-read=2 / cplxblur=20.0 / qblur=0.5 / vbv-maxrate=18000 / vbv-bufsize=36000 / vbv-init=0.9 / min-vbv-fullness=50.0 / max-vbv-fullness=80.0 / ipratio=1.40 / pbratio=1.30 / aq-mode=3 / aq-strength=1.00 / cutree / zone-count=0 / no-strict-cbr / qg-size=32 / no-rc-grain / qpmax=69 / qpmin=0 / no-const-vbv / sar=1 / overscan=0 / videoformat=5 / range=0 / colorprim=9 / transfer=16 / colormatrix=9 / chromaloc=1 / chromaloc-top=2 / chromaloc-bottom=2 / display-window=0 / master-display=G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,001) / cll=1033,311 / min-luma=0 / max-luma=1023 / log2-max-poc-lsb=8 / vui-timing-info / vui-hrd-info / slices=1 / no-opt-qp-pps / no-opt-ref-list-length-pps / no-multi-pass-opt-rps / scenecut-bias=0.05 / hist-threshold=0.03 / no-opt-cu-delta-qp / no-aq-motion / hdr10 / hdr10-opt / no-dhdr10-opt / no-idr-recovery-sei / analysis-reuse-level=0 / analysis-save-reuse-level=0 / analysis-load-reuse-level=0 / scale-factor=0 / refine-intra=0 / refine-inter=0 / refine-mv=1 / refine-ctu-distortion=0 / no-limit-sao / ctu-info=0 / no-lowpass-dct / refine-analysis-type=0 / copy-pic=1 / max-ausize-factor=1.0 / no-dynamic-refine / no-single-sei / no-hevc-aq / no-svt / no-field / qp-adaptation-range=1.00 / scenecut-aware-qp=0conformance-window-offsets / right=0 / bottom=0 / decoder-max-rate=0 / no-vbv-live-multi-pass
Language : English
Default : No
Forced : No
Color range : Limited
Color primaries : BT.2020
Transfer characteristics : PQ
Matrix coefficients : BT.2020 non-constant
Mastering display color primar : Display P3
Mastering display luminance : min: 0.0001 cd/m2, max: 1000 cd/m2
Maximum Content Light Level : 1033 cd/m2
Maximum Frame-Average Light Le : 311 cd/m2

Yes, and in searching my library actually have another movie like this too sadly.

dkangel
2nd February 2026, 21:38
hello
just a little correction to do, in your bat file

::choose DEE 8-1-3 DDP Atmos mode: streaming or bluray (default = bluray) streaming max bitrate = 1024 @ 5.1ch /// Bluray max bitrate = 1536 @ 7.1ch + ac3 core
set DDP_DEE_mode=streaming

streaming is by default

not a big deal but a friend drive nuts because he was losing 7.1 :)

en6ads
2nd February 2026, 21:54
Why do this for MEL instead of using handbrake?

Because Handbrake is a lossy transcoding tool that will encode video using encoders and settings specified by the user.

This script will losslessly inject a new RPU without touching the underlying video.

Kuler087
2nd February 2026, 21:57
Yes, I know, and it was fixed in the beta a while ago. Thanks anyway.

hello
just a little correction to do, in your bat file

::choose DEE 8-1-3 DDP Atmos mode: streaming or bluray (default = bluray) streaming max bitrate = 1024 @ 5.1ch /// Bluray max bitrate = 1536 @ 7.1ch + ac3 core
set DDP_DEE_mode=streaming

streaming is by default

not a big deal but a friend drive nuts because he was losing 7.1 :)

DMD
2nd February 2026, 22:22
Can anyone point me to instructions on how to convert a 8.6 video to 8.1? Or is this not possible? Tried searching this thread but didn't find anything promising.

8.6 giving me fits on Jellyfin via the LG app.
Did you accidentally use a base file such as HDR10+ to create the 8.6 profile?

rollmayonnaise
2nd February 2026, 23:53
When the colorist does trim pass(es), those adjustments get baked into the base layer as well when encoding to P7. In some cases, the colorist raise the 100-nit SDR trim above the HDR master’s mid-range, which can result in the FEL appearing darker in comparison.

Thanks, I understand much better the reason behind the darkening now.

On a related note, is there a way to produce a madVR plot for the BL+FEL? Because for Nosferatu, I am trying to understand what was the original grade and what the BL was tonemapped to. It is not clear to me from the disc BL madVR and DV L1 plots what is happening that would explain FEL brightness expansion.

Kuler087
3rd February 2026, 00:02
Thanks, I understand much better the reason behind the darkening now.

On a related note, is there a way to produce a madVR plot for the BL+FEL? Because for Nosferatu, I am trying to understand what was the original grade and what the BL was tonemapped to. It is not clear to me from the disc BL madVR and DV L1 plots what is happening that would explain FEL brightness expansion.

bake fel to prores in 8-2-3 and then measure it in 6-2

prudentavocado
3rd February 2026, 00:23
Did you accidentally use a base file such as HDR10+ to create the 8.6 profile?

Nope :(

MwenDavo
4th February 2026, 01:59
Hi! I'm trying to understand the profile 7 to 8.1 converting process (8-2-1 workflow) so to replicate it on Linux. For now, this is what I have:

1- Obtain MDL, MaxCLL and MaxFAL (What are they used for)
2- Demux MKV to obtain HEVC stream
3- Demux stream with dovi_tool to get BL and EL
4- Index BL and EL
5- Extract RPU P7 from EL
6- Convert RPU P7 to P8 with dovi_tool
7- From RPU P8 get MaxCLL and MAxFALL (What's the difference between these and the ones from the video stream?)
8- From RPU P8 get MinPQ and MaxPQ and map them based on their values
9- Load the AVS script with:
DGDecodeNV
DoviBaker
Libplacebo (Is this being used? No command from the script seems to be using it)
AVSresize
BL with its index
EL with its index
10- Run the script through X265 to bake FEL (Could this be done directly with FFMPEG? If so, could there be support for hardware encoding on other platforms than NVenc?)

If I got any part wrong, please correct me.

Kuler087
4th February 2026, 02:23
7- From RPU P8 get MaxCLL and MAxFALL (What's the difference between these and the ones from the video stream?)
8- From RPU P8 get MinPQ and MaxPQ and map them based on their values

The script uses those values from the RPU because the FEL can alter scene brightness, which makes the original HDR10 metadata inaccurate. I recommend measuring your encode using workflow 6-2 to generate more accurate HDR10 metadata, then updating the encode’s metadata with workflow 9-9.

Libplacebo (Is this being used? No command from the script seems to be using it)
Used only when you tone map to SDR

(Could this be done directly with FFMPEG? If so, could there be support for hardware encoding on other platforms than NVenc?)
The script can use ffms2, but it will default to dgdecode when an NVIDIA GPU is detected. (line 315 set force_ffms2=NO)
Yes, ffmpeg can be used to encode the avs file, but dovi_scripts supports only x265.exe and nvenc.exe, and I have no plans to add support for any other indexing, encoding, or decoding options.

MwenDavo
4th February 2026, 04:31
The script uses those values from the RPU because the FEL can alter scene brightness, which makes the original HDR10 metadata inaccurate. I recommend measuring your encode using workflow 6-2 to generate more accurate HDR10 metadata, then updating the encode’s metadata with workflow 9-9.


Do you need to convert the RPU from P7 to P8 to get MaxCLL and MaxFALL? Or could you get them from the P7 RPU?

Also, in the case of MEL, will these values be equal to the original HDR10 metadata? If so, could you just use those?


The script can use ffms2, but it will default to dgdecode when an NVIDIA GPU is detected. (line 315 set force_ffms2=NO)
Yes, ffmpeg can be used to encode the avs file, but dovi_scripts supports only x265.exe and nvenc.exe, and I have no plans to add support for any other indexing, encoding, or decoding options.


Is NVIDIA needed for DGdecode? If not, is there any performance or quality difference between that and FFMS2?

Kuler087
4th February 2026, 05:14
Do you need to convert the RPU from P7 to P8 to get MaxCLL and MaxFALL? Or could you get them from the P7 RPU?
no

Also, in the case of MEL, will these values be equal to the original HDR10 metadata? If so, could you just use those?
the script use the original HDR10 metadata for MEL

Is NVIDIA needed for DGdecode?
yes

is there any performance or quality difference between that and FFMS2
no

prudentavocado
5th February 2026, 01:29
Is it possible to strip the dolby vision out of a p7 file completely and just end up technically with an HDR remux?

Kuler087
5th February 2026, 01:45
workflow 2-2

MwenDavo
8th February 2026, 00:33
Is cropping something that must be done to certain DV files? or is it optional?

Kuler087
8th February 2026, 01:48
Are you talking about the RPU or the video cropping or both?
Check the last part of the first post to understand how L5 and the cropping/letterbox should be handled.

MwenDavo
9th February 2026, 00:53
Are you talking about the RPU or the video cropping or both?
Check the last part of the first post to understand how L5 and the cropping/letterbox should be handled.

I'm talking about the RPU cropping, from the JSON you pass into dovi_tool to convert the RPU from P7 to P8. The script gets those through mediainfo and then uses them on the AVS script. Is that something necessary for the conversion? or is done only if the user says yes to the cropping question?

Kuler087
9th February 2026, 01:20
theres nothing special about the rpu crop function in dovi_tool, it just resets L5 to 0, and as I mentioned, everything you need to know about cropping and L5 is written in the first post.

Kuler087
12th February 2026, 05:10
3.1.1 released

https://github.com/R3S3t9999/DoVi_Scripts/releases

DMD
12th February 2026, 12:18
3.1.1 released

https://github.com/R3S3t9999/DoVi_Scripts/releases

Thank you for your great dedication to this new release, as always.

coopzr
13th February 2026, 00:49
Can you please let me know how the upgrade to cmv4.0 works on your latest beta (https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view)?

I thought that you couldn't replace the L1 from cmv2.9 to cmv4.0. I don't have a clue how this works.

When should this be used? (Only when the content doesn't exceed display capabilities, or always?)

Are there any downsides or weird behaviour?

Kuler087
13th February 2026, 01:10
It doesn’t replace the metadata; it simply generates a CMV 4.0 block with level 9.
L2 will then be ignored at playback, but if the content stays within your target TV brightness, it won’t matter. In that case, you avoid CMV 2.9 black crush and the 4000-nits MDL overdimming issues.

So this is essentially a quick workaround to fix CMV 2.9 playback, rather than generating new metadata from scratch. As you know, CoreELEC will most likely get this feature soon, which is even bette, nothing to process manually before watching a movie.

Workflow 1, skip 2nd input and select ''u''

coopzr
13th February 2026, 02:47
So essentially, it changes the RPU version to 4.0. It keeps the same old levels and adds the L9 level.

So it's essentially the old levels in a newer container.

L2 is ignored by the player because L2 is always ignored in cmv4.0.

Is that right?

Kuler087
13th February 2026, 03:10
Yes

L2 will be ignored if the TV supports cmv4.0

coopzr
13th February 2026, 04:21
In a normal cmv4.0 metadata with no mid tone offset trim, do video players use L3?

If they use it: what happens if it is removed?

If they don't use it: what is the point of the automatic data?

These questions are assuming no mid tone offset trim and only the automatic data generated by the algorithm.

Kuler087
13th February 2026, 04:30
Of course, the player uses L3 and L1 together.

I did many L3 test files here:
https://drive.google.com/drive/folders/1RItcDAp3vWG-MkJMMnWeKx45bQirTbcs?usp=drive_link

and many real scene comparisons here:
https://drive.google.com/drive/folders/1g5I-z_sJmVu-SAIPNiiSlcdMiy2ka0mf

coopzr
13th February 2026, 05:19
So that would imply that upgrading to cmv4 (which does not generate L3) would be inferior to generating it, right?

Kuler087
13th February 2026, 12:54
yes but not for content that is under your display peak brightness

en6ads
13th February 2026, 20:39
Workflow 1, skip 2nd input and select ''u''

Hmm. I don't see "u" as an option listed in workflow 1 (version 3.1.1). Is there a newer beta than 3.1.1?

===============
- INPUT INFO -
===============
Parsing RPU file...

Summary:
Frames: 552
Profile: 7 (FEL)
DM version: 1 (CM v2.9)
Scene/shot count: 2
RPU mastering display: 0.0001/1000 nits
RPU content light level (L1): MaxCLL: 147.74 nits, MaxFALL: 10.05 nits
L6 metadata: Mastering display: 0.0001/1000 nits. MaxCLL: 546 nits, MaxFALL: 129 nits
L5 offsets: top=0, bottom=0, left=440, right=440
L2 trims: 100 nits, 600 nits, 1000 nits
Base Layer (HDR10+P7): min: 0.0001 cd/m2, max: 1000 cd/m2(Display P3), MaxCLL: 1000nits, MaxFALL: 129nits
Resolution\FPS: 3840 x 2160 @ 23.976
Input: "U:\movies\Sunset Boulevard (1950)\Sunset Boulevard (1950) - 2160p Paramount 2025 USA-DV P7 FEL CM2.9-1000nit MDL.mkv"
Output Path Free Space: 2321gb

--------------------------------------------------------------------------------------------------
*You can select more than one value but no space between values (except: e/m/p/s/7/v/r/t).
*EG: You can select 569fp4 or 569dp4 but not 569p4fd, 569p4fr, 569p4ms, emsv, etc...

CHOICES: (default=X - check another file)
Check_New_File=X L5=5 L6=6 L9=9 Resync=R or D SceneCut_Edit=F Source_PQ=Q
PLOT=P Extract=E Check_Sync=S Metafier=M Transfer_Levels=T P7_to_P8=7 Remover=V No.DV.TM=N
--------------------------------------------------------------------------------------------------

I tried "u" anyway can it generates this, still a CM2.9 FEL. What am I missing?:

===============
- INPUT INFO -
===============
Parsing RPU file...

Summary:
Frames: 552
Profile: 7 (FEL)
DM version: 1 (CM v2.9)
Scene/shot count: 2
RPU mastering display: 0.0001/1000 nits
RPU content light level (L1): MaxCLL: 147.74 nits, MaxFALL: 10.05 nits
L6 metadata: Mastering display: 0.0001/1000 nits. MaxCLL: 546 nits, MaxFALL: 129 nits
L5 offsets: top=0, bottom=0, left=440, right=440
L2 trims: 100 nits, 600 nits, 1000 nits
Base Layer (HDR10+P7): min: 0.0001 cd/m2, max: 1000 cd/m2(Display P3), MaxCLL: 1000nits, MaxFALL: 129nits
Resolution\FPS: 3840 x 2160 @ 23.976
Input: "C:\video\DoVi.Scripts-3.1.1\Sunset Boulevard (1950) - 2160p Paramount 2025 USA-DV P7 FEL CM2.9-1000nit MDL_DV.mkv"
Output Path Free Space: 2265gb

--------------------------------------------------------------------------------------------------
*You can select more than one value but no space between values (except: e/m/p/s/7/v/r/t).
*EG: You can select 569fp4 or 569dp4 but not 569p4fd, 569p4fr, 569p4ms, emsv, etc...

CHOICES: (default=X - check another file)
Check_New_File=X L5=5 L6=6 L9=9 Resync=R or D SceneCut_Edit=F Source_PQ=Q
PLOT=P Extract=E Check_Sync=S Metafier=M Transfer_Levels=T P7_to_P8=7 Remover=V No.DV.TM=N
--------------------------------------------------------------------------------------------------

Kuler087
13th February 2026, 20:46
This new option was added to the beta yesterday. It seems every time I release a new stable, I get a new idea the next day...

en6ads
13th February 2026, 20:55
This new option was added to the beta yesterday. It seems every time I release a new stable, I get a new idea the next day...

Awesome I'll try the new beta. Thank you!

dkangel
15th February 2026, 20:27
Il y a du plagiat dans l'air !!!

https://github.com/MaitreAnonyme/Maitre-Dolby/releases/tag/2.0

Kuler087
15th February 2026, 22:11
héhéhé

Enet47
17th February 2026, 18:56
I've done a thread search on heere and checked the Git but I still don't understand where DEE.exe(?) or the DEE folder is or how to install it. Is it part of the much larger Tools package? Also, does the new FEL functionality mean that I no longer need to convert to 8.1?

Kuler087
17th February 2026, 19:16
I've done a thread search on heere and checked the Git but I still don't understand where DEE.exe(?) or the DEE folder is or how to install it.

DEE (https://professional.dolby.com/product/media-processing-and-delivery/dee--dolby-encoding-engine/) is a paidware, and you just have to put the whole DEE folder into the dovi_scripts Tools folder.


Also, does the new FEL functionality mean that I no longer need to convert to 8.1?

Not really because:
DEE does hevc re-encoding (lossy) and the P7 to P8 doesnt re-encode (lossless).

The FEL encoding workflow can encode any DV video, but it is mostly intended for 12bit mezzanine file (prores or jpeg 2000).

Enet47
17th February 2026, 20:04
DEE (https://professional.dolby.com/product/media-processing-and-delivery/dee--dolby-encoding-engine/) is a paidware, and you just have to put the whole DEE folder into the dovi_scripts Tools folder.




Not really because:
DEE does hevc re-encoding (lossy) and the P7 to P8 doesnt re-encode (lossless).

The FEL encoding workflow can encode any DV video, but it is mostly intended for 12bit mezzanine file (prores or jpeg 2000).
Thanks :)

Kontrarian
18th February 2026, 15:04
I can't get 3-1 to work for some reason. I tried using the latest beta .bat, I've tried updating the tools, changing the DIR DoVi_Scripts to DoVi.Scripts, etc. It always gets stuck at this line:

Frame 588 complete. Last frame: 0.534 seconds. ETA: 33:47:46.130

But the completed frame will be different.

Here's the full code from my last attempt: https://pastebin.com/LJdD6Pwe

Kuler087
18th February 2026, 15:18
I had those issues before on my Windows 11 PC, and I have no idea how it corrected itself. It seems it is related to the gpu drivers version, Windows update, and cm_analyze...

ac777103
18th February 2026, 15:56
just checking my understanding of the new CMV4 upgrade option via workflow 1. Are there any negative effects vs the vanilla 2.9 playback, or only potential benefits? I guess this will work equally for both MEL and FEL? Trying to think if there is a reason not to do this for all my 2.9 files.

Kuler087
18th February 2026, 16:03
It depends on how much the trim pass actually matters in the grade.

1- On a display with a target of 1000 nits or higher, trim passes are ignored when the RPU MDL is 1000 nits. (G3 G4 G5 G6 / C5 C6 etc...)

2- The content is graded (https://drive.google.com/drive/u/1/folders/154fBNllwOHL4Lckc7wDV8QKFJwFxnDt-)within your TV’s capabilities, so the trims won’t matter, even though some colorists stupidly make the trims brighter than the master, likely because they don’t properly monitor the 100-nit extrapolation to higher-brightness targets.

ac777103
18th February 2026, 16:22
workflow 1 now failing on FEL input, both 3.1.1 stable and latest beta, error "no module named cv2". It crashes on checking expanded brightness. I just updated tools folder but didn't fix it.

Kuler087
18th February 2026, 16:29
pip install opencv-python colour-science scikit-image matplotlib numpy colour opencv-python-headless PyQt5

ac777103
18th February 2026, 16:56
thanks for quick reply, working now.

Kontrarian
19th February 2026, 02:41
I had those issues before on my Windows 11 PC, and I have no idea how it corrected itself. It seems it is related to the gpu drivers version, Windows update, and cm_analyze...

Hmmm... well that sucks. I'm on a Windows 10 laptop with the latest NVIDIA driver for my GTX1060.
I hope it magically fixes itself sometime soon because right now I can only inject existing RPUs.
Maybe it's time for a new laptop... :)

Kuler087
19th February 2026, 04:03
You can use Resolve... It's much faster anyway (but less automated).

coopzr
19th February 2026, 08:49
I can't get 3-1 to work for some reason. I tried using the latest beta .bat, I've tried updating the tools, changing the DIR DoVi_Scripts to DoVi.Scripts, etc. It always gets stuck at this line:

Frame 588 complete. Last frame: 0.534 seconds. ETA: 33:47:46.130

But the completed frame will be different.

Here's the full code from my last attempt: https://pastebin.com/LJdD6Pwe

update cm_analyze. Fixed in v5.6.1
Fixed hanging bug when using newer CUDA cards.

P.s. RESET, maybe you can post a note in your GitHub release saying to update cm_analyze? I think this is the 3rd or 4th user to report this issue (myself included)

dkangel
19th February 2026, 20:49
hello
i've just try 3.1.1 version with a P7 FEL file and i get this message

Traceback (most recent call last):
File "X:\Utils\DoVi_Scripts\tools\Measure_HDR.py", line 1, in <module>
import cv2
ModuleNotFoundError: No module named 'cv2'

any idea ?

thanks

Kuler087
19th February 2026, 20:51
https://forum.doom9.org/showthread.php?p=2028286#post2028286

dkangel
19th February 2026, 20:57
oh shit, the answer was on the same page, sorry for that and thank you

Kontrarian
20th February 2026, 14:53
update cm_analyze. Fixed in v5.6.1


P.s. RESET, maybe you can post a note in your GitHub release saying to update cm_analyze? I think this is the 3rd or 4th user to report this issue (myself included)

Got the latest cm_analyze from Dolby and that fixed it.
Thank you for pointing me in the right direction!

TR-9970X
20th February 2026, 14:57
V5.6.2 beta is the latest available from Dolby.

DMD
20th February 2026, 15:23
V5.6.2 beta is the latest available from Dolby.
it is the beta version

Kontrarian
22nd February 2026, 15:09
it is the beta version

I got the BETA. Do you think that's an issue? It's been working fine for me.


What's new in v5.6.2 Beta

Changes in this version
Fixed a retiming bug where 2.0.5 XMLs (CM 2.9) failed due to missing CM 4 metadata.

Added missing parameter for the ./metafier -h and ./metafier --help-advanced outputs in the user guide.

DMD
22nd February 2026, 15:36
I got the BETA. Do you think that's an issue? It's been working fine for me.
I don't know, I always wait for stable versions.

Kontrarian
23rd February 2026, 20:17
When using 3-1, what logic should we be using when choosing tuning?


Which Tuning do you want to use? (default=3) (0= darkest / 5= brightest)

--> 0 = Old legacy mode (not recommended)
--> 1= Most Highlight Detail/Most Mapping
--> 2= More Highlight Detail/More Mapping
--> 3= Balanced (default)
--> 4= Less Highlight Detail/Less Mapping
--> 5= Least Highlight Detail/Least Mapping

Kuler087
23rd February 2026, 21:05
The best/safest tuning is:
1= Most Highlight Detail/Most Mapping

The other options are brighter but may have clipping if the content is brighter than your TV

example https://slow.pics/c/jzYzSr3g

Kontrarian
23rd February 2026, 22:48
Gothca!
So I'm going through my MCU titles right now and most of them are 400~600 nits so T3 (default) is completely safe too for these titles right?

Kuler087
23rd February 2026, 23:07
yes, if the content is within your TV capabilities, the tunning doesnt matter.

en6ads
24th February 2026, 17:32
The best/safest tuning is:
1= Most Highlight Detail/Most Mapping

The other options are brighter but may have clipping if the content is brighter than your TV

example https://slow.pics/c/jzYzSr3g

Suggest update the the tuning menu with this info, something like:

--> 0 = Old legacy mode (not recommended)
--> 1= Most Highlight Detail/Most Mapping (Best option, recommended for most)
--> 2= More Highlight Detail/More Mapping
--> 3= Balanced (default, but can clip if the content is brighter than your TV)

Kuler087
24th February 2026, 17:54
good suggestion

Kontrarian
25th February 2026, 01:52
So in what situation would one reasonably choose anything other than T1 then?

Kuler087
25th February 2026, 02:27
So in what situation would one reasonably choose anything other than T1 then?

Someone who wants DV to be brighter.

Kontrarian
25th February 2026, 02:30
Meh, I only watch movies at night with all the lights out so I don't need anything brighter, so I'll just use T1 moving forward.
Some of these movies switch from dark scenes to bright scenes pretty quick and I feel like my retinas are burning already!

Kuler087
25th February 2026, 02:40
“DV to be brighter” was not the right way to phrase it. What I should have said is “someone who wants the tone mapping to be less aggressive (less dim).”

The tunings only control tone-mapping aggressiveness. They do not make DV brighter overall; they simply reduce how much the image is dimmed when tone mapping is required.

Kontrarian
25th February 2026, 02:58
That makes more sense; thank you for clarifying that.
I really appreciate all your hard work and input!

Gatorman3385
28th February 2026, 05:03
Running 6-8 (Waveform) on a THD Atmos to DDP+JOC file I only get 6 channels, no objects plotted. Objects are visible when viewed with Cavern. If I run the same workflow on a DDP+JOC from an official DDP+JOC I get 6 channels plus objects plotted. Is this normal.

Kuler087
28th February 2026, 06:46
Do you have truehdd.exe in your tools folder?
And the mkv first audio track must be Atmos, IIRC.

Gatorman3385
28th February 2026, 08:03
...the mkv first audio track must be Atmos, IIRC.

This is the fix. Thanks.

Kontrarian
1st March 2026, 02:33
Twice in a row 3-1 has given me a bad file on Thor: Ragnarok.
Made remux with MakeMKV v1.18.3 as usual with no errors.
Ran it through 3-1 and the script says it's complete but then I'm left with a 23GB file that doesn't play.

What the script gives me afterwards:

General
Unique ID : 197453132136988307197577590176830436075 (0x948C1708E6A3E7002B5131FE098FB2EB)
Complete name : D:\DoVi.Scripts\TR_DV.mkv
Format : Matroska
Format version : Version 1
File size : 23.3 GiB
Overall bit rate mode : Variable
Frame rate : 23.976 FPS
Title : Thor: Ragnarok
Writing application : mkvmerge 91.0 ('Signs') 64-bit
Writing library : libebml v1.4.5 + libmatroska v1.7.1
SegmentSizeIsZero : Yes
Conformance errors : 1
Matroska : Yes
General compliance : File size is less than expected size (actual 25040001883, expected >=72057594037927987, offset 0x34)

Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5.1@High
HDR format : Dolby Vision, Version 1.0, Profile 8.1, dvhe.08.06, BL+RPU, no metadata compression, HDR10 compatible / SMPTE ST 2086, Version HDR10, HDR10 compatible
Codec ID : V_MPEGH/ISO/HEVC
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0 (Type 2)
Bit depth : 10 bits
Writing library : ATEME Titan File 3.8.13 (4.8.13.0)
Default : Yes
Forced : No
Color range : Limited
Color primaries : BT.2020
Transfer characteristics : PQ
Matrix coefficients : BT.2020 non-constant
Mastering display color primaries : Display P3
Mastering display luminance : min: 0.0000 cd/m2, max: 1000 cd/m2

Audio #1
ID : 2
Format : MLP FBA 16-ch
Format/Info : Meridian Lossless Packing FBA with 16-channel presentation
Commercial name : Dolby TrueHD with Dolby Atmos
Codec ID : A_TRUEHD
Bit rate mode : Variable
Maximum bit rate : 5 889 kb/s
Channel(s) : 8 channels
Channel layout : L R C LFE Ls Rs Lb Rb
Sampling rate : 48.0 kHz
Frame rate : 1 200.000 FPS (40 SPF)
Bit depth : 24 bits
Compression mode : Lossless
Title : Dolby TrueHD 7.1 Atmos
Language : English
Default : Yes
Forced : No
Number of dynamic objects : 13
Bed channel count : 1 channel
Bed channel configuration : LFE

Audio #2
ID : 3
Format : AC-3
Format/Info : Audio Coding 3
Commercial name : Dolby Digital
Codec ID : A_AC3
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
Title : Dolby Digital 5.1
Language : English
Service kind : Complete Main
Default : No
Forced : No
Dialog Normalization : -27 dB
compr : -0.56 dB
dynrng : -0.42 dB
Center mix level (cmixlev) : -3.0 dB
Surround mix level (surmixlev) : -6 dB
dmixmod : Lo/Ro
ltrtcmixlev : -3.0 dB
ltrtsurmixlev : -4.5 dB
lorocmixlev : -3.0 dB
lorosurmixlev : -4.5 dB
Dialogue normalization, average : -27 dB
Dialogue normalization, minimum : -27 dB
Dialogue normalization, maximum : -27 dB

Text
ID : 4
Format : PGS
Muxing mode : zlib
Codec ID : S_HDMV/PGS
Codec ID/Info : Picture based subtitle format used on BDs/HD-DVDs
Title : English SDH PGS
Language : English
Default : Yes
Forced : No




The script does have this error in it:
Error: Could not write to the destination file: 112 (T)

I have 290GB of free space.

Full output from the script: https://pastebin.com/c10ZeR68

Temp folder is deleted by the script.
All I have besides the bad TR_DV.mkv is:

TR.mkv.measurements 108.9MB
TR_Generated_T3.bin 40.6MB
TR_Generated_T3.xml 4.3MB


If you want to look at the measurements, bin, or xml file they are hosted here: https://limewire.com/d/NixD3#i8gvNqbE6B

Kuler087
1st March 2026, 03:09
Your output/temp does not have enough free space...

The ProRes intermediate alone can be larger than 290gb

Kontrarian
1st March 2026, 07:15
So the prores took up all my free space but 23GB and then it runs out of space making the final MKV?
I thought the script made the prores, then generated the DV, then deleted the prores, then applied the DV to the original file.

So if the xml and bin I am left with are fine then and I can just inject that into the the original I would think.
So I did that and it gave me a presumably okay file but I saw a lot of warnings.


Copyright (c) 2013-2026 Dolby Laboratories, Inc. All Rights Reserved
02/28/2026/18:55:12.666000000 plugin_manager: [33;1mWARNING[0m [Kplugin does not contain dlb_plugin_file_io_init_v1
02/28/2026/18:55:12.698000000 plugin_manager: [33;1mWARNING[0m [Kplugin does not contain dlb_plugin_file_io_init_v1
02/28/2026/18:55:12.713000000 plugin_manager: [33;1mWARNING[0m [Kplugin does not contain dlb_plugin_file_io_init_v1
02/28/2026/18:55:12.713000000 plugin_manager: [33;1mWARNING[0m [Kplugin does not contain dlb_plugin_file_io_init_v1
02/28/2026/18:55:12.713000000 plugin_manager: [33;1mWARNING[0m [Kplugin does not contain dlb_plugin_file_io_init_v1
02/28/2026/18:55:12.713000000 plugin_manager: [33;1mWARNING[0m [Kplugin does not contain dlb_plugin_file_io_init_v1
02/28/2026/18:55:12.729000000 plugin_manager: [33;1mWARNING[0m [Kplugin does not contain dlb_plugin_file_io_init_v1
02/28/2026/18:55:12.745000000 plugin_manager: [33;1mWARNING[0m [Kplugin does not contain dlb_plugin_file_io_init_v1
02/28/2026/18:55:13.844000000 Metadata: [32;1mINFO[0m [KValidation Summary:


Is that anything of concern or just ignore it?

Here's the full script run: https://pastebin.com/vZTmkuvU

Let me know what you think.

Kuler087
1st March 2026, 13:59
the temp folder is deleted only when the script has finished and you should never use the last 10% of a hdd/ssd

your xml is probably ok and those warnings show up just in the old cm_analyze.

dkangel
2nd March 2026, 21:01
“DV to be brighter” was not the right way to phrase it. What I should have said is “someone who wants the tone mapping to be less aggressive (less dim).”

The tunings only control tone-mapping aggressiveness. They do not make DV brighter overall; they simply reduce how much the image is dimmed when tone mapping is required.

So with a TCL 85C9K 4500-5000 nits, balanced is the best choice ?

Kuler087
2nd March 2026, 21:19
No, it doesn’t matter how bright your TV is. The tuning only comes into play when the content exceeds your TV’s peak brightness capability.

On a 5,000-nit TV, most content can be displayed without any tone mapping, so the tuning rarely makes a difference in practice.

dkangel
2nd March 2026, 21:22
clear to me, thank you :)

Kontrarian
2nd March 2026, 22:49
the temp folder is deleted only when the script has finished and you should never use the last 10% of a hdd/ssd

your xml is probably ok and those warnings show up just in the old cm_analyze.

Yeah, I cleared up some more space and did it again from scratch then compared the XMLs in Beyond Compare and they were identical (besides the UniqueIDs).

Rootdown4594
6th March 2026, 17:14
For baking FEL (8-2-1) and disregarding file size.

What would have to be changed in lines 149-172 to achieve a lossless x265 file for both X265 and NVENC encoders?

Kuler087
6th March 2026, 17:40
x265: the script default settings(crf-15 + slow) are already pretty much lossless, but if you want better, use the ''slower'' preset + a lower CRF value.
Nvenc: AFAIK, this will never be lossless, no matter what setting you use.

Rootdown4594
6th March 2026, 18:07
What about using a CRF of 0 and a much faster preset?

again, disregarding file size. I'm looking for speed more than anything.

Kuler087
6th March 2026, 18:15
i dont know about a much faster preset but yeah, CRF-0 + slow preset should be lossless

Xillix
9th March 2026, 05:03
Ran into an unusual error message for the first time yesterday! As I do often I was using the madVR HDR brightness measurement function, in this case on a rip of Dungeons & Dragons: Honor Among Thieves. I'd already plotted the Dolby Vision metadata without issue, but trying to measure brightness resulted in the following output:

For some reason, measurement didn't produce a "complete" file.
Reading generate config file...
Parsing madVR measurment file...
Error: The system cannot find the file specified. (os error 2)
Parsing RPU file...
Error: The system cannot find the file specified. (os error 2)

Then that error repeated several times and the process ultimately failed, leaving only a file in the source directory of the video file with a .incomplete extension. Retried it a few times with identical results.

Any ideas on troubleshooting?

Kuler087
9th March 2026, 11:59
Yes sometimes madvr fails to measure a video.

you can try converting to ProRes as a workaround.

Kuler087
9th March 2026, 22:31
I wonder if Dolby finally fixed the slow ProRes processing.

In the latest DV professional tools release notes:
''Corrects a latency issue when reading long QuickTime MOV files.''

Xillix
11th March 2026, 05:58
Yes sometimes madvr fails to measure a video.

you can try converting to ProRes as a workaround.

Thanks for the suggestion. I actually got an error that halted the attempted ProRes conversion too, about clip length not matching the RPU.

I did eventually get things to work, so in the unlikely event anyone encounters my specific issue - when I ripped the disc via MakeMKV, there were two playlists that appeared essentially the same, but one had chapter markers included and the other did not. I originally ripped the version with chapter markers, which is the one that gave me all the errors. I re-did the rip and selected the playlist without chapter markers, and for whatever reason the madVR brightness measurement worked on that file immediately.

Gatorman3385
11th March 2026, 06:09
I wonder if Dolby finally fixed the slow ProRes processing.

Sure looks like it. (1:47:00 long movie)

Workflow 3-1

Ryzen 9 9900X, RTX 3070 8GB, 64GB DDR5 6000 CL30

https://imgur.com/VVv8cDZ.png

Kuler087
11th March 2026, 07:58
yep, looks faster on mine too. :D

ac777103
13th March 2026, 01:16
running 3.12 BETA, have an issue with Lawrence of Arabia I've not encountered before. I joined parts 1 and 2 together with mkvtoolnix, my base HDR10 mkv seems fine. Ran 6-2 without issue, unsurprisingly not a particularly bright film, but I thought I'd run 3-1 anyway. I noticed that the initial call to ffmpeg showed some warnings: an invalid block message and could not find codec parameters for stream 2 (subtitle hdmv_pgs....) unspecified size. Then, the pro-res creation step ran at warp speed, and then I got an endless stream of messages featuring constant repeats of "skipping NAL unit 63". I quit and it looks like no proper prores file was created. Any ideas?

Kuler087
13th March 2026, 01:50
Sounds like a corrupted source. You could try converting it to prores without ffms2 but I doubt it will work.
line 317 set disable_indexing=YES
Workflow 8-2-3

ac777103
13th March 2026, 15:40
Something odd here. Discs 1 and 2 of Lawrence of Arabia are DV. MediaInfo, Kodi and my TV all report DV when played from mkv. But if I open disc 2 with DoviScripts, it says it's HDR10, even though other tools identify it as DV. I must have seen that and assumed there was no DV at all. DS reports MEL for disc 1.

Kuler087
13th March 2026, 15:49
not much I can do without a sample... I dont have this movie, I hate old movies.

en6ads
18th March 2026, 02:51
not much I can do without a sample... I dont have this movie, I hate old movies.

I have this one, and had no problems using mkvtoolnix to combine the 2 disks, then use your scripts to convert from MEL to 8.1 CM2.9.

I'm not sure what the problem could have been.

They could try to do whatever scripting they need on each disk part separately first, then lastly combine the outputs with mkvtoolnix into a single file.

ac777103
18th March 2026, 18:59
I too was able to join the parts and convert to P8, the odd thing being that part 2 on its own was identified by DS as HDR10 while other tools reported P7. If you still have your part 2 file could you try that? I'm done with it as I've now got a seamless file for the whole film without either of the 4min overtures at the startof each disc (not my cup of tea).

Kuler087
18th March 2026, 19:18
The script uses mediainfo to determine if DV is present. If no flag is present in the rip, then the script assumes HDR10.

Kontrarian
19th March 2026, 05:25
yep, looks faster on mine too. :d

awesome!

Kontrarian
19th March 2026, 05:44
I too was able to join the parts and convert to P8, the odd thing being that part 2 on its own was identified by DS as HDR10 while other tools reported P7. If you still have your part 2 file could you try that? I'm done with it as I've now got a seamless file for the whole film without either of the 4min overtures at the startof each disc (not my cup of tea).

You don't need to merge the two discs. I just ripped both discs to their own files and put put ".disc1.mkv" and ".disc2.mkv" at the end of each file name. Kodi will then treat them as one in your library. Disc 1 fades out to an "INTERMISSION" title on screen, and yes, disc 2 has 4 minutes of black screen at the beginning but nothing a few clicks on the right direction of the remote doesn't fix.

Media info for my disc 2 if it helps you at all:


General
Unique ID : 265577840394736673999258513544773520735 (0xC7CC6E7949747FC830E6439B6FB64D5F)
Complete name : N:\Movies\Lawrence of Arabia (1962) 60th Anniversary Limited Edition [UHD.DV.Atmos.Remux].disc2.mkv
Format : Matroska
Format version : Version 2
File size : 37.7 GiB
Duration : 1 h 27 min
Overall bit rate mode : Variable
Overall bit rate : 61.5 Mb/s
Frame rate : 23.976 FPS
Title : Lawrence of Arabia
Encoded date : 2022-06-18 22:01:26 UTC
Writing application : MakeMKV 1.16.7 win(x64-release)
Writing library : libmakemkv 1.16.7 (1.3.10/1.5.2) win(x64-release)

Video
ID : 1
ID in the original source medium : 4113 (0x1011)
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5.1@High
HDR format : Dolby Vision, Version 1.0, Profile 7.6, dvhe.07.06, BL+EL+RPU, no metadata compression, Blu-ray compatible / SMPTE ST 2086, Version HDR10, HDR10 compatible
Codec ID : V_MPEGH/ISO/HEVC
Duration : 1 h 27 min
Bit rate : 58.1 Mb/s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0 (Type 2)
Bit depth : 10 bits
Bits/(Pixel*Frame) : 0.292
Stream size : 35.5 GiB (94%)
Title : Lawrence of Arabia
Language : English
Default : Yes
Forced : No
Color range : Limited
Color primaries : BT.2020
Transfer characteristics : PQ
Matrix coefficients : BT.2020 non-constant
Mastering display color primaries : Display P3
Mastering display luminance : min: 0.0001 cd/m2, max: 1000 cd/m2
Maximum Content Light Level : 774 cd/m2
Maximum Frame-Average Light Level : 263 cd/m2
Original source medium : Blu-ray

Audio #1
ID : 2
ID in the original source medium : 4352 (0x1100)
Format : MLP FBA 16-ch
Format/Info : Meridian Lossless Packing FBA with 16-channel presentation
Commercial name : Dolby TrueHD with Dolby Atmos
Codec ID : A_TRUEHD
Duration : 1 h 27 min
Bit rate mode : Variable
Bit rate : 2 736 kb/s
Maximum bit rate : 4 374 kb/s
Channel(s) : 8 channels
Channel layout : L R C LFE Ls Rs Lb Rb
Sampling rate : 48.0 kHz
Frame rate : 1 200.000 FPS (40 SPF)
Bit depth : 24 bits
Compression mode : Lossless
Stream size : 1.67 GiB (4%)
Title : Dolby TrueHD 7.1 Atmos
Language : English
Default : Yes
Forced : No
Original source medium : Blu-ray
Number of dynamic objects : 11
Bed channel count : 1 channel
Bed channel configuration : LFE

Audio #2
ID : 3
ID in the original source medium : 4352 (0x1100)
Format : AC-3
Format/Info : Audio Coding 3
Commercial name : Dolby Digital
Codec ID : A_AC3
Duration : 1 h 27 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 : 401 MiB (1%)
Title : Dolby Digital 5.1
Language : English
Service kind : Complete Main
Default : No
Forced : No
Original source medium : Blu-ray
Dialog Normalization : -31 dB
compr : -0.28 dB
Center mix level (cmixlev) : -3.0 dB
Surround mix level (surmixlev) : -3 dB
Dialogue normalization, average : -31 dB
Dialogue normalization, minimum : -31 dB
Dialogue normalization, maximum : -31 dB

Text #1
ID : 4
ID in the original source medium : 4769 (0x12A1)
Format : PGS
Codec ID : S_HDMV/PGS
Codec ID/Info : Picture based subtitle format used on BDs/HD-DVDs
Duration : 1 h 18 min
Bit rate : 25.1 kb/s
Frame rate : 0.336 FPS
Count of elements : 1592
Stream size : 14.2 MiB (0%)
Title : English PGS
Language : English
Default : Yes
Forced : No
Original source medium : Blu-ray

Text #2
ID : 5
ID in the original source medium : 4768 (0x12A0)
Format : PGS
Codec ID : S_HDMV/PGS
Codec ID/Info : Picture based subtitle format used on BDs/HD-DVDs
Duration : 1 h 19 min
Bit rate : 27.7 kb/s
Frame rate : 0.370 FPS
Count of elements : 1762
Stream size : 15.7 MiB (0%)
Title : English SDH PGS
Language : English
Default : No
Forced : No
Original source medium : Blu-ray

Menu
00:00:00.000 : en:Chapter 01
00:10:42.224 : en:Chapter 02
00:18:11.048 : en:Chapter 03
00:24:12.993 : en:Chapter 04
00:31:48.489 : en:Chapter 05
00:39:34.663 : en:Chapter 06
00:46:02.509 : en:Chapter 07
00:54:55.000 : en:Chapter 08
00:58:46.648 : en:Chapter 09
01:08:13.672 : en:Chapter 10
01:18:21.029 : en:Chapter 11
01:23:04.354 : en:Chapter 12

en6ads
20th March 2026, 02:43
You don't need to merge the two discs.

That's true. You don't need to.

It's personal preference. I prefer 1 file per movie. And if it's MEL (like it is for LoA), I also convert to P8.1 so it's easily playable on iPads, etc.

dkangel
21st March 2026, 19:31
yep, looks faster on mine too. :D

I confirm, much way faster now but i'm ok with resolve method so....

Just a question, when the script ask for Mastering Display Luminance/primaries, we have to calcul it with workflow 6-2 like with resolve method ?

Kuler087
21st March 2026, 20:32
I confirm, much way faster now but i'm ok with resolve method so....


Yes, CM_analyze and cm_offline are finally usable: much faster and far more stable.
Personally, I’ll only use Resolve when my source doesn’t have original scene cuts(Resolve has better SC detection than madvr 3-1); otherwise, I’ll stick with CM for everything OSC since it’s fully automated and supports batch processing.

I’ve also stopped using Resolve for my HDR/DV→SDR 100-nit trim pass encodes. The latest dovi_scripts can now handle encoding the trim pass directly to x265 or x264.
I also added FEL support in 3-1 (NVIDIA only for now), but I haven’t had time to test these two new features yet.

:: Select if you want workflow 8-2-4 to encode SDR to hevc or avc (default = NO)
set encodeSDR_824=NO
:: Bake FEL and upgrade a P7 rpu with new metadata in workflow 3-1 (default = NO)
set Bake_FEL_31=NO


Just a question, when the script ask for Mastering Display Luminance/primaries, we have to calcul it with workflow 6-2 like with resolve method ?

In CMv4.0, the MDL doesn’t matter at all, so any selection will work but I still choose the MDL based on 6-2 measurements.

dkangel
21st March 2026, 21:18
Thanks for all your explanations

MwenDavo
24th March 2026, 23:57
Hi! Just wanted to confirm something about the script for the P7 -> P8 baking:
If the movie uses BT.2020, it uses the following Master Display Primaries: G(8500,39850)B(6550,2300)R(35400,14600)WP(15635,16450)
If the movie is not BT.2020, it uses these ones instead: G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)
Then, if its MEL, it adds the luminance based on the HDR10 MaxCLL and MaxFALL.
Otherwise it's FEL, in which case it gets the MaxCLL and MaxFALL from the RPU.
Am I right?

Kuler087
25th March 2026, 00:34
correct

MwenDavo
25th March 2026, 00:45
correct

Awesome. I managed to port the baking workflow to Linux then, since that was the only remaining doubt I had. Had to replace a bunch of things due to compatibility, such as:

FFMS and DGIndex with BestSource
NVEncC with QSVEnc since I have an ARC A310
Avisynth+ with Vapoursynth since it was better supported on Linux
DoviBaker with FelBaker, as it had a native Linux version


All in all, I'm pretty happy with the result. I even changed from VBR 50000 to ICQ 15 (Intel's own CQP) which I don't notice any difference at all, but it's about 75% of the VBR size. I still have to compare VMAF between them, but I'm satisfied nonetheless.

I'm still debating if I'll implement the cropping step. It seems like a nice feature to have, but I have some doubts about compatibility with various devices. I'll look into it a bit more before deciding.

Big thanks for your work, as it taught me a lot about media and pushed me into making this!

Kuler087
25th March 2026, 21:21
Nice new addition to workflow 3-1 to test. The script can now control Davinci Resolve (with scene cut detection or EDL).

latest BETA: https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=drive_link
and put this file in your tool folder: https://drive.google.com/file/d/1l5sY4yvFvdhq8O1VZ4G73dk_EVGGAlHD/view?usp=drive_link

Full FEL processing is also supported; for example, I just did a FEL movie in less than 1H40. So unless we have to do MSC or variable L5, the whole process is now fully automated.

The default tuning is 3, and to use another one, you must create a preset in Resolve and put the same name into line 290 (use something short, such as ''1''):

::===================================== DV Generator (3-1) SETTINGS====================================================================================
:: Select if you want to use cm_analyze(free) or Davinci Resolve(payware) in 3-1, CM or RESOLVE (default = CM)
set Mode_31=RESOLVE
:: Select a Resolve preset. (default = none)
set Resolve_Preset=1
::workaround for movies that wont work in madvr scene cut generation in 3-1 (default= NO)
set madvr_workaround=NO
:: choose the prores encoding quality/size in 3-1 (default = 4) higher values means faster encoding(depending on your cpu) and smaller filesize.
set qscale=4
:: force cpu for the CM_analyze (3-1) YES or NO (default=NO)
set CM_CPU=NO
:: choose if you want to force frame by frame analysis in 3-1 (default = NO)
set force.FBF=NO
:: Bake FEL and upgrade a P7 rpu with new metadata in workflow 3-1 (default = NO)
set Bake_FEL_31=YES

Try with a short file first to see if it works. If it doesnt work, you will have to install the latest python(to path) and if you do, dont forget to run the Python libraries installation.
pip install opencv-python colour-science scikit-image matplotlib numpy colour opencv-python-headless PyQt5 OpenImageIO plotly
https://www.python.org/ftp/python/3.14.3/python-3.14.3-amd64.exe

Batch mode is also supported if you create a config bat with the same name/path as the videos:

:: Configure the active area (Level 5) and Mastering display for (3-1) batch CM analysis.Each file need a config.

:: MDL choices are: 1000nits-P3= 20(default) / 1000nits-BT2020= 21 / 4000nits-P3= 7 / 4000nits-BT2020= 8 / 2000nits-P3= 30 / 2000nits-BT2020= 31


set MDL=7

set left=0

set right=0

set top=277

set bottom=277


https://i.ibb.co/7JG0HqJT/doviscripts-resolve.png

Kuler087
25th March 2026, 21:27
Special Thanks to @Gatorman3385

TR-9970X
26th March 2026, 08:16
This app of yours is getting quite complex.

So stupid question, obviously Resolve has to be installed somewhere (default location), does it matter what version it is ?

Blackmagic Design DaVinci Resolve Studio 20.3.2, is getting big too, 7.5Gb !!!

Cheers

Kontrarian
26th March 2026, 08:37
The script can control the Davinci Resolve API!
So what are we gaining with this, faster and better scene cut detection?

Kuler087
26th March 2026, 11:51
This app of yours is getting quite complex.

So stupid question, obviously Resolve has to be installed somewhere (default location), does it matter what version it is ?

Blackmagic Design DaVinci Resolve Studio 20.3.2, is getting big too, 7.5Gb !!!

Cheers

Yes, install it to the default location or edit the script path to wherever you want to install it:

line 464:

:: Full path to the DaVinci Resolve executable EG: C:\Program Files\Blackmagic Design\DaVinci Resolve\Resolve.exe
set resolve_exe=C:\Program Files\Blackmagic Design\DaVinci Resolve\Resolve.exe
::Change to a full path if python is not on PATH, e.g.: C:\Python312\python.exe
set python=python

Kuler087
26th March 2026, 11:53
The script can control the Davinci Resolve API!
So what are we gaining with this, faster and better scene cut detection?

right, much faster and better scene cuts.

TR-9970X
26th March 2026, 12:08
Thanks for the info :)

SamuriHL
26th March 2026, 13:33
Omg that’s awesome! Once I get my new laptop setup I’ll be checking that out asap! Thanks for this!

Kontrarian
26th March 2026, 14:10
It didn't work for me.

I have Resolve installed in the exact same path as line 464 wants (which was it's default location).
I put write_resolve_dv_generate.py in DoVi_Script\tools.
What am I missing?

Gatorman3385
26th March 2026, 14:14
Latest Python in PATH?

Kuler087
26th March 2026, 14:15
as I said here (https://forum.doom9.org/showthread.php?p=2029575#post2029575), if it doesnt work, install the latest python.


Try with a short file first to see if it works. If it doesnt work, you will have to install the latest python(to path) and if you do, dont forget to run the Python libraries installation.
pip install opencv-python colour-science scikit-image matplotlib numpy colour opencv-python-headless PyQt5 OpenImageIO plotly
https://www.python.org/ftp/python/3.14.3/python-3.14.3-amd64.exe

Kontrarian
27th March 2026, 02:33
Yeah, I did everything with Python.
Installed latest to PATH, ran PIP command, etc.
So I'm not sure what step I'm missing.

https://pastebin.com/cP95zbFj


# write_resolve_dv_generate.py
# Place in the tools folder alongside DoVi_Scripts_MKV.bat.
# Called by Workflow.H_Resolve to write the Resolve DV CMv4.0 generation API script.


"alongside DoVi_Scripts_MKV.bat"?

My .bat files are in the root DoVi-Scripts folder, not the "tool" folder?

Kuler087
27th March 2026, 02:45
3-1 default is CM_analyze because it's a free tool.
You have to enable it to use resolve.

:: Select if you want to use cm_analyze(free) or Davinci Resolve(payware) in 3-1, CM or RESOLVE (default = CM)
set Mode_31=RESOLVE


FEL baking is also disabled by default:
:: Bake FEL and upgrade a P7 rpu with new metadata in workflow 3-1 (default = NO)
set Bake_FEL_31=YES

Kontrarian
27th March 2026, 02:51
Got it.
I was thinking the script was going to ask me at some point if I wanted to CM or Resolve.
"set Resolve_Preset=1" would use "1= Most Highlight Detail/Most Mapping (Safest, no clipping)"?

Kuler087
27th March 2026, 02:54
The resolve preset is no longer required if you download the latest script (https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=drive_link) and py file (https://drive.google.com/file/d/1l5sY4yvFvdhq8O1VZ4G73dk_EVGGAlHD/view?usp=drive_link). The script will ask for a tuning.

Kontrarian
27th March 2026, 03:00
Writing Resolve DV Generate script...

Resolve DV Generate script written to: D:\DoVi_Scripts\temp.folder77\resolve_dv_generate.py

Running Resolve API...

Project: Untitled Project
MDP: P3 D65 @ 4000 nits
Canvas: 3840x1606 Mode: resolve_detect
WARNING: Project preset '1' not found - continuing.
Setting DV project settings...
colorScienceMode = davinciYRGB -> True
separateColorSpaceAndGamma = 0 -> True
colorSpaceTimeline = Rec.2100 ST2084 -> True
colorSpaceOutput = Same as Timeline -> True
hdrDolbyControlsOn = 1 -> True
hdrDolbyVersion = 4.0 -> True
hdrMasteringOn = 1 -> True
hdrMasteringLuminanceMax = 4000 -> True
hdrDolbyMasterDisplay = 4000-nit, P3, D65, ST.2084, Full -> True
timelineResolutionWidth = 3840 -> True
timelineResolutionHeight = 1606 -> True
timelineOutputResolutionWidth = 3840 -> True
timelineOutputResolutionHeight = 1606 -> True
Clearing Media Pool...
Importing ProRes: D:\DoVi_Scripts\temp.folder77\Baby.Driver.Chapter-002_prores.422.mov
Imported: Baby.Driver.Chapter-002_prores.422.mov
Creating timeline from ProRes (Resolve scene detection mode)...
Timeline: DV_Generate_Baby.Driver.Chapter-002_prores.422
Clip appended.
Color page open.
Running Resolve scene detection...
Scene detection complete.
Running AnalyzeDolbyVision...
Traceback (most recent call last):
File "D:\DoVi_Scripts\temp.folder77\resolve_dv_generate.py", line 141, in <module>
result = timeline.AnalyzeDolbyVision()
TypeError: 'NoneType' object is not callable
Error: The system cannot find the file specified. (os error 2)
Error: The system cannot find the file specified. (os error 2)
Error: The system cannot find the file specified. (os error 2)
Parsing XML metadata...
Error: The system cannot find the file specified. (os error 2)
File not found - Baby.Driver.Chapter-002_DV.xml
The system cannot find the file specified.
Error: The system cannot find the file specified. (os error 2)
Reading generate config file...
Error: expected value at line 3 column 15
Error: The system cannot find the file specified. (os error 2)
Error: The system cannot find the file specified. (os error 2)
Parsing RPU file...
Error: The system cannot find the file specified. (os error 2)
Press any key to continue . . .


Now I just get this... :angry:

Kuler087
27th March 2026, 03:00
not the latest py file (https://drive.google.com/file/d/1l5sY4yvFvdhq8O1VZ4G73dk_EVGGAlHD/view?usp=drive_link)

Kontrarian
27th March 2026, 03:58
Could have sworn I had the latest, but I downloaded it again with your link and ran the script again and got this:


Writing Resolve DV Generate script...

Resolve DV Generate script written to: D:\DoVi_Scripts\temp.folder77\resolve_dv_generate.py

Running Resolve API...

D:\DoVi_Scripts\temp.folder77\resolve_dv_generate.py:39: SyntaxWarning: "\P" is an invalid escape sequence. Such sequences will not work in the future. Did you mean "\\P"? A raw string is also an option.
tuning = "C:\ProgramData"
ERROR: Cannot import DaVinciResolveScript.
Expected: 1604\Blackmagic Design\DaVinci Resolve\Support\Developer\Scripting\Modules
Make sure DaVinci Resolve is running and scripting is enabled.
Error: The system cannot find the file specified. (os error 2)
Error: The system cannot find the file specified. (os error 2)
Error: The system cannot find the file specified. (os error 2)
Parsing XML metadata...
Error: The system cannot find the file specified. (os error 2)
File not found - Baby.Driver.Chapter-002_DV.xml
The system cannot find the file specified.
Error: The system cannot find the file specified. (os error 2)
Reading generate config file...
Error: expected value at line 3 column 15
Error: The system cannot find the file specified. (os error 2)
Error: The system cannot find the file specified. (os error 2)
Parsing RPU file...
Error: The system cannot find the file specified. (os error 2)
Press any key to continue . . .


I'm doing everything from scratch again and I'll report back...

Kuler087
27th March 2026, 04:06
you need both the latest script and py file

Kontrarian
27th March 2026, 04:37
Everything's the latest, so I'm not sure what's going on...


Writing Resolve DV Generate script...

Resolve DV Generate script written to: D:\DoVi_Scripts\temp.folder77\resolve_dv_generate.py

Running Resolve API...

Project: Untitled Project
MDP: P3 D65 @ 4000 nits
Canvas: 3840x1604 Mode: resolve_detect
Setting DV project settings...
colorScienceMode = davinciYRGB -> True
separateColorSpaceAndGamma = 0 -> True
colorSpaceTimeline = Rec.2100 ST2084 -> True
colorSpaceOutput = Same as Timeline -> True
hdrDolbyControlsOn = 1 -> True
hdrDolbyVersion = 4.0 -> True
hdrMasteringOn = 1 -> True
hdrMasteringLuminanceMax = 4000 -> True
hdrDolbyMasterDisplay = 4000-nit, P3, D65, ST.2084, Full -> True
timelineResolutionWidth = 3840 -> True
timelineResolutionHeight = 1604 -> True
timelineOutputResolutionWidth = 3840 -> True
timelineOutputResolutionHeight = 1604 -> True
hdrDolbyAnalysisTuning = Most Mapping -> True
Clearing Media Pool...
Importing ProRes: D:\DoVi_Scripts\temp.folder77\Baby.Driver.Chapter-002_prores.422.mov
Imported: Baby.Driver.Chapter-002_prores.422.mov
Creating timeline from ProRes (Resolve scene detection mode)...
Timeline: DV_Generate_Baby.Driver.Chapter-002_prores.422
Clip appended.
Color page open.
Running Resolve scene detection...
Scene detection complete.
Running AnalyzeDolbyVision...
Traceback (most recent call last):
File "D:\DoVi_Scripts\temp.folder77\resolve_dv_generate.py", line 122, in <module>
result = timeline.AnalyzeDolbyVision()
TypeError: 'NoneType' object is not callable
Error: The system cannot find the file specified. (os error 2)
Error: The system cannot find the file specified. (os error 2)
Error: The system cannot find the file specified. (os error 2)
Parsing XML metadata...
Error: The system cannot find the file specified. (os error 2)
File not found - Baby.Driver.Chapter-002_DV.xml
The system cannot find the file specified.
Error: The system cannot find the file specified. (os error 2)
Reading generate config file...
Error: expected value at line 3 column 15
Error: The system cannot find the file specified. (os error 2)
Error: The system cannot find the file specified. (os error 2)
Parsing RPU file...
Error: The system cannot find the file specified. (os error 2)
Press any key to continue . . .

Kontrarian
27th March 2026, 04:58
I changed the folder I have been using all this time to "DoVi_Scripts.old".
I went to your github and downloaded the tool pack and extracted it to D:\.
It made a "DoVi.Scripts" folder.
I downloaded the latest beta and py from your post in this thread (post #1804).
I edited DoVi_Scripts_MKV.bat from "set Mode_31=CM" to "set Mode_31=RESOLVE".
I put the latest DV EXEs in the tools folder (Dolby_Vision_Professional_Tools_Windows_v5.6.2_2026-02-21_18-23-58.exe).
I ran the script and got this: https://pastebin.com/CjCHk1tF


File "D:\DoVi.Scripts\temp.folder77\resolve_dv_generate.py", line 122, in <module>
result = timeline.AnalyzeDolbyVision()
TypeError: 'NoneType' object is not callable
Error: The system cannot find the file specified. (os error 2)
Error: The system cannot find the file specified. (os error 2)
Error: The system cannot find the file specified. (os error 2)
Parsing XML metadata...
Error: The system cannot find the file specified. (os error 2)
File not found - Baby.Driver.Chapter-002_DV.xml
The system cannot find the file specified.
Error: The system cannot find the file specified. (os error 2)
Reading generate config file...
Error: expected value at line 3 column 15
Error: The system cannot find the file specified. (os error 2)
Error: The system cannot find the file specified. (os error 2)
Parsing RPU file...
Error: The system cannot find the file specified. (os error 2)
Press any key to continue . . .


I don't know what I'm missing, it's probably something silly, but I'm out of ideas.
I used Beyond Compare to compare the .bat and .py from my old folder and the new folder and they are identical.
My DaVinci Resolve version is 18.6.5 build 7 if that matters.
I really appreciate your patience and your advise!

Gatorman3385
27th March 2026, 05:28
This was built on Resolve 20.0 build 49. APIs are updated and this could be you problem. I'm not sure.

Gatorman3385
27th March 2026, 05:52
I changed the folder...

Can you confirm the latest Python is in your path?

Kontrarian
27th March 2026, 06:54
This was build on Resolve 20.0 build 49. APIs are updated and this could be you problem. I'm not sure.

This was it.

I upgrade to 20 build 49 and everything worked perfectly.

Thank you for your patience my friends!

I really appreciate all the hard work and effort you guys put into this stuff and then helping other users out as well.

ac777103
27th March 2026, 10:46
I have a question regarding my current workflow for generating DV for HDR10 titles vs the new option for using Resolve via the script. Currently I run 6-2 first to get a plot and a .bin file which I rename and move to match the source mkv, then run 3-1 and select the MDL input based on what's reported in the 6-2 plot. I guess the .bin file from 6-2 is then used as input scene cuts. If I install Resolve, would I drop 6-2 entirely, or just run 6-2 if I want the plot and the MDL info? In the absence of 6-2 I wonder how the correct option for the MDL prompt in 3-1 is identified. Thanks.

Kuler087
27th March 2026, 11:57
Yes, you can still use 6-2 for MDL selection even though it doesn’t matter in CMV4.0. Just don’t use those scene cuts in 3-1, since Resolve’s detection is much better than madVR’s.

DaMacFunkin
27th March 2026, 13:31
Hi - Say i had a FEL DV Movie that only has a CMv2.9 RPU is there an advantage to creating a CMv4.0 and if so what is the procedure on DoVi tools to generate a CMv4.0 RPU? Thanks.

Kuler087
27th March 2026, 13:38
It depends on how bright the grade is and how bright your display can get. If the grade stays below your TV’s peak brightness, you can use workflow 3-1 to generate new metadata (don’t forget to enable FEL baking), or simply use the Ugoos R9 CMV4.0 append function, which may actually be safer than generating new metadata. It’s considered safer because L1 can be adjusted by the colorist, for example, by blending or copying values between shots with similar brightness levels to avoid fluctuations.

https://i.ibb.co/2738txqX/firefox-MTh9-Jw-N24-I.png

ac777103
27th March 2026, 15:11
Yes, you can still use 6-2 for MDL selection even though it doesn’t matter in CMV4.0. Just don’t use those scene cuts in 3-1, since Resolve’s detection is much better than madVR’s.

thanks. If I want to re-do a film that has had P8 DV added via 3-1 already, do I add ignore_rpu or something like that to the filename, or do I have to remove the DV layer?

Kuler087
27th March 2026, 15:23
Yes, you add ''ignoremetadata'' in the filename and it should ignore it

findstr /i /c:"ignoremetadata" "%TEMP%filename1.txt" >nul
if %errorlevel%==0 goto :skipinternalshotlist

Kontrarian
28th March 2026, 06:46
Yes, you can still use 6-2 for MDL selection even though it doesn’t matter in CMV4.0.

Why does it not matter with CMv4.0?

Kuler087
28th March 2026, 14:52
Because CMV4.0 doesn't care about MDL and always acts the same.

DaMacFunkin
28th March 2026, 18:25
It depends on how bright the grade is and how bright your display can get. If the grade stays below your TV’s peak brightness, you can use workflow 3-1 to generate new metadata (don’t forget to enable FEL baking), or simply use the Ugoos R9 CMV4.0 append function, which may actually be safer than generating new metadata. It’s considered safer because L1 can be adjusted by the colorist, for example, by blending or copying values between shots with similar brightness levels to avoid fluctuations.

https://i.ibb.co/2738txqX/firefox-MTh9-Jw-N24-I.png

Hi, This is the second time I have tried this 3-1 today, it just seems to 'go to sleep' after a few hours and I can't resume it and need to start again, is there a way to post a log? Or start the process from the last point, it hasn't progressed now for 3 hours?
19120

Gatorman3385
28th March 2026, 18:49
Are you on the latest version of cm_analyze?

SamuriHL
29th March 2026, 00:25
My first attempt with the Resolve automation wasn't too bad. But it didn't detect the crop values. Or if it did it did something bizarre with them. It stretched the video into the black bars. Never seen that before. I know manual is recommended for that part. I guess now I know why. LOL

DaMacFunkin
29th March 2026, 00:27
Are you on the latest version of cm_analyze?
I've just downloaded the atest version ans will try again.

DaMacFunkin
29th March 2026, 06:30
I've just downloaded the latest version and will try again.

So I downloaded the latest version and left the job running - over 6 hours to be left with nothing, absolute zero, can anybody explain why this might happen?

frame=176029 fps= 12 q=-0.0 Lsize=161012407KiB time=02:02:21.87 bitrate=179656.2kbits/s speed=0.487x
Access is denied.
Parsing XML metadata...
Error: The system cannot find the file specified. (os error 2)
File not found - Filename- redacted (2017)_DV.xml
The system cannot find the file specified.
Error: The system cannot find the file specified. (os error 2)
Reading generate config file...
Generating metadata: Profile 8.1 (HDR10)...
Generated metadata for 176029 frames
Done.
Error: The system cannot find the file specified. (os error 2)
Error: The system cannot find the file specified. (os error 2)
Parsing RPU file...
Error: The system cannot find the file specified. (os error 2)
Press any key to continue . . .

=================
- MUXING TO MKV -
=================

mkvmerge v91.0 ('Signs') 64-bit
Error: The type of file 'E:\Dolby-Vision-Tools\Filename- Redacted (2017)_Generated.hevc' could not be recognized.
Deleting TEMP folder...


Start time: 23:30:04.17
End time: 6:24:05.84
Time taken: -17:0-5:0-59

The script has been completed. Do you want to quit or go back to main menu (q or m default=q)?

Kuler087
29th March 2026, 12:45
Make sure you have enough space on the drive used for your temp/output paths. ProRes files can be hundreds of gigabytes.

Also, post the complete log, not just a portion of it. And as I mentioned earlier, test with a small file first.

SamuriHL
29th March 2026, 14:45
So the movie I started with was an IMAX mixed aspect ratio which needs to be done manually. I've done 3 more movies since then and everything is working perfectly. This is awesome. Very nice work!

Kuler087
29th March 2026, 15:16
So the movie I started with was an IMAX mixed aspect ratio which needs to be done manually. I've done 3 more movies since then and everything is working perfectly. This is awesome. Very nice work!

thanks :)

Gatorman3385
29th March 2026, 17:28
So I downloaded the latest version and left the job running - over 6 hours to be left with nothing, absolute zero, can anybody explain why this might happen?

Have you tried this?

Nice new addition to workflow 3-1 to test. The script can now control Davinci Resolve (with scene cut detection or EDL)... Try with a short file first to see if it works.

Kuler087
29th March 2026, 22:32
new version (https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=drive_link).

write_resolve_dv_generate.py (https://drive.google.com/file/d/1l5sY4yvFvdhq8O1VZ4G73dk_EVGGAlHD/view?usp=drive_link) must be updated too.

There was an issue with 24 or 25 fps videos. 23.976 is fine.

dkangel
30th March 2026, 13:48
i'm trying my first movie but i see something that is weird

i put 0/0/276/276 but in resolve the 2*276 are in bottom

https://i.postimg.cc/R0F095Zs/resolve.jpg (https://postimages.org/)

Gatorman3385
30th March 2026, 13:56
The prores is cropped before being processed by Resolve. This is normal.

dkangel
30th March 2026, 14:04
ok thank you for your answer

Kuler087
30th March 2026, 14:07
Right, since we couldn't find a way to set the blanking correctly in Resolve, the ProRes encode is cropped and the analysis runs without any letterboxing, with L5 adjusted before injection.

This might even speed up the process, since both the ProRes encoding and Resolve processing are done on fewer pixels.

2themax
30th March 2026, 17:01
I've been using the scripts for a few weeks now and everything is working well aside from the below error. It seems like a trivial thing to do, but it fails on every FEL stream I check. The source is a M2TS file and I am using the latest tools and BETA release. Am I missing a prerequisite for grabbing a PNG from a HEVC encode?

Checking if FEL expands the brightness... This should take only a few seconds...

[ WARN:0@0.020] global loadsave.cpp:278 cv::findDecoder imread_('E:\DoVi.Scripts\temp.folder1\FEL.png'): can't open/read file: check file path/integrity
ERROR=Unable to read the image. Please check the file path.

dkangel
30th March 2026, 17:28
Yes, you can still use 6-2 for MDL selection even though it doesn’t matter in CMV4.0. Just don’t use those scene cuts in 3-1, since Resolve’s detection is much better than madVR’s.

so we can use default p3 1000 for everything ?

Kuler087
30th March 2026, 17:48
No, you should match the Mastering color primaries: P3 or BT2020.
For the MDL, it doesnt matter but you can just match your source value.

Kuler087
30th March 2026, 17:49
I've been using the scripts for a few weeks now and everything is working well aside from the below error. It seems like a trivial thing to do, but it fails on every FEL stream I check. The source is a M2TS file and I am using the latest tools and BETA release. Am I missing a prerequisite for grabbing a PNG from a HEVC encode?

Checking if FEL expands the brightness... This should take only a few seconds...

[ WARN:0@0.020] global loadsave.cpp:278 cv::findDecoder imread_('E:\DoVi.Scripts\temp.folder1\FEL.png'): can't open/read file: check file path/integrity
ERROR=Unable to read the image. Please check the file path.

I'll check it out but I probably just forgot to add code for the DT-DL input since I only work with ST-DL mkv rip.

dkangel
30th March 2026, 17:50
No, you should match the Mastering color primaries: P3 or BT2020.
For the MDL, it doesnt matter but you can just match your source value.

ok i can just take the mediainfo value, i mean not have to workflow 6-2 everytime

Kontrarian
31st March 2026, 04:01
ok i can just take the mediainfo value, i mean not have to workflow 6-2 everytime

And/or check the movie brightness Google folder.

Kuler087
31st March 2026, 15:25
I've added the same prores cropping to the CM_analyze mode in workflow 3-1. It is a lot faster on my system. new beta (https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=drive_link)

I upgraded my GPU to the RTX 5080, and to my surprise, Dolby Vision analysis and scene cut detection aren’t any faster than on my 3070. The main difference is utilization: the 5080 only runs at about 50%, while the 3070 was consistently at 95–100%.
However, for heavy editing tasks in DaVinci Resolve, like multiple nodes or AI upscaling, the 5080 completely outperforms the 3070, delivering roughly 3× the performance.

Korbus
31st March 2026, 17:00
Hi! I'm in the process of overhauling my remux collection and as such I started upgrading the CMv.2.9 RPU of some of them with the CMv4.0 ones from your RPU collections. So far I've hunted for "retail cmv4.0 restored" or "cmv4.0 added", but recently I've noticed a lot of titles with "original L1 CMv4.0 flag" and I'm not very sure what to make of it. Would you please explain what it means (and how they differ from the other two cathegories), as I would gladly use them to continue upgrading my library? Thanks in advance.

Kuler087
31st March 2026, 17:16
These new RPUs are effectively identical to using the Ugoos “append CM v4.0” option. For RPUs that were originally mastered in 4.0 but delivered in 2.9, and where no web source exists to restore the 4.0 metadata, it is preferable to retain the original L1 values rather than generating new metadata.

because of:

https://i.ibb.co/2738txqX/firefox-MTh9-Jw-N24-I.png

Korbus
31st March 2026, 17:51
Thank you! In this case, for those titles I'll just keep them as they are and let the Ugoos append the CMv4.0 dynamically when watching them.

ac777103
31st March 2026, 19:49
could anyone point me to the Ugoos CE build with the append CMv4 option? thanks.

Gatorman3385
31st March 2026, 20:02
I think it's the avdvplus builds that have it, but I'd be surprised if they all don't soon.

Kuler087
31st March 2026, 20:17
https://github.com/avdvplus/Builds/releases

ac777103
31st March 2026, 20:46
https://github.com/avdvplus/Builds/releases

thanks.

Korbus
31st March 2026, 21:02
This is one of them (avdvplus): https://github.com/avdvplus/Builds/releases
There is a p3i build too, but that's still a test (dev) build; if you want that one, you should join this Discord channel: https://discord.com/channels/492590071455940612/1462235711552880761

ac777103
31st March 2026, 22:49
so much cool stuff in that build! And PGS subs are presented correctly for the first time ever in my experience of Kodi boxes playing HDR content. Only glitch I see is that lipsync on interlaced VC1 is a mile out, but I have other options for that content.

Kuler087
31st March 2026, 22:57
Yeah, the Ugoos with those latest CE builds is amazing, pretty much the perfect player... It's even better than my 3K USD Kaleidescape.
I can’t believe some people are still watching Blu-ray rips on a crappy Shield or Zidoo players…

SamuriHL
1st April 2026, 01:53
I've added the same prores cropping to the CM_analyze mode in workflow 3-1. It is a lot faster on my system. new beta (https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=drive_link)

I upgraded my GPU to the RTX 5080, and to my surprise, Dolby Vision analysis and scene cut detection aren’t any faster than on my 3070. The main difference is utilization: the 5080 only runs at about 50%, while the 3070 was consistently at 95–100%.
However, for heavy editing tasks in DaVinci Resolve, like multiple nodes or AI upscaling, the 5080 completely outperforms the 3070, delivering roughly 3× the performance.

Yea my new laptop has a 5080 (obviously not the same as a desktop version) and it's quite a bit faster than my previous laptop's 4080. Not sure if the 16gb of memory makes a difference. I'd say probably.

Kontrarian
1st April 2026, 05:28
My laptop has a GTX 1060... :cool:

TR-9970X
1st April 2026, 08:27
Yeah, the Ugoos with those latest CE builds is amazing, pretty much the perfect player... It's even better than my 3K USD Kaleidescape.
I can’t believe some people are still watching Blu-ray rips on a crappy Shield or Zidoo players…

I have a "crappy" Shield !!!!

Works well enough for me.

Kuler087
1st April 2026, 11:55
Well, it's by far the worst DV player of all time... If you want the best quality, there is only one option...
Doesnt make much sense to me to buy a 2000USD+ TV ( and with calibration) and ruin the quality with an inaccurate player.

- incorrect colors with any P8/P7 rip(red artifacts (https://drive.google.com/drive/u/1/folders/1uaHVLriou0RFuS8DWtVmxYs1tumPl0F3) )
- All of these FEL movie (https://drive.google.com/drive/u/0/folders/1FS42T95TOSpoy4xtwUBIQmziCe_R_IKe)s will have incorrect brightness and tone mapping metadata
- some dv metadata not working (positive lift and L5 (https://drive.google.com/drive/u/1/folders/1LbuwBDZj5x3i1bdbAntsZlr5CiYJ9KKj))
- ycbcr clipping and colorspace conversion issues (https://slow.pics/c/xLgSTMc3)
- dropped frames
- bloated GUI

Korbus
1st April 2026, 12:06
I have a "crappy" Shield !!!!

Works well enough for me.

I also have one, but it's collecting dust ever since I've bought the first AM6B+ (yeah, I got two now, one as a spare :)), in July 2024.
I thought I would still use it occasionally, but I was wrong about that.

Kuler087
1st April 2026, 12:09
I mean, it's ok for streaming Netflix, Disney etc... But for watching a bluray rip: absolutely not!

TR-9970X
1st April 2026, 12:15
I bought the Shield as my ONLY way of playing DV anything, as the LG C4 didn't support DV mkv, at the time.

To my old eyes, the Shield displays 4K DV plenty good enough.

I see no need to "retire" it, until it stops working.

I'm watching Avatar - Fire and Ash 4K DV mkv thru the Shield, and I can't fault it.

Kuler087
1st April 2026, 12:31
Some people like their TV in Vivid mode, I prefer accurate Filmmaker Mode that tracks properly and displays movies as they were intended. Taste isn’t the point here, it’s about accuracy, and the Shield isn’t.

TR-9970X
1st April 2026, 12:59
Some people like their TV in Vivid mode, I prefer accurate Filmmaker Mode that tracks properly and displays movies as they were intended. Taste isn’t the point here, it’s about accuracy, and the Shield isn’t.

Yes, I'm using Vivid mode, Filmmaker mode looks like shit, if thats the way the movie was meant to look like, then I wouldn't be watching it.

Is that why you go to great lengths to correct them ?

I'm not going to spend $400 + dollars on another unit...it would have be pretty amazingly better.

You are a major videophile, and seem to demand the very best, some of us are not !!!

Kuler087
1st April 2026, 13:16
Then this thread isn't for you and go talk about how you like to destroy the image quality somewhere else.

TR-9970X
1st April 2026, 13:27
Then this thread isn't for you.

As the first to support you (under a different username) when you started on Doom9, it saddens me for you to say that :(

I still use several of the awesome functions of your app, but I certainly haven't bothered to go to the lengths you do.

I can't relate for basically a one off viewing.

I'm not goin' anywhere !!!

daffie
1st April 2026, 13:39
These new RPUs are effectively identical to using the Ugoos “append CM v4.0” option. For RPUs that were originally mastered in 4.0 but delivered in 2.9, and where no web source exists to restore the 4.0 metadata, it is preferable to retain the original L1 values rather than generating new metadata.

because of:

https://i.ibb.co/2738txqX/firefox-MTh9-Jw-N24-I.png

Hmm, so for all my cmv2.9 movies (originally mastered in 4.0) which I converted to cmv4.0 using your Generated RPU's, it is better to retain the L1 values and use this new method?

Big shame I did not keep the original cmv2.9 RPU's of those converted movies :(

Kuler087
1st April 2026, 14:02
As the first to support you (under a different username) when you started on Doom9, it saddens me for you to say that :(

I still use several of the awesome functions of your app, but I certainly haven't bothered to go to the lengths you do.

I can't relate for basically a one off viewing.

I'm not goin' anywhere !!!

Watch movies however you want, but don’t come here telling us how great it looks on your Shield with your TV in vivid mode. This isn’t the thread for that.

Kuler087
1st April 2026, 14:04
Hmm, so for all my cmv2.9 movies (originally mastered in 4.0) which I converted to cmv4.0 using your Generated RPU's, it is better to retain the L1 values and use this new method?

Big shame I did not keep the original cmv2.9 RPU's of those converted movies :(

Most of the generated RPUs I made are from movies mastered in 2.9.
Most movies mastered in 4.0 have a web source available to upgrade them with the original L3 and L8 trims.

daffie
1st April 2026, 14:06
Ok, that is good to hear, thanks!

Gatorman3385
1st April 2026, 14:15
Yes, I'm using Vivid mode, Filmmaker mode looks like shit, if thats the way the movie was meant to look like, then I wouldn't be watching it.

Is that why you go to great lengths to correct them ?

I'm not going to spend $400 + dollars on another unit...it would have be pretty amazingly better.

You are a major videophile, and seem to demand the very best, some of us are not !!!

This is a bad April Fools joke, right?

TR-9970X
1st April 2026, 14:47
Watch movies however you want, but don’t come here telling us how great it looks on your Shield with your TV in vivid mode. This isn’t the thread for that.

Just know that you started this, with your totally unprovoked and unnecessary comments about the Shield !!

I'm sure there are way more Shield users than Ugoos users.

And from what I've read, the Ugoos are very basic in default configuration.

Each to their own.

daffie
1st April 2026, 14:52
Just know that you started this, with your totally unprovoked and unnecessary comments about the Shield !!

I'm sure there are way more Shield users than Ugoos users.

And from what I've read, the Ugoos are very basic in default configuration.

Each to their own.

You are an employee of Nvidia and he hurt your feelings?
My God bro, grow up.

Kuler087
1st April 2026, 15:07
Just know that you started this, with your totally unprovoked and unnecessary comments about the Shield !!



False.
The fact that the Shield is inaccurate with DV Blu-ray rips must be repeated as many times as needed, and unlike you, who is obviously ignorant about what quality is, I always provide clear examples of why it shouldn’t be used.

I'm sure there are way more Shield users than Ugoos users.
.
What a great argument.

And from what I've read, the Ugoos are very basic in default configuration.

stop talking about things you dont know or understand.


Each to their own.
The only valid thing you’ve said so far… You have the right to destroy the image as much as you want with your Shield and vivid mode.

PLEASE MOVE ON. This is my last warning!

Edit: I'm starting to understand why your other account got banned...

Kontrarian
2nd April 2026, 03:57
I'm sure there are way more Shield users than Ugoos users.

I love this fallacy!

You are more than welcome to own, and ever prefer, a Shield and watch your TV in vivid mode, but you do understand this thread, and one's like it, are generally populated with purists.
So just know that when you post your comments.
You can't act surprised when you get these type of responses from other users... it's the internet.

TR-9970X
2nd April 2026, 04:14
I love this fallacy!

You are more than welcome to own, and ever prefer, a Shield and watch your TV in vivid mode, but you do understand this thread, and one's like it, are generally populated with purists.
So just know that when you post your comments.
You can't act surprised when you get these type of responses from other users... it's the internet.

So what do you have ??

I'm very aware of the "purist's".

Not surprised, I just thought the comment was unnecessary.

And then it blew up. :eek:

Gatorman3385
2nd April 2026, 05:31
Just know that you started this, with your totally unprovoked and unnecessary comments about the Shield !!

And then it blew up. :eek:

Get 'em out.

Swede
2nd April 2026, 06:34
Ok, time to cool things down. All of you. If you don't agree at least be constructive in you comments!

dkangel
8th April 2026, 19:20
hello everyone
just a question, when i ask info about a mkv dv file, workflow 1, the script give me a number of frames
for example Thor has 165165 frames
the number is good in the mediainfo.json but the script show me frames: 554
what is the problem ?
thank you

Gatorman3385
8th April 2026, 19:23
Workflow 1 will take a sample of the file, not the entire file, and give you the info. This is normal.

dkangel
8th April 2026, 19:26
Workflow 1 will take a sample of the file, not the entire file, and give you the info. This is normal.

ok but why not show the good number that is in the mediainfo.json file created with workflow 1 ?

"FrameCount": "165165",

Gatorman3385
8th April 2026, 19:32
Because it's showing DV info, and grabbing that info from a small sample is quicker.

dkangel
8th April 2026, 19:43
i'm very sorry but i don't understand why it's quicker

when i make workflow 1, there are some files created in temp folder

in this files there are a mediainfo.bl.json and a mediainfo.json

554 is the number of frames in mediainfo.bl.json and 165165 is in the mediainfo.json

165165 is the good one

the two files are created instantaneously at the same time, so it's not quicker

why showing the wrong number ?

sorry but english is not my native langage

Kuler087
8th April 2026, 19:49
The script displays the DV RPU frame count/summary, not the video itself. To get the full frame count, you would need to extract the entire RPU, which takes time so the script instead generates a small sample that can quickly display the RPU information.

dkangel
8th April 2026, 19:54
ok it's the rpu frame not the video, i understand this time :)

Kontrarian
10th April 2026, 04:41
@Kuler087

Going through my children's movies and I've come along the Pirates of the Caribbean films which are HDR10 UHDs and it looks like the WEB DVs are a mismatch.
The movies themselves are sub 1,000 nits so generating DV seems like I'm just doing this to help the LG with gradation and posterization, which is fine, but now that the latest CoreELEC builds are enabling stuff like VS10 HDR to HDR is there really any point in generating DV for a 600 nit HDR10 movie?

Kuler087
10th April 2026, 11:59
yes, the true DV is still better than vs10.
vs10 works well for bright content, but crushes details a bit in dark content.

https://slow.pics/c/LCQKMpdr

SamuriHL
10th April 2026, 21:06
Before the G2 croaked on me, I was seeing brightness flashes in some of the titles I've converted. I always choose option 3 for Resolve for what is supposed to be a balanced profile. I hadn't seen that in any of the ones I've done manually so wasn't sure if it was something in the new automated process or simply my G2 being a jerk. LOL Thoughts?

Kuler087
10th April 2026, 22:33
did you check if the RPU scene cuts were aligned with the video in workflow 2-1

SamuriHL
10th April 2026, 23:33
That's a good question. No, not specifically. I assumed, clearly wrongly, that if Resolve was generating the scene cuts they should automagically be aligned. Still learning. :)

Kuler087
11th April 2026, 00:35
Yes, they should be aligned. Just trying to see what went wrong.

SamuriHL
11th April 2026, 02:16
From what I can see here this really SHOULDN'T be doing the brightness pumping/flashing thing but this is not my area of expertise at all.


Extracting track 0 with the CodecID 'V_MPEGH/ISO/HEVC' to the file 'D:\DoVi_scripts\temp.folder9\BL.hevc'. Container format: HEVC/H.265 elementary stream
Progress: 100%
Reordering metadata... Done.
Parsing RPU file...
{
"dovi_profile": 8,
"header": {
"rpu_nal_prefix": 25,
"rpu_type": 2,
"rpu_format": 18,
"vdr_rpu_profile": 1,
"vdr_rpu_level": 0,
"vdr_seq_info_present_flag": true,
"chroma_resampling_explicit_filter_flag": false,
"coefficient_data_type": 0,
"coefficient_log2_denom": 23,
"coefficient_log2_denom_length": 23,
"vdr_rpu_normalized_idc": 1,
"bl_video_full_range_flag": false,
"bl_bit_depth_minus8": 2,
"el_bit_depth_minus8": 2,
"ext_mapping_idc_0_4": 0,
"ext_mapping_idc_5_7": 0,
"vdr_bit_depth_minus8": 4,
"spatial_resampling_filter_flag": false,
"reserved_zero_3bits": 0,
"el_spatial_resampling_filter_flag": false,
"disable_residual_flag": true,
"vdr_dm_metadata_present_flag": true,
"use_prev_vdr_rpu_flag": false,
"prev_vdr_rpu_id": 0
},
"rpu_data_mapping": {
"vdr_rpu_id": 0,
"mapping_color_space": 0,
"mapping_chroma_format_idc": 0,
"num_x_partitions_minus1": 0,
"num_y_partitions_minus1": 0,
"curves": [
{
"num_pivots_minus2": 0,
"pivots": [
0,
1023
],
"mapping_idc": "Polynomial",
"poly_order_minus1": [
0
],
"linear_interp_flag": [
false
],
"poly_coef_int": [
[
0,
1
]
],
"poly_coef": [
[
0,
0
]
]
},
{
"num_pivots_minus2": 0,
"pivots": [
0,
1023
],
"mapping_idc": "Polynomial",
"poly_order_minus1": [
0
],
"linear_interp_flag": [
false
],
"poly_coef_int": [
[
0,
1
]
],
"poly_coef": [
[
0,
0
]
]
},
{
"num_pivots_minus2": 0,
"pivots": [
0,
1023
],
"mapping_idc": "Polynomial",
"poly_order_minus1": [
0
],
"linear_interp_flag": [
false
],
"poly_coef_int": [
[
0,
1
]
],
"poly_coef": [
[
0,
0
]
]
}
]
},
"vdr_dm_data": {
"compressed": false,
"affected_dm_metadata_id": 0,
"current_dm_metadata_id": 0,
"scene_refresh_flag": 0,
"ycc_to_rgb_coef0": 9574,
"ycc_to_rgb_coef1": 0,
"ycc_to_rgb_coef2": 13802,
"ycc_to_rgb_coef3": 9574,
"ycc_to_rgb_coef4": -1540,
"ycc_to_rgb_coef5": -5348,
"ycc_to_rgb_coef6": 9574,
"ycc_to_rgb_coef7": 17610,
"ycc_to_rgb_coef8": 0,
"ycc_to_rgb_offset0": 16777216,
"ycc_to_rgb_offset1": 134217728,
"ycc_to_rgb_offset2": 134217728,
"rgb_to_lms_coef0": 7222,
"rgb_to_lms_coef1": 8771,
"rgb_to_lms_coef2": 390,
"rgb_to_lms_coef3": 2654,
"rgb_to_lms_coef4": 12430,
"rgb_to_lms_coef5": 1300,
"rgb_to_lms_coef6": 0,
"rgb_to_lms_coef7": 422,
"rgb_to_lms_coef8": 15962,
"signal_eotf": 65535,
"signal_eotf_param0": 0,
"signal_eotf_param1": 0,
"signal_eotf_param2": 0,
"signal_bit_depth": 12,
"signal_color_space": 0,
"signal_chroma_format": 0,
"signal_full_range_flag": 1,
"source_min_pq": 7,
"source_max_pq": 3079,
"source_diagonal": 42,
"cmv29_metadata": {
"num_ext_blocks": 6,
"ext_metadata_blocks": [
{
"Level1": {
"min_pq": 0,
"max_pq": 2893,
"avg_pq": 1377
}
},
{
"Level2": {
"target_max_pq": 2081,
"trim_slope": 1689,
"trim_offset": 2028,
"trim_power": 1509,
"trim_chroma_weight": 2048,
"trim_saturation_gain": 2048,
"ms_weight": 2048
}
},
{
"Level2": {
"target_max_pq": 2851,
"trim_slope": 2003,
"trim_offset": 2048,
"trim_power": 1902,
"trim_chroma_weight": 2048,
"trim_saturation_gain": 2048,
"ms_weight": 2048
}
},
{
"Level2": {
"target_max_pq": 3079,
"trim_slope": 2049,
"trim_offset": 2048,
"trim_power": 2046,
"trim_chroma_weight": 2048,
"trim_saturation_gain": 2048,
"ms_weight": 2048
}
},
{
"Level5": {
"active_area_left_offset": 0,
"active_area_right_offset": 0,
"active_area_top_offset": 264,
"active_area_bottom_offset": 264
}
},
{
"Level6": {
"max_display_mastering_luminance": 1000,
"min_display_mastering_luminance": 1,
"max_content_light_level": 0,
"max_frame_average_light_level": 0
}
}
]
},
"cmv40_metadata": {
"num_ext_blocks": 5,
"ext_metadata_blocks": [
{
"Level3": {
"min_pq_offset": 2048,
"max_pq_offset": 2048,
"avg_pq_offset": 1623
}
},
{
"Level8": {
"length": 10,
"target_display_index": 1,
"trim_slope": 2048,
"trim_offset": 2048,
"trim_power": 2048,
"trim_chroma_weight": 2048,
"trim_saturation_gain": 2048,
"ms_weight": 2048
}
},
{
"Level9": {
"length": 1,
"source_primary_index": 0
}
},
{
"Level11": {
"content_type": 1,
"whitepoint": 0,
"reference_mode_flag": false,
"reserved_byte2": 0,
"reserved_byte3": 0
}
},
{
"Level254": {
"dm_mode": 0,
"dm_version_index": 2
}
}
]
}
},
"rpu_data_crc32": 2450995496
}
Parsing RPU file...

Summary:
Frames: 186363
Profile: 8
DM version: 2 (CM v4.0)
Scene/shot count: 3225
RPU mastering display: 0.0001/1000 nits
RPU content light level (L1): MaxCLL: 1058.23 nits, MaxFALL: 144.96 nits
L6 metadata: Mastering display: 0.0001/1000 nits. MaxCLL: 0 nits, MaxFALL: 0 nits
L5 offsets: top=264, bottom=264, left=0, right=0
L2 trims: 100 nits, 600 nits, 1000 nits
L8 trims: 100 nits
L9 MDP: DCI-P3 D65

Parsing RPU file...
Exporting scenes list...
Done.
Indexing, please wait... 100%
Writing index... done.
Deleting TEMP folder...


Start time: 18:34:13.12
End time: 18:53:55.33
Time taken: 0:19:42


Scenes:
https://pastebin.com/embed_js/D6ApMBWd

Does any of this look suspect to you? Thanks for your help!

Kuler087
11th April 2026, 02:39
You have to check those scene cuts with the video, see: https://www.youtube.com/watch?v=lIO_ZfT-LnY

SamuriHL
11th April 2026, 02:54
Got it. I'll work on that tomorrow and see what's going on with it.

en6ads
11th April 2026, 13:33
Apologies if this has been answered earlier I have been out for several days and am catching up.

If I understand this correctly: Converting (appending) cm2.9 RPUs to cm4.0 for cm4.0 mastered movies will always be better than using CM_Analyze or Resolve to generate new DV from the BL if no web DV exists?

Edit: Here's an example:
Sisu.US-BD.P7.FEL.Generated.T3.OSC.bin (Oct 3rd 2025)
Sisu.US-BD.P7.FEL_Original_L1_CMV4.0_Flag_RPU_Edited.bin (Mar 28th 2026)
Would you recommend using the newer 'Flag' RPU for this movie?



I think I need to scan my library for:

-Mastered in CM2.9 with CM2.9 RPU with no web DV to inject/upgrade [is CM_Analyze / Resolve the best option here for 4000nit MDL, what about 1000nit MDL?]
-Mastered in CM2.9 with CM2.9 RPU with web DV [just inject/upgrade RPU with web]
-Mastered in CM4.0 with CM2.9 RPU with no web DV to inject/upgrade [Append to CM4.0, do not generate new with CM_Analyze / Resolve?]
-Mastered in CM4.0 with CM2.9 RPU with web DV [just inject/upgrade RPU with web]

Would be amazing if your script could parse libraries into these types of lists.

I have a bunch of generated RPUs using CM_Analyze over time, but I did not check master CM version first. Luckily I archive all the original RPUs from disk so it will be easy replace.

Lastly, what logic is used to determine the cm master version?

Many thanks for everything.



These new RPUs are effectively identical to using the Ugoos “append CM v4.0” option. For RPUs that were originally mastered in 4.0 but delivered in 2.9, and where no web source exists to restore the 4.0 metadata, it is preferable to retain the original L1 values rather than generating new metadata.

because of:

https://i.ibb.co/2738txqX/firefox-MTh9-Jw-N24-I.png

Kuler087
11th April 2026, 14:17
you can batch plot(6-4) all your RPU, and it will be written if the rpu was mastered in cmv4.0.


https://i.ibb.co/KxttRktg/xnviewmp-82-Ao-Phl-Lmx.png

olinko
12th April 2026, 20:02
Hi all,

I've been using dovi_scripts for a while now and I have a question.
I use it mainly because I have an LG OLED that only supports Dolby Vision via MP4 files.

To fix this, I use dovi_script gui.
I put one of my Dolby Vision MKVs in it, select MP4 output, and simply click on dovi_muxer, and that's it.
I end up with a working Dolby Vision MP4 that actually launches Dolby Vision mode once I play it on my TV.

But it seems surprisingly too easy to me, so I'd like to know if this is really the right method to do it?
Is the MP4 file I get really a Dolby Vision file, or does it trigger the mode on my TV but it's not "real" Dolby Vision?

Thanks to anyone who takes time to explain this to me. :thanks:

I came here with the exact situation and exact same question EXCEPT I don't know how to convert from P8 to P5 properly, the GUI starts generating absurdly large temp files I don't have the space for

Kuler087
12th April 2026, 21:22
P8 to P5 requires re-encoding with DEE, and DEE is designed for large mezzanine files, not already compressed HEVC video. Unless your TV is super old, it should support P8 anyway.

Kontrarian
13th April 2026, 10:20
Wow, I just watched the first Pirates of the Caribbean with my boys tonight... what a horrible UHD!
I didn't do anything to it, just watched the straight up HDR10 UHD.
I plotted it and the movie is essentially SDR wrapped in an HDR container, probably an upscale too.
Disney... go figure.

DMD
13th April 2026, 10:25
Wow, I just watched the first Pirates of the Caribbean with my boys tonight... what a horrible UHD!
I didn't do anything to it, just watched the straight up HDR10 UHD.
I plotted it and the movie is essentially SDR wrapped in an HDR container, probably an upscale too.
Disney... go figure.
I confirm the upscaled version
https://www.blu-ray.com/movies/Pirates-of-the-Caribbean-The-Curse-of-the-Black-Pearl-4K-Blu-ray/303535/

https://www.hdnumerique.com/dossiers/1007-test-4k-ultra-hd-blu-ray-black-pearl.html

Kontrarian
14th April 2026, 07:38
I just watched the second movie with them tonight.
We literally watch movies in complete darkness and it was still way to dim in FMM.
I switched it to Cinema Home and disabled all the processing I could in that mode and it was watchable.
As a bit of a purist I hate to do that but I think they just authored these disc incorrectly.
The only ever time I've had to switch out of FMM before was Heat 4K.
My brain won't accept sunny outdoor scenes with clear skies looking like they're overcast.

@Kuler087
Did a firmware update ever give us something so we can remove the dithering and/or noise on 5 series OLEDs?
It's almost impossible to see during the vast majority of movie scenes but it's pretty noticeable in very low nit scenes.
Reminds me of my old 50" Panasonic plasma.

Kuler087
14th April 2026, 11:52
All the POC are 100–200 nits; only the last one is 1000 nits on BD and 4000 nits on streaming.

Noise: the only fix is to watch everything in DV. HDR10 is shit on the G5.
DV has chrominance overshoot and scanlines sometimes, though.

daffie
14th April 2026, 15:37
If I understand this correctly: Converting (appending) cm2.9 RPUs to cm4.0 for cm4.0 mastered movies will always be better than using CM_Analyze or Resolve to generate new DV from the BL if no web DV exists?

Edit: Here's an example:
Sisu.US-BD.P7.FEL.Generated.T3.OSC.bin (Oct 3rd 2025)
Sisu.US-BD.P7.FEL_Original_L1_CMV4.0_Flag_RPU_Edited.bin (Mar 28th 2026)
Would you recommend using the newer 'Flag' RPU for this movie?


From what I learned and know the newer Flag RPU is always better than a Generated RPU.

From best to worse quality :
1. cmv4.0 added via websource
2. Flag RPU
3. Generated RPU

If anything I said is incorrect I'll be happy to be corrected by @Kuler087

ZiROX
15th April 2026, 18:03
I'm quite confused with the new CMv4.0-Flag feature. Maybe someone can help me understand the benefits of it or explain what I'm missing in my test scenario.

Hardware used: Sony XR-83A90J OLED and Ugoos AM6B+

So far I had generated CMv4.0 via cm_analyze for all my CMv2.9 UHD-BD movies. I have compared some scenes from Hannibal (2001) using the Universal UK UHD-BD as the differences there are quite strong:

Watching the scene beginning at timestamp 14:03 I get a really dark picture watching the original CMv2.9 version.
Playing the version with generated CMv4.0 metadata (Analysis Tuning 2) as I had used to before the picture is A LOT brighter on my TV, escpecially in that scene.
As it is a "Mastered in CMv4.0" disc I used DoVi_Scripts to append the CMv4.0 flag to the RPU und reinjected it. Playing that version results in the darkened picture again, I don't see a difference in comparison to the original CMv2.9 version.

I have attached the DoVi-Plots for the original version and my generated CMv4.0 metadata.

So what am I missing? How is the movie supposed to look? Is the dark picture the correct/intended look? So far I thought my TV was just not capable of playing the correct brightness with the original disc and generating CMv4.0 would be helping in that case.
So should I stick to generating new metadata or use the new method of appending the flag? Would the result on a newer TV differ from my experience comparing the original and the "flagged" version?

Kuler087
15th April 2026, 18:12
Wow, the original metadata for this movie looks very wrong for MEL(and 1000nits MDL). So in this case, the generated metadata will definitely look brighter and better than the original (CMv4.0 flag or not).
My Blu-ray of this movie is FEL, which expands the brightness up to 10,000 nits. But your disc is MEL, so the 1,000-nit base layer cannot be expanded to 10,000 nits, and applying that tone-mapping metadata to a 1,000-nit layer will make it overly dark.

daffie
15th April 2026, 19:11
Wow, the original metadata for this movie looks very wrong for MEL(and 1000nits MDL). So in this case, the generated metadata will definitely look brighter and better than the original (CMv4.0 flag or not).
My Blu-ray of this movie is FEL, which expands the brightness up to 10,000 nits. But your disc is MEL, so the 1,000-nit base layer cannot be expanded to 10,000 nits, and applying that tone-mapping metadata to a 1,000-nit layer will make it overly dark.

I guess that really is an exception?
The generated RPU is in most cases inferior to the RPU flag method. Correct?

Kuler087
15th April 2026, 19:38
I guess that really is an exception?

Yes, but it's not the first time I've seen original metadata that makes no sense.

The generated RPU is in most cases inferior to the RPU flag method. Correct?

If the original was mastered with the old 2.9/4.0 algorithm, the generated RPU using the newer (2023) analysis tuning may be better. The new algorithm is far more tolerant to compression noise and detail-less specular highlights, whereas the old algorithm could unnecessarily make the image dimmer (more conservative).


https://i.ibb.co/XrsvCLMH/firefox-ODVTOQE7-RV.png

daffie
15th April 2026, 20:00
How can you see If the original RPU was mastered with the old 4.0 algorithm?

If the original RPU has 100, 600 and 1000 nits L2 values and it mentions "mastered in cmv4.0" that means it's the NEW 4.0 algorithm?

Kuler087
15th April 2026, 20:09
When the RPU is clearly mastered in 4.0 (10 nits avg_pq floor), aside from the release date, there’s no reliable way to tell whether the analysis was performed using the new tunings or Legacy.

daffie
15th April 2026, 20:19
When the RPU is clearly mastered in 4.0 (10 nits avg_pq floor), aside from the release date, there’s no reliable way to tell whether the analysis was performed using the new tunings or Legacy.


Only thing we can say for sure is that if the 4k is released before 2023 it's almost certain Legacy.

If the 4k is released in 2023 or later it will probably be the new tunings.

Correct assumption?

Kuler087
15th April 2026, 20:25
before September 2023, yes...
Anything after, maybe, maybe not. I'll use the cmv4.0 append for any movie mastered in 4.0, regardless of the use of tuning.

ZiROX
15th April 2026, 21:20
Okay, so I just picked the wrong movie/disc for my tests... I just used this one as it was always a good example for what difference the generated CMv4.0 metadata could make on my setup. Just good to know that it just was for all the wrong reasons :D

Thanks for your answer :)

daffie
16th April 2026, 08:27
I'll use the cmv4.0 append for any movie mastered in 4.0, regardless of the use of tuning.

Why?

Because you also said :


If the original was mastered with the old 2.9/4.0 algorithm, the generated RPU using the newer (2023) analysis tuning may be better. The new algorithm is far more tolerant to compression noise and detail-less specular highlights, whereas the old algorithm could unnecessarily make the image dimmer (more conservative).

The generated RPU may be better - so why do you still use the cmv4.0 append on all movies mastered in 4.0 ? That seems strange to me to do...
Because if the original RPU was mastered with the old algo, the cmv4.0 append could be worse (dimmer) than the Generated one.

Kuler087
16th April 2026, 11:53
Because that's too much work and G5 doesnt need tone mapping for most content.

daffie
16th April 2026, 13:06
Because that's too much work and G5 doesnt need tone mapping for most content.

Ok, thought so.

For me with a G1 it's a different story.

SamuriHL
16th April 2026, 16:46
Yea and if HDR is truly fixed on the G6, I may start using that more rather than generating DV for them. Definitely for anything under 2000 nits. Anything over 2000 nits and you get more bang for buck with DV CMv4.0. For CMv2.9, I'll be doing the same as Kuler087 and just setting it to always.

Kuler087
16th April 2026, 17:01
I'm hearing the G6 is still too bright near black, so DV cmv4.0 might still be the way to go.

Your TV might not have enough usage yet, but can you try these files? On the G5, DV has the scanlines dithering effect and HDR10 flickers because it's too bright near black.

DoVi (https://drive.google.com/file/d/1Vc-DqY8Ug5s7BZK_PCDuxsLuIJAeJQGp/view?usp=drive_link)
HDR10 (https://drive.google.com/file/d/1pi8e5dAwNF2i_8NO6q7DvKkg8k9wBxIi/view?usp=drive_link)

SamuriHL
16th April 2026, 17:08
Yea I'll take a look tonight. Right now my display is overbright on both DV and HDR and until it's broken in and I can calibrate it I won't know for sure if it's fixable or not. But I'll see what I can in those files once it's dark enough in here.

Kuler087
16th April 2026, 17:37
thanks I'd be curious about the low luminance dithering noise too. The G5 HDR10 has much more noise than DV under 10nits. Also way worse in Green cyan and Yellow


Dovi low lum test file (https://drive.google.com/file/d/17GgXn7PTB3pFEvbpqXiVUowPa8kdKN5Q/view?usp=drive_link)
HDR10 low lum test file (https://drive.google.com/file/d/14VnigMRBxGqnqiqmtxj4-36WyjfAKfq_/view?usp=drive_link)

For reference, the C2 has no dithering noise at all, see: https://www.avsforum.com/threads/lg-2025-g5-series-oled-owners-friends-thread-general-help-settings.3323209/page-864?post_id=64475783#post-64475783

SamuriHL
16th April 2026, 19:14
I don't recall my G2 having any either. I have the next few days off after I get off work today so I should be able to do a whole bunch of stuff. I badly want to see how good this new HDR pipeline is now that it's 12 bit processing on the G6. They claim it fixes a bunch of stuff but we'll see.

dkangel
16th April 2026, 19:58
hello
weird thing happened to me.
i download a movie with wrong L5 (0.0.0.1320) so i correct it to 0.0.0.0
but doing that the framerate of the resulting hevc file change from 23.97 to 25 so i had to use dovi_script again to correct it
it's the first time i see that, what could be wrong with this file ?
thank you

Kuler087
16th April 2026, 20:18
Itunes webdl?
If not already corrected, the framerate bitstream information is missing, and it will default to 25fps.

dkangel
16th April 2026, 20:22
yes itune webdl, so it's normal....
but
Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5@High
HDR format : Dolby Vision, Version 1.0, Profile 8.1, dvhe.08.06, BL+RPU, no metadata compression, HDR10 compatible / SMPTE ST 2094 App 4, Version HDR10+ Profile B, HDR10+ Profile B compatible
Codec ID : V_MPEGH/ISO/HEVC
Duration : 1 h 31 min
Bit rate : 23.9 Mb/s
Width : 3 828 pixels
Height : 1 596 pixels
Display aspect ratio : 2.40:1
Frame rate mode : Constant
Frame rate : 23.976 FPS

and after correction of L5

Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5@High
HDR format : Dolby Vision, Version 1.0, Profile 8.1, dvhe.08.06, BL+RPU, no metadata compression, HDR10 compatible / SMPTE ST 2094 App 4, Version HDR10+ Profile B, HDR10+ Profile B compatible
Codec ID : V_MPEGH/ISO/HEVC
Duration : 1 h 27 min
Bit rate : 25.0 Mb/s
Width : 3 828 pixels
Height : 1 596 pixels
Display aspect ratio : 2.40:1
Frame rate mode : Constant
Frame rate : 25.000 FPS

it seems that framerate info is there in the original file

also that with original file

Summary:
Frames: 603
Profile: 8
DM version: 2 (CM v4.0)
Scene/shot count: 3
RPU mastering display: 0.0001/1000 nits
RPU content light level (L1): MaxCLL: 258.54 nits, MaxFALL: 10.05 nits
L6 metadata: Mastering display: 0.0001/1000 nits. MaxCLL: 421 nits, MaxFALL: 283 nits
L5 offsets: top=0, bottom=0, left=0, right=1320
L2 trims: 100 nits, 600 nits, 1000 nits
L8 trims: 100 nits
L9 MDP: DCI-P3 D65
Base Layer (HDR10+P8): min: 0.0050 cd/m2, max: 1000 cd/m2(BT.2020), MaxCLL: 817nits, MaxFALL: 288nits
Resolution\FPS: 3828 x 1596 @ 23.976

after L5 correction

Summary:
Frames: 603
Profile: 8
DM version: 2 (CM v4.0)
Scene/shot count: 3
RPU mastering display: 0.0001/1000 nits
RPU content light level (L1): MaxCLL: 258.54 nits, MaxFALL: 10.05 nits
L6 metadata: Mastering display: 0.0001/1000 nits. MaxCLL: 421 nits, MaxFALL: 283 nits
L5 offsets: top=0, bottom=0, left=0, right=0
L2 trims: 100 nits, 600 nits, 1000 nits
L8 trims: 100 nits
L9 MDP: DCI-P3 D65
Base Layer (HDR10+P8): min: 0.0050 cd/m2, max: 1000 cd/m2(BT.2020), MaxCLL: 817nits, MaxFALL: 288nits
Resolution\FPS: 3828 x 1596 @ 25.000

SamuriHL
17th April 2026, 00:29
It may be Saturday before I get to looking at those videos. Doing a movie night tomorrow night and had other priorities that took too much time tonight. I'm chilling with John Wick 2. Dolby rocks!

Kuler087
17th April 2026, 00:35
it seems that framerate info is there in the original file


Just because mediainfo reports a framerate doesnt mean the bitstream is correct. Write a new framerate in 9-2

Kuler087
17th April 2026, 00:36
It may be Saturday before I get to looking at those videos. Doing a movie night tomorrow night and had other priorities that took too much time tonight. I'm chilling with John Wick 2. Dolby rocks!

Looking forward to your impressions, even though I’m not upgrading my G5 anytime soon.

SamuriHL
17th April 2026, 02:03
Looking forward to your impressions, even though I’m not upgrading my G5 anytime soon.

There's no reason to upgrade a G5. Hell I didn't even really want to upgrade the G2 yet but I will say that in 4 years, LG has certainly been busy. One of the most impressive displays I've ever seen.

SamuriHL
17th April 2026, 02:22
I finished John Wick 2 (wow btw) and had a minute to check those 4 videos. Oy what a mess.

Low Luminance DV: it is way WAY WAY overbrightened below 0 nits. That's depressing. Probably able to fix it in calibration.
Low Luminance HDR: This is actually better. It's still too bright below 0 nits but better than DV by far. Should be fairly easy to clean this up in calibration.
Scan lines DV: Oh yea definitely can see those up close. Not as noticeable at distance, of course
Scan lines HDR: Not noticeable even up close and personal. NICE

It would appear HDR is quite impressive out of the box. These are factory default FMM with 13 hours on the panel. I like!

P.S. I've turned OFF VS10 HDR->DV now as I do NOT think that's worth it on this panel given what they've done.

Kuler087
17th April 2026, 02:32
Just like the C2/G2 at launch, DV was way too bright… Typical LG, repeating the same mistake almost every year. The next firmware will likely make FMM accurate across all three modes, as it should be.
The overtracking is probably masking the dithering noise, so please check again once it’s fixed.

As for the scanlines sample, do you see flickering in HDR10? On both the C2 and G5, it looks terrible because it comes out of black too quickly.
DV scanlines rarely show up, but when it does, it's annoying. Usually, with poorly graded movies with lifted blacks.

SamuriHL
17th April 2026, 03:12
The G6 is coming out of black way slower. No flickering at all. It's actually quite impressive for an uncalibrated display.

Will definitely check again once I calibrate it. We'll see how many hours I get in this weekend as I'm off for 4 days. LOL

Kontrarian
17th April 2026, 03:32
Not that my C5 77" matters much in a G5/G6 conversation but the low nit dithering/noise is really something.
Up close it looks like snow coming down with diagonal lines.
I can't see it from my couch though in detail but I can tell that it's not 100% black and that's even with the L5 active area.
Made me think that L5 was not working properly, but it turns out it's just low nit dithering and noise.
I have a Kodi skin (running at 1080p120 SDR) with a black background and white text and the background is 100% black, but playing a movie I get that dithering / noise in the L5 active area.
And I know L5 is working properly because it passes all the L5 test videos.
I wasn't expecting perfection from my C5 and I knew that low nit noise and dithering were going to be there to offset overshoot but yeah, once you see it then you know.
Again, I can't see it from my couch, I have to be pixel peeping to actually see it, but from my couch I can tell that the black is not black.

Gatorman3385
17th April 2026, 03:43
I've added a feature request at Blackmagic to add the ability to modify per-clip blanking through the Scripting API to Davinci Resolve. I'm not overly optimistic, but maybe with replies that show support for the idea they'll add it.

https://forum.blackmagicdesign.com/viewtopic.php?f=33&t=234984

Kuler087
17th April 2026, 03:47
The G5 noise in DV isn’t really an issue at a normal viewing distance.
The scanlines are far more distracting and easily noticeable from 8–10 ft in a dark room, but thankfully, they don’t occur very often in real content.

On the other hand, HDR10 with the noise and near-black flickering is terrible(and way worse than the C2).

Kuler087
17th April 2026, 03:58
I've added a feature request at Blackmagic to add the ability to modify per-clip blanking through the Scripting API to Davinci Resolve. I'm not overly optimistic, but maybe with replies that show support for the idea they'll add it.

https://forum.blackmagicdesign.com/viewtopic.php?f=33&t=234984

Just being able to import an XML that automatically splits the timeline into shots based on scene cuts, with all the metadata intact, would be ideal.
That’s what I would have asked for.

Right now, when you import the XML, it pulls in the tone-mapping metadata per shot, but not the blanking, and the timeline itself isn’t actually split into individual shots.

I wouldn’t automate that in a script though, I prefer verifying blanking manually. In my experience, Disney’s variable L5 metadata often has mistakes, even on recent titles like Tron: Ares.

Gatorman3385
17th April 2026, 04:05
That's fair. I can add that to the thread, or reply to the one you created. Do you have a link?

Kuler087
17th April 2026, 04:12
That would make the imported metadata fully editable (trims, new shot analysis, and it would even show which tuning analysis was used)
I did not make any request on their forum... I said: That’s what I would have asked for.

Gatorman3385
17th April 2026, 04:15
Hah! Reading was never my strong suit. :)

Gatorman3385
17th April 2026, 19:05
I took your advice and added a separate feature request.

Import XML that includes all metadata (https://forum.blackmagicdesign.com/viewtopic.php?f=33&t=235076&sid=0bfcc31d5c57351b0ee93ae12bfa2aaa)

Kuler087
17th April 2026, 19:18
Thanks, that would be amazing.

MwenDavo
19th April 2026, 05:42
Hi, I seem to have found a movie (Avatar 2009 Director's Cut) that has both the HDR10 and RPU L6 MaxCLL/MaxFALL set to 0. How does the script handle these during FEL Baking?

Kuler087
19th April 2026, 13:40
The script ignores L6

MwenDavo
19th April 2026, 15:30
The script ignores L6

Didn't 8-6-1 use the HDR10 MaxCLL/MaxFALL for MEL and RPU MaxCLL/MaxFALL for FEL for the luminance encoding parameter? What does it do if both values are 0 or don't exist?

Kuler087
19th April 2026, 15:36
Yes, it uses the original HDR10 cll/fall for MEL and the RPU L1 max/avg values for FEL.
When cll/fall are 0, the script uses 0. You can edit the metadata after the encoding with workflow 9-9.

MwenDavo
19th April 2026, 15:44
Yes, it uses the original HDR10 cll/fall for MEL and the RPU L1 max/avg values for FEL.
When cll/fall are 0, the script uses 0. You can edit the metadata after the encoding with workflow 9-9.

Oh! So it calculates the max/avg from plotting the whole L1 from the RPU? I didn't notice that. Does it use the P7 RPU or the converted P8 one?

Kuler087
19th April 2026, 16:28
Does it use the P7 RPU or the converted P8 one?

Converting an RPU profile doesnt change the dynamic metadata.

halls
21st April 2026, 21:18
Hi!

I need a litle help.

I would like to mux a 4k uhd dovi bd disc into mkv. BL+RPU is the goal.

The disc is MEL with cmv4 dovi algorithm, 7.6 dovi profile.

I extracted the base layer, now its dovi free.
I also extracted the 7.6 profile rpu from the MEL layer and converted it to profile 8.01 , I kept the 4.0 algorithm during the conversion.
Do I need to modify anything else in the new RPU or can I inject it back into the base layer?

Thank You!

Kuler087
21st April 2026, 21:22
You can inject the P8 rpu with workflow 1, nothing else to edit.

PS, you didn't have to do that manually. You could just run your original disc(or P7 mkv) in workflow 4-1.

halls
21st April 2026, 21:24
You can inject the P8 rpu with workflow 1, nothing else to edit.

PS, you didn't have to do that manually. You could just run your original disc(or P7 mkv) in workflow 4-1.

Thank You Sir!

rollmayonnaise
30th April 2026, 08:56
EDIT3: ChatGPT told me to replace .mov. with .avs. at line 10380. Workflow 6-2 ran correctly, so I think that was the error.

EDIT2: Actually, the second error (workflow 6-2) is still there.

EDIT: Nevermind, I hadn't updated the tools folder from the latest public release.

Hello. since updating to the latest beta and adding additional files in the tools folder from this thread many of the workflows don't work anymore. Do you have a repository that includes all files to add when using a specific beta? When trying workflow 7-5, I get the following error:
usage: creates_metadata_json.py [-h] --source_min_pq SOURCE_MIN_PQ --source_max_pq SOURCE_MAX_PQ
[--block1_start BLOCK1_START] [--block1_duration BLOCK1_DURATION]
[--raw_block1 RAW_BLOCK1] [--block1_L1_min BLOCK1_L1_MIN]
[--block1_L1_max BLOCK1_L1_MAX] [--block1_L1_avg BLOCK1_L1_AVG]
[--block1_L2_2081_trim_slope BLOCK1_L2_2081_TRIM_SLOPE]
[--block1_L2_2081_trim_offset BLOCK1_L2_2081_TRIM_OFFSET]

[...]

[--block8_L8_49_hue_vector_field4 BLOCK8_L8_49_HUE_VECTOR_FIELD4]
[--block8_L8_49_saturation_vector_field5 BLOCK8_L8_49_SATURATION_VECTOR_FIELD5]
[--block8_L8_49_hue_vector_field5 BLOCK8_L8_49_HUE_VECTOR_FIELD5] -o OUTPUT
creates_metadata_json.py: error: unrecognized arguments: --raw_block9 H:\tempy\temp.folder76\raw8.txt --block9_start 1086 --block9_duration 138 --raw_block10 H:\tempy\temp.folder76\raw9.txt --block10_start 1224 --block10_duration 138 --raw_block11 H:\tempy\temp.folder76\raw10.txt --block11_start 1362 --block11_duration 138
Error: The system cannot find the file specified. (os error 2)
Error: The system cannot find the file specified. (os error 2)
Error: The system cannot find the file specified. (os error 2)

When trying workflow 6-2, I get this:

Measuring video file "H:\tempy\temp.folder81\a_transfer=hdr.matrix=2020.avs" using D3D11 (native)...
Metadata:
Mastering display luminance: 0/0, gamut: 0 0, 0 0, 0 0, 0 0
MaxCLL: 0, MaxFALL: 0 nits
Measurements:
Frames: 156701, MaxCLL 100%: 398, 99.9%: 350, MaxFALL: 237, AvgFALL: 8, AvgFMLL: 178 nits
Reading generate config file...
Parsing madVR measurement file...
Generating metadata: Profile 8.1 (HDR10)...
Generated metadata for 156701 frames
Done.
1 file(s) moved.
Parsing RPU file...
Plotting...
Done.
Parsing RPU file...
Exporting serialized RPU list...
Done.

Calculating per shot MaxFALL threshold...
Done.

Calculating per shot MaxCLL threshold...
Done.

Traceback (most recent call last):
File "F:\dovi\DoVi.Scripts\tools\madvr_parser.py", line 161, in <module>
main()
~~~~^^
File "F:\dovi\DoVi.Scripts\tools\madvr_parser.py", line 144, in main
frames = parse_maxcll_frames(args.input)
File "F:\dovi\DoVi.Scripts\tools\madvr_parser.py", line 28, in parse_maxcll_frames
with open(path, "rb") as f:
~~~~^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: 'H:\\tempy\\a_transfer=HDR.matrix=2020.mov.measurements'
Deleting TEMP folder...

Have you encountered these before?

Kuler087
30th April 2026, 14:07
ChatGPT told me to replace .mov. with .avs. at line 10380. Workflow 6-2 ran correctly, so I think that was the error.

for the latest beta, there are new files required in 6-2.

madvr parser:
https://drive.google.com/file/d/1udL_-fagZyadOa0nzMQV58E0c9klJIKU/view?usp=drive_link

This file parses madVR measurement files and plots the data frame by frame in an interactive graph, making it easy to display the MaxCLL/FALL of any frame.
example: https://typical-gold-cr4pa77lk9.edgeone.app/

DoVi_tool_SDR:
https://drive.google.com/file/d/1inQ1F6w-NFx7RZWjiWn-IpL7u_FhOzc4/view?usp=sharing

This new file caps the SDR plot graph at 100 nits, as it should. Since SDR has to be placed in an HDR container for plotting in madVR, artifacts or grain can cause madVR to read pixel values above 100 nits (255 in 8-bit), which isn’t possible for SDR.


CHANGES in beta since last public:

- EDITOR (1): added a mode that can upgrade cmv2.9 to 4.0 (Same as the Ugoos ''append''... remember that any L2 trims will then be ignored)
- (8-2-4): Can now deliver trim pass(es) from HDR10. Will use cm_anlayze to generate it
- (8-2-4): Can now encode a 100nits trim pass to x264/x265 SDR... Line 160 (default = NO)
- (3-1): New mode, can now generate DV with Davinci Resolve API. (Default=CM ) see line
- (3-1): Can now bake fel and upgrade a P7 rpu
- (3-1): Will now crop prores which can improve speed of the encoding, scene cut detection and metadata generation.
- (7-1 / 7-2): FEL baking is now supported without an Nvidia GPU. (was too slow before) You may gave to install the latest python(to path) and if you do, dont forget to re-install all the libraries
- (6-2): Will now create a separate maxcll frame by frame plot with interactive options. you have to run ''pip install plotly'' and add this new file in the tools folder:
- (8-2): Loop mode now has 3 options: NO, STILL or MOTION... Line 223 (default = NO)
- (7-2) Two or more 1080p inputs were upscaled to 2160p unless you manually disabled the upscaling in the settings. This is now automatic.
- (6-2): 50% faster processing of SDR inputs
- (8-2)(7-2)(6-2): added an option to specify the target nits for HLG inputs. line (default = 1000)
- (6-2) limit SDR plot to 100nits, new file needed in the tools folder.
- (8-2): BUGFIX: fix a ffms2(non-nvidia system) issue where dovibaker could fail (mismatched EL BL framecount).

ralberti
1st May 2026, 09:33
Hi guys,

I have a strange problem. I have a video file with DV Profile 8.1 dvhe 08.06. If playing the file on older android tv devices, my TV recognizes it as DV and works great. But on a newer device, with SOC S905X5M and Android 14, it starts as DV but immediatly changes to SDR. Other files don't have this problem, only some of them. I checked L5 trim and the RPU and video are aligned and I don't see any diference between this file and any other that works well. ¿Can you help me to get any clue what is happening?

Kind regards,

Kuler087
1st May 2026, 13:10
no idea

rollmayonnaise
3rd May 2026, 00:26
for the latest beta, there are new files required in 6-2.
[B]


Thanks for sharing the detailed beta changes. After downloading all the necessary files, I still had to correct what seems (from the code around it) like a small error on line 10380 of "DoVi_Scripts_MKV.bat". It looks like it should be ".avs." instead of ".mov."

Also, would you consider adding a workflow for generating comparison videos (similar to workflow 7-5) from two different sources, for example a DV P5 WEB-DL and an HDR remux? I am particularly interested in comparing cases where the WEB-DL grade appears brighter. For instance, I recently got a DV P5 WEB-DL of Rope (1948) that seems brighter according to madVR, especially compared to your HDR remux plot in your YouTube comparison.

Screenshots are not very practical for me since I cannot easily connect my PC to a proper HDR display. A video file would make it much easier to compare accurately and consistently on the appropriate device.

Kuler087
3rd May 2026, 01:04
I still had to correct what seems (from the code around it) like a small error on line 10380 of "DoVi_Scripts_MKV.bat". It looks like it should be ".avs." instead of ".mov."

Ah, right, it's because I use ProRes when I crop and I never tested the script default. set crop.prores62=NO
The script's default uses an avisynth script to crop, which is a lot slower.
Anyway, fixed in the latest beta (https://drive.google.com/file/d/128gq8aDUTKA_aT7SQsM9dkjA1EP1sosR/view?usp=drive_link).

Also, would you consider adding a workflow for generating comparison videos (similar to workflow 7-5) from two different sources, for example a DV P5 WEB-DL and an HDR remux? I am particularly interested in comparing cases where the WEB-DL grade appears brighter. For instance, I recently got a DV P5 WEB-DL of Rope (1948) that seems brighter according to madVR, especially compared to your HDR remux plot in your YouTube comparison.

Yes, I could do that.
I already have a script that creates my YouTube comparisons, but I just keep it to myself.

Kuler087
3rd May 2026, 01:27
ps: I improved the FEL expanded brightness detection in this beta version. It should be faster and even more reliable.

Keemy
3rd May 2026, 04:12
Can the picture type get added to the OSD for workflow 7-2 SDR 100-nit trim pass and is it possible to pick the same frame types or is it always random (B,I,P)

Kuler087
3rd May 2026, 04:20
It doesn’t get added when you use the trim-pass tone mapping because the frames are extracted from Dolby CM_Offline, which only supports intra-frame (I-frame–only) video like ProRes.
It would be possible with some effort, but I don’t think I care enough about that.

Keemy
3rd May 2026, 05:25
I see, thanks for the explanation.

Keemy
3rd May 2026, 15:30
Trying to get a more in depth understanding of MDL and L6 values. I've seen releases marked mismatched MDL specifically from MA or iTunes HDR10+ and that a hybrid P8 is not possible or improper. The CMv2.9 MDL over-dimming bug has been mentioned here as well as CMv4.0 alleviates this as it ignores the MDL value. Does the mismatch actually matter for hybrids (1000 cd/m2 vs 4000 cd/m2).

For L6 values I see a lot of releases that edit them to match HDR BL before injection. In your P8 hybrid video u noted this does not matter and can be skipped. Some releases also state if the values aren't edited it can cause under-exposure or clipping on TVs that don't support DV playback. I would assume those TVs don't access the RPU so it wouldn't even matter. So are there any implications to not matching the values in the RPU or is it just good practice?

Kuler087
3rd May 2026, 16:21
mdl mismatch doesnt matter as long as the grade check is done in 6-2(with cropping)
L6 is always useless and doesnt matter.

Gatorman3385
6th May 2026, 01:02
I have an HDR file that I would like to encode to SDR. Is there any advantage in picking a different Tuning preset when generating DV. My default is 1, Most Mapping. If my end result is an SDR file, should I use Balanced?

Kuler087
6th May 2026, 01:17
Same rule, T3 can clip.
I always use T1 + a small raise in gamma and slope. You can always use workflow 7-2 and test a few screenshots with different tuning.

fyi, automatic scene cut detection can cause unintended results with HDR compressed as low as 100nits SDR. Manual/verified SC is recommended.

Lucky38
6th May 2026, 08:15
Hello Kuler,

Do you know how to find for each hdr/dovi source white value to be used in below call?

pre = original.DGHDRtoSDR(mode="pq", white=849, gamma=1/2.4, tm=1.0)

SMDegrain(tr=3, thSAD=280, thSCD2=100, limit=140, limitC=120, thSADC=240, prefilter=pre, contrasharp=false)

Kuler087
6th May 2026, 11:34
No, and I don't care anymore about the other HDR to SDR tone mapping algo. Dolby tuning analysis(8-2-4) is way more accurate and better than anything else.

Lucky38
6th May 2026, 13:38
No, and I don't care anymore about the other HDR to SDR tone mapping algo. Dolby tuning analysis(8-2-4) is way more accurate and better than anything else.


i do not wont to convert hdr to sdr, i would like to find white point to be able to add value to smdegrain only...

Kuler087
6th May 2026, 14:00
Sorry, I dont know and can't help you with that.

Keemy
7th May 2026, 04:35
What's the recommended workflow for HLG vs a retail SDR source for tonemapping?

Kuler087
7th May 2026, 13:13
You should specify a target nits that match your display.
set HLG_target_nits=1000

Kontrarian
8th May 2026, 06:37
Finally back up and running with my new computer!
This Core Ultra 7 265F and RTX 5060 Ti 16GB desktop is much faster than my i7 and GTX 1060 laptop running some of these scripts.
Thank you for everything you do @Kuler087!

I have a movie I'm looking to compare the MA DV version against the 1080p SDR BD version.
Is there a way to make a test clip for that in DoVi_Scripts?

dbuser38
8th May 2026, 11:08
I'm new to this but would understand some workflows better.
Is there a Way (Workflow) to made a HDR10 mkv File to Dolby Vision (mostly i think Profile 8.1 - that doesn't matter) ?

Kuler087
8th May 2026, 11:31
I'm new to this but would understand some workflows better.
Is there a Way (Workflow) to made a HDR10 mkv File to Dolby Vision (mostly i think Profile 8.1 - that doesn't matter) ?

workflow 3-1

Kuler087
8th May 2026, 11:33
Finally back up and running with my new computer!
This Core Ultra 7 265F and RTX 5060 Ti 16GB desktop is much faster than my i7 and GTX 1060 laptop running some of these scripts.
Thank you for everything you do @Kuler087!

I have a movie I'm looking to compare the MA DV version against the 1080p SDR BD version.
Is there a way to make a test clip for that in DoVi_Scripts?

you can make samples in 9-3 or video comparison in the new 7-6( havent tested it yet)

rollmayonnaise
8th May 2026, 22:37
Hello,

I'm running into an issue where DoVi_Scripts sometimes treats a movie I encoded in Resolve or HandBrake as SDR when I try to use workflow 7-2 for Dolby Vision tonemapping.

Basically, I'm trying to correct the apparently incorrect color space on KL's release of The Phantom. I found a Color Space Transform in Resolve that seems to reverse whatever mistake happened during authoring, and the corrected image looks promising. But to confirm 100%, I want to export the DV-tonemapped screenshot of that correction and make sure it matches with the NEW SDR Blu-ray. If I can get this working properly, I may try it on a few other titles as well.

The problem is that after exporting and injecting the RPU, I get inconsistent results. Sometimes MediaInfo reports the file as Dolby Vision Profile 8.5 with an SDR BL. Other times, if I export to ProRes/DNxHR and then encode in HandBrake, or if I export from Resolve on my Mac instead of my Windows PC, MediaInfo reports it as Dolby Vision Profile 8, but not specifically Profile 8.1.

With that latter file, when I use workflow 7-2 in DoVi_Scripts, the screenshots come out looking like the source was treated as SDR. MediaInfo does show the file as PQ / BT.2020, so I'm not sure why it's being handled that way.

One thing I wondered about is whether the lack of HDR10 metadata could be part of the issue. Maybe having HDR10 metadata present would help DoVi_Scripts, or another tool in the chain, recognize or construct it as a proper DV Profile 8.1 file. I'm not sure if that's actually relevant, though, and I don't have Resolve Studio, so I can't add HDR10 metadata directly from Resolve.

Have you successfully used your own PQ HDR encodes without HDR10 metadata, injected an RPU into them, and had DoVi_Scripts recognize them correctly? Any suggestions for making sure these files are read properly would be appreciated. Thanks!

Kuler087
8th May 2026, 22:48
If the script cannot detect HDR, it assumes SDR.

if not "!v%%i!"=="HDR" if not "!v%%i!"=="p5" if not "!v%%i!"=="HLG" set "v%%i=709"

You can try to add the HDR10 metadata with the workflow 9-9.
or
You could deliver to ProRes and then encode to HEVC with workflow 8-2-1; the script will ask you to select proper HDR10 metadata. And inject the DV metadata after the encode with workflow 1

ps: I wouldn't use HandBrake, Staxrip is a way better GUI for x265.

RRAH
9th May 2026, 06:24
Same rule, T3 can clip.
I always use T1 + a small raise in gamma and slope. You can always use workflow 7-2 and test a few screenshots with different tuning.

fyi, automatic scene cut detection can cause unintended results with HDR compressed as low as 100nits SDR. Manual/verified SC is recommended.

Interesting.

I assume that in the Dolby Vision Primary Controls, "gain" is the equivalent of "slope"?

What is your typical range for gamma and slope (gain)?

What about mid-tone offset?

Thanks in advance.

Kuler087
9th May 2026, 13:48
yes gain = slope
I never raise slope too much because it clips highlights. I dont touch mid-tone.

https://i.ibb.co/Kpfn8ffY/Resolve-n-Q1-Nznt-Kjv.png

rollmayonnaise
10th May 2026, 15:05
If the script cannot detect HDR, it assumes SDR.

if not "!v%%i!"=="HDR" if not "!v%%i!"=="p5" if not "!v%%i!"=="HLG" set "v%%i=709"

You can try to add the HDR10 metadata with the workflow 9-9.
or
You could deliver to ProRes and then encode to HEVC with workflow 8-2-1; the script will ask you to select proper HDR10 metadata. And inject the DV metadata after the encode with workflow 1

ps: I wouldn't use HandBrake, Staxrip is a way better GUI for x265.

Thanks, I went with the ProRes workflow. I'll look into Staxrip. I exported the screenshots but I think I might have done something wrong at some point. So, instead of trying again, I ended up borrowing a Studio license key to preview the 100-nit DV-tonemapped look in Resolve directly compared to the (wrapped in HDR) New SDR Blu-ray. I did find one color space transform that works almost perfectly to fix The Phantom (1996)'s HDR but there is a very slight difference still. I used P3-D65 as output colorspace on the HDR clip.

Kuler087
10th May 2026, 15:13
Yes, this movie and Dead Again have color space issues (P3 vs. BT.2020) during their encoding workflow. @Dorian on Blu-ray.com showed that it could be corrected (https://forum.blu-ray.com/showpost.php?p=24027633&postcount=228).
Leprechaun is another example, but that one looks much worse.

I did a video comparison for these 3 movies:

https://youtu.be/bp8rEqs-esU
https://youtu.be/VqVjmM3_joU
https://youtu.be/M9DieaMRO2s

rollmayonnaise
10th May 2026, 16:30
Yes, this movie and Dead Again have color space issues (P3 vs. BT.2020) during their encoding workflow. @Dorian on Blu-ray.com showed that it could be corrected (https://forum.blu-ray.com/showpost.php?p=24027633&postcount=228).
Leprechaun is another example, but that one looks much worse.

I did a video comparison for these 3 movies:

https://youtu.be/bp8rEqs-esU
https://youtu.be/VqVjmM3_joU
https://youtu.be/M9DieaMRO2s

Yes, I've seen all of your comparisons and the Blu-ray.com thread, which is why I thought about trying to correct the colorspace issue. That said, the suggested fix seems to match the new SDR Blu-ray look very closely, but not perfectly when toggling back and forth in Resolve.

On another note, I just exported screenshots from the new SDR Blu-ray of Babe (1995), since that's another recent Kino Lorber release where you posted DV-tonemapped screenshots, but only compared them to the old SDR Blu-ray. I downloaded your DV-tonemapped screenshots from Slow.pics and reuploaded them alongside the new SDR Blu-ray screenshots:



I do see a noticeable difference, but I wouldn't say it looks like a colorspace issue, right? Were your Babe screenshots made with an earlier version of the script where the workflow was flawed?

Either way, it's concerning to me that two KL releases have had colorspace issues. It makes me wonder if this might affect more of them and people just haven't noticed yet. I hope they at least correct the mistake in their workflow going forward, rather than compromising remasters we may never see on the format again. I do appreciate them using FEL and keeping CMv4.0, though.

Kuler087
10th May 2026, 16:47
There's no color issues in Babe. Just because there's a DV 100nits trim pass doesn't mean that's always what they use for their SDR deliverable.

And please don't use content with filenames related to piracy, it's against this forum's rules.

DMD
10th May 2026, 17:16
Yes, this movie and Dead Again have color space issues (P3 vs. BT.2020) during their encoding workflow. @Dorian on Blu-ray.com showed that it could be corrected (https://forum.blu-ray.com/showpost.php?p=24027633&postcount=228).......
Can the correction be made using just CST?
Thank you

https://i.postimg.cc/yxwrgnGQ/Screenshot-2026-05-10-181124.png

Kuler087
10th May 2026, 17:22
I dont know, I dont care enough about these movies to try anything.

Kuler087
10th May 2026, 19:13
had a quick look using my youtube video as source, and the BT2020 to P3 resolve CS transformation function works. https://slow.pics/c/mE63qNeA

DMD
10th May 2026, 19:18
had a quick look using my youtube video as source, and the BT2020 to P3 resolve CS transformation function works. https://slow.pics/c/mE63qNeA
Perfect, it looks much better now.
The color grading is correct.
It's strange that they didn't notice the color space conversion error.

Kuler087
10th May 2026, 19:22
These so-called professionals are actually some of the biggest amateurs when it comes to quality control, so I’m not surprised.
It’s the same story with Kaleidescape. I’ve had to get them to correct tons of releases for the exact same reasons.

DMD
10th May 2026, 19:25
It would be helpful to have a list of all the movies with incorrect color spaces; maybe I have some of them myself and just haven’t looked into it further.

rollmayonnaise
10th May 2026, 20:54
And please don't use content with filenames related to piracy, it's against this forum's rules.

Sorry about that.

There's no color issues in Babe. Just because there's a DV 100nits trim pass doesn't mean that's always what they use for their SDR deliverable.

Yes, you must be right about the separate SDR deliverable. I just incorrectly assumed that it would be done the same as KL's 2 other recent releases with a trim pass delivery.

daffie
11th May 2026, 16:05
It would be helpful to have a list of all the movies with incorrect color spaces; maybe I have some of them myself and just haven’t looked into it further.


Yeah, I'm also interested in such a list.

MwenDavo
12th May 2026, 21:42
Hi. Does the script support HDR10+ to Dolby Vision Profile 8 conversion? If so, which workflow would it be? I found the 3-2 workflow but it shows as not recommended.