MKV & Dolby Vision Profil 8

Discussion in 'HDD Media player(RTD 1619DR)' started by DeuTa, Nov 3, 2023.

  1. DeuTa

    DeuTa Member

    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?
     
  2. Markswift2003

    Markswift2003 Well-Known Member SUPER Administrator Beta test group Contributor

    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.
     
  3. DeuTa

    DeuTa Member

    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.
     
  4. Markswift2003

    Markswift2003 Well-Known Member SUPER Administrator Beta test group Contributor

    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.
     
  5. DeuTa

    DeuTa Member

    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
    
     
  6. DeuTa

    DeuTa Member

    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.
     
  7. Markswift2003

    Markswift2003 Well-Known Member SUPER Administrator Beta test group Contributor

    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
     
  8. DeuTa

    DeuTa Member

  9. Markswift2003

    Markswift2003 Well-Known Member SUPER Administrator Beta test group Contributor

    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.
     
    Last edited: Nov 5, 2023
  10. DeuTa

    DeuTa Member

    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?
     
    Last edited: Nov 13, 2023
    dr4go likes this.

Share This Page