Dolby Vision now possible through MP4 Mux.

Please post here for issues related to UHD discs
quietvoid
Posts: 373
Joined: Sun Apr 19, 2020 4:15 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by quietvoid »

RESET_9999 wrote:
Fri May 27, 2022 1:37 am
thank you
Just tried and the same bug as all the files I did
Okay, last attempt: https://0x0.st/oB-i.mkv

This is just the Resolve file reencoded.
RESET_9999
Posts: 2090
Joined: Mon Aug 05, 2019 7:12 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by RESET_9999 »

quietvoid wrote:
Fri May 27, 2022 2:13 am
Okay, last attempt: https://0x0.st/oB-i.mkv
This is just the Resolve file reencoded.
no bug for that one.
So it means there's an issue in the source that Resolve somehow manages to fix, and it's only affecting the Shield.
So weird...

Image
quietvoid
Posts: 373
Joined: Sun Apr 19, 2020 4:15 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by quietvoid »

RESET_9999 wrote:
Fri May 27, 2022 2:54 am
no bug for that one.
So it means there's an issue in the source that Resolve somehow manages to fix, and it's only affecting the Shield.
So weird...
Not necessarily, I had changed an encoding setting.

Same settings with the non-Resolve video: https://0x0.st/oB-c.mkv
If that still has issues, then not sure.

The only difference in the Resolve image is that I can't seem to match chroma alignment, and it has less banding in the blue part.
RESET_9999
Posts: 2090
Joined: Mon Aug 05, 2019 7:12 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by RESET_9999 »

quietvoid wrote:
Fri May 27, 2022 3:06 am
Same settings with the non-Resolve video: https://0x0.st/oB-c.mkv
If that still has issues, then not sure.
The only difference in the Resolve image is that I can't seem to match chroma alignment, and it has less banding in the blue part.
bug is back lol
I wonder what magic resolve does.
quietvoid
Posts: 373
Joined: Sun Apr 19, 2020 4:15 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by quietvoid »

RESET_9999 wrote:
Fri May 27, 2022 3:10 am
bug is back lol
I guess this is my actual last attempt then: https://0x0.st/oB-B.mkv
It doesn't make sense that the original test pattern causes issues.
Last edited by quietvoid on Fri May 27, 2022 3:32 am, edited 2 times in total.
RESET_9999
Posts: 2090
Joined: Mon Aug 05, 2019 7:12 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by RESET_9999 »

same issue...

I tried NVenc, same issue.
I tried FFmpeg to prores to x265, same issue.
quietvoid
Posts: 373
Joined: Sun Apr 19, 2020 4:15 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by quietvoid »

Clearly the file I have is wrong:
Image

So the only possibibility is that you encoded something else in Resolve.
Or that it did some tone mapping, maybe.

https://slow.pics/c/iu90f2Sp

The answer is definitely that Resolve tone mapped the image, which corrects the gradients.
This is also why Resolve's luma and chroma clip earlier than the original.
NiCE77
Posts: 86
Joined: Sat Mar 28, 2020 7:49 am

Re: Dolby Vision now possible through MP4 Mux.

Post by NiCE77 »

@quietvoid

Someone replied on the Firecore forum about Apple TV RPU management:
"Apple devices always ignore L2 trim in profile 8.4 video. Actually there are two version of Apple’s profile 8.4, the early version is L1 only and old OS (like ios14) doesn’t handle trims at all (except profile 5). The recent version uses newer algorithm which needs L8 trim."
https://community.firecore.com/t/dolby- ... /19713/302
RESET_9999
Posts: 2090
Joined: Mon Aug 05, 2019 7:12 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by RESET_9999 »

quietvoid wrote:
Fri May 27, 2022 3:32 am
Clearly the file I have is wrong:
So the only possibibility is that you encoded something else in Resolve.
Or that it did some tone mapping, maybe.
https://slow.pics/c/iu90f2Sp
The answer is definitely that Resolve tone mapped the image, which corrects the gradients.
This is also why Resolve's luma and chroma clip earlier than the original.
still doesnt make sense.
The file is the original one unless the bd rip I downloaded got messed up. I dont see how it would cause a luma difference like that and IIRC, the PQ image were identical.
And even stranger, how can it just affect the Shield. And no we did not encode "something" else in resolve.
quietvoid
Posts: 373
Joined: Sun Apr 19, 2020 4:15 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by quietvoid »

