1. No user installed addons are supported, python or otherwise.
2. No, they really are not supported.
3. They are not coming back
4. Read from 1. again

Any mention of illegal streaming sites, addons or any pirated material will not be tolerated. This is not democracy and any offenders will be banned and posts deleted immediately without warning.

Other than that, we hope you enjoy MrMC so far and we welcome any input and feedback you might have.

Team MrMC.

HEVC 4:2:2 2160p50 plays!

tvOS Video playback support subforum
Post Reply
noggin
Posts: 28
Joined: 19 Nov 2015, 10:12

HEVC 4:2:2 2160p50 plays!

Post by noggin »

Quick question - I noticed, to my surprise, that the Apple TV 4K is able to playback broadcast 80Mbs 2160p50 4:2:2 10-bit HEVC content (SDR) with fluid decoding (inFuse is also able to). There is a significant AV sync error in MrMC that isn't present in inFuse.

However when I bring up the codec screen CPU is sitting at just ~9-11% and the codec is described as 'hevc(Rext)'.

When I've played other 4:2:2 content in other codecs I've had very different results :

38Mbs MPEG2 LongGOP 1080i25 4:2:2 8-bit SDR plays with codec 'mpeg2video (4:2:2)' and requires ~140Mbs CPU
100Mbs AVCi100 Intra 1080i25 4:2:2 10-bit SDR requires ~200% and plays with codec 'h264 (High 4:2:2 Intra)'

This got me to thinking - is h.265/hevc 4:2:2 hardware decoded on the Apple TV 4K, compared to software for 4:2:2 8-bit MPEG2 and 4:2:2 10-bit h.264?
cosmoxl
Posts: 1759
Joined: 12 Dec 2015, 14:16

Re: HEVC 4:2:2 2160p50 plays!

Post by cosmoxl »

noggin wrote: 26 Jun 2020, 07:21 Quick question - I noticed, to my surprise, that the Apple TV 4K is able to playback broadcast 80Mbs 2160p50 4:2:2 10-bit HEVC content (SDR) with fluid decoding (inFuse is also able to). There is a significant AV sync error in MrMC that isn't present in inFuse.

However when I bring up the codec screen CPU is sitting at just ~9-11% and the codec is described as 'hevc(Rext)'.

When I've played other 4:2:2 content in other codecs I've had very different results :

38Mbs MPEG2 LongGOP 1080i25 4:2:2 8-bit SDR plays with codec 'mpeg2video (4:2:2)' and requires ~140Mbs CPU
100Mbs AVCi100 Intra 1080i25 4:2:2 10-bit SDR requires ~200% and plays with codec 'h264 (High 4:2:2 Intra)'

This got me to thinking - is h.265/hevc 4:2:2 hardware decoded on the Apple TV 4K, compared to software for 4:2:2 8-bit MPEG2 and 4:2:2 10-bit h.264?
The codec info overlay says what decoder is used in the "dc:***" section. anything ff-* is software. vtb or avf is hardware.

hi10p gets software decoded for, I guess, apple hardware doesn't support it. Or maybe davilla needs to fix that?

Anything interlaced also gets software decoded since the hardware decoders don't handle interlaced, even interlaced h264.

Anything mpeg2 gets software decoded.
User avatar
davilla
Team MrMC
Posts: 4377
Joined: 26 Oct 2015, 17:01

Re: HEVC 4:2:2 2160p50 plays!

Post by davilla »

sample please :)
noggin
Posts: 28
Joined: 19 Nov 2015, 10:12

Re: HEVC 4:2:2 2160p50 plays!

Post by noggin »

cosmoxl wrote: 26 Jun 2020, 16:39 The codec info overlay says what decoder is used in the "dc:***" section. anything ff-* is software. vtb or avf is hardware.
Thanks for this.

The dc information for the 2160p50 4:2:2 10-bit hevc clip I have is 'dc:vtb-h265' which suggests it is being hardware decoded. Great that the ATV 4K includes a 10-bit 4:2:2-friendly hevc decoder.

Code: Select all

ID                                       : 1
Format                                   : HEVC
Format/Info                              : High Efficiency Video Coding
Format profile                           : Format [email protected]@High
Codec ID                                 : V_MPEGH/ISO/HEVC
Bit rate                                 : 86.1 Mbps
Width                                    : 3 840 pixels
Height                                   : 2 160 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 50.000 fps
Standard                                 : Component
Color space                              : YUV
Chroma subsampling                       : 4:2:2 (Type 2)
Bit depth                                : 10 bits
Bits/(Pixel*Frame)                       : 0.208
Stream size                              : 1.21 GiB (100%)
Default                                  : Yes
Forced                                   : No
Color range                              : Limited
Color primaries                          : BT.709
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.709
hi10p gets software decoded for, I guess, apple hardware doesn't support it. Or maybe davilla needs to fix that?
If by hi10p you mean h.264 10-bit 4:2:0 - then very little other than Rockchip hardware appears to decode that in hardware because it's a non-standard format not in widespread use (outside of anime fandom?). However 10-bit HEVC is a standard in widespread use (not just for HDR), so it makes sense for it to be supported in 4:2:0 - but the 4:2:2 was a pleasant surprise.

I wonder if Apple have included 4:2:2 support for hevc because they wanted their silicon to have some broadcast use (GPU acceleration in FCP X etc. is a 'thing', and iPads get used for video editing in the field where cameras shoot 4:2:2?)
Anything interlaced also gets software decoded since the hardware decoders don't handle interlaced, even interlaced h264.

Anything mpeg2 gets software decoded.
Yes - that makes sense. I can't imagine Apple have any interest in implementing deinterlacing, as their use case is all based around OTT progressive streams.

I'm amazed at how powerful the SoC in the Apple TV is - interlaced 4:2:2 8-bit h.264 and MPEG2 1080i25 stuff playing at all is amazing!
Last edited by noggin on 01 Jul 2020, 07:58, edited 2 times in total.
noggin
Posts: 28
Joined: 19 Nov 2015, 10:12

Re: HEVC 4:2:2 2160p50 plays!

Post by noggin »

davilla wrote: 28 Jun 2020, 01:26sample please :)
PM sent.
noggin
Posts: 28
Joined: 19 Nov 2015, 10:12

Re: HEVC 4:2:2 2160p50 plays!

Post by noggin »

Have read a suggestion that more recent Apple A-series SoCs include up-to 4:4:4 hevc decode for Sidecar (as 4:4:4 is much nicer for pixel accurate rendering than 4:2:0 with chroma smear)

I wouldn't be surprised if the decoder did 4:2:0, 4:2:2 and 4:4:4 as a result.
Post Reply