Releases: ReferenceType/H264Sharp
v1.5.0
Release Notes
ARM Support
- Added support for ARM 32-bit and 64-bit on Linux.
- The converter now utilizes NEON SIMD instructions for RGB ↔ YUV format conversions (64-bit version only).
- Successfully tested on Raspberry Pi 5.
AVX2 Support for x86
- Added AVX2 intrinsic support for RGB ↔ YUV format conversions.
- Achieves at least 2× speed up over SSE.
Unified DLL Import
- H264Sharp.dll no longer requires separate compilation for different platforms.
- A single DLL now dynamically imports cross-platform native dependencies at runtime.
Miscellaneous
- Debug logs are now disabled by default but can be optionally enabled for the encoder and decoder.
- Converter configuration is now unified under a single parameter.
- Bitmap extensions for Windows have been released!
Breaking Changes
The configuration system has been updated, and the following properties have been removed:
encoder.ConverterNumberOfThreads
decoder.ConverterNumberOfThreads
decoder.EnableSSEYUVConversion
Now use
var config = ConverterConfig.Default;
config.EnableSSE = 1;
config.EnableNeon = 1;
config.EnableAvx2 = 1;
config.NumThreads = 4;
config.EnableCustomThreadPool = 0;
Converter.SetConfig(config);
v1.4.1
- Removed Legacy C++/CLI verision of the project.
- Removed Encoder parameter print on initialise
v1.4.0
- Added parallelization support for image format converters for platforms other than Windows.
- Added Trace level options for Encoder/Decoder.
- Minor improvements.
H264Sharp contains the cross platform dll for .Net applications
Rest of the zip files are necessary native dlls/.so files depending on the platform.
Note: OpenH264 is not bumped into 2.5.0 due to bugs on LTR frame system.
v1.3.1
Release Notes
- Minor Bug fixes.
- Encoded Frames now dynamically allocated by using map.
v1.3.0
Release notes
- Added CMake
- Added linux support, tested on linux.
- Added downscale methods for Converter.
- Bumped cisco openh264 version to latest.
Note linux release will not be on Nuget yet. Please add .so files manually to your executable directory.
v1.2.0
- Extended wrapper for full functionality and all advanced features.
- Performance optiomisation on Image format conversions(YUV420<->RGB). It is now faster than OpenCV implementation.
v0.2.0
Release notes
- C++/CLI libraris are now deprecated.
- Added new library H264Pinvoke.
-
- Encoder and decoder is now handled with Pinvoke calls.
-
- Added nuget package https://www.nuget.org/packages/H264Sharp
-
- Dependencies and native dlls are automatically handled for 32 and 64 bit.
-
- Upgraded OpenH264 to v2.4.0
-
- Bug fixes and betterr memory management.
v0.1.3
Release Notes:
- Added runtime check for AVX2 instruction support before loading Converter Dlls.
- Enabled SSEI on encoder
- Decoder .Decode() will now return true when !dsErrorFree cases, if frame is possible to retrieve. This means we still have a stream but there is an error in the sequence.(you might see artifacts) Check the status code from decode and request IDR(Key Frame) frame from encoding end. This is done due to freezing while waiting for IDR on realtime streaming.
Usage:
H264Sharp dll is directly usable on your C# project, just reference it.
Cisco's openh264 dll must be added on executable directory.
Optionally you can add converter dll on your executable directory. Its recommended if your CPU support AVX2 instructions.
v0.1.2
Release notes:
- Added runtime fps and bit-rate control
H264Sharp dll is directly usable on your C# project, just reference it.
Cisco's openh264 dll must be added on executable directory.
Optionally you can add converter dll on your executable directory. Its recommended if your CPU support AVX2 instructions.
v0.1.1
Release notes:
- Updated managed API on decoder and raw image formats.
Inside All-In-One zip you will find everything you need.
H264Sharp dll is directly usable on your C# project, just reference it.
Cisco's openh264 dll must be added on executable directory.
Optionally you can add converter dll on your executable directory. Its recommended if your CPU support AVX2 instructions.