I was curious and was testing a nightly of Handbrake which promises DV support. But I have problems with the results. My Z9X plays it when I choose MP4 as output. But when I choose MKV then the TV recognizes only HDR. A Remux from MP4 (which plays as DV) to MKV will also play only as HDR. Mediainfo gives me this information for the mkv: HDR format : Dolby Vision, Version 1.0, dvhe.08.06, BL+RPU, HDR10 compatible / SMPTE ST 2086, HDR10 compatible / SMPTE ST 2086, HDR10 compatible Are there known problems that the Z9X does not play this as DV?
No - it plays Profile 8 (dvhe.08.06) just fine. I would suggest Handbrake is the issue. The best way is to encode the HDR10 layer then extract the DV metadata from the original file and re-inject as Profile 8 into the new one using Dovi_Tool.
This seems to work with the Dovi Tool. It is only weird that the MP4 is played as DV but the MKV (remuxed with MKVToolNix using the MP4 as source) not. But the hevc from Dovi_Tool I can use in MKVToolNix to create a working MKV.
Are you sure you are producing STDL files and not DTDL? MP4 Profile 7 files are DTDL so if you remux in MKVToolnix, you'll get DTDL MKV which are non standard and won't work.
The MP4 was Profile 8 Single track (this is what you meant with STDL?): Code: Writing application : HandBrake 20231102173011-ec8b8cd5c-master 2023110301 Video ID : 1 Format : HEVC Format/Info : High Efficiency Video Coding Format profile : Main 10@L5@High HDR format : SMPTE ST 2086, Version 1.0, dvhe.08.06, BL+RPU, HDR10 compatible / Dolby Vision, HDR10 compatible / SMPTE ST 2086, HDR10 compatible Codec ID : hvc1 Codec ID/Info : High Efficiency Video Coding Duration : 1 min 47 s Bit rate : 1 625 kb/s Width : 3 840 pixels Height : 2 160 pixels Display aspect ratio : 16:9 Frame rate mode : Variable Frame rate : 23.976 (24000/1001) FPS Minimum frame rate : 23.974 FPS Maximum frame rate : 23.981 FPS Color space : YUV Chroma subsampling : 4:2:0 (Type 2) Bit depth : 10 bits Bits/(Pixel*Frame) : 0.008 Stream size : 20.7 MiB (72%) Writing library : x265 3.5+1-f0c1022b6:[Windows][GCC 13.2.0][64 bit] 10bit Encoding settings : cpuid=1111039 / frame-threads=4 / numa-pools=24 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=3840x2160 / interlace=0 / total-frames=0 / level-idc=0 / high-tier=1 / uhd-bd=0 / ref=1 / no-allow-non-conformance / repeat-headers / annexb / aud / no-eob / no-eos / hrd / info / hash=0 / temporal-layers=0 / open-gop / min-keyint=24 / keyint=240 / gop-lookahead=0 / bframes=3 / b-adapt=0 / b-pyramid / bframe-bias=0 / rc-lookahead=5 / lookahead-slices=8 / scenecut=0 / no-hist-scenecut / radl=0 / no-splice / no-intra-refresh / ctu=32 / min-cu-size=16 / 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 / no-signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / strong-intra-smoothing / max-merge=2 / limit-refs=0 / no-limit-modes / me=0 / subme=0 / merange=57 / temporal-mvp / no-frame-dup / no-hme / no-weightp / no-weightb / no-analyze-src-pics / deblock=0:0 / no-sao / no-sao-non-deblock / rd=2 / selective-sao=0 / early-skip / rskip / fast-intra / no-tskip-fast / no-cu-lossless / no-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=crf / crf=30.0 / qcomp=0.60 / qpstep=4 / stats-write=0 / stats-read=0 / vbv-maxrate=25600 / vbv-bufsize=25600 / 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=1 / aq-strength=0.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(8500,39850)B(6550,2300)R(35400,14600)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 / 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 / no-mcstf / no-sbrc Encoded date : 2023-11-03 09:11:53 UTC Tagged date : 2023-11-03 09:11:53 UTC Color range : Limited Color primaries : BT.2020 Transfer characteristics : PQ Matrix coefficients : BT.2020 non-constant Mastering display color primaries : BT.2020 Mastering display luminance : min: 0.0001 cd/m2, max: 1000 cd/m2 mdhd_Duration : 107107 Codec configuration box : hvcC+dvvC Audio
The MKV created from that working MP4 looks so. And this mkv is played only as HDR: Code: Writing library : libebml v1.4.4 + libmatroska v1.7.1 Video ID : 1 Format : HEVC Format/Info : High Efficiency Video Coding Format profile : Main 10@L5@High HDR format : Dolby Vision, Version 1.0, dvhe.08.06, BL+RPU, HDR10 compatible / SMPTE ST 2086, HDR10 compatible Codec ID : V_MPEGH/ISO/HEVC Duration : 1 min 47 s Bit rate : 1 625 kb/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.008 Stream size : 20.7 MiB (72%) Writing library : x265 3.5+1-f0c1022b6:[Windows][GCC 13.2.0][64 bit] 10bit Encoding settings : cpuid=1111039 / frame-threads=4 / numa-pools=24 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=3840x2160 / interlace=0 / total-frames=0 / level-idc=0 / high-tier=1 / uhd-bd=0 / ref=1 / no-allow-non-conformance / repeat-headers / annexb / aud / no-eob / no-eos / hrd / info / hash=0 / temporal-layers=0 / open-gop / min-keyint=24 / keyint=240 / gop-lookahead=0 / bframes=3 / b-adapt=0 / b-pyramid / bframe-bias=0 / rc-lookahead=5 / lookahead-slices=8 / scenecut=0 / no-hist-scenecut / radl=0 / no-splice / no-intra-refresh / ctu=32 / min-cu-size=16 / 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 / no-signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / strong-intra-smoothing / max-merge=2 / limit-refs=0 / no-limit-modes / me=0 / subme=0 / merange=57 / temporal-mvp / no-frame-dup / no-hme / no-weightp / no-weightb / no-analyze-src-pics / deblock=0:0 / no-sao / no-sao-non-deblock / rd=2 / selective-sao=0 / early-skip / rskip / fast-intra / no-tskip-fast / no-cu-lossless / no-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=crf / crf=30.0 / qcomp=0.60 / qpstep=4 / stats-write=0 / stats-read=0 / vbv-maxrate=25600 / vbv-bufsize=25600 / 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=1 / aq-strength=0.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(8500,39850)B(6550,2300)R(35400,14600)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 / 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 / no-mcstf / no-sbrc Default : Yes Forced : No Color range : Limited Color primaries : BT.2020 Transfer characteristics : PQ Matrix coefficients : BT.2020 non-constant Mastering display color primaries : BT.2020 Mastering display luminance : min: 0.0001 cd/m2, max: 1000 cd/m2 Audio There seems to be somewhere an error or "misunderstanding" between what Handbrake creates and what the Zidoo accepts for playing. Re-creating an MKV from a "bad" MKV (directly from Handbrake) with MakeMKV creates a good MKV.
No, that's Profile 8 so it's always single layer, so technically that's STSL STDL and DTDL relate to dual layer files (Profile 4 & 7 - although only 7 is generally used) STDL = Single Track, Dual Layer - both layers reside on one video track as in Profile 7 DV MKV DTDL = Dual Track Dual Layer - One video track per layer as in Profile 7 MP4
@Markswift2003 Is it possible that you follow this discussion? https://github.com/HandBrake/HandBrake/discussions/5463 Perhaps you are one of the few ones who can help.
Sorry no, I don't use Handbrake, I use Staxrip. Cropping black bars in Dolby Vision content is fairly easy with Staxrip and Dovi_Tool but to be honest, there's no really good reason to do this - it makes a minimal difference to storage when encoding. It also means that the RPU must be adjusted to take into account the fact that the video is now cropped. My workflow for encoding Dolby Vision is: 1. Demux RPU from Profile 7 DV file with Dovi_Tool 2. Encode HDR10 base layer with Staxrip 3. Inject RPU with encoded HDR10 base layer with Dovi_Tool to produce Profile 8 DV file.
I found out what the problem with Handbrake & Zidoo is. Handbrake adds a value for --color-transfer-characteristics into the mkv. They add the value 16 which stands for "SMPTE ST 2084" I do not know whether this is a correct value or not in that case. But this setting causes the Videoplayer of the Zidoo to fall back to HDR. After removing that element in the header of the mkv the Zidoo will play the mkv as DV So it seems to be a bug in the Zidoo player software. Or is that setting 16 wrong? What do you think? When I demux and inject then I get a profile 7 file. (Sourcefile is a mkv created by MakeMKV) I use a batch and call dovi_tool like Code: dovi_tool.exe --crop extract-rpu "%SrcFile%" dovi_tool.exe inject-rpu -i "%DstFile%" --rpu-in RPU.bin -o "%DstFile%_injected.hevc" MediaInfo will show afterwards Dolby Vision, Version 1.0, dvhe.07.06, BL+EL+RPU Is this wrong or also correct?