Dear Media SDK team and adopters,
We were in contact with our Intel Software partners engineer and he suggested to post few question/issues to this forum.
We adopted Media SDK 1.5 in 2010, has large user base using it and now migrated to Media SDK 2.0 Gold. We use low-level API. Unfortunately during migration we discovered several issues:
- Media SDK 2.0 works slowly then 1.5 on AVC1 with i7 Gen1 hardware (software mode).
When H264 presets MSDK2 gives speed degradation then MSDK1.5 in software mode, especially when converting small dimension. For example:
When converting to iPhone (480320, H.264) comparsion in speed with our internal codec for MSDK2 is 2.05 in time, but with MSDK1.5 it was 2.5 times.
Similar with iPod (320x240, H.264) the difference now is 2.42, but with MSDK1.5 it was 3.2 times.
For transcoding DVD title from MPEG2 to iPod (320x240, H.264), when source is reading from HDD the process is slower in 0.7-0.8 times with MSDK2, but arly we seen it faster in 1.4 times.
Were ready to provide builds for testing this.
Another speed degradation weve seen when tried to implement MSDK de-interlace procedures speed.
In sowftare encoding with i7920 we compared our software de-interlace, IMSDK2 de-interlace
and CUDA based acceleration de-interlace with NVIDIA GeForce GTX 280 (coding h264/avc):
Read image time: 38.634 sec
Video decoding time: 35.71 sec.
Read image time: 92.503 sec.
Video decoding time: 91.699 sec.
Read image time: 1.866 sec.
Video decoding time: 0.994 sec. (de-inerlace NVIDIA)
Read image time: 36.132 sec.
Video decoding time: 35.207 sec.
Read image time: 4.993 sec.
Video decoding time: 4.068 sec.
Read image time: 1.888 sec.
Video decoding time: 0.999 sec. (de-interlacing switched, because it doesnt switching off)
In hardware mode SandyBrindge pre-release developer sample:
CUDA: Read image time:
Internal/native: Read image time: 8.44 sec.
IMSDK2: Read image time: 43.248 sec.
It would be nice to get some help about this speed issues. Its really strange that de-interlace work so slow.
There are few problems with decoding process:
We successfully implemented some WMV codecs decoding with IM SDK2. But get stuck with WMV3:
What need to be provided in bitstream for MFXVideoDECODE::DecodeHeader for WMV3?. We tried get sequence header from ASF header with additional sequence: 00 00 01 0D). Function doesnt accept this header and request more data. If there should be additional entry point, please let us how to create this.
For some files IMSDK2 decoders doesnt accept correct (for other decoders) bitstreams when decoding first frame MFXVideoDECODE::DecodeFrameAsync() gives error MFX_ERR_NULL_PTR.
For some DVD tracks, especially after positioning decoder can return frame with artefacts (green boxes) but doesnt give any error.
Join session with different process.
Our engine suggested to implement Join session strategy to avoid speed degradation with several encoding/decoding processes in parallel. But we found that Join session couldnt work when encoding is onging with different windows processes. Any suggestion to have Join session with different processes?
We would be pleased to provide more info directly (already sent to our Intel Software Partner engineer).