RESET_9999 wrote:
Fri May 27, 2022 11:03 am
still doesnt make sense.
The file is the original one unless the bd rip I downloaded got messed up. I dont see how it would cause a luma difference like that and IIRC, the PQ image were identical.
And even stranger, how can it just affect the Shield. And no we did not encode "something" else in resolve.
Of course it makes sense. The input was probably color managed in Resolve, making it tone map.
The metadata shows it: 1000 nits mastering, DCI-P3.

So the Shield apparently doesn't do well with tone mapping from 10k nits + BT.2020 in YCbCr, even with Dolby Vision.

The files only look similar with all planes combined. See single planes: https://slow.pics/c/ZoxjvanI
So what likely happened is that Resolve converted from 10k nits BT.2020 to 1000 nits DCI-P3.

NiCE77 wrote:
Fri May 27, 2022 5:43 am
@quietvoid

Someone replied on the Firecore forum about Apple TV RPU management:
Yeah, I know. Eventually I'll make a CM v4.x only file.
RESET_9999
Posts: 2090
Joined: Mon Aug 05, 2019 7:12 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by RESET_9999 »

quietvoid wrote:
Fri May 27, 2022 11:38 am
So what likely happened is that Resolve converted from 10k nits BT.2020 to 1000 nits DCI-P3.
no, the Resolve encoded file is still 10 000nits.
As for the color management in resolve, you might be right.
RESET_9999
Posts: 2090
Joined: Mon Aug 05, 2019 7:12 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by RESET_9999 »

NiCE77 wrote:
Fri May 27, 2022 5:43 am
Someone replied on the Firecore forum about Apple TV RPU management:
"Apple devices always ignore L2 trim in profile 8.4 video. Actually there are two version of Apple’s profile 8.4, the early version is L1 only and old OS (like ios14) doesn’t handle trims at all (except profile 5). The recent version uses newer algorithm which needs L8 trim."
https://community.firecore.com/t/dolby- ... /19713/302
so do you see an L1 response with the 8.4 sample ?
realbabilu
Posts: 22
Joined: Sun May 15, 2022 4:23 am

Re: Dolby Vision now possible through MP4 Mux.

Post by realbabilu »

Code: Select all

Video
ID                                       : 1
Format                                   : HEVC
Format/Info                              : High Efficiency Video Coding
Format profile                           : Main 10@L5@Main
HDR format                               : SMPTE ST 2086, HDR10 compatible
Codec ID                                 : hev1
Codec ID/Info                            : High Efficiency Video Coding
Duration                                 : 1 h 50 min
Bit rate                                 : 17.9 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
Bit depth                                : 10 bits
Bits/(Pixel*Frame)                       : 0.090
Stream size                              : 13.8 GiB (96%)
Writing library                          : x265 3.4hy:[Linux][GCC 7.5.0][64 bit] 10bit
Encoding settings                        : cpuid=1111039 / frame-threads=1 / 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=4 / no-allow-non-conformance / repeat-headers / annexb / no-aud / no-hrd / info / hash=0 / no-temporal-layers / no-open-gop / min-keyint=96 / keyint=96 / gop-lookahead=0 / bframes=3 / 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 / 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 / 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=0:0 / sao / no-sao-non-deblock / rd=4 / selective-sao=4 / 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=abr / bitrate=18000 / qcomp=0.60 / qpstep=4 / stats-write=0 / stats-read=2 / cplxblur=20.0 / qblur=0.5 / vbv-maxrate=24500 / vbv-bufsize=24500 / vbv-init=0.6 / vbv-end=0.6 / vbv-end-fr-adj=0.0 / 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=0 / overscan=0 / videoformat=5 / range=0 / colorprim=9 / transfer=16 / colormatrix=9 / chromaloc=0 / display-window=0 / master-display=G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,1) / cll=825,118 / min-luma=0 / max-luma=1023 / log2-max-poc-lsb=8 / vui-timing-info / vui-hrd-info / no-concatenation / 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 / 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 / no-scenecut-aware-qpconformance-window-offsets / right=0 / bottom=0 / decoder-max-rate=0
Default                                  : Yes
Alternate group                          : 1
Encoded date                             : UTC 2022-05-27 13:38:54
Tagged date                              : UTC 2022-05-27 13:38:54
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              : 825 cd/m2
Maximum Frame-Average Light Level        : 118 cd/m2
Codec configuration box                  : hvcC


