Kaby Lake NUC + PMP + 12bit HEVC = Smooth Playback?



Hi all,

I took a look around but couldn't find anything definitive so if you find something please link and sorry for the duplicative post! Since the Kaby Lake NUCs (or i3 variants at least) started to ship recently, I wanted to see if anyone has tested playback of HEVC files, specifically 12bit encodes of 4k videos. Even playback on other NUCs with similar files would help.

The media block for Kaby Lake added hardware decoding for HEVC files encoded in 8bit and 10bit, but not 12bit. I'm curious to see if that lack of hardware decoding means 12bit files will struggle to playback because it dumps everything onto the CPU or if the optimized GPU will be able to help in some capacity even though it can't natively decode 12bit files.

I know right now HEVC + 4k + 12bit is a rare combo, so I might be out of luck. I'm looking to replace my current PMP rig (a 2012 Mac Mini) with a NUC, but was hoping to get some feedback before shelling out a few hundred dollars to possibly run into the same problem. The Mini right now can play back 1080p 12bit HEVC files fine, just not 4k.



Someone correct me if I am wrong but assuming the HEVC + 4K + 12Bit is not supported, the transcoding gets pushed back all the way to the server, right?


Thanks @wesman my initial post left out one big thing--I'm trying to Direct Play the files. On my Mini I was able to transcode down to 1080p (it tries to Direct Play the 4k file, but stutters), but then the banding issues that led me to switch to the higher bit-depth encoder in the first place reared its ugly head.


I gotcha, but is your Mini both your player and your Server?


A few years back I had a different Mini doing both, but it died so I currently have a headless/no screen iMac (Mid-2010 i7) as the server and my Mini as the PMP/Kodi add-on client/player.


Okay, so, if your PMP is only a player, it should never transcode, only the server does that.


Yep, so therein lies the problem @wesman I'm trying to avoid any transcoding and simply Direct Play the 4k/12bit/x265 files.

The Mini currently doesn't have the power to natively play the above combo. I can force my server to transcode down to 1080p (8bit x264); it works, but quality drops significantly. I'm trying to figure out if a Kaby Lake NUC can process the 4k/12bit/x265 combo. The graphics would be greatly improved over the Mini, but the Mini's older i5 is still on par with a Kaby Lake i3 (based on what's out now).


well, I am playing with a newer version now. I can tell you that it stutters on 4K for some reason.


12 bit will have to be decoded on the CPU. Unless it's a very powerful CPU, and the video stream is not that high bitrate, it's unlikely that it can be played in realtime.


@vlang Thanks for confirming it gets offloaded to the CPU. Do you have a ballpark passmark figure that'd be needed to play a single 4k HEVC file like this? This is for a player, so I'm not concerned with multiple transcodes, just single decodes/playback.

Looks like the Kaby Lake NUCs have the following passmark scores:
i3 - 3,768
i5 - 5,094
i7 - 6,076

Or would something higher powered like the i7-7820HQ (9,052) or i7-7700k (13,098) be needed?


@vlang said:
12 bit will have to be decoded on the CPU. Unless it's a very powerful CPU, and the video stream is not that high bitrate, it's unlikely that it can be played in realtime.

On the Players CPU or the Servers?


Gut reaction is player CPU. Since the client will report it can play 4k HEVC the server should be streaming the content and that's it; the player in this case then has to decode the stream that the server passes to it. Just a guess though, whatever @vlang says is definitive.

My Mini/player has an i5-3210m (passmark 3789). It drops some frames but is watchable with 4k 8bit (~150% CPU load), stutters with 4k 10bit (~270% load), and stutters even more with 4k 12bit (~350% load). That rules the i3 out for me if I'm going to keep encoding with 12bit, but I'm curious if the i5 or i7 would have enough oomph to do the job.


Do you have a ballpark passmark figure that'd be needed to play a single 4k HEVC file like this?

No. But 4K is really very heavy, so it should be a modern i7 for software decoding. But I can't guarantee that it'll work sufficiently.

