diff options
author | Zhong Li <zhong.li@intel.com> | 2019-08-13 09:11:09 +0300 |
---|---|---|
committer | Zhong Li <zhong.li@intel.com> | 2019-08-20 08:34:03 +0300 |
commit | 00d0a4aa9eda8553113e51556123c46648a5f31b (patch) | |
tree | 14bb31cf40384209bb22afc066cead7ce1c441a0 /libavcodec/qsvdec.h | |
parent | f3dfd34f27ae11279baa9e2e2525e990b7c858f4 (diff) |
lavc/qsvdec: Replace current parser with MFXVideoDECODE_DecodeHeader()
Using MSDK parser can improve qsv decoder pass rate in some cases (E.g:
sps declares a wrong level_idc, smaller than it should be).
And it is necessary for adding new qsv decoders such as MJPEG and VP9
since current parser can't provide enough information.
Actually using MFXVideoDECODE_DecodeHeader() was disscussed at
https://ffmpeg.org/pipermail/ffmpeg-devel/2015-July/175734.html and merged as commit 1acb19d,
but was overwritten when merged libav patches (commit: 1f26a23) without any explain.
Split decode header from decode_init, and call it for everyframe to
detect format/resoultion change. It can fix some regression issues such
as hevc 10bits decoding.
Signed-off-by: Zhong Li <zhong.li@intel.com>
Signed-off-by: Dmitry Rogozhkin <dmitry.v.rogozhkin@intel.com>
Diffstat (limited to 'libavcodec/qsvdec.h')
-rw-r--r-- | libavcodec/qsvdec.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libavcodec/qsvdec.h b/libavcodec/qsvdec.h index 111536caba..4812fb2a6b 100644 --- a/libavcodec/qsvdec.h +++ b/libavcodec/qsvdec.h @@ -63,6 +63,8 @@ typedef struct QSVContext { uint32_t fourcc; mfxFrameInfo frame_info; + int initialized; + // options set by the caller int async_depth; int iopattern; |