I cant actually believe someone needs to make a thread about the almost useless Hardware Acceleration options we have right now.
Right now I can chose on the Nvidia Shield, Minix U9 and Intel NUC between:
Hardware Acceleration: Always, Never and HD and up.
HD and up is whats so freaking useless to be honest with you, which means Hardware Acceleration enabled at 720p or higher resolution.
99% of all the android and other SoCs have one thing in common- the upscaling quality is trash. It equals "bilinear" upscaling quality, which is absolutely trash. The only thing to change this is to use software scaling, like "Lanczos 3 optimized" which looks much better than the built-in scaling capabilities of 99% of all those ARM SoCs out there.
The problem being is that when "HD and up" hardware acceleration is selected, all the 720p (and higher than 720p) content gets upscaled by the SoC, you cant use software scaling on it. Which means very bad upscaling quality.
The thing is- the majority of ARM cpus, even in the cheap boxes, most likely have no issues decoding + software scaling 720p content with Lanczos 3 optimized. Thats why its absolutely stupid to have "HD and up" option for hardware acceleration.
I mean I kinda get it why it is this way, when this option was implemented, they probably worked with devices like RPi1 which have super slow garbage hardware.
99% of TVs out there nowadays are either 1080p TVs or 4K TVs. Thats why the "hardware acceleration" option should also include "Full HD and up" AND "4K and up" for h264 and mp4 content.
Honestly, its probably just a few lines of code to implement this change, but it will probably take 5-10 years untill those 2 options will ever get introduced in a Kodi build... ("Full HD and up" AND "4K and up").
If you have a 1080p TV, you most likely want Hardware Acceleration to start with 1080p content (or higher). Everything below 1080p is most optimal when upscaled by software Lanczos3. And most players have decent CPUs nowadays that can handle it.
If you have a 4K TV, you most likely want Hardware Acceleration to start with 4K content or higher, provided that your media player has a decent CPUs, like Nvidia Shield or Intel NUC. All the content below 4K, youd want to decode + upscale with software Lanczos 3.
As it is right now, I have to turn the Hardware Acceleration completely off, to be able to upscale 720p video with Lanczos 3, which is not an optimal way, since Id still want 1080p content to have hardware acceleration, because it doesnt need to be upscaled...