Skip to content

v1.6.0

Latest

Choose a tag to compare

@ReferenceType ReferenceType released this 13 Mar 20:15
· 11 commits to master since this release
501b456

Release Notes

Android Support

  • Added support for android Arm and X86.
  • Tested on Pixel 6 pro with Maui app.

YUV NV12 encode support

  • Since most cameras provide native NV12 YUV output, direct encoding support is provided.

Decoder RGBA support

  • Decoder now can decode into RGB BGR RGBA BGRA instead of only RGB.

RgbImage Corp support

  • RgbImage supports cropping a region without copy
  • RgbImage supports aspect ratio adjustment via cropping

NuGet Native

NuGet release now installs and resolves native libraries on all platforms.

Miscellaneous

  • Bug Fix on YUV luminance overflow.
  • Bug Fix on Neon Converters when number of threads are more than 1.
  • Bug Fix on 32 bit RGB image Downscale.
  • On runtime Cisco dll load, C++ side doesn't throw exceptions instead returning error
  • Optimized Custom Thread Pool.
  • Added 64 byte aligned native memory allocation support on Converter which all native allocations use.
  • Added optimized SSE Converters as fallback for AVX2.
  • Added new pre-configurations for parallel encoder ConfigType.CameraCaptureAdvancedHP and ScreenCaptureAdvancedHp
  • Unified Encode and Decode RGB image container to be the same.
  • Added singular options on converter instead of setting entire config.
  • Simplified API.
  • Extended the examples added benchmarks and tests
  • Simplified WPF example.

Breaking Changes

Data classes are updated and following are removed:
class ImageData
ref struct RGBImagePointer

public bool Encode(ImageData im, out EncodedData[] ed)
public unsafe bool Encode(byte* YUV, out EncodedData[] ed)

public bool Decode(byte[] encoded, int offset, int count, bool noDelay, out DecodingState state, out RGBImagePointer img)
public bool Decode(EncodedData data, bool noDelay, out DecodingState state, out RGBImagePointer img)

Now use

public bool Encode(RgbImage im, out EncodedData[] ed)
public bool Encode(YUVImagePointer yuv, out EncodedData[] ed)

public bool Decode(EncodedData data, bool noDelay, out DecodingState state, ref RgbImage img)
public bool Decode(byte[] encoded, int offset, int count, bool noDelay, out DecodingState state, ref RgbImage img)