On the Players CPU or the Servers?

Player's. But if you force it to transcode, it's done on the server of course.


Thanks @wesman and @vlang for your help with this.

Since I've got a rather niche need I've decided to go in a different direction and build a mini HTPC. Can cobble together a baseline i3 with a gtx 1050 ti that can decode HEVC 8/10/12bit in hardware for less than it'd cost me for the i7 NUC when it comes out. I'd love the small NUC form factor, but some of the HTPC cases look good enough and blend in with the rest of my A/V equipment.



Sounds good, but what about power consumption? Will probably be a lot higher than a NUC when idle at least.

May I ask what components you ended up with? :)


Hey @star-affinity, power usage is higher I'm sure, let me see if I can pull the idle wattage (I'm traveling now, but should be able to pull that in the next few days once I'm back). This particular build is only for HTPC use and is off/sleeping when I'm not viewing media. Had it been a 24/7 client or server, I may have gone a different route.

As for the specs, I ended up going larger than I originally expected and got a full-blown HTPC case, rather than the smaller form-factor I originally expected:

CPU: Intel i3-7100 (3.9 GHz)
GPU: GeForce GTX 1050 Ti (4GB, EVGA-branded)
Mobo: MSI B150M Bazooka Plus
Case: Silverstone GD05B
Fan: Thermaltake CL-P032-CA06SL
RAM: 8GB Crucial (I use this strictly as a HTPC, no other usage)

Having things in a smaller/more efficient package would have been nice, but I have been very pleased with the setup. I've had no issues playing back my 12bit HEVC (via x265) encoded files. Coming from a Mac Mini before, the native decoding of HD audio codecs in Windows 10 has been a nice plus as well. I never tried the LPCM route previously though, so can't compare. I'm a fan of passthrough, what can I say.



I see – thanks for sharing! Server that's on 24/7 seems to be to only easy way for Plex to be available over WAN, which I'd like.

I ended up with a Kaby Lake NUC. Currently running MacOS on it (Hackintosh:ed) so no HEVC support on the GPU until I move to "High Sierra" which will be released this fall. No rush for me, though – don't have any H.265 files currently. Which lead me to the question: what kind of HEVC files is it thay you have, i.e. what's the source and why are they 12 bit (if I may ask)?

Also, I understand I will "just" get 10 bit HEVC support on the Intel GPU in the the Kaby Lake NUC – what does this mean in practice? I could look that up myself, I guess... :)

Lastly — I understand that you're a fan of pass-through. :) That's the most desirable. So your setup running Windows 10 gives you pass-through for HD Audio (and HEVC video?) using Plex Media Player, or are you using another player?


@star-affinity glad you got your rig setup! The Kaby Lake NUC's integrated GPU can decode up to 10-bit HEVC content in hardware (ie stuff encoded in HEVC's Main 10 profile or lower). As long as the GPU driver for the OS supports it, the decoding of any HEVC content should be offloaded to the GPU, which will result in the files being playable. HEVC decoding in software is very CPU intensive, especially with 4k content; hardware decoding is generally key for smooth playback of HEVC content.

I have maybe 20-30 HEVC files that have been encoded (via x265 in Handbrake) from the Blu-Ray source (mainly 1080p, but a few 4k). I found 12-bit encoding helped (at least to my eyes) retain detail/reduce banding in dark sequences (low light/fade-to-black) better than 8 and 10 bit encodes. Eventually if I switch to an HDR capable setup, the 12 bit encode will be helpful in preserving the HDR color space, but right now every source has been the non-HDR/BT.709.

I know Apple is finally building out the libraries to support hardware decoding of HEVC content in 10.13, but I'm not well versed in hackintosh culture--I would think if a driver exists to allow the OS to run on the NUC, that it should be able to leverage 10.13/High Sierra's implementation of HEVC decoding. I could be reading that wrong though and it might require some additional tinkering from the hackintosh community to get it to work.

