Hardware Video Codec Acceleration
The cluster discusses the efficiency of hardware versus software encoding and decoding for video codecs like H.264, HEVC, VP9, and AV1, including hardware support in CPUs/GPUs such as QuickSync and NVENC, and factors affecting adoption of new codecs.
Activity Over Time
Top Contributors
Keywords
Sample Comments
Encoding is probably more important. Without acceleration from a hardware codec, decoding modern videos is CPU intensive.
Surely h264 encode and decode is substantial, given the large amount of video consumed?
given that sites tend to only encode to a few formats, and given decoding is cheap cpu wise: couldn't you pipe the output of the ffmpeg decoder into a hardware encoder and get the best of both worlds?
You already have HW encoder blocks on certain CPUs and most GPUs. See: Intel Quicksync, Nvidia NVENC and AMD Video Core Next. Support for them will of course depend on your platform and the applications you are using. IIRC, video editing software will generally use HW decoding for smooth-real time playback, but use CPU-encoding for the final output.
Video encoding is still very CPU intensive, especially newer codecs like HEVC VP9 and AV1
Don't most computers already have hardware accelerated encode/decode via cpu/gpu?
Yes. The reason is that there's many ways to encode a video, you can choose to spend a lot of compute in order to get the best quality, or the best size efficiency. Fixed function hardware encoders by nature have much less freedom in how they encode, and additionally are expected to be faster, or even real time.
Don't most devices have hardware offload for decoding nowadays?
Video decoding is usually implemented in hardware, so very efficient.
But codecs are implemented in hardware. Gotcha!