Drag and drop your MKV file and press enter...E:\mov\tor\Mortal.Kombat.2021.2160p.mkv
Do you want to crop RPU... y or n ? (y when HDR10-BL is cropped) and/or press enter...n
Measuring the HDR10 video letterbox...
min: 0.0001 cd/m2, max: 1000 cd/m2
Maxcll: 825
Maxfall: 118
LAV Splitter Source not found.
Extracting track 0 with the CodecID 'V_MPEGH/ISO/HEVC' to the file 'D:\TEMP\HDR.hevc'. Container format: HEVC/H.265 elementary stream
Progress: 100%
Parsing madVR measurement file...
Error: The system cannot find the file specified. (os error 2)
Press any key to continue . . .
any clue with HDR10 inject auto?
deadchip12
Posts: 285
Joined: Thu May 02, 2019 2:49 am

Re: Dolby Vision now possible through MP4 Mux.

Post by deadchip12 »

@RESET_9999

I have a question regarding the x700: some mkv dolby vision movie files or mkv sdr movie files have dolby atmos dd+ 5.1 and the bluray player refuses to play the audio track. Using tsmuxer to convert those mkv files to .ts seems to solve the problem. Is that the right way to do it? Any drawbacks to picture or sound quality?
RESET_9999
Posts: 2090
Joined: Mon Aug 05, 2019 7:12 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by RESET_9999 »

realbabilu wrote:
Fri May 27, 2022 1:56 pm
any clue with HDR10 inject auto?
Just tried that bluray remux and no issue, so there might be something going on with your encode.

Code: Select all

1) Workflow.1= INJECT + AUTO-L5 + INJECT DV
2) Workflow.2= INJECT + MANUAL-L5 + INJECT DV
3) Workflow.3= INJECT + MANUAL-L5 + INJECT DV + TrueHD_to_TrueHD.ac3 + DDP_1536kbps
4) Workflow.4= INJECT + MANUAL-L5 + INJECT DV + TrueHD_to_TrueHD.ac3
5) Workflow.5= INJECT + MANUAL-L5 + INJECT DV + DDP_1536kbps
6) Workflow.6= Back to main menu

Choice? [1,2,3,4,5,6]?1
----------------------------------------------------------------------------------------------------
--input must be HDR10 MKV
--This workflow will measure HDR10, generate RPU, auto edit L5 and inject
--The black bars detection may not be perfectly accurate. It's maybe better to measure them manually
----------------------------------------------------------------------------------------------------
Drag and drop your MKV file and press enter...S:\Mortal.Kombat.2021.HDR.mkv
Do you want to crop RPU... y or n ? (y when HDR10-BL is cropped) and/or press enter...
Measuring the HDR10 video letterbox...
min: 0.0001 cd/m2, max: 1000 cd/m2
Maxcll: 825
Maxfall: 118
Measuring video file "S:\Mortal.Kombat.2021.HDR.mkv" using D3D11 (native)...
Metadata:
  Mastering display luminance: 0.0001/1000, gamut: 0.68 0.32, 0.15 0.06, 0.265 0.69, 0.3127 0.329
  MaxCLL: 825, MaxFALL: 118 nits
Measurements:
  Frames: 158329, MaxCLL 100%: 1117, 99.9%: 994, MaxFALL: 562, AvgFALL: 11, AvgFMLL: 307 nits
Extracting track 0 with the CodecID 'V_MPEGH/ISO/HEVC' to the file 'D:\TEMP\HDR.hevc'. Container format: HEVC/H.265 elementary stream
Progress: 100%
Parsing madVR measurement file...
Generating metadata...
Generated metadata for 158329 frames
Done.
EditConfig {
    mode: 0,
    convert_to_cmv4: false,
    remove_mapping: false,
    active_area: Some(
        ActiveArea {
            crop: false,
            drop_l5: None,
            presets: Some(
                [
                    ActiveAreaOffsets {
                        id: 0,
                        left: 0,
                        right: 0,
                        top: 276,
                        bottom: 276,
                    },
                ],
            ),
            edits: Some(
                {
                    "all": 0,
                },
            ),
        },
    ),
    remove: None,
    duplicate: None,
    min_pq: None,
    max_pq: None,
    level6: None,
    level9: None,
    level11: None,
}
Parsing RPU file...
Editing active area offsets...
Final metadata length: 158329
Writing RPU file...
Parsing RPU file...
Processing input video for frame order info...

