summaryrefslogtreecommitdiff
path: root/libavcodec/qsvdec.h
diff options
context:
space:
mode:
authorZhong Li <zhong.li@intel.com>2019-08-13 14:11:09 +0800
committerZhong Li <zhong.li@intel.com>2019-08-20 13:34:03 +0800
commit00d0a4aa9eda8553113e51556123c46648a5f31b (patch)
tree14bb31cf40384209bb22afc066cead7ce1c441a0 /libavcodec/qsvdec.h
parentf3dfd34f27ae11279baa9e2e2525e990b7c858f4 (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.h2
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;