Right now, yes, my Windows 10 setup allows me to pass the audio untouched to my receiver for decoding, so Atmos metadata is preserved. Running Plex Media Player I'm able to set passthrough up in the preferences as well as enabling HEVC decoding by activating Direct Play. The end result is my x265-encoded rips playing back without issue (thus far).

Longwinded, but hopefully that explains things a bit!



@onekmilesbehind Thanks! And it's only using around 2W when idle. :)

A bit sad that Intel GPU in the 7th gen NUC can't decode 12 bit HEVC files, but at the same time I will mainly use it as a server and let other devices do the playing. So eventually that shouldn't be a problem as more and more devices gets support for it.

Will be interesting to see what Apple's implementation of HEVC means and which of their devices will me able to utilize the GPU for playback. Seems even the Macs that have the Skylake Intel GPU will have HEVC support, but then I guess that isn't true for 12 bit files there either since even the Kaby Lake GPU doesn't support that. Hmm… Should work fine without any modifications from the Hackintosh community, though. Ayway, I just have the NUC as a Hackintosh (had a desktop before) – the rest of my computers are real Macs.

Interesting that you're encoding Blu-ray's into H.265. What file size do you generally end up with (keeping the audio track(s) intact I take it)? Of course the file size varies depending on settings and the nature of the video, but in general.

I've been using FFmpeg (via the MacOS software iFFmpeg) for re-encoding of my Blu-rays and found a setting (H.264) which yiels a file that’s about 50% the size of the original and still looks very similar to the original (even in dark scences). Like you say I also tnhink it is manly in dark scenes and shadows that the difference in compression is more noticable.

Would of course be great if one could find a setting that gives a file that is as close to the original Blu-ray rip as possible and still gives the smallest file possible. Maybe going H.265 is the way to go? I’ve been under the impression that going H.265 for Blu-ray video (which in general is H.264) won't do much, but if I understand you correctly it's worth it? Maybe I'll still just wait, since several of the devices I used for playback of my Plex Media currently doesn't support H.265. At the moment I just have H.264 files and DTS audio (no Master or HD audio) which isn't that CPU heavy to transcode, since it's only done for the audio (as I understand it).

Is the audio part also ”direct play” for you? Even if it's DTS?

Thanks again for your feedback!


@star-affinity I wouldn't abandon H.264 for H.265 yet. I dabble a lot of with new tech, but many excellent encoders still prefer x264 for 1080p Blu-Ray content because x264 has been tuned and refined for so many years (it's HIGHLY optimized).

I stumbled upon 12bit x265 discussions over at doom9 and gave it a shot. I had source content (Game of Throne's first episode of season 6) that kept giving me issues with banding/blocking in a very low light intro sequence. After comparing my H.264 specs with 8, 10, and 12 bit x265 encodes, I found 12bit helped a lot with retaining detail in almost near-black scenes. The efficiency gains with 1080p encodes aren't really there yet--I still get about 8-15GB for a ~2hr movie (with HD audio retained), which is what I saw with x264, or worse (though my x264 specs likely were too aggressive and contributed to my banding issues). With 4k content though, x265 is the only real option for me as I get encodes in the 15-20GB range, rather than double that with x264.

With time x265 should gain some filesize/efficiency improvements as x264 did. I'm also on the 2.1 release, while current is 2.4 I believe, so improvements likely have already been made, I just haven't gotten around to compiling the new binary.

As for my audio, yes right now PMP passes through DTS/DTS-HD MA, Dolby Digital/TrueHD/Atmos. Theoretically it supports DTS:X as well, but I have yet to have a bluray contain that track type. Audio was actually the main reason for me switching from a Mac-based setup; I really wanted passthrough support for the new object-based formats like Dolby Atmos and DTS:X. I love Apple, but they have taken way too long to support the new codecs and I believe it's because they never intend to support them. I've been very happy with the setup, though 2w @ idle would have been nice too :).