View Full Version : [DoVi_Scripts] Multi-Function Scripts for Dolby Vision processing and a lot more...
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.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.