Jump to content

Shield ATV HDR


mamoel

Recommended Posts

Guest asrequested

Well that's progress, at least. I'm assuming they're able to reproduce the issue?

Edited by Doofus
Link to comment
Share on other sites

CBers

As a work-around, could we add a TAG to the "cropped" content and have the ATV app open it in an external player that will trigger HDR please?

 

 

Can this be considered please?

  • Like 1
Link to comment
Share on other sites

CBers

OK, so I have a 1920x1080 UHD movie that triggers HDR on my TV.

 

Title 1080p HEVC
Codec HEVC
Profile Main 10
Level 150
Resolution 1920x1080
Aspect ratio 16:9
Anamorphic No
Interlaced No
Framerate 23.976
Bitrate 8,174 kbps
Video range HDR
Colour primaries bt2020
Colour space bt2020nc
Colour transfer smpte2084
Pixel format yuv420p10le
Ref frames 1
  • Like 1
Link to comment
Share on other sites

Guest asrequested

 

OK, so I have a 1920x1080 UHD movie that triggers HDR on my TV.

 

Title 1080p HEVC
Codec HEVC
Profile Main 10
Level 150
Resolution 1920x1080
Aspect ratio 16:9
Anamorphic No
Interlaced No
Framerate 23.976
Bitrate 8,174 kbps
Video range HDR
Colour primaries bt2020
Colour space bt2020nc
Colour transfer smpte2084
Pixel format yuv420p10le
Ref frames 1

 

 

The ratio is unchanged and likely hasn't be re-encoded. I have a bunch of these, too. Netflix stuff.

Link to comment
Share on other sites

CBers

The ratio is unchanged and likely hasn't be re-encoded. I have a bunch of these, too. Netflix stuff.

Which still points to cropped videos being the issue.

  • Like 1
Link to comment
Share on other sites

FrostByte

That info for the 1080p movie he posted earlier is from a reencoded x265.  He just didn't post the entire mediainfo

Title                                    : x265 / 6602 kbps / 1080p / 23.976 fps / 16:9 / Main 10 Profile 5.0 High / 4:2:0 / 10 bits / HDR / BT.2020
Writing library                          : x265 2.9+8-27d8424c799d:[Windows][GCC 8.2.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=127158 / level-idc=50 / high-tier=1 / uhd-bd=0 / ref=6 / no-allow-non-conformance / repeat-headers / annexb / aud / hrd / info / hash=0 / no-temporal-layers / no-open-gop / min-keyint=23 / keyint=250 / gop-lookahead=0 / bframes=16 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=60 / lookahead-slices=4 / scenecut=40 / radl=0 / no-intra-refresh / ctu=64 / min-cu-size=8 / no-rect / no-amp / max-tu-size=32 / tu-inter-depth=4 / tu-intra-depth=4 / limit-tu=4 / 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=2 / limit-modes / me=3 / subme=7 / merange=57 / temporal-mvp / weightp / weightb / no-analyze-src-pics / deblock=-3:-3 / no-sao / no-sao-non-deblock / rd=3 / no-early-skip / no-rskip / no-fast-intra / no-tskip-fast / no-cu-lossless / b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=1.00 / psy-rdoq=1.00 / no-rd-refine / no-lossless / cbqpoffs=0 / crqpoffs=0 / bitrate=66
Link to comment
Share on other sites

Guest asrequested

I've just looking at details several of my 4k HDR stuff. The change in aspect ratio is definitely a common factor, but I think I may have spotted another commonality. I was comparing x265 writing libraries. The ones that have the issue, also use x265 2.5, while the uncropped use x265 2.6. I wonder if that combination is what makes the difference?

 

Cropped

Writing library                          : x265 2.5+58-06979c042350:[Windows][GCC 6.2.1][64 bit] 10bit
Encoding settings                        : cpuid=1173503 / frame-threads=4 / numa-pools=16 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=3840x1600 / interlace=0 / total-frames=217718 / level-idc=51 / high-tier=1 / uhd-bd=0 / ref=4 / no-allow-non-conformance / repeat-headers / annexb / aud / hrd / info / hash=0 / no-temporal-layers / no-open-gop / min-keyint=1 / keyint=24 / bframes=4 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=25 / lookahead-slices=4 / scenecut=40 / 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 / weightp / no-weightb / no-analyze-src-pics / deblock=-3:-3 / no-sao / no-sao-non-deblock / rd=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 / analysis-reuse-mode=0 / no-lossless / cbqpoffs=0 / crqpoffs=0 / rc=crf / crf=17.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=1 / 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=1 / chromaloc-top=2 / chromaloc-bottom=2 / display-window=0 / master-display=G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,0) / max-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 / hdr / hdr-opt / no-dhdr10-opt / analysis-reuse-level=5 / scale-factor=0 / refine-intra=0 / refine-inter=0 / refine-mv=0 / no-limit-sao / ctu-info=0 / no-lowpass-dct / refine-mv-type=0 / copy-pic=1

