[libav-devel] qsv: How about replace software parsers with MFXVideoDECODE_DecodeHeader
maxim.d33 at gmail.com
Mon Jan 22 13:46:23 CET 2018
IMHO - good reason(s)
plus : it will be more consistent approach to rely on QSV's
would not expect many regression(s), so patches would be good to have for
On Mon, Jan 22, 2018 at 12:20 PM, Li, Zhong <zhong.li at intel.com> wrote:
> MSDK provides an API (MFXVideoDECODE_DecodeHeader) to parse video
> parameters. Currently it hasn't been used.
> Instead, software parsers are used. It works well for h264 decoder, and
> basically works well for hevc decoder (some issues found by Mayxm due to
> width/height are unaligned, I also found some hevc clips without setting
> profile can be decoded by software but qsv failed) .
> More issues found on other decoders such as VP8. The decoding conformance
> pass rate is low and looks like it is due to some missing/incompatible
> header information is passed to qsv decoder (though Mark provides a patch
> 182cf17 but still something is missing).
> Similar issues happens on MJPEG decoding which I am going to add.
> Maybe we can continue to work on software parsers for qsv, but I believe
> replace software parser with MFXVideoDECODE_DecodeHeader is a better choice:
> 1. It can remove the dependence on various software parsers, and just
> need a unified interface for all codes.
> 2. It will be very easy to add new decoder such as MJPEG decoding
> support without any software parser patches.
> 3. MFXVideoDECODE_DecodeHeader is used by MSDK sample decoder (i.e:
> sample_decode), so it is reliable for MSDK decoder. (As my test, it can
> effectively improve decoding conformance pass rate, especially for vp8
> 4. CUVID decoder is using CUVID parser instead of software parser,
> maybe qsv can align with it.
> Negative effect:
> 1. May cause some regression since it will take effect to all codecs.
> 2. Others?
> Appreciated for any comment. If we are agree with that, patches will be
> sent soon (about following next two weeks).
> libav-devel mailing list
> libav-devel at libav.org
More information about the libav-devel