Originally Posted by Mega Man
Yea so much of this is nvidia psydo truth I won't even go further then "no sorry"
Sigh. You can not see the difference does not mean there isn't one. Means you don't know what you ate looking for.
Provided that i have never really bothered to dig into the particular deficits of HW encoders, since they always lose the image quality comparisons, here's the quick story (taken from link above).
1) The problem with both x264 and x265 is that they were born to be software encoders, using CPU. Even HW CPU encoders are having trouble. GPU encoders took even more years to improve, because they must do a job never designed for the GPU, with GPU resources. The fact that the encoder was also born as software, also means, that simply, some parts of the software encoder, can't be implemented in the hardware. So basically, you get a watered down version of the encoder, which is also faster.
2) 2 englightening posts:
^ Basically, a HW encoder, not having the possibility to use all the software encoder features, and being geared towards speed, in reality, is like doing faster software presets. So, while for example, if you take Handbrake, by default, it will run at preset medium, the hw encoder, is set at a quality setting, equivalent to software version of "ultrafast", which is obviously must faster, because it doesn't do quality...
^ This guy, is actually software author (author of RipBot x264 freeware application). He points out exactly, the bitrate difference (a faster encoding, also requires more bitrate= more size and it's still worse in quality than a slower encoding) and that the HW encoders, lack completely x264 features. For instance, the psy algorithms he mentions. For example, in software encoders, "tune film" sets a specific psy rd value. Psy algorithms are on their turn strictly related to "subme" levels, which on their part are related to quality and speed (higher subme => higher quality > slower encoding). Psy rd make part of "psychovisual optimizations", which in practice, make a calculated image distortion, to better give an image more suited for human eyesight. There is a correlation and synergy between psy rd, trellis, subme level and even deblocking (subme 9 and above, use psy-rd aware deblocking. Basically, the deblocking recognizes and respects the psy-rd effect and deblocks without destroying it). In HW encoder all this is simply... non existant... Basically, the normal software encoder, works with a synergy between these settings:
In software encoder, an encode with subme 9 (which for me is a "must have" for any quality encode), is guaranteed to be a slow encode. Because the encoder has to do so many calculations on each frame...
The hardware encoders, lack many of that and use a "fast" preset. And so they are "fast". Edited by Undervolter - 11/8/15 at 4:00pm