Log in

View Full Version : Questions about passing through Dolby Vision


clidx
13th February 2021, 13:36
I have been messing with ripping and transcoding with DV and think I've got it. Unfortunately I don't actually have any DV capable hardware to actually test the output file yet so I would appreciate if somebody could check my workflow before I spend several days transcoding the rest of the boxset. I plan to get DV hardware in the future but not anytime soon. Also the only good source of info on DV is the whitepaper which is very technical.

Here is the mediainfo for the source:

Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5.1@High
HDR format : Dolby Vision, Version 1.0, dvhe.07.06, BL+EL+RPU, Blu-ray compatible / SMPTE ST 2086, HDR10 compatible
Codec ID : V_MPEGH/ISO/HEVC
Duration : 58 min 15 s
Bit rate : 58.3 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.293
Stream size : 23.7 GiB (90%)
Default : Yes
Forced : No
Color range : Limited
Color primaries : BT.2020
Transfer characteristics : PQ
Matrix coefficients : BT.2020 non-constant
Mastering display color primar : BT.2020
Mastering display luminance : min: 0.0020 cd/m2, max: 1000 cd/m2
Original source medium : Blu-ray

So this is profile 7 which I understand is base layer UHD BD HDR + enhancement layer DV + RPU? But how exactly is the extra DV info, on top of the BL, distributed into the EL and the RPU?

I extracted the RPU to DV 8.1, encoded it with x265, ran it through makeMKV to add DV info into mediainfo and the result is

Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L4@High
HDR format : Dolby Vision, Version 1.0, dvhe.08.03, BL+RPU, HDR10 compatible / SMPTE ST 2086, HDR10 compatible
Codec ID : V_MPEGH/ISO/HEVC
Duration : 58 min 15 s
Bit rate : 9 349 kb/s
Width : 1 920 pixels
Height : 1 080 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.188
Stream size : 3.80 GiB (100%)
Writing library : x265 3.4+2-73ca1d7be377:[Windows][GCC 6.3.0][64 bit] 10bit
etc

Has that been done correctly, will it play fine?

e: I can see other people have kept the EL by using tsMuxer to extract the BL, transcode, insert back into the TS and remove the old base layer, and mux with MakeMKV and the output stays as DV profile 7. I could do that if it's worth the effort? Will it work even with downscaling to 1080p?

Also for the BL+RPU route, DV transcoding with x265 requires VBV. I don't need VBV because these files won't be streamed over the internet. Should I just set the values really high to minimize the effect on quality?

rwill
14th February 2021, 16:54
Sadly doing it either way wont play fine.

clidx
14th February 2021, 19:26
Sadly doing it either way wont play fine.

I thought the Shield could pass through DV profile 8.1 these days? TBH I just want to know that the file has been produced correctly even if player support is lacking at the minute.

Emulgator
15th February 2021, 17:15
Encode <2GB, mux to a Blu-ray folder structure, upload to wetransfer.
I may testplay it on a OPPO UDP-205 with DV firmware for you.

clidx
16th February 2021, 18:24
Encode <2GB, mux to a Blu-ray folder structure, upload to wetransfer.
I may testplay it on a OPPO UDP-205 with DV firmware for you.

Thanks! I have PM'd you a link. It should be DV profile 8.1.

SeeMoreDigital
16th February 2021, 18:33
Encode <2GB, mux to a Blu-ray folder structure, upload to wetransfer.
I may testplay it on a OPPO UDP-205 with DV firmware for you.I would be interested in testing your Dolby Vision mux too ;)

clidx
16th February 2021, 18:48
I would be interested in testing your Dolby Vision mux too ;)

PM'd
I just realized that although I only encoded the first 60 seconds, the entire RPU was muxed into the stream so it mismatches the video. I'll do a quick and dirty encode of the whole video now and upload that in case that's the reason it fails.

SeeMoreDigital
16th February 2021, 21:03
Hi @clidx,

Thanks for the samples...

I can confirm that my OPPO is unable play either samples. The players hangs and crashes!

I suspect it's because, 'single stream' Dolby Vision.m2ts files are not Blu-ray compliant when they are placed within 'BDMV' folder-sets.

On a more positive note, when I extracted the .m2ts file from the folder-set the OPPO can play it, albeit in HDR10.

