View Full Version : x265 vs. GPU based HEVC encoding: Common level?
LigH
26th October 2016, 07:38
Is it possible to narrow down a range of x265 parameters which would probably return a result comparable to the achievable complexity of HEVC which can be produced by GPU based encoders like NVENC or QuickSync? That would probably require to analyze such results in depth, beforehand...
JohnLai
26th October 2016, 08:50
Nvenc--> No B-frames ---> only use 1 reference frame no matter how many ref one specified ---> 32 CTU max ---> SAO ( Some form of low complexity SAO, uncomparable to x265 ) for Pascal, no SAO for Maxwell ---> adaptive quantization works differently than x265 ---> Did I mention about color reproduction problem using during encoding? ---> Lookahead implemented with adaptive I frame placement + adaptive GOP ---> Pascal 8 + 10bit encoding support, Maxwell only 8bit ---> VBR quality point based support ( a little problem with it though, SDK should document it better) --> Support for LTR frame.....
QSV --> Generalized B (Only I and B frame with one of the B frame treated as P frame, but it is still B frame) ---> QSV reference frame is working up to 8 (Didn't encounter QSV sample with 16 yet), 32 CTU max, no SAO , no adaptive quantization ---> No lookahead, fixed GOP.....no adaptive I and B, 'P' frame placement....---> 8bit encoding only...
VCE 3.0 ---> I and P frames only ---> encounter 8 bit sample so far with 64X64 CTU size (somehow doesn't use all of motion partition supported in HEVC standard), unsure of 10bit encoding ---> not sure if it is AMD AMF SDK or driver support problem, but encoded sample make use of 1 reference frame only. ---> No SAO, no adaptive quantization, fixed GOP, no adaptive IP frame placement ---> Only VBR, CBR and CQP rate control mode, no lookahead....
Thus...how does one suppose to narrow down range of x265 parameters which would return a result comparable to the fixed function encoder such as NVENC, VCE and QSV?
Not to mention those 3 fixed function encoder have different supported rectangular motion partitions Nx2N and 2NxN.
Jamaika
26th October 2016, 09:32
It is also important rendering. Not only encoding. I have Cyberlink PowerDirector 15. As a toy decodes video 10bit. It is currently very common. In addition, the color range is displayed correctly and eliminates any pixels without losing visual quality. It seems to me that it has some filters for better viewing on monitor Eizo 8bit. Perhaps better converts bt2020.
LigH
26th October 2016, 09:45
@ JohnLai:
I don't expect to find one set of parameters equal to all, but maybe some attributes to point at and say with some confidence: "See how much you would have to limit x265 to work about as 'lazy' as this or that GPU encoder, that's why they are no competitors when it comes to efficiency." – Without such facts, the claim that CPU HEVC encoders are currently superior may sound a bit weak; I'd prefer convincing with numbers over pleading for belief. ;)
easyfab
26th October 2016, 10:53
QSV --> Generalized B (Only I and B frame with one of the B frame treated as P frame, but it is still B frame) ---> QSV reference frame is working up to 8 (Didn't encounter QSV sample with 16 yet), 32 CTU max, no SAO , no adaptive quantization ---> No lookahead, fixed GOP.....no adaptive I and B, 'P' frame placement....---> 8bit encoding only...
ouch ? Is this hardware limitation or because it's not implemented yet ?
And with lack of this features (mainly lookahead ) is HEVC > AVC in QSV ?
JohnLai
26th October 2016, 13:38
@ JohnLai:
I don't expect to find one set of parameters equal to all, but maybe some attributes to point at and say with some confidence: "See how much you would have to limit x265 to work about as 'lazy' as this or that GPU encoder, that's why they are no competitors when it comes to efficiency." – Without such facts, the claim that CPU HEVC encoders are currently superior may sound a bit weak; I'd prefer convincing with numbers over pleading for belief. ;)
Whatever float the boat......:D
ouch ? Is this hardware limitation or because it's not implemented yet ?
And with lack of this features (mainly lookahead ) is HEVC > AVC in QSV ?
Lack of SAO --> Hardware limitation
Adaptive quantization and lookahead ---> technically it can be done in software or hardware. For example, AQ and lookahead in NVENC are done using CUDA cores. Unfortunately, [@Yups] had been asking in Intel forum about support for lookahead and Intel responded it is not in their roadmap bla bla bla.......Then again, nobody is sure if intel igpu has enough horsepower for hevc lookahead
benwaggoner
1st November 2016, 15:57
Is it possible to narrow down a range of x265 parameters which would probably return a result comparable to the achievable complexity of HEVC which can be produced by GPU based encoders like NVENC or QuickSync? That would probably require to analyze such results in depth, beforehand...
Nope. Comparing Apples and Kumquats. Even at the same low bitrate, the artifacts would probably be quite different whatever you did.
Leveraging GPU while preserving full CPU quality might give a 25% speed improvement by preanalysis, coarse motion search, etcetera. But that's about it.
As has been true since H.264 was introduced, HW is great for getting something decent really fast (particularly if the CPU is busy doing something else), and software is how to get good compression efficiency. Even broadcast encoders are moving away from ASIC and GPU to largely CPU-based encoding. Particularly with HEVC. Kaby Lake Xeons are going to be huge for the industry.
It looks like CPU+FPGA probably has more ability to offer similar quality at higher performance than ASIC or CPU+GPU or pure GPU.
GPU fixed-function encoding is great for stuff like Twitch, though, where you want a good stream with minimal contention for CPU or GPU resources.
Even looking at GPU implementations, it really is by manufacturer and generation. Pascal>>Maxwell>>Kepler. And AMD/Intel/Xeon vary a lot in the same generation, with different leaders at different times. And CUDA/OpenCL encoders are a different beast than a fixed function corner of the die. But obviously when it's all in GPU memory, hybrid fixed-function + shaders becomes more practical.
LigH
1st November 2016, 19:38
Sounds like the bandwidth is broad, and the technologies differ even in some parts of the whole concept.
Still, I am curious if there are at least examples of an imaginable magnitude, not down to the littlest detail. Something like: Kepler's NVENC is at best similar to x265 with preset ***fast + a few obvious options, more or less. Just to demonstrate that it is far from the complexity of preset medium.
Jamaika
2nd November 2016, 09:58
I read an ad Mainconcept, which says that acceleration HEVC Encoding to Supporting NVIDIA Quadro GPU for 4K in 2017.
http://www.mainconcept.com/press/single-view/article/neulions-mainconcept-business-to-accelerate-hevc-encoding-by-supporting-nvidia-quadro-gpu-for-4k-li.html
JohnLai
2nd November 2016, 17:45
I read an ad Mainconcept, which says that acceleration HEVC Encoding to Supporting NVIDIA Quadro GPU for 4K in 2017.
http://www.mainconcept.com/press/single-view/article/neulions-mainconcept-business-to-accelerate-hevc-encoding-by-supporting-nvidia-quadro-gpu-for-4k-li.html
“The MainConcept® HEVC Encoding SDK achieves 4K60p live encoding in pure software mode, and leveraging GPU acceleration with the NVIDIA Video Codec SDK will provide additional value by offloading parts of the processing to the GPU, and give our broadcasters better encoding quality and more CPU cycles for their own applications,” said NeuLion’s VP of Engineering Thorsten Schumann. “MainConcept has utilized NVIDIA GPUs to accelerate its professional video library for many years,” said Sandeep Gupte, senior director of professional solutions at NVIDIA. “Adopting our next-generation Quadro GPUs will help fully optimize performance of their MainConcept HEVC Codec.”
.......Probably it means offloading decode, postprocessing (via
NVIDIA Performance Primitives which FFMPEG added few months ago + rigaya nvenc also support NPP for scaling too) and nvenc motion estimation only. It won't use full nvenc encoding as it mention they will encode in pure software mode.
Then again, probably it may not be a success.
Back in year 2014, there was a company called Vanguard Video with its encoder V.265-Gx that claimed it made use of opencl that offloaded some stuff to Intel Iris Pro graphic for real time 4K HEVC encoding.
CruNcher
8th November 2016, 03:46
Though i personally would say AMD has more to offer here in the Future on their current (Polaris) and upcoming (VEGA) Hardware correctly implemented.
We gonna see some very interesting stuff from many ISVs for sure ;)
There are also still a lot of Encoding and Decoding improvement possibilities with H.265 that aren't yet fully exploited as well which certainly Mainconcept targets for on the Nvidia Side :)
Of course Intels IGPus are excellently suited because of their short transaction paths same for AMD APU and Nvidia Tegra, i don't think the real power is only in leveraging a high power professional discrete card but of course in combination even more powerful :)
And with the inclusion of FPGA that could become very crazy.
The future looks very bright, we might gonna see a big revolution especially for time to market cycles.
HSA becomes more and more a reality we already see it on the consoles how efficient it can be correctly leveraged and it's gonna continue and the PC is about to change as well.
Very exciting times pre Quantum Computing era ;)
IgorC
8th November 2016, 23:03
Not sure about Nvidia, AMD or Mainconcept though Intel has quite good HEVC GPU+CPU encoder http://compression.ru/video/codec_comparison/hevc_2016/
CruNcher
20th November 2016, 08:50
Yeah Intel is no doubt the most efficient so far but at least Nvidia improved also over the years ;)
And you should know that Nvidia had also Devs from MSU (Yuvsoft) working on their Encoder Core back in the CUDA based days ;)
https://ru.linkedin.com/in/anton-obukhov-78b5276
It's rumored that the new Core is a mixup of Nvidias and Vanguards IP ;)
JohnLai
20th November 2016, 11:39
The problem is....Intel HEVC GPU + CPU encoder ain't free....
Yups
20th November 2016, 22:35
Yeah Intel is no doubt the most efficient so far but at least Nvidia improved also over the years ;)
I prefer HEVC encoding from my GTX 1080 over HD 530. But Skylake is old and only supports 8 bit.
With Kabylake HEVC encoding quality has been improved according to Intel, also there is a new Media SDK coming soon which might add some new things on the software side. I'm curious how Kabylake i7-7700k performs (quality+performance) against Skylake i7-6700k in a few weeks.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.