Warning: Input file already has RPUs, they will be replaced.
Computing frame indices..
Rewriting file with interleaved RPU NALs..
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,
    "vdr_rpu_normalized_idc": 1,
    "bl_video_full_range_flag": false,
    "bl_bit_depth_minus8": 2,
    "el_bit_depth_minus8": 2,
    "vdr_bit_depth_minus_8": 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,
    "vdr_rpu_id": 0,
    "mapping_color_space": 0,
    "mapping_chroma_format_idc": 0,
    "num_pivots_minus_2": [
      0,
      0,
      0
    ],
    "pred_pivot_value": [
      [
        0,
        1023
      ],
      [
        0,
        1023
      ],
      [
        0,
        1023
      ]
    ],
    "nlq_method_idc": null,
    "nlq_num_pivots_minus2": null,
    "nlq_pred_pivot_value": null,
    "num_x_partitions_minus1": 0,
    "num_y_partitions_minus1": 0
  },
  "rpu_data_mapping": {
    "mapping_idc": [
      [
        0
      ],
      [
        0
      ],
      [
        0
      ]
    ],
    "mapping_param_pred_flag": [
      [
        false
      ],
      [
        false
      ],
      [
        false
      ]
    ],
    "num_mapping_param_predictors": [
      [
        0
      ],
      [
        0
      ],
      [
        0
      ]
    ],
    "diff_pred_part_idx_mapping_minus1": [
      [],
      [],
      []
    ],
    "poly_order_minus1": [
      [
        0
      ],
      [
        0
      ],
      [
        0
      ]
    ],
    "linear_interp_flag": [
      [
        false
      ],
      [
        false
      ],
      [
        false
      ]
    ],
    "pred_linear_interp_value_int": [
      [],
      [],
      []
    ],
    "pred_linear_interp_value": [
      [],
      [],
      []
    ],
    "poly_coef_int": [
      [
        [
          0,
          1
        ]
      ],
      [
        [
          0,
          1
        ]
      ],
      [
        [
          0,
          1
        ]
      ]
    ],
    "poly_coef": [
      [
        [
          0,
          0
        ]
      ],
      [
        [
          0,
          0
        ]
      ],
      [
        [
          0,
          0
        ]
      ]
    ],
    "mmr_order_minus1": [
      [],
      [],
      []
    ],
    "mmr_constant_int": [
      [],
      [],
      []
    ],
    "mmr_constant": [
      [],
      [],
      []
    ],
    "mmr_coef_int": [
      [],
      [],
      []
    ],
    "mmr_coef": [
      [],
      [],
      []
    ]
  },
  "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": 3,
      "ext_metadata_blocks": [
        {
          "Level1": {
            "min_pq": 0,
            "max_pq": 2894,
            "avg_pq": 1178
          }
        },
        {
          "Level5": {
            "active_area_left_offset": 0,
            "active_area_right_offset": 0,
            "active_area_top_offset": 276,
            "active_area_bottom_offset": 276
          }
        },
        {
          "Level6": {
            "max_display_mastering_luminance": 1000,
            "min_display_mastering_luminance": 1,
            "max_content_light_level": 825,
            "max_frame_average_light_level": 118
          }
        }
      ]
    },
    "cmv40_metadata": {
      "num_ext_blocks": 3,
      "ext_metadata_blocks": [
        {
          "Level9": {
            "length": 1,
            "source_primary_index": 0
          }
        },
        {
          "Level11": {
            "content_type": 1,
            "whitepoint": 0,
            "reference_mode_flag": true,
            "reserved_byte2": 0,
            "reserved_byte3": 0
          }
        },
        {
          "Level254": {
            "dm_mode": 0,
            "dm_version_index": 2
          }
        }
      ]
    }
  },
  "rpu_data_crc32": 3531511101
}
"The script has completed."
deadchip12 wrote:
Fri May 27, 2022 1:57 pm
Using tsmuxer to convert those mkv files to .ts seems to solve the problem. Is that the right way to do it?
yep that's the way.
Post Reply