

*** VP8 decode support is limited to selected Pascal chips ** Max resolution support is limited to selected Pascal chips ** Except GP100 (is limited to 4K resolution) NVENC enables streaming applications at high quality and ultra-low latency without utilizing the CPU, encoding at very high quality for archiving, OTT streaming, web videos, and encoding with ultra-low power consumption per stream (Watts/stream) For example, in a game recording and streaming scenario like streaming to using Open Broadcaster Software (OBS), encoding being completely offloaded to NVENC makes the graphics engine bandwidth fully available for game rendering. With complete encoding (which is computationally complex) offloaded to NVENC, the graphics engine and the CPU are free for other operations. On Ada, multiple NVENC coupled with AV1 enables encoding 8k video at 60fps alongside a higher number of concurrent sessions. AV1 is the state of the art video coding format that supports higher quality with better performance compared to H.264 and HEVC. Introducing AV1 encoding with Video Codec SDK 12.0 on NVIDIA’s Ada architecture. ffmpeg -h decoder=h264 does not show openh264 as a decoder.NVENC - Hardware-Accelerated Video Encoding For example using the native H.264 decoder: Stream mapping: To verify the desired decoder is being used I added the outputs from time in the example (the last three lines) for comparison purposes. If you want real time as well add the time command before the ffmpeg command (if you're on Linux). Note the benchmark option outputs user CPU time, not the elapsed real time. Libopenh264 $ ffmpeg -benchmark -c:v libopenh264 -i input.mp4 -map 0:v:0 -f null. Native FFmpeg H.264 decoder $ ffmpeg -benchmark -i input.mp4 -map 0:v:0 -f null. The -map option is also used so only the (first) video stream is decoded and to ignore other, non-video streams such as audio. Below are two decoding benchmark examples using the null muxer. To choose the decoder you want use the -c:v input option. It appears you're working with the FFmpeg libraries, but here are some examples using ffmpeg. The native FFmpeg H.264 decoder has threading capabilities (frame and slice) but OpenH264 does not. OpenH264 can only decode Constrained Baseline profile, so its usefulness may be limited. There are also several supported hardware assisted H.264 decoders, but I'm not going to go into detail about those. FFmpeg can use OpenH264 (named libopenh264 in FFmpeg) to decode in addition to the native FFmpeg H.264 decoder (named h264).
