[FFmpeg-devel] QSV Decoding - Issues and Regressions

wm4 nfxjfg at googlemail.com
Mon Aug 3 14:46:31 CEST 2015

On Mon, 3 Aug 2015 14:18:04 +0200
Hendrik Leppkes <h.leppkes at gmail.com> wrote:

> Hey,
> after a discussion on IRC about the declining quality of the QSV
> decoders, I decided to do actual tests and document the results, so we
> can get these fixed.
> A lot of these issues are regressions from recent changes, and work
> fine in the original qsv decoders merged from libav, so they should be
> given extra attention.
> 1)
> Content with frame size changes is not handled at all.
> A change to a smaller frame size will result in image corruption, and
> a change to a bigger frame size will cause decoding to fail entirely.
> Sample (large to small):
> http://fate-suite.ffmpeg.org/h264/reinit-large_420_8-to-small_420_8.h264
> In this case, as hardware buffers are re-used, the images after the
> change to a smaller size result in showing parts of the old image and
> the new smaller image in the top left corner instead.
> 2)
> Seeking is broken. For some reason refactoring of the qsv decoders has
> resulted in their flush functions to become void. Seeking using ffplay
> and the qsv decoder results in serious playback disruption.
> 3)
> AV_PIX_FMT_QSV output is no longer functional. Refactoring has removed
> the ff_get_format call, which results in API users no longer being
> able to select the QSV pix fmt.
> These 3 issues are regression from the original decoder, and should be
> corrected before further decoders are merged. As additional code using
> the common qsv may require further changes in the future, its best to
> fix the common code before adding even more.
> I'll make sure to review future qsv patches more actively to hopefully
> avoid big regressions like these in the future as well. I have a
> system setup now to test qsv, so that should be easier in the future.

That's pretty serious and should have never happened. I suggest that we
don't merge patches until all reviewer's comments were addressed.
(Apparently some were ignored in the past.)

More information about the ffmpeg-devel mailing list