Full frame

Writing library                          : x265 2.6+22-ff02513b92c0:[Windows][GCC 6.3.0][64 bit] 10bit
Encoding settings                        : cpuid=1173503 / frame-threads=4 / numa-pools=20 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=3840x2160 / interlace=0 / total-frames=243218 / level-idc=51 / high-tier=1 / uhd-bd=1 / ref=4 / no-allow-non-conformance / repeat-headers / annexb / aud / hrd / info / hash=0 / no-temporal-layers / no-open-gop / min-keyint=1 / keyint=24 / gop-lookahead=0 / bframes=4 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=25 / lookahead-slices=4 / scenecut=40 / radl=0 / 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 / weightp / no-weightb / no-analyze-src-pics / deblock=-3:-3 / no-sao / no-sao-non-deblock / rd=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=crf / crf=17.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=1 / 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=1 / chromaloc-top=2 / chromaloc-bottom=2 / display-window=0 / master-display=G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(40000000,50) / max-cll=1242,436 / 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 / hdr / hdr-opt / no-dhdr10-opt / analysis-save=(null) / analysis-load=(null) / analysis-reuse-level=5 / scale-factor=0 / refine-intra=0 / refine-inter=0 / refine-mv=0 / no-limit-sao / ctu-info=0 / no-lowpass-dct / refine-mv-type=0 / copy-pic=1

I haven't gone through all of them, but can anyone else confirm this?

Link to comment
Share on other sites

Guest asrequested

 

That info for the 1080p movie he posted earlier is from a reencoded x265.  He just didn't post the entire mediainfo

Title                                    : x265 / 6602 kbps / 1080p / 23.976 fps / 16:9 / Main 10 Profile 5.0 High / 4:2:0 / 10 bits / HDR / BT.2020
Writing library                          : x265 2.9+8-27d8424c799d:[Windows][GCC 8.2.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=127158 / level-idc=50 / high-tier=1 / uhd-bd=0 / ref=6 / no-allow-non-conformance / repeat-headers / annexb / aud / hrd / info / hash=0 / no-temporal-layers / no-open-gop / min-keyint=23 / keyint=250 / gop-lookahead=0 / bframes=16 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=60 / lookahead-slices=4 / scenecut=40 / radl=0 / no-intra-refresh / ctu=64 / min-cu-size=8 / no-rect / no-amp / max-tu-size=32 / tu-inter-depth=4 / tu-intra-depth=4 / limit-tu=4 / 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=2 / limit-modes / me=3 / subme=7 / merange=57 / temporal-mvp / weightp / weightb / no-analyze-src-pics / deblock=-3:-3 / no-sao / no-sao-non-deblock / rd=3 / no-early-skip / no-rskip / no-fast-intra / no-tskip-fast / no-cu-lossless / b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=1.00 / psy-rdoq=1.00 / no-rd-refine / no-lossless / cbqpoffs=0 / crqpoffs=0 / bitrate=66

 

And look at that. An even later writing library, 2.9. I wonder if 2.5 is the issue?

Link to comment
Share on other sites

vdatanet

Ah I just found one with 2.6 that also didn't work. So there goes that theory.

 

I have a lot of movies with this writing library:

 

Writing library                          : x265 2.9+16-1f44f1f1623d:[Linux][GCC 8.2.0][64 bit] 10bit

 

none of them fires hdr. All are cropped.

Link to comment
Share on other sites

Guest asrequested

Ok, it's solely the video height. I just edited the file header to say that the display height was 2160 and not 1608. So the picture gets stretched and fills the whole frame. It played with HDR. That's pretty conclusive, I would say. 

Edited by Doofus
  • Like 2
Link to comment
Share on other sites

FrostByte
Okay after further testing

 

 

2160p Remux triggers HDR any

2160p x265 reencode full screen triggers HDR The.Dark.Knight.2008.2160p.UHD.BluRay.X265-IAMABLE  

2160p x265 reencode cropped doesn't trigger HDR The.Matrix.Reloaded.2003.2160p.UHD.BluRay.X265-IAMABLE

 

1080p remux triggers HDR any

1080p x265 reencode full screen triggers HDR The.Lion.King.1994.1080p.UHD.BluRay.DDP.7.1.HDR.x265.D-Z0N3

1080p x265 reencode cropped doesn't trigger HDR Avengers.Age.of.Ultron.2015.1080p.UHD.BluRay.DD5.1.HDR.x265-DON

  • Like 2
Link to comment
Share on other sites

FrostByte

And the threshold appears to be 2155. Below that, and no HDR

 

Nice catch, I don't have anything with just a little crop like that

Link to comment
Share on other sites

Guest asrequested

Nice catch, I don't have anything with just a little crop like that

 

You can change the header with mkvtoolnix. Just remember what the original height, was :)

  • Like 1
