IntelMediaSDK
IntelMediaSDK
Release Notes
(Version 7.0.0.311)
Overview
New Features
System Requirements
Package Contents
Installation
Known Limitations
Legal Information
Overview
The Intel® Media Software Development Kit* (further referred to as the Media
SDK) is a software development package that exposes the media acceleration
capabilities of Intel® platforms for decoding, encoding, video and photo processing
as well as capabilities for capturing screen content. The API covers a wide range of
Intel platforms. The Media SDK targets general application developers who want to
integrate accelerated media into their applications.
This new package being released stand-along as Intel® INDE suite project was
deprecated. It includes Media RAW Accelerator, Media SDK and Audio components
from Intel® INDE.
New Features
The Intel® Media SDK 2016 introduces API version 1.17. This version is backward
compatible with the previous API versions.
API updates:
o mfxsc.h: new header introduced for Screen Capture plugin, for 1.17
API version introduces mfxExtScreenCaptureParam extended buffer
for enabling display selection capabilities support and Dirty Rectangle
detection support.
AVC Encode:
o 6th Generation Core platforms got improved visual quality for content
with frequent fade effects, to enable it FadeDetection option in new
API introduced, also Weighted prediction extended buffers introduced
in API 1.16
o Fixed issue with library crash in case of QVBR rate control and 0
MaxKbps.
HEVC Encode:
*Other names and brands may be claimed as the property of others. Page 2 of 15
OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.
Copyright © 2007-2015, Intel Corporation
o Fixed issues with system memory input introduced by several driver
versions.
HEVC Decode:
JPEG Encode.
AVC Decode.
Mpeg2 decode.
VPP
o Fixed issues with 420 10bit resize leading to wrong bitdepth output.
*Other names and brands may be claimed as the property of others. Page 3 of 15
OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.
Copyright © 2007-2015, Intel Corporation
o This plugin release introduces full featured integration ready support
for 6th generation Core platform.
All the new features listed above are not supported by software implementation of
the Media SDK Library.
Please see the Media SDK Reference Manual for details “<install-
folder>\doc\mediasdk-man.pdf”
Please see the Media Accelerator plug-in Reference Manual for details “<install-
folder>\doc\mediasdk-raw-accelerator-man.pdf”
Please see the Screen Capture plug-in Reference Manual for details “<install-
folder>\doc\mediasdkscreencap-man.pdf”
For information on JPEG*/Motion JPEG Video Coding support please see “<install-
folder>\doc\mediasdkjpeg-man.pdf”
System Requirements
Hardware
*Other names and brands may be claimed as the property of others. Page 4 of 15
OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.
Copyright © 2007-2015, Intel Corporation
IA-32 or Intel® 64 architecture processors with support for Intel® Streaming
SIMD Extensions 2 instructions – for running software implementation of the
Media SDK Library.
Hardware acceleration is available through hardware implementations of the
Media SDK Library coming with Intel® IrisTM and HD Graphics Driver for
Microsoft* Windows* 7/8.1/10 on platforms with:
o 3rd Generation Intel® CoreTM processors,
o 4th Generation Intel® CoreTM processors,
o 5th Generation Intel® CoreTM processors,
o 6th Generation Intel® CoreTM processors,
o Intel® CoreTM M processors,
o Selected SKUs of Intel® CeleronTM and Intel® PentiumTM processors
with Intel HD Graphics which support Intel® Quick Sync Video.
o Selected SKUs of Intel® AtomTM processors with Intel® HD Graphics
which support Intel Quick Sync Video.
For S3D display functionality using igfx_s3dcontrol library:
Microsoft Visual C++* 2005 with Service Pack 1, or later version of Microsoft
Visual C++.
Package Contents
Note: The suffix <arch> indicates 32- or 64-bit Microsoft* Windows* (either “win32”
or “x64”). Both are always installed to allow for cross-platform development.
*Other names and brands may be claimed as the property of others. Page 5 of 15
OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.
Copyright © 2007-2015, Intel Corporation
architecture
libmfxsw64.dll for Intel® 64
architecture
The Media SDK Dynamic Library
for audio processing, software
implementation:
libmfxaudiosw32.dll for IA-32
architecture
libmfxaudiosw64.dll for Intel®
64 architecture
version 6.0.0.1
*Other names and brands may be claimed as the property of others. Page 6 of 15
OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.
Copyright © 2007-2015, Intel Corporation
mediasdkusr-man.pdf
Media SDK Extensions for Multi-
view Video Coding
mediasdkmvc-man.pdf
Media SDK Extensions for
JPEG*/Motion JPEG
mediasdkjpeg-man.pdf
Media SDK Library Distribution
and Dispatching Process
Description
mediasdk-distrib.pdf
Screen Capture Decoder
Reference Manual
mediasdkscreencap-man.pdf
RAW Accelerator Reference
Manual
media-raw-accelerator-
man.pdf
Reference Manual for Audio
Processing
audio-man.pdf
*Other names and brands may be claimed as the property of others. Page 8 of 15
OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.
Copyright © 2007-2015, Intel Corporation
parameters to a log file.
Media SDK System Analyzer in
folder
mediasdk_sys_analyzer. This
utility analyzes the system and
reports back the Media SDK
related capabilities, graphics
driver and components status.
Installation
Installation requires full administrative rights.
Run the installer Intel_Media_SDK_2016.msi.
Known Limitations
Media SDK libraries have the following known limitations:
The Media SDK dispatcher libmfx.lib is best used with a standard DLL entry
point (as recommended by Microsoft*) when used in a DLL application such
as a Microsoft DirectShow* filter. The DLL entry point setting can be found
under the Link > Advanced compiler options. Non-standard entry points can
be used, but are not recommended.
Loading of library libmfxsw32.dll/libmfxsw64.dll/
libmfxhw32.dll/libmfxhw64.dll not through the dispatcher is unsafe.
Using the Media SDK in parallel with Intel® Threading Building Blocks could
impact performance.
Frames for different views in single AU in MVC encoder must be provided to
encoder in order specified by mfxMVCViewDependency.
MFX_EXTBUFF_AVC_REFLIST_CTRL and MFX_EXTBUFF_CODING_OPTION_SPSPPS
external buffers are not supported by MVC encoder.
MVC encoder supports MFX_PROFILE_AVC_STEREO_HIGH only.
H.264 encoder doesn’t support processing of mfxExtPictureTimingSEI
template. During initialization 0xFFFF values will be reset to default values. In
runtime 0xFFFF values will be put to bitstream as is.
Known limitations for H.264 Multiple-Segment Encoding:
o Hardcoded HRD parameters: bit_rate_scale = 0, cpb_size_scale
= 3
o Encoded bit_rate_value_minus1, bit_rate_scale represent
BitRate from original SPS within precision of kbps (maximum
supported BitRate is 2^16 – 1 kbps).
*Other names and brands may be claimed as the property of others. Page 9 of 15
OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.
Copyright © 2007-2015, Intel Corporation
o Encoded cpb_size_value_minus1, cpb_size_scale represent
CpbSize from original SPS within precision of Kb (maximum supported
CpbSize is 2^16 – 1 Kb).
o Encoded time_scale, num_units_in_tick could be both multiplied
by 2 if the time_scale from original SPS is odd.
o Conflicts between SPS/PPS and mfxVideoParam for parameters that
are not covered by SPS/PPS could lead to change of parameters in
SPS/PPS.
RefPicMarkRepSEI syntax is not supported by MVC encoder.
H.264 encoder (Media SDK software library) is known to be slower on x64
platform than on win32 platform.
If the MPEG-2 Video encoder mfxVideoParam::mfxInfoMFX::CodecProfile is
initialized to 0, then the stream will be encoded as MFX_PROFILE_MPEG2_MAIN.
Additionally if the MPEG-2 Video encoder
mfxVideoParam::mfxInfoMFX::CodecLevel is initialized to 0, then the stream
will be encoded as MFX_LEVEL_MPEG2_MAIN.
MFX_FRCALGM_DISTRIBUTED_TIMESTAMP is unsupported by InverseTelecine
and Deinterlace (60i->60p) VPP filters.
Target usages 4 and 5 of H.264/MVC encoders (Media SDK software library)
are known to be non-monotonic in terms of encoding FPS versus encoding
quality.
H.264 decoder may consume more than 1 frame from the input bitstream and
then propagate same timestamp to all of the consumed frames. If accurate
time stamp handling is required the application has to make sure that it
doesn’t store more than one-frame wise data in the input bitstream.
Target usage 7 of H.264/MVC encoders (Media SDK software library) is known
to have a non-monotonic quality vs. bitrate dependency.
MPEG2 Video, VC-1 and MVC decoders are not optimized for low delay of
output frames.
MVC encoder ignores any user SEI messages for the dependent view.
MFX_CORRUPTION_ABSENT_TOP_FIELD,
MFX_CORRUPTION_ABSENT_BOTTOM_FIELD, MFX_BITSTREAM_EOS are not
supported by VC-1, MPEG2 Video and JPEG decoders.
VPP always uses simple FRC algorithm based on repeat/drop frames and
ignores MFX_FRCALGM_FRAME_INTERPOLATION flag.
The feature set of JPEG decoder/encoder is limited to the following:
o Baseline mode only
DCT based
8-bit samples
sequential
loadable 2 AC and 2 DC Huffman tables
3 loadable quantization matrixes
*Other names and brands may be claimed as the property of others. Page 10 of 15
OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.
Copyright © 2007-2015, Intel Corporation
interleaved and non-interleaved scans
single and multiple scans
o No extended, lossless and hierarchical modes
no 12-bit samples
no progressive
no arithmetic coding
no 4 AC and 4 DC Huffman tables
o HW Accelerated Jpeg encode supports only interleaved multiple scan
mode.
The output AVC and MVC streams contain SPS and PPS headers before IDR
frames only.
mfxExtVppAuxData::PicStruct isn’t supported by encoders and VPP.
VPP scaling for RGB32 interlaced content may produce slightly blurred frames.
JPEG decoder does not accept MFX_BITSTREAM_EOS as DataFlag of
mfxBitstream structure.
The Look Ahead bitrate control mode is not HRD compliant, but there is a
dedicated LA_HRD mode which is.
The following APIs of API version 1.7 are not supported by software
implementation of the Media SDK Library. Make sure to call Query functions
to check actual support in hardware implementation of the Media SDK Library
on particular platform.
o MFX_RATECONTROL_LA
o mfxExtCodingOption2::MBBRC, ExtBRC, LookAheadDepth, Trellis
o mfxExtEncoderCapability, mfxExtEncoderResetOption,
mfxExtAVCEncodedFrameInfo
All the new APIs of API versions 1.9 – 1.13 are not supported by software
implementation of the Media SDK Library, with exceptions for VPP resize in
P010 format and VPP color conversions P010->NV12 and P010->A2RGB10.
In a particular platform specific hardware implementation of the Media SDK
Library, some of the features may also be unsupported. Make sure to call
Query functions to check the actual support.
To load plugins from Intel Media SDK HEVC Software Pack version 1.0.1.0
with the Media SDK software library from this release you need to call
MFXInit with API version 1.8.
HW accelerated VP8 decode plugin is supported only with Microsoft*
Direct3D* 9 acceleration path.
HW accelerated VP8 and VP9 decode plugins don’t support Opaque memory
type.
HW Accelerated HEVC decode plugin outputs frames in DXGI_FORMAT_P010
for Microsoft Direct3D 11 and corresponding FOURCC defined format for
Direct3D 9. These formats are 16 bit based and valid data bits alignment is
different from usual SW codecs. Please refer to MSDN* pages for description.
*Other names and brands may be claimed as the property of others. Page 11 of 15
OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.
Copyright © 2007-2015, Intel Corporation
In current implementation application needs to shift valid data bits or use
VPP. Please check the SDK Reference Manual for more details.
HW Accelerated HEVC decode plugin outputs frames in DXGI_FORMAT_P010
always for MAIN10 profile, even if real bit-depth for all components is 8 bit.
VPP Composition and Alpha Blending may be unsupported for some specific
driver versions.
HEVC decode plugin will be fully HW accelerated on 6th generation Core
platforms, Atom x5 and x7 series(Code name Cherry Trail), and
Pentium/Celeron N3000 series(code name Braswell) for MAIN profile, on other
platforms where it is supported and MAIN10 profiles on any available
platforms will utilize hybrid acceleration.
HW Accelerated HEVC Encode supports maximum resolution 8192x4096.
HW Accelerated HEVC Encode supports only MAIN profile.
HW Accelerated HEVC Encode requires frame allocation with frame width and
height aligned to 32.
HW Accelerated HEVC Encode will always encode B slice(b slice with forward
references in both reference lists) instead of P slice.
HW Accelerated HEVC Encode supports only CQP, CBR, VBR and ICQ rate
control methods.
HW Accelerated HEVC encode max macroblock per second report can work
incorrectly for some particular driver versions.
HW Accelerated HEVC encode has next limitation for encoded bitstream:
o No tiles
o No SAO
o No P slice
HW Accelerated HEVC encode supports next extended buffer ids, with listed
limitations:
o MFX_EXTBUFF_CODING_OPTION
o MFX_EXTBUFF_OPAQUE_SURFACE_ALLOCATION
o MFX_EXTBUFF_AVC_REFLISTS
o MFX_EXTBUFF_AVC_REFLIST_CTR
o MFX_EXTBUFF_CODING_OPTION2
Supported:
IntRefType
IntRefCycleSize;
IntRefQPDelta;
MBBRC
BRefType
NumMbPerSlice
DisableDeblockingIdc
o MFX_EXTBUFF_CODING_OPTION3
Supported:
IntRefCycleDist
IntRefCycleSize
PRefType - supported for LD mode
o MFX_EXTBUFF_CODING_OPTION_SPSPPS
o MFX_EXTBUFF_AVC_TEMPORAL_LAYERS
o MFX_EXTBUFF_ENCODER_RESET_OPTION
o MFX_EXTBUFF_HEVC_PARAMS
GeneralConstraintFlags: not supported
*Other names and brands may be claimed as the property of others. Page 12 of 15
OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.
Copyright © 2007-2015, Intel Corporation
The Screen Capture have the following known limitations:
Screen Capture plugin loading recommended only with SDK HW library
implementation API 1.15 or later.
In case of DirectX 11 implementation, video memory type, and RGB4 surface
format usage, the application frame allocator needs to allocate the surfaces
using DXGI_FORMAT_AYUV format because OS runtime will block RGB surface
allocation with BIND_DECODER flag and decoder output view. In any other
configuration cases, e.g. DirectX 9 implementation, system or opaque
memory type, or NV12 output format, special frame allocation is not needed.
DXVA fallback functionality doesn’t work for resolution change.
DirtyRect detection feature will detect dirty areas in captured frame and
coalesce areas to bigger ones until get 256 areas to feet into DirtyRect API
buffer.
Display Selection API supported only for Virtual Displays.
Windows 10 acceleration currently unsupported, plugin will fall back to
standard Microsoft functions, and performance drop can be observed.
The Media RAW Accelerator Plug-in has the following known limitations:
Current version supports sessions only initialized as MFX_IMPL_HARDWARE,
MFX_IMPL_HARDWARE_ANY, MFX_IMPL_VIA_D3D11, MFX_IMPL_VIA_D3D9.
Software fallback implementation is not optimized thus performance is very
poor.
Software fallback can be not bitexact with GPU optimized version.
Current version supports only system memory as input memory type.
Current version supports only system memory as output memory type for
MFX_FOURCC_ARGB16 and MFX_FOURCC_ABGR16 color types.
Current version of plugin doesn’t support opaque memory type.
Additional Intel Media SDK session must be created to use traditional VPP
features of Intel Media SDK HW Library.
MFX_GAMMA_MODE_VALUE currently not supported.
Current version supports only system memory output type for
MFX_FOURCC_ARGB4 color type not supported with output Video memory
type in case when total surface size is bigger than 6000x4000 on processors
older than 6th generation Intel Core.
For resolutions more than 6000x4000 result will be slightly different for
padded content and non-padded content due to internal implementation.
Application need to do MFXInit with API 1.10 version to have RAW Accelerator
working on all available driver versions.
MFX_EXTBUF_CAM_FORWARD_GAMMA_CORRECTION API is slower than
MFX_EXTBUF_CAM_GAMMA_CORRECTION on platforms older than 6th
generation Intel Core processors.
Vignette correction filter support is limited to photo with 8192x8192
resolution of picture on 6th Generation Core platforms.
For resolutions width bigger than 8192 and MFX_FOURCC_ARGB16 or
MFX_FOURCC_ABGR16 color types plug-in will fall back to GPU acceleration
instead of fixed function on 6th generation Core platforms.
Output when using MFX_IMPL_VIA_D3D9 acceleration can be corrupted for
Hot pixel removal filter and some drivers.
3D look up table filter supported only on 6th generation Core platforms and
will utilize render engine for acceleration.
The Audio library has the following known limitations and features:
*Other names and brands may be claimed as the property of others. Page 13 of 15
OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.
Copyright © 2007-2015, Intel Corporation
Loading of Audio library libmfxaudiosw32.dll/libmfxaudiosw64.dll not
through the SDK Dispatcher is unsafe.
Bitrate calculation routine in MFXAudioENCODE_Init may work incorrectly for
some AAC High Efficiency (HE) profile streams. As a result
MFXAudioENCODE_Init function returns an error.
Bitrate values for AAC HE profile vary from 96 Kbit/s to 265 Kbit/s.
The following profile and mode values are not supported:
o MFX_PROFILE_AAC_SSR
o MFX_PROFILE_AAC_ALS
o MFX_PROFILE_AAC_BSAC
o MFX_AUDIO_MP3_LFE_FILTER_ON always disabled
AAC decoder may handle streams with multiple (more than 2) channels
incorrectly.
Decoding
Encoding
Legal Information
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL
PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO
ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT
AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS,
INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS
OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS
INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR
*Other names and brands may be claimed as the property of others. Page 14 of 15
OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.
Copyright © 2007-2015, Intel Corporation
PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR
OTHER INTELLECTUAL PROPERTY RIGHT.
Intel may make changes to specifications and product descriptions at any time,
without notice. Designers must not rely on the absence or characteristics of any
features or instructions marked "reserved" or "undefined." Intel reserves these for
future definition and shall have no responsibility whatsoever for conflicts or
incompatibilities arising from future changes to them. The information here is subject
to change without notice. Do not finalize a design with this information.
The products described in this document may contain design defects or errors known
as errata which may cause the product to deviate from published specifications.
Current characterized errata are available on request.
Contact your local Intel sales office or your distributor to obtain the latest
specifications and before placing your product order.
Copies of documents which have an order number and are referenced in this
document, or other Intel literature, may be obtained by calling 1-800-548-4725, or
by visiting Intel's Web Site.
Intel, the Intel logo, Intel Core are trademarks or registered trademarks of Intel
Corporation or its subsidiaries in the United States and other countries.
Optimization Notice
Intel's compilers may or may not optimize to the same degree for non-Intel
microprocessors for optimizations that are not unique to Intel microprocessors.
These optimizations include SSE2, SSE3, and SSE3 instruction sets and other
optimizations. Intel does not guarantee the availability, functionality, or effectiveness
of any optimization on microprocessors not manufactured by Intel.
*Other names and brands may be claimed as the property of others. Page 15 of 15
OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.
Copyright © 2007-2015, Intel Corporation