A BSD-licensed C library for Forward Error Correction using Convolutional codes and Reed-Solomon algorithms.
libcorrect is a C library that implements Forward Error Correction (FEC) algorithms, specifically Convolutional codes and Reed-Solomon, to add redundancy to data packets for reliable transmission over noisy channels. It solves the problem of data loss or corruption during communication by enabling recovery of original data through decoding, using a Viterbi algorithm for convolutional codes.
Developers and engineers working on telecommunications, embedded systems, data transmission protocols, or any application requiring robust error correction over lossy channels, especially those concerned with BSD licensing for mobile or proprietary use.
Developers choose libcorrect for its BSD license (avoiding LGPL uncertainties), performance optimizations with SSE, compatibility with libfec as a drop-in replacement, and educational tools that make it easier to understand and experiment with error correction algorithms.
C library for Convolutional codes and Reed-Solomon
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses a BSD license, making it suitable for mobile and proprietary applications where LGPL uncertainties exist, as highlighted in the design goals for libquiet.
Automatically builds with SSE optimizations up to SSE4 on hosts with <x86intrin.h>, enhancing computational efficiency for error correction tasks.
Provides a compatibility layer to link in place of libfec, facilitating migration from LGPL-licensed code while addressing licensing concerns.
Offers utilities to test convolutional codes and polynomials, aiding developers in learning and experimenting with FEC algorithms, as per the design goals.
Requires the caller to ensure SSE availability and handle platform-specific issues, as noted in the README, adding complexity and limiting portability.
The compatibility layer installation can overwrite an existing libfec installation, a risk cautioned in the build instructions, which could disrupt existing systems.
Currently only implements Convolutional and Reed-Solomon codes; advanced codes like Turbo codes are merely a roadmap idea and not available.
libcorrect is an open-source alternative to the following products: