Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.


Go Back   Doom9's Forum > Announcements and Chat > General Discussion

Thread Tools Search this Thread Display Modes
Old 12th January 2018, 21:01   #1  |  Link
I hate analog
Join Date: Sep 2015
Posts: 19
Explain like I'm 5: Hardware Encoding

I'm curious about how hardcore encoding works. In what ways is it similar to, and in what ways is it different from software encoding?

Does the chip use settings like we do when we encode a video -- could hardware encoded h.264 be --stitchable with software encoded h.264 for example?
Spades45 is offline   Reply With Quote
Old 12th January 2018, 21:53   #2  |  Link
Software Developer
LoRd_MuldeR's Avatar
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 12,956
Simply put, CPU's provide awesome flexibility: Any algorithm you can ever think of can be implemented "in software" and then run on a stock CPU.

But this flexibility comes at a cost! Because CPU's only implement a set of "standard" (arithmetic, logic, etc. pp.) operations directly in the silicon, complex algorithms - such as video encoding - need to be spliced together from zillions and zillions of those simple "standard" operations. That is what "implement in software" really means. So, while CPU's are very flexible, they also are not very efficient for a highly specific task - such as video encoding.

Now, imagine you could design a chip for the sole purpose of running one specific algorithm - such as video encoding. This kind of chip, known as ASIC (application-specific integrated circuit), can be made extremely efficient (for its specific task), because all of the complex algorithms are implemented directly in the silicon. But, because those algorithms are now "hardwired" in the silicon, an ASIC has zero flexibility. That's pretty much what "hardware encoding" means

Finally, GPU's are somewhere in the middle between CPU's and ASIC's. GPU cores are much more simple/limited than CPU cores, but a GPU generally has MUCH more compute cores than a CPU. This makes GPU's well-suited for "massively parallel" computations - which, of course, includes 3D rendering, but (at least in theory) also video encoding. Offloading the video encoding (usually only partly!) to the GPU is sometimes called "hardware encoding" as well.

(This explains why "hardware encoders" run so extremely fast, compared to "software encoders", but at the same time do not provide the "sophisticated" options and tweaks that we are used to from software encoders like x264 or x265)
There was of course no way of knowing whether you were being watched at any given moment.
How often, or on what system, the Thought Police plugged in on any individual wire was guesswork.

Last edited by LoRd_MuldeR; 12th January 2018 at 23:05.
LoRd_MuldeR is offline   Reply With Quote
Old 14th January 2018, 13:54   #3  |  Link
Motenai Yoda
Registered User
Motenai Yoda's Avatar
Join Date: Jan 2010
Posts: 692
LoRd_MuldeR wrote right but you have to discriminate between hw accelerate encoding using ie cuda opencl and direct3d which are basically general purpose instruction sets executed by gpus and hw based encoding, a fixed algorithm intergrated in a dedicate hw of gpus like nvenc quicksync and amd amf
powered by Google Translator
Motenai Yoda is offline   Reply With Quote
Old 15th January 2018, 00:42   #4  |  Link
Retried Guesser
raffriff42's Avatar
Join Date: Jun 2012
Posts: 1,377
>Explain like I'm 5

One must explain such things to a five-year-old in terms of "NED" or "nearest equivalent dinosaur."

A CPU is a Tyrannosaurus Rex, and a GPU is a pack of Velociraptors.
raffriff42 is offline   Reply With Quote
Old 15th January 2018, 05:15   #5  |  Link
I'm Siri
feisty2's Avatar
Join Date: Oct 2012
Location: Los Angeles, California
Posts: 2,119
Originally Posted by raffriff42 View Post
>Explain like I'm 5

One must explain such things to a five-year-old in terms of "NED" or "nearest equivalent dinosaur."

A CPU is a Tyrannosaurus Rex, and a GPU is a pack of Velociraptors.
that's the kinda explanation for 5 yrs old kids in 80s
I'd make it like
cpu, slay queen
gpu, bunch of basic bitches
If I got new ideas, will post here: https://github.com/IFeelBloated
feisty2 is offline   Reply With Quote

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT +1. The time now is 03:25.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.