[FFmpeg-devel] h264_qsv decoder speed

Moritz Barsnick barsnick at gmx.net
Thu Aug 18 17:50:57 EEST 2016

On Wed, Aug 17, 2016 at 23:13:13 +0100, Mark Thompson wrote:
> > The test video was captured from a 3MP(2048x1536) camera. The commands I
> > used:
> > -  ffmpeg -c:v h264_qsv -async_depth 10 -i test.h264 -c:v rawvideo -f null
> > /dev/null
> > -  sample_decode h264 -i test.h264
> > Both uses 100% cpu (a full core). ffmpeg got 170FPS. sample_decode got
> > 370FPS.

> I think in both cases your speed bound must be on something other
> than the decode, because the hardware goes a lot faster than either
> of those for me.

Don't explicitly convert to rawvideo, the null muxer recently defaults
to wrapped_avframe, which is a tad bit faster:

$ ffmpeg -c:v h264_qsv -async_depth 10 -i test.h264 -f null /dev/null

Actually, you may want to rule out too much influence from the output
section of the chain by using "-c copy", if possible:

$ ffmpeg -c:v h264_qsv -async_depth 10 -i test.h264 -c copy -f null /dev/null

In addition to this, do benchmark the demuxing/muxing overhead for
comparison, without HW decoding. (Yes this is a different demuxer, but
just in order to see.):

$ ffmpeg -i test.h264 -c copy -f null /dev/null

(And drop audio processing using "-an". Not applicable in this case.)


More information about the ffmpeg-devel mailing list