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. |
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? |
12th January 2018, 21:53 | #2 | Link |
Software Developer
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
|
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)
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊ Last edited by LoRd_MuldeR; 12th January 2018 at 23:05. |
14th January 2018, 13:54 | #3 | Link |
Registered User
Join Date: Jan 2010
Posts: 709
|
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 |
15th January 2018, 05:15 | #5 | Link | |
I'm Siri
Join Date: Oct 2012
Location: void
Posts: 2,633
|
Quote:
I'd make it like cpu, slay queen gpu, bunch of basic bitches |
|
Thread Tools | Search this Thread |
Display Modes | |
|
|