Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. C/C++
  3. libcorrect

libcorrect

BSD-3-ClauseC

A BSD-licensed C library for Forward Error Correction using Convolutional codes and Reed-Solomon algorithms.

GitHubGitHub
442 stars112 forks0 contributors

What is libcorrect?

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.

Target Audience

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.

Value Proposition

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.

Overview

C library for Convolutional codes and Reed-Solomon

Use Cases

Best For

  • Adding error correction to data transmission in embedded systems
  • Replacing libfec in projects requiring BSD licensing for mobile apps
  • Learning how Convolutional codes and Reed-Solomon algorithms work
  • Implementing robust telecommunications protocols over noisy channels
  • Optimizing error correction performance with SSE instructions
  • Handling both constant background noise and burst noise in data streams

Not Ideal For

  • Projects in high-level languages like Python or Java that need error correction without C library integration
  • Applications requiring real-time decoding with guaranteed low latency, as performance depends on SSE availability and optimization
  • Environments where SSE instructions are not supported, such as non-x86 or some embedded systems
  • Teams needing extensive documentation or GUI tools for quick setup without deep dive into FEC algorithms

Pros & Cons

Pros

BSD Licensing Flexibility

Uses a BSD license, making it suitable for mobile and proprietary applications where LGPL uncertainties exist, as highlighted in the design goals for libquiet.

SSE Performance Optimizations

Automatically builds with SSE optimizations up to SSE4 on hosts with <x86intrin.h>, enhancing computational efficiency for error correction tasks.

libfec Drop-in Compatibility

Provides a compatibility layer to link in place of libfec, facilitating migration from LGPL-licensed code while addressing licensing concerns.

Educational Tools Included

Offers utilities to test convolutional codes and polynomials, aiding developers in learning and experimenting with FEC algorithms, as per the design goals.

Cons

SSE Dependency Complexity

Requires the caller to ensure SSE availability and handle platform-specific issues, as noted in the README, adding complexity and limiting portability.

Installation Risks with Shim

The compatibility layer installation can overwrite an existing libfec installation, a risk cautioned in the build instructions, which could disrupt existing systems.

Limited Algorithm Set

Currently only implements Convolutional and Reed-Solomon codes; advanced codes like Turbo codes are merely a roadmap idea and not available.

Open Source Alternative To

libcorrect is an open-source alternative to the following products:

l
libfec

libfec is a library for forward error correction (FEC) algorithms, used to improve data reliability over unreliable communication channels.

Frequently Asked Questions

Quick Stats

Stars442
Forks112
Contributors0
Open Issues21
Last commit8 months ago
CreatedSince 2016

Tags

#c-library#embedded-systems#data-transmission#signal-processing#viterbi-algorithm#error-correction#telecommunications#forward-error-correction

Built With

S
SSE
C
CMake
C
C++

Included in

C/C++70.6k
Auto-fetched 15 hours ago

Related Projects

stbstb

stb single-file public domain libraries for C/C++

Stars34,890
Forks8,110
Last commit1 day ago
{fmt}{fmt}

A modern formatting library

Stars25,892
Forks3,089
Last commit6 days ago
xxHashxxHash

Extremely fast non-cryptographic hash algorithm

Stars11,359
Forks936
Last commit1 day ago
single_file_libssingle_file_libs

List of single-file C/C++ libraries, with emphasis on clause-less licenses.

Stars10,028
Forks649
Last commit2 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub