This page provides Release Notes for Intel® Integrated Performance Primitives 2020 and earlier. The notes are categorized by year, from newest to oldest, with individual releases listed within each year.
Click a version to expand it into a summary of new features and changes in that version since the last release, and access the download buttons for the detailed release notes, which include important information, such as pre-requisites, software compatibility, installation instructions, and known issues.
You can copy a link to a specific version's section by clicking the chain icon next to its name.
To get product, download the Intel® oneAPI Base Toolkit.
For questions or technical support, visit Intel® oneAPI Products Support.
2021.12.0
System Requirements Bug Fix Log
What's New
-
Improved compression ratio and throughput with new optimization patch for zlib 1.3.1
-
Accelerated image processing capabilities performance on select color conversion functions using Intel® AVX-512 VNNI
-
Extended half-precision floating point(fp16) Discrete Fourier Transform (DFT) and Inverse Discrete Fourier Transform (IDFT) functions to match 3GPP specification.
2021.11.0
System Requirements Bug Fix Log
What's New
- Added support and optimization for LZ4 v1.9.4 version in Intel IPP data compression functions.
- Extended Intel® IPP support for .NET Standard 2.0.
- Extended ippsMulC* Platform-Aware functions for some data type.
Notes
For the 2021.11.0 release, the Third Party Programs file has been included as a section in this product’s release notes rather than as a separate text file.
Third Party Programs File
This file is the "third-party-programs.txt" file specified in the associated Intel end user license
agreement for the Intel software you are licensing.
Third party programs and their corresponding required notices and/or license terms are listed
below.
-------------------------------------------------------------
1. Intel(R) Intelligent Storage Acceleration Library
Copyright(c) 2011-2017 Intel Corporation All rights reserved.
BSD 3-Clause "New" or "Revised" License
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
* Neither the name of Intel Corporation nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-------------------------------------------------------------
2. DITA Open Toolkit
Copyright 2005 IBM Corporation
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright {yyyy} {name of copyright owner}
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
----------------------------------------------------------------
3. Microsoft Visual Studio and SDK; Visual Studio Autogenerated Code
Terms for Microsoft “Distributable Code” provided as part of Microsoft’s Visual Studio Enterprise and Professional software
under the terms of the MICROSOFT VISUAL STUDIO ENTERPRISE 2017, VISUAL STUDIO PROFESSIONAL 2017, VISUAL STUDIO TEST
PROFESSIONAL 2017 AND TRIAL EDITION AGREEMENT
1. License. This software package from Intel (the “Software Package”) contains code from Microsoft (the “Distributable Code”).
You are provided a non-transferable, non-exclusive, non-sublicensable, limited right and license only to use the Distributable
Code as part of this Software Package. You are not allowed to copy, modify, remove the Distributable Code from the Software
Package or redistribute the Distributable Code.
2. Restrictions. The Distributable Code is licensed, not sold. You are only provided the above rights to use the Distributable
Code. Intel and Microsoft reserve all other rights. Unless applicable law gives you more rights, you may use the Distributable
Code only as expressly permitted in these terms. In using the Distributable Code, you must comply with any technical limitations
in the Distributable Code that only allow you to use it in certain ways. You may not:
• work around any technical limitations in the Distributable Code;
• reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the
Distributable Code, except and to the extent required by third party licensing terms governing use of certain open
source components that may be included in the Distributable Code;
• remove, minimize, block or modify any notices of Intel, Microsoft or its suppliers in the Distributable Code;
• use the Distributable Code in any way that is against the law;
• share, publish, rent or lease the software, or provide the Distributable Code as a stand-alone offering for others to use.
3. NO WARRANTY. THE DISTRIBUTABLE CODE IS PROVIDED “AS IS” WITHOUT ANY EXPRESS OR IMPLIED WARRANTY OF ANY KIND INCLUDING WARRANTIES
OF MERCHANTABILITY, NONINFRINGEMENT, OR FITNESS FOR A PARTICULAR PURPOSE.
4. LIMITATION ON AND EXCLUSION OF DAMAGES. YOU CAN RECOVER FROM INTEL, MICROSOFT OR THEIR SUPPLIERS ONLY DIRECT DAMAGES UP TO $5.00.
YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.
This limitation applies to (a) anything related to the Distributable Code; and (b) claims for breach of contract, breach of warranty,
guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law. It also applies even
if Intel or Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply
to you because your state or country may not allow the exclusion or limitation of incidental, consequential or other damages.
5. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software,
which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit
www.microsoft.com/exporting.
--------------------------------------------------------------
4. Intel(R) oneAPI Threading Building Blocks (oneTBB)
Copyright 2005 Intel Corporation
This software and the related documents are Intel copyrighted materials, and your use of them is governed by
the express license under which they were provided to you ('License'). Unless the License provides otherwise,
you may not use, modify, copy, publish, distribute, disclose or transmit this software or the related
documents without Intel's prior written permission.
This software and the related documents are provided as is, with no express or implied warranties, other than
those that are expressly stated in the License.
Intel Simplified Software License (Version February 2020)
Use and Redistribution. You may use and redistribute the software (the
"Software"), without modification, provided the following conditions are met:
* Redistributions must reproduce the above copyright notice and the following
terms of use in the Software and in the documentation and/or other materials
provided with the distribution.
* Neither the name of Intel nor the names of its suppliers may be used to
endorse or promote products derived from this Software without specific prior
written permission.
* No reverse engineering, decompilation, or disassembly of this Software is
permitted.
Limited patent license. Intel grants you a world-wide, royalty-free,
non-exclusive license under patents it now or hereafter owns or controls to
make, have made, use, import, offer to sell and sell ("Utilize") this Software,
but solely to the extent that any such patent is necessary to Utilize the
Software alone. The patent license shall not apply to any combinations which
include this software. No hardware per se is licensed hereunder.
Third party programs. The Software may contain Third Party Programs. "Third
Party Programs" are third party software, open source software or other Intel
software listed in the "third-party-programs.txt" or other similarly named text
file that is included with the Software. Third Party Programs, even if included
with the distribution of the Software, may be governed by separate license
terms, including without limitation, third party license terms, open source
software notices and terms, and/or other Intel software license terms. These
separate license terms may govern your use of the Third Party Programs.
DISCLAIMER. THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT ARE
DISCLAIMED. THIS SOFTWARE IS NOT INTENDED FOR USE IN SYSTEMS OR APPLICATIONS
WHERE FAILURE OF THE SOFTWARE MAY CAUSE PERSONAL INJURY OR DEATH AND YOU AGREE
THAT YOU ARE FULLY RESPONSIBLE FOR ANY CLAIMS, COSTS, DAMAGES, EXPENSES, AND
ATTORNEYS' FEES ARISING OUT OF ANY SUCH USE, EVEN IF ANY CLAIM ALLEGES THAT
INTEL WAS NEGLIGENT REGARDING THE DESIGN OR MANUFACTURE OF THE MATERIALS.
LIMITATION OF LIABILITY. IN NO EVENT WILL INTEL BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. YOU AGREE TO INDEMNIFY AND HOLD
INTEL HARMLESS AGAINST ANY CLAIMS AND EXPENSES RESULTING FROM YOUR USE OR
UNAUTHORIZED USE OF THE SOFTWARE.
No support. Intel may make changes to the Software, at any time without notice,
and is not obligated to support, update or provide training for the Software.
Termination. Intel may terminate your right to use the Software in the event of
your breach of this Agreement and you fail to cure the breach within a
reasonable period of time.
Feedback. Should you provide Intel with comments, modifications, corrections,
enhancements or other input ("Feedback") related to the Software Intel will be
free to use, disclose, reproduce, license or otherwise distribute or exploit the
Feedback in its sole discretion without any obligations or restrictions of any
kind, including without limitation, intellectual property rights or licensing
obligations.
Compliance with laws. You agree to comply with all relevant laws and regulations
governing your use, transfer, import or export (or prohibition thereof) of the
Software.
Governing law. All disputes will be governed by the laws of the United States of
America and the State of Delaware without reference to conflict of law
principles and subject to the exclusive jurisdiction of the state or federal
courts sitting in the State of Delaware, and each party agrees that it submits
to the personal jurisdiction and venue of those courts and waives any
objections. The United Nations Convention on Contracts for the International
Sale of Goods (1980) is specifically excluded and will not apply to the
Software.
*Other names and brands may be claimed as the property of others.
-------------------------------------------------------------
The following third party programs have their own third party program files. These additional
third party program files are as follows:
1. Intel(R) oneAPI Threading Building Blocks (oneTBB): <install_dir>/tbb/<version>/share/doc/tbb/licensing/third-party-programs.txt
-------------------------------------------------------------
2021.10.2
- Bug Fixes
- For Windows* only
This patch is available from the Intel® Software Development Tools and oneAPI Toolkits page and IRC.
2021.10.1
- Bug Fixes
This patch is available from the Intel® Software Development Tools and oneAPI Toolkits page and IRC.
2021.10.0
System Requirements Bug Fix Log
Acronyms:
- Intel® AVX2 refers to Intel® Advanced Vector Extensions 2
- Intel® AES-NI refers to Intel® Advanced Encryption Standard New Instructions
What's New
- Directory layout improved to streamline installation and setup
- Added Intel® AVX-512 optimizations for ippsNorm_L2_16s32s_Sfs(), ippsNorm_L2Sqr_16s64s_Sfs().
- Added Intel® AVX-512-vnni optimizations for ippiRGBToXYZ_8u_C3R(), ippiRGBToXYZ_8u_AC4R().
- Added Intel® AVX2 Intel® AES-NIoptimization for AES-GCM algorithm.
- Added Intel® AVX-512 optimization for RSA-2048 multi-buffer implementation.
macOS Deprecation
Intel® Integrated Performance Primitives (Intel® IPP) for macOS are deprecated in this release. They will be discontinued as of Intel IPP release version 2021.11 and later releases.
Intel® Integrated Performance Primitives Cryptography (Intel® IPP Cryptography) for macOS are deprecated in this release. They will be discontinued as of IPP Cryptography version 2021.10 and later releases.
Notes
Intel® IPP Cryptography release version is 2021.9 with the release of Intel® IPP 2021.10
Due to the significant shift in the industry towards 64-bit architecture, Intel® IPP 32-bit binaries are deprecated in this release, 2021.10, and targeted to be removed after a one year deprecation notice period.
Released in 2023
2021.9.1
Fixed inaccurate macOS SDK version in IPP and IPP Crypto binaries.
2021.9
- Extended the Crypto Multi-buffer library with the XTS mode of the SM4 algorithm (optimized for Intel(R) Microarchitecture Code Named Ice Lake). This addition benefits developers by providing efficient and secure ways of encrypting data stored in sectors, such as storage devices.
- Added support to the open-source version of IPP Crypto library for CPU features dispatching on the cmake configuration step.
- Implemented minor bug fixes and improvements.
This release of IPP has been built with updated compilers. As a result, we’ve noted some performance regressions in our testing. If these regressions are thought to be impacting your application in a negative way or you have specific questions, please contact Intel® oneAPI Products Support.
Due to the significant shift in the industry towards 64-bit architecture, Intel® IPP 32-bit binaries will be deprecated in the next release, Intel® IPP 2021.10, and targeted to be removed after a one year deprecation notice period. Please share your feedback or concerns on the IPP Community Forum or through Priority Support.
Intel® IPP Cryptography release version is 2021.8 with the release of Intel® IPP 2021.9
Support for the Intel® Xeon Phi™ Product Family “Knights Landing (KNL)” is deprecated and will be removed in a future release. Intel® Xeon Phi™ customers should continue to use compilers, libraries, and tools from the Intel® Parallel Studio XE 2020 and older PSXE releases, or compilers from the Intel® oneAPI Base Toolkit and Intel® oneAPI HPC Toolkit versions 2021.2 or 2021.1.
2021.8
System Requirements Bug Fix Log
- Added mitigation for Frequency Throttling Side-Channel Attack for Intel® IPP Cryptography ECB/CMAC/GCM modes of AES algorithm.
- Enabled Intel® IPP Cryptography Multi-buffer(MB) functions with CCM/GCM modes for SM4 algorithm.
- Added function in Intel® IPP Cryptography to update pointer for IppsHashMethod context inside the IppsHashState_rmf state.
- Extended support and optimization in Intel® IPP Cryptography for SM2 Key Exchange protocol and SM2 Encryption/Decryption functions for 3rd Generation Intel® Xeon® Processor Scalable Processors and later.
- Introduced Intel® IPP Cryptography reInitialization function for AES GCM context used for updating context’s ID and internal pointers.
- Fixed Intel® IPP Cryptography Multi-buffer(MB) library in-place execution for CBC/CFB modes of SM4 algorithm.
- Fixed Intel® IPP Cryptography context id set up for functions ippsHMAC_Pack(_rmf) and ippsHMAC_Unpack(_rmf).
- Added Intel® IPP Data Compression library dependency to the *.targets files of IPP NuGet packages.
- Fixed Intel® IPP Data Compression ippsEncodeLZ4HC_8u function with input streams near MAX_INT, that caused errors at decode stage.
- Fixed multiple issues in CMake configuration files.
- Fixed Intel® IPP ippsMagnitude_32f function for incorrect processing of small values.
- Fixed issue with out of bound read for Intel® IPP ippiDemosaicAHD_16u_C1C3R, ippiRemap and ippiFilterBorder_8u functions.
- Fixed sporadic issue with incorrect processing for multiple runs of Intel® IPP ippsFIRMR_16sc and ippsFIRMR_16s functions.
Intel® IPP Cryptography release version is 2021.7 with the release of Intel® IPP 2021.8
Released in 2022 and 2021
System Requirements Bug Fix Log
What's New in Intel® IPP 2021.7
- Added support and optimization for zlib 1.2.13 version in Intel® IPP Data Compression.
- Fixed error in planar YCbCr to RGB conversion in Intel® IPP Image Processing Color Conversions functions ippiYCbCr420ToRGB_8u_P3C3R and ippiYCbCr422ToRGB_8u_P3C3R.
NOTE: Intel® IPP Cryptography release version is 2021.6.3 with the release of Intel® IPP 2021.7
What's New in Intel® IPP 2021.6.2
- No changes in this release.
What's New in Intel® IPP 2021.6.1
- No changes in this release.
What's New in Intel® IPP 2021.6.0
- Extended optimization for Intel® IPP Cryptography NIST Elliptic Curve functions P-256/P-384/P-521 and SM2 algorithms for 3rd Generation of Intel® Xeon® Processor Scalable and next generation Intel® Xeon® Scalable Processor, code named 'Sapphire Rapids'.
- Added build support for Intel® IPP Cryptography library and Multi-buffer(MB) library with Microsoft Visual C++ Compiler* version 19.30 provided by Microsoft Visual Studio* 2022 version 17.0.
- Improved Intel® IPP Cryptography NIST Elliptic Curve functions input parameters by adding keys boundary check.
- Improved Intel® IPP Cryptography AES-GCM functions input parameters by adding input text boundary check.
- Extended optimization Intel® IPP Image Processing ippiFilterBorder function of for 3rd Generation of Intel® Xeon® Processor Scalable and next generation Intel® Xeon® Scalable Processor, code named 'Sapphire Rapids'.
- Extended and improved support for Intel® IPP Image Processing ippiFilterMedian function with 8-bit unsigned.
What's New in Intel® IPP 2021.5
- Extended optimization for Intel® IPP Cryptography AES-GCM for smaller packets size for 3rd Generation Intel® Xeon® Processor Scalable and next generation Intel® Xeon® Scalable Processor, code named 'Sapphire Rapids'.
- Enhanced Intel® IPP Image Processing ipprResize function with 16s support for 3D resizing functionality.
System Requirements Bug Fix Log
What's New in Intel® IPP 2021.4
- Enabled Intel® IPP Cryptography Multi-buffer(MB) functions for 3rd Generation Intel® Xeon® Processor Scalable and 10th Gen Intel® Core™ Processors for the following:
- SM4 block cipher standard modes (OFB, CFB, ECB, CBC, CTR)
- ECDSA Ed25519 Verify API
- ECDH SM2 and ECDSA SM2 Sign universal and SSL APIs
- 1Kb, 2Kb, 3Kb and 4Kb modular exponentiations
- Enabled 16-bit float Discrete Fourier transform (DFT) and Fast Fourier transform (FFT) functions within Intel® IPP optimized for next generation Intel® Xeon® Scalable Processor, code named 'Sapphire Rapids' focused on various lengths supported in 5G environment.
- Extended optimization for Intel® IPP Image and Signal Processing functions for 3rd Generation Intel® Xeon® Processor Scalable and 10th Gen Intel® Core™ Processors for the following:
- Multi-rate FIR filtering
- Resize Supersampling (one-channel, floating-point)
- Resize Antialiasing (one-channel, double-precision floating-point)
- Added support and optimization for LZ4HC 1.9.2 and LZ4HC 1.9.3 version in Intel® IPP Data compression.
- Added support for Intel® IPP Cryptography crypto_mb library build within BoringSSL* for 3rd Generation Intel® Xeon® Processor Scalable and 10th Gen Intel® Core™ Processors..
- Added and optimized modular exponentiation in Intel® IPP Cryptography Multi-buffer(MB) library.
- Added support for Intel® IPP Image Processing 3D WarpAffine functions to the Threading Layer(TL) API.
System Requirements Bug Fix Log
What's New in Intel® IPP 2021.3
- Enabled ECDSA Ed25519sign crypto multi buffer API within Intel® IPP Cryptography for 3rd Generation Intel® Xeon® Processor Scalable and 10th Gen Intel® Core™ Processors.
- Enabled RSA single buffer 3k, 4k within Intel® IPP Cryptography for 3rd Generation Intel® Xeon® Processor Scalable and 10th Gen Intel® Core™ Processors.
- Extended optimization for Intel® IPP Data Compression LZ4 decompression.
- Enhanced Intel® IPP Image Processing ippiResizeAntialiasing and ippiResize functions with 64f support for one-channel images.
- Extended optimization for Intel® IPP Image Processing ippiResizeAntialiasing_64f function for Intel® Advanced Vector Extensions 2 (Intel® AVX2).
- Extended optimization for Intel® IPP Image Processing ippiResizeLanczos* and ippiResizeCubic* functions for Intel® Advanced Vector Extensions 512 (Intel® AVX-512).
- Extended Platform-Aware Functions list in Intel® IPP Image Processing domains with ippiPyramid* functions.
- Fixed patching issue encountered with Intel® IPP Data Compression LZ4 1.9.3 patch.
- Fixed Intel® IPP Cryptography AES-GCM decryption incorrect tag issue while dispatching on processors supported with Intel® Advanced Vector Extensions 512 (Intel® AVX-512).
System Requirements Bug Fix Log
What's New in Intel® IPP 2021.2
- Added crypto_mb as a separate library within Intel® IPP Cryptography in Intel® oneAPI Base Toolkit 2021.2 release.
- Added new Intel® IPP Cryptography Multi-buffer(MB) library functions for the following:
- ECDHE and ECDSA with new Instruction Set Architecture(ISA) for the NIST curve p521r1.
- ECDSA verify with new Instruction Set Architecture(ISA) for the NIST curve p384r1, p256r1 and p521r1.
- SM3 with new Instruction Set Architecture(ISA).
- Added new Intel® IPP Cryptography pre-defined hash algorithm APIs ippsHashMethodGetSize and ippsHashMethodInit.
- Implemented precised bilateral filter in Intel® IPP Image Processing domain for image smoothing based on iterative least square method.
- Enhanced Intel® IPP Image Processing ippiResizeAntialiasing and ippiResize functions with MirrorR border type support.
- Added floating-point shift routine to existing Intel® IPP Image Processing ippiResizeSuper function.
- Extended optimizations for Intel® IPP Image Processing and Color Coversions functions for selected algorithms for Intel® Advanced Vector Extensions 512 (Intel® AVX-512).
- Added support and optimization for LZ4 1.9.3 version in Intel® IPP Data compression.
- Added new K1 architecture code in Intel® IPP for 3rd Gen Intel® Xeon® Scalable Processor.
What's New in Intel® IPP 2021.1
- Renamed Intel® IPP Threading Layer Library for all operating systems. OpenMP* and Intel® oneAPI Threading Building Blocks(Intel® oneTBB) had identical suffix: "_tl" (e.g. ippcore_tl.lib).
- New names have additional suffix for each configuration:
- “_tl_omp” for OpenMP* configuration (e.g. ippcore_tl_omp.lib).
- “_tl_tbb” for Intel® oneTBB configuration (e.g. ippcore_tl_tbb.lib).
- New names have additional suffix for each configuration:
- Extended optimization for Intel® IPP Cryptography SM4 (ECB, CBC, CFB, OFB, CRT) on 10th Generation Intel® Core™ processor family.
- Added new universal 16-bit CRC functions to compute CRC8, CRC16, CRC24 and CRC32 checksums.
- Enabled Intel® IPP Threading Layer for Intel® IPP Image Processing ippiCrossCorrNorm* functions.
- Extended optimzation for Intel® IPP Signal Processing ippsHilbert_32f32fc function on double precision counterparts.
- Reinstated and extended optimization for Intel® IPP Image Processing ippiComplement* function for Intel® Advanced Vector Extensions 512 (Intel® AVX-512), Intel® Advanced Vector Extensions 2 (Intel® AVX2) and Intel® Streaming SIMD Extensions 4.2 (Intel® SSE4.2).
- Added support for custom dispatcher in the Intel® IPP Custom Library Tool.
- Extended optimization for Intel® IPP Image Processing ippiFilterSeparable* function for Intel® IPP data type Ipp32f and 8u.
2020
System Requirements Bug Fix Log Installation Guide
Update 3
What's New in Intel® IPP 2020 Update 3
- Extended optimization for Intel® IPP CRC functions on 10th Generation Intel® Core™ processor family.
- Improved performance for Intel® IPP Cryptography RSA single-buffer functions on 10th Generation Intel® Core™ processor family.
- Added conversion of 12 bit images to 16 bits and vice versa.
- Extended optimizations for Intel® IPP Image Processing and Color Coversions functions for selected algorithms for Intel® Advanced Vector Extensions 512 (Intel® AVX-512).
- Added support and optimization for LZ4 1.9.2 version in Intel® IPP Data compression.
- Extented Intel® IPP Cryptography Multi-buffer library support with ECDSA (Sign) and ECDHE for the NIST curves p256r1 and p384r1.
- Extented Intel® IPP Cryptography Multi-buffer support with CPU features detection and performed API refactoring.
- Added LZ4 fast compression functionality.
Threading Notes
Intel® IPP provides Threading Layer APIs on top of sequential Intel® IPP libraries. The APIs include two variants 1) functions with _T suffix in the names, providing threading implementation based on classic Intel® IPP APIs; 2) functions with _LT suffix, providing threading implementation based on Intel® IPP Platform-Aware functions. The Threading Layer APIs support both OpenMP* and Intel® Threading Building Blocks(Intel® TBB) threading technology. Source code of Intel® IPP Threading Layer is also available in the Intel® IPP package as an example and basis to organize threading for pipeline inside a customer application.
The legacy Intel® IPP threaded libraries will be dropped in future release, the code written with these libraries will work as before. However, the threaded library will not expand its threading functions, and the new threading will be developed only in the new Intel® IPP Threading Layer APIs.
It is recommended that you use the new Intel® IPP Threading Layer APIs or implement the threading based on Intel® IPP Threading Layer source code examples in your applications. For more information, check the “Threading Layer Functions” section in the Intel® IPP Developer Reference.
Known Intel® IPP 2020 Update 3 Issues and Limitations
- If you use Intel® IPP through Intel® System Studio or Intel® Parallel Studio XE suite. This Link provides pointer on downloading Intel® IPP 2020 Update 2 samples.
- Intel® IPP Signal Processing is deprecating string processing domain and MIMO algorithms within Intel® IPP embedded domain in the future release. If you have any concerns, open a ticket and provide feedback at Intel® online support center.
- The Erode and Dilate APIs added additional optimization branches. Some optimization branches have performance degradation on the Intel® Advanced Vector Extensions(Intel® AVX) optimization code.
- The threading layer examples on macOS* fail to build because of the incorrect Makefile. To work around the issue, remove the intel64/ suffix from the G_IPP_PATH_SUFFIX variable in the components/interfaces/tl/Makefile_base.mk file.
- If you use the standalone version of Intel® IPP on Linux* OS together with, Intel® TBB, you have to install the standalone version of Intel® TBB, otherwise the examples may crash. This is a workaround for this version. For more information, see this article.
Intel® IPP 2020 Documentation
Starting with this version of Intel® IPP, most of the documentation is only available online at Intel® Software Documentation Library. You can also download it from the Intel® Software Development Products Registration Center > Product List > Intel® Parallel Studio XE(or Intel® System Studio) Documentation.
Product Contents
The Intel® IPP for Windows*, Linux* OS, and macOS* is provided as part of the Intel® Parallel Studio XE and Intel® System Studio product. It is also available from the free program:
- Installation package only supports 64-bit host system. It includes both the 64-bit and 32-bit target libraries.
- Installation package also provides the online installer that downloads materials chosen during installation.
Intel® IPP Cryptography is provided as the following optional packages:
- Intel® IPP Cryptography for Windows*
- Intel® IPP Cryptography for Linux* OS
- Intel® IPP Cryptography for macOS*
Intel® IPP Cryptography
Intel® IPP Cryptography is a separate installation package that contains the binaries and header files needed to utilize the functions contained in the Intel® IPP cryptography domain. To obtain the Intel® IPP Cryptography libraries, please review the knowledge base article: where do I download the Intel® IPP cryptography libraries.
Intel® IPP Cryptography library is also available through open source. Visit the Intel® IPP cryptography open source page on GitHub to access the library source code.
Technical Support
If you did not register your Intel® software product during installation, please do so now at the Intel® Software Development Products Registration Center. Registration entitles you to free technical support, product updates and upgrades for the duration of the support term.
For technical information about Intel® IPP, including FAQ's, tips and tricks, and other support information, please visit the Intel® IPP forum and browse the Intel® IPP support page.
For general information about Intel technical support, product updates, user forums, FAQs, tips and tricks and other support questions, please visit the support site.
Note: If your distributor provides technical support for this product, please contact them rather than Intel.
License Definitions
Any software source code included with this product is furnished under a software license and may only be used or copied in accordance with the terms of that license. Please see the Intel® Software Products End User License Agreement for license definitions and restrictions on the library.
Update 2
What's New in Intel® IPP 2020 Update 2
- Added new universal 16-bit CRC functions to compute CRC8, CRC16, CRC24 and CRC32 checksums.
- Enabled Intel® IPP Threading Layer for Intel® IPP Image Processing ippiCrossCorrNorm* functions.
- Extended Intel® IPP Signal Processing ippsHilbert_32f32fc functions optimization on double precision counterparts.
- Reinstated and extended optimization for Intel® IPP Image Processing ippiComplement* function for Intel® Advanced Vector Extensions 512 (Intel® AVX-512), Intel® Advanced Vector Extensions 2 (Intel® AVX2) and Intel® Streaming SIMD Extensions 4.2 (Intel® SSE4.2).
- Added support for custom dispatcher in the Intel® IPP Custom Library Tool.
- Added Intel® IPP Cryptography multi-buffer implementation for AES-CFB and optimized it with Intel® AES New Instructions (Intel® AES-NI) and vector extensions of Intel® AES-NI instruction sets.
- Fixed compatibility issue with 64-bit ABI by restoring non-volatile registers after function call in Intel® Advanced Vector Extensions (Intel® AVX) and Intel® Advanced Vector Extensions 2 (Intel® AVX2) code.
- Extended optimization for Intel® IPP Cryptography AES-GCM with Intel® AES New Instructions (Intel® AES-NI) on 2nd Generation Intel® Xeon® Scalable Processors, formerly Cascade Lake.
- Extended optimization for Intel® IPP Cryptography AES-XTS with Intel® AES New Instructions (Intel® AES-NI) on 10th Generation Intel® Core™ processor family.
- Deprecated duplicated Intel® IPP Cryptography APIs for HASH, HMAC, MGF, RSA, ECCP functionality. For more information please refer the Deprecation notes.
Threading Notes
Intel® IPP provides Threading Layer APIs on top of sequential Intel® IPP libraries. The APIs include two variants 1) functions with _T suffix in the names, providing threading implementation based on classic Intel® IPP APIs; 2) functions with _LT suffix, providing threading implementation based on Intel® IPP Platform-Aware functions. The Threading Layer APIs support both OpenMP* and Intel® Threading Building Blocks(Intel® TBB) threading technology. Source code of Intel® IPP Threading Layer is also available in the Intel® IPP package as an example and basis to organize threading for pipeline inside a customer application.
The legacy Intel® IPP threaded libraries will be dropped in future release, the code written with these libraries will work as before. However, the threaded library will not expand its threading functions, and the new threading will be developed only in the new Intel® IPP Threading Layer APIs.
It is recommended that you use the new Intel® IPP Threading Layer APIs or implement the threading based on Intel® IPP Threading Layer source code examples in your applications. For more information, check the “Threading Layer Functions” section in the Intel® IPP Developer Reference.
Known Intel® IPP 2020 Update 2 Issues and Limitations
- If you use Intel® IPP through Intel® System Studio or Intel® Parallel Studio XE suite. This Link provides pointer on downloading Intel® IPP 2020 Update 2 samples.
- Intel® IPP Signal Processing is deprecating string processing domain and MIMO algorithms within Intel® IPP embedded domain in the future release. If you have any concerns, open a ticket and provide feedback at Intel® online support center.
- The Erode and Dilate APIs added additional optimization branches. Some optimization branches have performance degradation on the Intel® Advanced Vector Extensions(Intel® AVX) optimization code.
- The threading layer examples on macOS* fail to build because of the incorrect Makefile. To work around the issue, remove the intel64/ suffix from the G_IPP_PATH_SUFFIX variable in the components/interfaces/tl/Makefile_base.mk file.
- If you use the standalone version of Intel® IPP on Linux* OS together with, Intel® TBB, you have to install the standalone version of Intel® TBB, otherwise the examples may crash. This is a workaround for this version. For more information, see this article.
Intel® IPP 2020 Documentation
Starting with this version of Intel® IPP, most of the documentation is only available online at Intel® Software Documentation Library. You can also download it from the Intel® Software Development Products Registration Center > Product List > Intel® Parallel Studio XE(or Intel® System Studio) Documentation.
Product Contents
The Intel® IPP for Windows*, Linux* OS, and macOS* is provided as part of the Intel® Parallel Studio XE and Intel® System Studio product. It is also available from the free program:
- Installation package only supports 64-bit host system. It includes both the 64-bit and 32-bit target libraries.
- Installation package also provides the online installer that downloads materials chosen during installation.
Intel® IPP Cryptography is provided as the following optional packages:
- Intel® IPP Cryptography for Windows*
- Intel® IPP Cryptography for Linux* OS
- Intel® IPP Cryptography for macOS*
Intel® IPP Cryptography
Intel® IPP Cryptography is a separate installation package that contains the binaries and header files needed to utilize the functions contained in the Intel® IPP cryptography domain. To obtain the Intel® IPP Cryptography libraries, please review the knowledge base article: where do I download the Intel® IPP cryptography libraries.
Intel® IPP Cryptography library is also available through open source. Visit the Intel® IPP cryptography open source page on GitHub to access the library source code.
Technical Support
If you did not register your Intel® software product during installation, please do so now at the Intel® Software Development Products Registration Center. Registration entitles you to free technical support, product updates and upgrades for the duration of the support term.
For technical information about Intel® IPP, including FAQ's, tips and tricks, and other support information, please visit the Intel® IPP forum and browse the Intel® IPP support page.
For general information about Intel technical support, product updates, user forums, FAQs, tips and tricks and other support questions, please visit the support site.
Note: If your distributor provides technical support for this product, please contact them rather than Intel.
License Definitions
Any software source code included with this product is furnished under a software license and may only be used or copied in accordance with the terms of that license. Please see the Intel® Software Products End User License Agreement for license definitions and restrictions on the library.
Update 1
What's New in Intel® IPP 2020 Update 1
- Extended optimization for Intel® IPP Cryptography SM4 (ECB, CBC, CFB, OFB, CRT) on 10th Generation Intel® Core™ processor family.
- Introduced Intel® IPP Cryptography RSA multi-buffer cipher API that enables to process up to 8 messages simultaneously. The API is optimized for 10th Generation Intel® Core™ processor family with performance improvement with up to 6x for decryption and up to 4x for encryption against using RSA classic API (single-buffer).
- Extended Intel® IPP Image Processing ippsFIRSparse*_32fc functions optimizations for Intel® Advanced Vector Extensions 512 (Intel® AVX-512) and Intel® Advanced Vector Extensions 2 (Intel® AVX2).
- Added support for BZIP2 version 1.0.8 in the IPP Data Compression.
- Extended optimization for Intel® IPP Image Processing Resize 8u functions on 10th Generation Intel® Core™ processor family.
- Extended optimization for Intel® IPP Image Processing ippsAddProduct_32fc function for Intel® Advanced Vector Extensions 512 (Intel® AVX-512) and Intel® Advanced Vector Extensions 2 (Intel® AVX2).
- Modified Intel® IPP Cryptography ECSignDSA and SM2 APIs to clean up the ephemeral key after usage avoiding multiple key usage to improve security.
- Updated the Intel® IPP Threading Layer in accordance with Intel® Threading Building Blocks(Intel® TBB) 2020 update 1 release deprecation.
- Optimized performance for Intel® IPP Data compression LZ4 for smaller block sizes.
- Other Changes:
- Dropped support for Intel® IPP Android libraries. It is recommended to migrate to the Intel® IPP Linux* OS version which is entirely compatible with Intel® IPP Android libraries.
Threading Notes
Intel® IPP provides Threading Layer APIs on top of sequential Intel® IPP libraries. The APIs include two variants 1) functions with _T suffix in the names, providing threading implementation based on classic Intel® IPP APIs; 2) functions with _LT suffix, providing threading implementation based on Intel® IPP Platform-Aware functions. The Threading Layer APIs support both OpenMP* and Intel® Threading Building Blocks(Intel® TBB) threading technology. Source code of Intel® IPP Threading Layer is also available in the Intel® IPP package as an example and basis to organize threading for pipeline inside a customer application.
The legacy Intel® IPP threaded libraries will be dropped in future release, the code written with these libraries will work as before. However, the threaded library will not expand its threading functions, and the new threading will be developed only in the new Intel® IPP Threading Layer APIs.
It is recommended that you use the new Intel® IPP Threading Layer APIs or implement the threading based on Intel® IPP Threading Layer source code examples in your applications. For more information, check the “Threading Layer Functions” section in the Intel® IPP Developer Reference.
Known Intel® IPP 2020 Update 1 Issues and Limitations
- If you use Intel® IPP through Intel® System Studio suite. This Link provides pointer on downloading Intel® IPP 2020 Update 1 Linux* samples.
- Intel® IPP Signal Processing is deprecating string processing domain and MIMO algorithms within Intel® IPP embedded domain in the future release. If you have any concerns, open a ticket and provide feedback at Intel® online support center.
- The Erode and Dilate APIs added additional optimization branches. Some optimization branches have performance degradation on the Intel® Advanced Vector Extensions(Intel® AVX) optimization code.
- The threading layer examples on macOS* fail to build because of the incorrect Makefile. To work around the issue, remove the intel64/ suffix from the G_IPP_PATH_SUFFIX variable in the components/interfaces/tl/Makefile_base.mk file.
- If you use the standalone version of Intel® IPP on Linux* OS together with, Intel® TBB, you have to install the standalone version of Intel® TBB, otherwise the examples may crash. This is a workaround for this version. For more information, see this article.
Intel® IPP 2020 Documentation
Starting with this version of Intel® IPP, most of the documentation is only available online at Intel® Software Documentation Library. You can also download it from the Intel® Software Development Products Registration Center > Product List > Intel® Parallel Studio XE(or Intel® System Studio) Documentation.
Product Contents
The Intel® IPP for Windows*, Linux* OS, and macOS* is provided as part of the Intel® Parallel Studio XE and Intel® System Studio product. It is also available from the free program:
- Installation package only supports 64-bit host system. It includes both the 64-bit and 32-bit target libraries.
- Installation package also provides the online installer that downloads materials chosen during installation.
Intel® IPP Cryptography is provided as the following optional packages:
- Intel® IPP Cryptography for Windows*
- Intel® IPP Cryptography for Linux* OS
- Intel® IPP Cryptography for macOS*
Intel® IPP Cryptography
Intel® IPP Cryptography is a separate installation package that contains the binaries and header files needed to utilize the functions contained in the Intel® IPP cryptography domain. To obtain the Intel® IPP Cryptography libraries, please review the knowledge base article: where do I download the Intel® IPP cryptography libraries.
Intel® IPP Cryptography library is also available through open source. Visit the Intel® IPP cryptography open source page on GitHub to access the library source code.
Technical Support
If you did not register your Intel® software product during installation, please do so now at the Intel® Software Development Products Registration Center. Registration entitles you to free technical support, product updates and upgrades for the duration of the support term.
For technical information about Intel® IPP, including FAQ's, tips and tricks, and other support information, please visit the Intel® IPP forum and browse the Intel® IPP support page.
For general information about Intel technical support, product updates, user forums, FAQs, tips and tricks and other support questions, please visit the support site.
Note: If your distributor provides technical support for this product, please contact them rather than Intel.
License Definitions
Any software source code included with this product is furnished under a software license and may only be used or copied in accordance with the terms of that license. Please see the Intel® Software Products End User License Agreement for license definitions and restrictions on the library.
Initial Release
What's New in Intel® IPP 2020:
- Extended Intel® IPP Signal Processing with the pattern matching algorithm to calculate the similarity of binary patterns optimized for Intel® Advanced Vector Extensions 512 (Intel® AVX-512) instructions on 10th Generation Intel® Core™ processor family.
- Extended Intel® IPP Signal Processing with the algorithm to select top K elements from a vector optimized for Intel® AVX-512 instructions on 10th Generation Intel® Core™ processor family.
- Extended optimization for Intel® IPP Cryptography cipher AES, RSA support on 10th Generation Intel® Core™ processor family.
- Enabled acceleration for Intel® IPP Data Compression ZFP 0.5.4 version for Intel® AVX-512 instructions.
- Improved security for Intel® IPP Cryptography by replacing small dynamic libraries along with the dynamic dispatcher with one dynamic library with all optimized variants and a dispatcher inside.
- Added support for 32f/64f extensions to Intel® IPP Signal Processing ippsMaxAbsIndx and ippsMinAbsIndx algorithms.
- Fixed the issue with stack alignment in Intel® IPP and Intel® IPP Cryptography non-PIC libraries that caused application crash on Linux* OS.
- Added new API for Intel® IPP Cryptography RSA multi-buffer support.
- Other Changes:
- Dropped Supplemental Streaming SIMD Extensions 3(SSSE3) optimized variant in Intel® IPP Core due to unsupported hardware on macOS* systems.
Threading Notes
Intel® IPP provides Threading Layer APIs on top of sequential Intel® IPP libraries. The APIs include two variants 1) functions with _T suffix in the names, providing threading implementation based on classic Intel® IPP APIs; 2) functions with _LT suffix, providing threading implementation based on Intel® IPP Platform-Aware functions. The Threading Layer APIs support both OpenMP* and Intel® Threading Building Blocks(Intel® TBB) threading technology. Source code of Intel® IPP Threading Layer is also available in the Intel® IPP package as an example and basis to organize threading for pipeline inside a customer application.
The legacy Intel® IPP threaded libraries will be dropped in future release, the code written with these libraries will work as before. However, the threaded library will not expand its threading functions, and the new threading will be developed only in the new Intel® IPP Threading Layer APIs.
It is recommended that you use the new Intel® IPP Threading Layer APIs or implement the threading based on Intel® IPP Threading Layer source code examples in your applications. For more information, check the “Threading Layer Functions” section in the Intel® IPP Developer Reference.
Known Intel® IPP 2020 Issues and Limitations
- Intel® IPP Android libraries are deprecated and will be dropped in the future release. It is recommended to migrate to the Intel® IPP Linux* OS version which is entirely compatible with Intel® IPP Android libraries.
- The Erode and Dilate APIs added additional optimization branches. Some optimization branches have performance degradation on the Intel® Advanced Vector Extensions(Intel® AVX) optimization code.
- The threading layer examples on macOS* fail to build because of the incorrect Makefile. To work around the issue, remove the intel64/ suffix from the G_IPP_PATH_SUFFIX variable in the components/interfaces/tl/Makefile_base.mk file.
- If you use the standalone version of Intel® IPP on Linux* OS together with, Intel® TBB, you have to install the standalone version of Intel® TBB, otherwise the examples may crash. This is a workaround for this version. For more information, see this article.
Intel® IPP 2020 Documentation
Starting with this version of Intel® IPP, most of the documentation is only available online at Intel® Software Documentation Library. You can also download it from the Intel® Software Development Products Registration Center > Product List > Intel® Parallel Studio XE(or Intel® System Studio) Documentation.
Product Contents
The Intel® IPP for Windows*, Linux* OS, and macOS* is provided as part of the Intel® Parallel Studio XE and Intel® System Studio product. It is also available from the free program:
- Installation package only supports 64-bit host system. It includes both the 64-bit and 32-bit target libraries.
- Installation package also provides the online installer that downloads materials chosen during installation.
Intel® IPP Cryptography is provided as the following optional packages:
- Intel® IPP Cryptography for Windows*
- Intel® IPP Cryptography for Linux* OS
- Intel® IPP Cryptography for macOS*
Intel® IPP Cryptography
Intel® IPP Cryptography is a separate installation package that contains the binaries and header files needed to utilize the functions contained in the Intel® IPP cryptography domain. To obtain the Intel® IPP Cryptography libraries, please review the knowledge base article: where do I download the Intel® IPP cryptography libraries.
Intel® IPP Cryptography library is also available through open source. Visit the Intel® IPP cryptography open source page on GitHub to access the library source code.
Technical Support
If you did not register your Intel® software product during installation, please do so now at the Intel® Software Development Products Registration Center. Registration entitles you to free technical support, product updates and upgrades for the duration of the support term.
For technical information about Intel® IPP, including FAQ's, tips and tricks, and other support information, please visit the Intel® IPP forum and browse the Intel® IPP support page.
For general information about Intel technical support, product updates, user forums, FAQs, tips and tricks and other support questions, please visit the support site.
Note: If your distributor provides technical support for this product, please contact them rather than Intel.
License Definitions
Any software source code included with this product is furnished under a software license and may only be used or copied in accordance with the terms of that license. Please see the Intel® Software Products End User License Agreement for license definitions and restrictions on the library.
2019
Update 5
What's New in Intel® IPP 2019 Update 5:
- Extended Intel® IPP ippiWarpBilinear and ippiFilterBilateral functions optimization on Intel® Atom™ processor family.
- Fixed issue with stack alignment in Intel® IPP and Intel® IPP Crypto non-PIC libraries that caused application crash on Linux.
Update 4
What's New in Intel® IPP 2019 Update 4:
- Added Intel® IPP Crypto open source build support for 3rd party compilers MSVS and GCC
- Added Intel® IPP package availability in NuGet package manager on Windows, Linux and macOS* systems
- Enabled acceleration for Intel® IPP Data compression LZO X1X mode for SSE4.2 and Intel® AVX-512 instructions
Update 3
What's New in Intel® IPP 2019 Update 3:
- Extended Intel® AVX2 and Intel® AVX-512 optimization for ippsFIRMR32f_32fc functions.
- Added a threading layer example on building custom pipeline code with the sobel filter functions.
- Added new implementation in the IIR Filter functions to improve precision. The implementation provides similar performance for long length vectors, but reduces the performance for short length vectors.
- Fixed several bugs in the bzip2 optimization patch files, including Makefile errors, and inconsistency with original code.
- Fixed the following dispatching issues in Intel® IPP libraries:
- The IPP functions dispatched Intel® AVX2 optimization code on the Intel® AVX-512 processors with macOS* systems.
- The cryptography libraries dispatched incorrect code on the systems that do not support Intel® AVX instructions.
- The cryptography libraries dispatched incorrect optimization code when the libraries were linked dynamically.
Update 2
What's New in Intel® IPP 2019 Update 2:
- Intel® IPP Update 2 includes functional and security updates. Users should update to the latest version.
- The previous version of Intel IPP Custom Library Tool is removed in the releases. Users can use the new version of Intel IPP Custom Library Tool based on Python
Update 1
What's New in Intel® IPP 2019 Update 1:
- Added new functions to support SM2 public key cryptographic algorithm.
- Added support for Universal Windows driver and Universal Windows Platform (UWP) in the sequential static libraries.
- Added optimization for Intel® AVX-512 instruction set in the ippsFIRMR32f_32fc functions.
- Added support for Android* OS and Threading Layer libraries in the Intel IPP Custom Library Tool based on Python*.
- Removed support for IA-32 libraries on macOS* in this release.
Initial Release
What's New in Intel® IPP 2019:
- Added new functions to support ZFP floating-point data compression and decompression. This release also introduces the optimization patch files for ZFP 0.5.2 source to provide drop-in optimization with the Intel® IPP functions:
- ZFP is a lossy floating point data compression with controlled compression accuracy and compression rate. Intel® IPP ZFP functions are highly optimized for Intel® AVX2 and Intel® AVX-512 instruction sets.
- Intel® IPP ZFP provides easy-to-use interfaces which allow for use of its functions directly in application source code. Intel® IPP ZFP also provides drop-in optimization patch files for open-source ZFP 0.5.2. Users’ applications can use open-source ZFP library interfaces with Intel® IPP optimized functions.
- Added Intel® Threading Building Blocks threading technology support in the Threading Layer APIs. Check the “Threading Notes” part in the Release Notes to get more information.
- Added new version of Intel IPP Custom Library Tool based on Python*. This version provides better compatibility on different operation systems. The previous version of Intel IPP Custom Library Tool is deprecated and will be removed in the future Intel IPP releases.
- Added new APIs to compute CRC24 and CRC16 checksum with 1U input data. The APIs support CRC24A, CRC24B, CRC24С and CRC16 polynomial functions, and are included in the Intel® IPP embedded domain.
- Color Conversion:
- Added color conversion functions to convert RGB image to CIE Lab color model, or CIE Lab color model to RGB (ippiRGBToLab/ ippiLabToRGB).
- Data Compression:
- Added the optimization patch files for the bzip2 source to provide drop-in optimization with Intel® IPP functions. The patches now supports bzip2 version 1.0.6.
- Performance:
- Extended optimization for the Intel® Advanced Vector Extensions 512 (Intel® AVX-512) instruction sets.
- Other Changes:
- Removed support for Intel® Xeon Phi™ 72** product family coprocessor (formerly code name Knights Landing) on Windows* platform in this release.
- Removed support for Intel® Quark™ microprocessors in this release.
- The IA-32 libraries on macOS* are deprecated and will be removed in a future release.
- Threading Notes:
- Intel® IPP provides Threading Layer APIs on top of sequential Intel® IPP libraries. The APIs include two variants 1) functions with _T suffix in the names, providing threading implementation based on classic IPP APIs; 2) functions with _LT suffix, providing threading implementation based on Intel IPP Platform-Aware functions. The Threading Layer APIs support both OpenMP* and Intel® Threading Building Blocks threading technology. Source code of Intel® IPP Threading Layer is also available in IPP package as example and basis to organize threading for pipeline inside a customer application.
- The legacy Intel IPP threaded libraries are still available by custom installation, and the code written with these libraries will work as before. However, the threaded library will not expand its threading functions, and the new threading will be developed only in the new Intel® IPP threading layer APIs.
- User applications are recommended to use the new Intel® IPP Threading Layer APIs or implement the threading based on IPP Threading Layer source code examples in their applications. Check the “Threading Layer Functions” section in the Intel® IPP Developer Reference, to get more information on these APIs.
2018
Update 4
What's New in Intel® IPP 2018 Update 4:
- Added new APIs to compute CRC24 and CRC16 checksum with 1U input data. The APIs support CRC24A, CRC24B, CRC24С and CRC16 polynomial functions, and are included in the Intel® IPP embedded domain
- Fixed a number of internal and external defects. Visit the Intel® IPP 2018 bug fixes for more information.
Update 3.1
What's New in Intel® IPP 2018 Update 3.1:
- Minor improvements in mitigation for security vulnerability CVE-2018-3617 (http://cve.mitre.org/cgi-bin/cvename.cgi?name=2018-3617) in the Intel® IPP Cryptography libraries
Update 3
What's New in Intel® IPP 2018 Update 3:
- Improved LZ4 compression and decompression performance on data with high entropy.
- Fixed a number of internal and external defects. Visit the Intel® IPP 2018 bug fixes for more information.
Update 2.1
What's New in Intel® IPP 2018 Update 2.1:
- Mitigated security vulnerability CVE-2018-3617 (http://cve.mitre.org/cgi-bin/cvename.cgi?name=2018-3617) in the Intel® IPP Cryptography libraries
Update 2
What's New in Intel® IPP 2018 Update 2:
- Added the new APIs to computes the CRC24 and CRC16 checksum. The APIs support CRC24A, CRC24B, CRC24С and CRC16 polynomial functions, and are included in the Intel® IPP embedded domain within the Intel® System Studio package
- Added new APIs in the image processing domain for fixed point Resize functionality. The functionality provides faster resize operations with less accuracy.
- Extended optimization for Intel®AVX2 and Intel® AVX-512 instruction set in the following functions:
- Image processing: Image processing: ippiSeparableFilter, ippiNorm, ipprFilterBorder_L.
- Signal processing: ippsAdd_32u
- Extended optimization for Intel® SSE4.2 and Intel®AVX2 instruction set for LZ4 data compression functions
- Fixed the problem on the incorrect code dispatching for the Intel® AVX512 processor systems running with the OS that does not support AVX-512 instructions. The problem caused some Intel® IPP functions report "illegal instructions” errors.
Update 1
What's New in Intel® IPP 2018 Update 1:
- Added new Platform-Aware APIs ipprFilterBorder for 3D data filtering, and ipprCopyBorder for 3D border data copying
- Extended optimization for Intel® AVX-512 instruction set in the following functions:
- Image processing: ippiFilterBorder_<16u|16s>_C1R;ippiResizeAntialiasing_8u_C4; ippiResizeLanczos_8u.
- Signal processing: ippsSqrt_<8u|16s|16u|16sc|32s>;ippsCopyBE_1u;
- FFT transform functions for order size larger than 17
- Extended optimization for Intel® SSE4.2 instruction set in the following functions:
- Image processing: ippiFilterBoxBorder_<16s|8u>; ippiFilterBoxBorder_<16s|8u>_C3, ippiResizeLenear for scale size 0.5, ippiMean_StdDev.
- Signal processing: ippsMagnitude_<64f|32f>;
Initial Release
What's New in Intel® IPP 2018:
- Added new functions to support the LZ4 data compression and decompression. This release also introduces the patch files for LZ4 source to provide drop-in optimization with the Intel® IPP functions.
- Introduced the standalone cryptography packages. The cryptography functions no longer depend on the main Intel® IPP packages, and can be used without the main Intel® IPP packages.
- Introduced the optimization code for the GraphicsMagick source. The code can provide drop-in optimization on GraphicsMagick with the Intel® IPP functions:
- The code supports GraphicsMagick version 1.3.25, and provides optimization for the following GraphicsMagick APIs: ResizeImage, ScaleImage, GaussianBlurImage, FlipImage, and FlopImage.
- The optimization code can improve the APIs performance by up to 4x, depending on the functionality, input parameters, and processors.
- Made the Integration Wrappers APIs part of the Intel® IPP packages.
- Computer Vision:
- Added the 64-bit data length support for Canny edge detection functions (ippiCanny_32f8u_C1R_L).
- Color Conversion:
- Added the ippiDemosaicVNG functions that support the demosaicing algorithm with VNG interpolation.
- Cryptography:
- Added the Elliptic Curves key generation and Elliptic Curves based Diffie-Hellman shared secret functionality.
- Added the Elliptic Curves sign generation and verification functionalities for the DSA, NR, and SM2 algorithms..
- Performance:
- Extended optimization for the Intel® Advanced Vector Extensions 512 (Intel® AVX-512) and Intel® Advanced Vector Extensions 2 (Intel® AVX2) instruction sets.
- Improved performance of LZO data compression functions on Intel® AVX2 and Intel® Streaming SIMD Extensions 4.2 (Intel® SSE4.2).
- Other Changes:
- Removed support for Intel® Pentium® III processor. The minimal supported instruction set is Intel® Streaming SIMD Extensions 2 (Intel® SSE2).
- Removed support for the Intel® Xeon Phi™ x100 product family coprocessor (formerly code name Knights Corner) in this release: The Intel® Xeon Phi™ x100 product family coprocessor(formerly code named Knights Corner) was officially announced end of life in January 2017. As part of the end of life process, the support for this family will only be available in the Intel® Parallel Studio XE 2017 version. Intel® Parallel Studio XE 2017 will be supported for a period of 3 years ending in January 2020 for the Intel® Xeon Phi™ x100 product family. Support will be provided for those customers with active support.
Known Issues:
- The release only provides optimization on Intel® SSE4.2 and later instructions for the morphology image processing functions. Users may notice performance degradation in those functions on some old processors. If the old instructions optimization for the morphology functions is important for your applications, please submit your feedback through the product support.
Threading Notes:
- To support the internal threading in the Intel® IPP functions, Intel® IPP provides the Threading Layer APIs in the platform-aware functions. These APIs can support both 64-bit object sizes (for large size images and signal data) and internal threading in Intel® IPP functions. Check the “Threading Layer Functions” pat in the Intel® IPP Developer Reference to get more information on these APIs. Your feedback on extending the new threading functions is welcome.
- The legacy Intel IPP threaded libraries are available by the custom installation, and the code written with these libraries will still work as before. However, the threaded library will not expand its threading functions, and the new threading will be developed only in the new Intel® IPP threading layer APIs. User’s application is recommended to use the new Intel® IPP threading layer APIs or implement the external threading in their applications.
System Requirements
For information about the Intel® IPP system requirements, please visit Intel® Integrated Performance Primitives (Intel® IPP) 2018 System Requirements page.
2017
Update 3
What's New in Intel® IPP 2017 Update 3:
- Fixed some known problems in Intel® IPP Cryptography functions
- Added support for Microsoft Visual Studio* 2017 on Windows*.
- Added Support for Conda* repositories installation.
Update 2
What's New in Intel® IPP 2017 Update 2:
- Added the new functions in ZLIB to support the user-defined Huffman tables, which allows to increase ZLIB compression ratio at the fastest compression level.
- Increased LZO compression performance by 20% t0 50%. Added level 999 support in LZO decompression.
- Introduced support for Intel® Xeon Phi™ processor x200 (formerly Knights Landing) leverage boot mode in the Intel IPP examples.
- Added an example code on building custom dispatcher for the processor-specific optimization codes.
- Fixed a number of internal and external defects. Visit the Intel® IPP 2017 bug fixes for more information.
Update 1
What's New in Intel® IPP 2017 Update 1:
- Added Support of Intel® Xeon Phi™ processor x200 (formerly Knights Landing) leverage boot mode on Windows.
- Added the following new functions in the cryptography domain:
- Added functions for the finite field GF(p) arithmetic, and the elliptic curves over the finite field GF(p).
- Added ippsECCPBindGxyTblStd functions that allow to control memory size for the elliptic curves over GF(p).
- Fixed a number of internal and external defects. Visit the Intel® IPP 2017 bug fixes for more information.
Initial Release
What's New in Intel® IPP 2017:
- Added Support of Intel® Xeon Phi™ processor x200 (formerly Knights Landing) leverage boot mode on Windows.
- Added Intel® IPP Platform-Aware APIs to support 64-bit parameters for image dimensions and vector length on 64-bit platforms and 64-bit operating systems:
- This release provides 64-bit data length support in the memory allocation, data sorting, image resizing, and image arithmetic functions.
- Intel® IPP Platform-Aware APIs support external tiling and threading by processing tiled images, which enables you to create effective parallel pipelines at the application level.
- Introduced new Integration Wrappers APIs for some image processing and computer vision functions as a technical preview. The wrappers provide the easy-to-use C and C++ APIs for Intel® IPP functions, and they are available as a separate download in the form of source and pre-built binaries.
- Performance and Optimization:
- Extended optimization for Intel® Advanced Vector Extensions 512 (Intel® AVX-512) instruction set on Intel® Many Integrated Core Architectures (Intel® MIC Architectures). Please see the Intel® IPP Functions Optimized for Intel® AVX-512 article for more information.
- Extended optimization for Intel® AVX-512 instruction set on Intel® Xeon® processors.
- Extended optimization for Intel® Advanced Vector Extensions 2 (Intel® AVX2) instruction set on the 6th Generation Intel® Core™ processors. Please see the Intel® IPP Functions Optimized for Intel® AVX2 article for more information.
- Extended optimization for Intel® Streaming SIMD Extensions 4.2 (Intel® SSE4.2) instruction set on Intel® Atom™ processors.
- Data Compression:
- Added the patch files for the zlib source to provide drop-in optimization with Intel® IPP functions. The patches now supports zlib version 1.2.5.3, 1.2.6.1, 1.2.7.3 and 1.2.8.
- Significantly improved performance of zlib compression functions on the standard compression modes.
- Introduced a new fastest zlib data compression mode, which can significantly improve compression performance with only a small sacrifice in compression ratio.
- Signal Processing:
- Added the ippsIIRIIR functions that perform zero-phase digital IIR filtering.
- Added 64-bit data length support to the ippsSortRadixAscend and ippsSortRadixDescend functions.
- Added unsigned integer data support to the ippsSortRadixAscend, ippsSortRadixDescend, ippsSortRadixIndexAscend and ippsSortRadixIndexDescend functions.
- Image Processing:
- Added the ippiScaleC functions to support image data scaling and shifting for different data types by using 64-bit floating multiplier and offset.
- Added the ippiMulC64f functions to support image data multiplication by a 64-bit floating point value.
- Removed the tutorial from the installation package, and its sample code and documentation are now provided online.
- Threading Notes: Though Intel® IPP threaded libraries are not installed by default, these threaded libraries are available by the custom installation, so the code written with these libraries will still work as before. However, the multi-threaded libraries are deprecated and moving to external threading is recommended. Your feedback on this is welcome.
- Installation on IA-32 architecture hosts is no longer supported, and the Intel IPP packages for Intel® 64 architecture hosts include both 64-bit and 32-bit Intel IPP libraries.
9.0
Update 4
What's New in Intel® IPP 9.0 Update 4:
- Mitigated a potential vulnerability in the IPP Crypto RSA implementation. See public security advisory INTEL-SA-00060 at http://www.intel.com/security for more information.
- Fixed a number of internal and external defects. Visit the Intel® IPP 9.0 bug fixes for more information.
Update 3
What's New in Intel® IPP 9.0 Update 3:
- Improved zlib decompression performance for small data for Intel® 64 architectures.
- Fixed a number of internal and external defects,including the memory corruption problem on ippiSet_16u_C1R functions.
Update 2
What's New in Intel® IPP 9.0 Update 2:
- Image Processing:
- Added the contiguous volume format (C1V) support to the following 3D data processing functions: ipprWarpAffine, ipprRemap, and ipprFilter.
- Added the ippiFilterBorderSetMode function to support high accuracy rounding mode in ippiFilterBorder.
- Added the ippiCopyMirrorBorder function for copying the image values by adding the mirror border pixels.
- Added mirror border support to the following filtering functions: ippiFilterBilateral, ippiFilterBoxBorder, ippiFilterBorder, ippiFilterSobel, and ippiFilterScharr.
- Kernel coefficients in the ippiFilterBorder image filtering functions are used in direct order, which is different from the ippiFilter functions in the previous releases.
- Computer Vision:
- Added 32-bit floating point input data support to the ippiSegmentWatershed function.
- Added mirror border support to the following filtering functions: ippiFilterGaussianBorder, ippiFilterLaplacianBorder, ippiMinEigenVal, ippiHarrisCorner, ippiPyramidLayerDown, and ippiPyramidLayerUp.
- Signal Processing:
- Added the ippsThreshold_LTAbsVal function, which uses the vector absolute value.
- Added the ippsIIRIIR64f functions to perform zero-phase digital IIR filtering.
- The multi-threaded libraries only depend on the Intel® OpenMP* libraries; their dependencies on the other Intel® Compiler runtime libraries were removed.
- Fixed a number of internal and external defects.
Update 1
What's New in Intel® IPP 9.0 Update 1:
- Enabled stack protection to enhance security of the Intel® IPP functions at Linux*. To link with Intel® IPP libraries, glibc version 2.4 or higher is now required.
- Added the following new functions in the Signal Processing, Color Conversion and Cryptography domains:
- The in-place functions on normalizing the elements of a vector: ippsNormalize.
- The functions on computing the minimum or maximum absolute value of a vector: ippsMinAbs and ippsMaxAbs.
- The functions on BGR to YCbCr420 color format conversion: ippiBGRToYCbCr420.
- The functions on pseudorandom number generation optimized by the Intel RDRAND instruction.
- Optimized the following functions on Intel® Advanced Vector Extensions 2 (Intel® AVX2) both for Intel® 64 and IA-32 Architectures:
- Signal Processing: ippsSumLn, ippsNormalize, ippsMinAbs, and ippsMaxAbs.
- Image Processing: ippiConvert_32s16s, ippiHOG_16s32f_C1R, and ippiSwapChannels_32s_C3C4R.
- Color Conversion: ippiColorToGray and YCbCr to RGB/BGR conversion functions.
- Improved the LZO decompression function ippsDecodeLZO performance for Intel® Quark™ processors.
- Fixed the position-independent code (PIC) problem in the Linux* dynamic libraries. The share libraries now provide the full PIC symbols.
Initial Release
What's New in Intel® IPP 9.0:
- Extended optimization for Intel® Advanced Vector Extensions 512 (Intel® AVX-512) instruction set in the Computer Vision and Image Processing functions.
- Extended optimization for Intel® Atom™ processors in the Computer Vision and Image Processing functions.
- Added optimization for Intel® Quark™ processors to the Cryptography and Data Compression functions.
- Introduced the new Cryptography functions for SM2/SM3/SM4 algorithms.
- Added a custom dynamic library building tool, which enables users to build the dynamic library containing the selected Intel® IPP functions.
- Added the new APIs to support external threading.
- Improved the CPU dispatcher by using target processor features instead of processor types. The static linkage does not require to explicitly call the processor initialization function now.
- Provided the new native libraries for 64-bit Android* applications, and replaced the old ones from the Linux* binary.
- Removed internal memory allocation in the single-threaded libraries.
- The single-threaded libraries removed the dependency on the Intel® Compiler runtime libraries. The multi-threaded libraries only depends on the Intel® OpenMP* libraries.
- Image Processing domain changes:
- New implementation of perspective warping functions.
- New image filtering functions with border support: ippiFilterMedianBorder, ippiFilterMaxBorder, ippiFilterMinBorder, ippiFilterLaplaceBorder, ippiFilterHipassBorder, ippiFilterSharpenBorder.
- New implementation of image rotation functionality with the ippiGetRotateTransform and ippiWarpAffine APIs.
- 3D data processing functions are now available in the image processing domain.
- Some Intel IPP domains and functions are now legacy:
- The following Intel® IPP domains are legacy, and they are removed from the main packages: Audio Coding (ippAC), Video Coding (ippVC), Speech Coding (ippSC), Image Compression (ippJP), Data Integrity (ippDI), Generated Transforms (ippGEN), Small Matrices (ippMX), and Realistic Rendering (ippRR). That means these domains won't be optimized for new architectures (the latest optimizations are targeted for Intel® Advanced Vector Extensions 2) and any newly detected performance and stability issues won't be fixed. Find the alternative suggestion for the deprecated functions.
- Some Intel IPP functions, including the functions for internal memory allocation, are deprecated in the main package. See the alternatives for the deprecated functions.
- Fixed a number of internal and external defects.