Several decoders are currently supported through VDPAU in libavcodec, in particular MPEG Video, VC-1, H.264, MPEG4. This is not done automatically by FFmpeg, but must beĭone at the application level (check for example the ffmpeg_vdpau.c file used by ffmpeg.c).Īlso, note that with this API it is not possible to move the decoded frame back to RAM, for example in case you need to encode again the decoded frame (e.g. Note that VDPAU cannot be used to decode frames in memory, the compressed frames are sent by libavcodec to the GPU device supported by VDPAU and then the decoded image can be accessed using the VDPAU API. To enable this you typically need the libvdpau development package in your distribution, and a compatible graphic card. Developed by NVidia for UNIX/Linux systems. † Actually yes, but is deprecated and should not be used.ĭecode and Presentation API for Unix. If "Y" is indicated, infrastructure is in place but no filters have been implemented yet. N/A This feature is not directly supported by the API, or is not currently implementable. There are several hardware acceleration standards API, some of which are supported to some extent by FFmpeg.
HW-assisted encoding is enabled through the use of a specific encoder (for example nvenc_h264).įiltering HW-assisted processing is only supported in a few filters, and in that case you enable the OpenCL code through a filter option. May have specific limitations (for example an H.264 decoder may only support baseline profile). When using FFmpeg the tool, HW-assisted decoding is enabled using through the -hwaccel option, which enables a specific decoder. Hardware acceleration enables specific hardware devices (usually the GPU) to perform operations related to decoding and encoding video streams, or filtering video. This allows to use dedicated hardware to perform demanding computation while freeing the CPU from such computations. Hardware acceleration allows to use specific devices (usually graphical card or other specific devices) to perform multimedia processing. To test decoding, use the following command: ffmpeg -hwaccel dxva2 -threads 1 -i INPUT -f null -benchmark To enable DXVA2, use the -enable-dxva2 ffmpeg configure switch.