And on an even more positive note... After using TSmuxer GUI git-999c472 to de-mux the elementary .hevc video stream and re-mux it again into .m2ts, the OPPO plays the .m2ts file complete with Dolby Vision.

General
ID : 1 (0x1)
Complete name : d:\SeeMoreDigital\Downloads\clidx DV test sample\BDMV\STREAM\00000 [SMD remux].m2ts
Format : BDAV
Format/Info : Blu-ray Video
File size : 65.8 MiB
Duration : 59 s 893 ms
Overall bit rate mode : Variable
Overall bit rate : 9 213 kb/s
Maximum Overall bit rate : 35.5 Mb/s

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, dvhe.08.03, BL+RPU, HDR10 compatible / SMPTE ST 2086, HDR10 compatible
Codec ID : 36
Duration : 59 s 976 ms
Bit rate : 8 841 kb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 10 bits
Bits/(Pixel*Frame) : 0.178
Stream size : 63.2 MiB (96%)
Writing library : x265 3.4+2-73ca1d7be377:[Windows][GCC 6.3.0][64 bit] 10bit
Encoding settings : cpuid=1111039 / frame-threads=4 / numa-pools=16 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=1920x1080 / interlace=0 / total-frames=0 / level-idc=0 / 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 / 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=-2:-2 / 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.50 / psy-rdoq=5.00 / no-rd-refine / no-lossless / cbqpoffs=0 / crqpoffs=0 / rc=crf / crf=14.0 / qcomp=0.60 / qpstep=4 / stats-write=0 / stats-read=0 / vbv-maxrate=160000 / vbv-bufsize=160000 / vbv-init=0.9 / crf-max=0.0 / crf-min=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=1 / overscan=0 / videoformat=5 / range=0 / colorprim=9 / transfer=16 / colormatrix=9 / chromaloc=0 / display-window=0 / master-display=G(8500,39850)B(6550,2300)R(35400,14600)WP(15635,16450)L(10000000,20) / 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 / 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
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.0020 cd/m2, max: 1000 cd/m2

But it does make the OPPO unstable.


Cheers

clidx
16th February 2021, 21:19
Hi @clidx,

Thanks for the samples...

I can confirm that my OPPO is unable play either samples. The players hangs and crashes!

I suspect it's because, 'single stream' Dolby Vision.m2ts files are not Blu-ray compliant when they are placed within 'BDMV' folder-sets.

On a more positive note, when I extracted the .m2ts file from the folder-set the OPPO can play it, albeit in HDR10.

And on an even more positive note... After using TSmuxer GUI git-999c472 to de-mux the elementary .hevc video stream and re-mux it again into .m2ts, the OPPO plays the .m2ts file complete with Dolby Vision. But it does make the OPPO unstable.

Cheers

Thanks!

So I decided 12 bit colour wasn't worth an extra 30% in file size and plan to skip the EL but have you heard of anyone transcoding the EL? Or would the colours go off?

benwaggoner
17th February 2021, 01:52
Thanks!

So I decided 12 bit colour wasn't worth an extra 30% in file size and plan to skip the EL but have you heard of anyone transcoding the EL? Or would the colours go off?
The EL doesn't look like normal video, and involves specific encoder tuning. And they take up a relatively small portion of the bitrate. Reencoding can be done, but it would have to be done carefully with a lot of testing, and wouldn't offer particularly big benefit. Maybe 5% total file size reduction at best.

Emulgator
17th February 2021, 10:42
sample: .m2ts playable on MPC-BE x64 1.5.6.5925beta
sample -> BD-RE25 -> OPPO 205 FW65 jailbreak: Monitor displays "BDMV" -> player FL displays "UHD BD" -> black screen, no TC.
On removal of disc: No player menu anymore. Player has crashed.
BDEdit 0.49 sees a BDMV structure.
Power Down, Power Up: pressed BD-ROMs are still playable.

full: .m2ts crappy playable, hanging on MPC-BE x64 1.5.6.5925beta
full -> BD-RE25 -> OPPO 205 FW65 jailbreak: "Data Disc", refuses to play.
BDEdit 0.49 sees no BDMV structure.

clidx
17th February 2021, 20:29
Never mind about the EL then.

I'm going to assume the files are fine but that the Oppo is picky about the container used.

Thanks all.

Balling
16th September 2021, 10:21
mp4 to mp4 is supported with -strict unofficial in ffmpeg.