What’s new in the V8 SDK?

For a more in-depth update, our latest version is v8.3 and details on that update are here.

We’ve been hard at work at our newest major update to our SDK packages, and we’re trilled to provide these to our SDK customers at no additional cost. Here’s what’s new in V8:

  1. Dramatic speed improvement: several options and internal optimizations have been put in place to reduce the Calc, Apply, and AutoCorrect processing times dramatically. On computers and servers, you should expect about a 3x speed improvement when compared to v7.4. The total processing time depends on many factors: image size, correction parameters enabled, and computer characteristics, so exact speed improvements cannot be stated exactly. The following features and improvements account for the speed gains:
    • Face Aware Exposure can now be run on a larger (slower) or smaller (faster) image. This is controlled through the PFCFEATURE enum when using separate Calc and Apply function calls, or through an additional function parameter when calling AutoCorrect.
    • Tint Calculation can optionally be skipped when tint correction is not enabled. Tint detection is performed in the ‘Calc’ phase, and if you allow the user to enable or disable Tint correction, then it is important to perform Tint detection regardless of the user’s choice; this allows Tint to be toggled on or off without needing to ‘Calc’ a second time. However, if your implementation of Perfectly Clear does not offer Tint correction as a user-facing option, then you can gain a speed improvement by disabling tint detection. Starting in v8.0, Tint detection is disabled when using AutoCorrect. You may choose to disable this using the PFCFEATURE enum when calling Calc and Apply separately.
    • Face detection for the purpose of ‘Beautify’ corrections is now slightly more accurate. Starting in v8.0, the SDK will default to the same detection rate as our Workbench application.
    • AVX / NEON code optimization. A substantial speed gain was achieved by enabling AVX instruction set support for desktop/server processors and NEON support for ARM processors. By default, the Perfectly Clear SDK now requires AVX support – this is present in nearly all CPU’s produced since 2011 by AMD (Bulldozer and later) and Intel (Sandy Bridge and later). The Android SDK is also offered by default only for arm64-v8a and x86_64. Please contact Athentech support if your implementation requires support for older processors that do not have AVX or NEON support.
  2. “V3 Corrections” support: Our “V3” products introduced numerous corrections that have not been available in our SDK – until now. These corrections include:
    • Finishing & Graduated Filters
    • Image Ambulance (manual exposure correction)
    • Color Vibrancy (not to be confused with Color Restoration – which was previously labelled ‘Color Vibrancy’ in Athentech’s products.
    • Foliage & Sky Enhancement
    • Input and Output LOOKS – these are packaged and licensed separately from the rest of the Perfectly Clear SDK
  3. Sharpening Update: In this SDK, we have improved the sharpening algorithm to be less prone to visible artifacts when applied at higher strengths. The maximum sharpening strength has been increased as well. Presets that used the previous sharpening algorithm should not need to be adjusted – previous sharpening levels will produce similar “strength” of sharpening.

And, here’s a list of the minor updates within this V8 release:

Version Date Updates
8.4.4 May 5, 2020 • New I/O methods to read and write image data from existing in-memory streams or pipe to/from standard in/out
• Load and Save PFCImageFiles and set file type seprate from the filename extension
• Fixed image artifact in noise correction on images with Alpha channels
8.4.3 Mar 20, 2020 • Support for Chinese and other UTF8 characters in file & preset names
• Added PFCImageFile support in our PerfectlyClearAdapter
• Change default preset to new iAuto without Red Eye
• Improved image quality and reduced banding in low-detail and smooth gradient areas in photos
• Fixed an issue preventing LOOKs from being applied in the Container solution
8.4.2 Jan 29, 2020 • Simplified loading v3.looks files with PFC_SetAddonPath
8.4.1 Dec 17, 2019 • Fixes for SDK use of presets with certain LOOKs
8.4.0 Dec 5, 2019 • Added PNG support to SDK (PFCImageFile) and Container
• Added Resizing support to Container
• Fixed issue with rare color management settings in PFCImageFile
• Added EXIF rotation support in WebAssembly Sample2
• Added PFCV3PARAM.iFinishPositiveContrast to SDK to match the new Contrast adjustment in EyeQ desktop products
• Container improvements: better docs, better logging, performance improvement, smaller container size
8.3.5 Oct 11, 2019 • Improved handling of Color Management transformations when input image has corrupt or missing embedded profile
• Fixed an inconsistency about when Dynamic Range correction was applied (to better match our Desktop products)
• Improved Container scripts and deployment
• Added sample application for .NET Core
8.3.4 Jul 12, 2019 • Adding Red Eye correction to WASM
• Fix for C# SDK handling of clipart
• Fix packaging for Windows and “v3.looks”
• Fixed a processing difference in ‘Finishing Tools’ between the SDK and our desktop software
8.3.3 Jun 19, 2019 • Improved Linux build / deployment process
• Fix for parsing settings in .preset files in ReadPreset() function
8.3.2 May 29, 2019 • Added support for SDK usage metering
• Fix for parsing settings in .preset files in ReadPreset() function
8.3.1 Apr 26, 2019 • Fix for rare image artifact when using resizing
• Fix for parsing settings in .preset files in ReadPreset() function
8.3.0 Feb 22, 2019 • Added PFCImageFile for EXIF and Color Management
• Added image resizing capabilities
• Improved Sample Code, including for Web WebAssembly
• Image correction validation – the SDK output is validated across each platform
8.2.0 Oct 4, 2018 • Added preset file parsing for the .NET adapter, Android and iOS platforms
• Header file change to add function to read presets from file stream
8.1.1 Sep 26, 2018 • Provide both AVX accelerated and non-AVX libraries by default in all SDK deliveries
8.1.0 Sep 19, 2018 • Added preset file parsing support (changes header file)
• Fixed issue with very low Dynamic Range issues that could cause black pixels in the output image
• Android: Sample app: fix to save corrected image
• Android: proper auto-strength implementation
• Fixing issue with very bright images that would result in low contrast output
8.0.3 Sep 6, 2018 • Fixed issue when iVibrancy = 0 on high-key images or photos with while borders
• Win: removed dependencies on Visual Studio redistributables
• Fixed incorrect version numbers on .NET Adapter .DLL file
8.0.2 Aug 16, 2018 • Better contrast correction on very small images
• change iOutputVibrancy to iColorVibrancy to match the Workbench User Interface
• Fixed Android sample application crash
• Fixed Win Sample 2 crash on Save
• Fixed issue that could cause a 1 pixel of bad data at bottom of corrected images

Keep Reading