Link to comment
Share on other sites

FrostByte

Okay, then the reverse should be true.  If you change the header of a cropped 4K movie to 2160p it should trigger HDR.

Link to comment
Share on other sites

Guest asrequested

Okay, then the reverse should be true.  If you change the header of a cropped 4K movie to 2160p it should trigger HDR.

 

That was what I did. You stretch the cropped video to full frame, and it works. But I think you might mean if you squash a full frame, down, then you get no HDR?  This time, if you lower the video height and leave the display height unchanged, no HDR.

  • Like 1
Link to comment
Share on other sites

FrostByte

Fantastic.  Ya, I had that reversed.  So, if this is the case then maybe @ebr@Luke can make an easy change to the client or server to fool it to think it hasn't been cropped.  Otherwise, I think it may be a very long time before it gets fixed.  We've been waiting for a year for MS to fix HDR on the Xbox now.

 

Edit: as long as it doesn't look stretched that is when doing so

Edited by FrostByte
Link to comment
Share on other sites

Guest asrequested

Stretched HDR would look worse than no HDR ;)

 

lol

 

 

Fantastic.  Ya, I had that reversed.  So, if this is the case then maybe @ebr@Luke can make an easy change to the client or server to fool it to think it hasn't been cropped.  Otherwise, I think it may be a very long time before it gets fixed.  We've been waiting for a year for MS to fix HDR on the Xbox now.

 

Edit: as long as it doesn't look stretched that is when doing so

 

I thought about that, but I'm not sure how that would work. This is handled specifically by the player.  You'd have to get the splitter/decoder to read the center of the frame and not the outer edges, as it appears to take it's info from those last 5 pixels. 

Edited by Doofus
Link to comment
Share on other sites

Guest asrequested

Thinking about this a little, HDR enabling only works at full screen. This is how it's been with Windows, too. So it might appear as though shield is relying on the decoder info to specify the video ratio, when it should just respect Android is setting everything as full screen. 

Link to comment
Share on other sites

CBers

@ Which values did you change in the file header, as @@FrostByte and I have been amending both the "Video Pixel Height" and "Video Display Height" to 2160, but HDR still doesn't trigger ?

 

Media Info of the sample file we've been testing on:

 

Video
ID                                       : 1
Format                                   : HEVC
Format/Info                              : High Efficiency Video Coding
Commercial name                          : HDR10
Format profile                           : Main 10@L5.1@High
Codec ID                                 : V_MPEGH/ISO/HEVC
Duration                                 : 10 s 594 ms
Bit rate                                 : 8 747 kb/s
Width                                    : 3 840 pixels
Height                                   : 2 160 pixels
Original height                          : 1 600 pixels
Display aspect ratio                     : 16:9
Original display aspect ratio            : 2.40:1
 

Strangely, all of the samples I have that don't trigger HDR in Emby, do trigger HDR in PLEX, no matter what dimensions they are.

 

Thanks.

  • Like 1
Link to comment
Share on other sites

Guest asrequested

You change the display height not the video. I'll post a screenshot in a little while.

Edited by Doofus
  • Like 2
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...