summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSreerenj Balachandran <sreerenj.balachandran@intel.com>2018-04-16 14:37:21 -0800
committerSreerenj Balachandran <sreerenj.balachandran@intel.com>2018-04-16 14:44:15 -0800
commit3f90235aaa36d78aada6adb59c3e333bfe9865a8 (patch)
tree91f6c184ea0a5c77de9452210ebc156bf44edc40
parentdc41c25d30f7e201ed0dc8ea878c0c02c5b47b44 (diff)
msdk: jpegdec: Fix non-interleaved sample decode
Using the default value (InterleavedDec == MFX_SCANTYPE_UNKNOWN) causing issues with non-interleaved sample decode. Ideally the usage of MFXVideoDECODE_DecodeHeader should fix these type of issue, but it seems to be not. But hardcoding the InterleaveDec to MFX_SCANTYPE_NONINTERLEAVED is fixing the problem and fortunately msdk seems to be taking care of Interleaved samples too .So let's hardcode it for now. https://bugzilla.gnome.org/show_bug.cgi?id=793787
-rw-r--r--sys/msdk/gstmsdkmjpegdec.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/msdk/gstmsdkmjpegdec.c b/sys/msdk/gstmsdkmjpegdec.c
index 6ae02d691..ef377751e 100644
--- a/sys/msdk/gstmsdkmjpegdec.c
+++ b/sys/msdk/gstmsdkmjpegdec.c
@@ -62,6 +62,14 @@ static gboolean
gst_msdkmjpegdec_configure (GstMsdkDec * decoder)
{
decoder->param.mfx.CodecId = MFX_CODEC_JPEG;
+
+ /* HACK to make sure MSDK won't crash while handling non-interleaved samples */
+ /* setting MFX_SCANTYPE_UNKNOWN (== 0) causing issues for
+ non-interleaved samples. Usage of MFXVideoDECODE_DecodeHeader
+ also doesn't seems to fix the issue. But even if we hardcode
+ the InterleaveDec to MFX_SCANTYPE_NONINTERLEAVED, msdk seems to be taking care
+ of Interleaved samples, so let's hardcode it for now */
+ decoder->param.mfx.InterleavedDec = MFX_SCANTYPE_NONINTERLEAVED;
return TRUE;
}