What's new? Stay up to date...


Available mailing lists to stay informed and to discuss OpenFEC topics

  • openfec-announces AT inria.fr: for official announces only.         to register, send an email to: sympa AT inria.fr with: subscribe openfec-announces firstname lastname as the subject. Leave the body empty.
  • openfec-misc AT inria.fr: for discussions, bug reports, etc.         to register, send an email to: sympa AT inria.fr with: subscribe openfec-misc firstname lastname as the subject. Leave the body empty.

Rapid access to ...


  • 2014
  • 2013
    • January: RS+LDPC-Staircase obtained highest number of votes at 3GPP meeting :-)

  • 2012
    • April: major release: v1.3.0

  • 2011
    • March: minor release: v1.2.2

  • 2010

December 16th, 2014: Release of the OpenFEC v1.4.2


New minor release

  • code cleanup and simplification within LDPC Gaussian Elimination decoding, fixing several memory leaks. Decoding speed is slightly improved, as well as the maximum memory consumption (we avoid an extra matrix allocation).
  • fixed a bug in simple_client_server/simple_client.c causing erroneous decodings when USE_DECODE_WITH_NEW_SYMBOL was undefined. Fixed a small memory leaks too.
  • Mac OSX 10.9 is now supported and many compilation warnings removed.
  • added VERSION (here 1.4.2) and SOVERSION (here 1) to the dynamic library via cmake. See src/CMakeLists.txt

Enjoy - the openfec team

July 16th, 2014: Release of the OpenFEC v1.4.1


New minor release

  • added a demo server/client application, which explains how to use the OpenFEC codecs. This demo application opens a UDP socket, the server performs FEC encoding and sends (a subset of) encoding symbols, while the client receives them and tries to FEC decode the object.
  • major code cleanup throughout the library.
  • fixed a bug in all codecs, when using of_set_available_symbols(). Thanks to Chuo-Ling who spotted the bug.

Enjoy - the openfec team

July 9th, 2014: Release of the OpenFEC v1.4.0


New major release

  • added a new -find_min_overhead parameters to eperftool, to automatically search for the minimum overhead for a given code configuration.
  • changed the simulation tools to take advantage of the eperftool -find_min_overhead capability. This change enables major simulation speed improvements (the same eperftool process finds the exact overhead instead of launching several eperftool processes).
  • fixed many bugs in the PERL simulation scripts, impproved the user interface as well (e.g. a new progression bar is now displayed during the simulations), and provided param_file.txt examples depending on the desired performance metrics and curves.
  • code maintenance and cleanup for the various codecs.
  • changed the web site totally, now based on the bootstrap (http://getbootstrap.com/). Doing so the forum disappeared, but a mailing list is set up instead.
  • NB: the two doc/howto_* PDF files have not been thoroughly updated. Yet to be done...
  • NB: the 1D-2D and from_file codecs have not been tested in this version. Yet to be done...

Enjoy - the openfec team

January 2013: Our RS + LDPC-Staircase proposal collected the highest number of votes at 3GPP :-)


At the 3GPP meeting of January, 2013 the members voted to select a new FEC (Forward Error Correction) scheme between the two remaining contenders: Qualcomm (RaptorQ) and Expway/Inria/ISAE (RS + LDPC-Staircase).

Out of 61 votes, 51% were in favor of our RS+LDPC proposal, and 49% were in favor of RaptorQ by Qualcomm. The difference is not sufficient for our codes to be in the standard (Raptor, without the final "Q") will therefore remain. However, this is the acknowledgment that our solution is highly efficient and well suited to a use in wireless standards.

To know more, you can have a look at our IEEE WiMob'13 paper:

V. Roca, M. Cunche, C. Thienot, J. Detchart, J. Lacan, "RS + LDPC-Staircase Codes for the Erasure Channel: Standards, Usage and Performance", IEEE 9th International Conference on Wireless and Mobile Computing, Networking and Communications (WiMob 2013), October 2013. http://hal.inria.fr/hal-00850118/en/

April 13th, 2012: Release of the OpenFEC v1.3.0


New major release

  • changed the LDPC-Staircase codec license for CECILL (i.e. the content of the src/lib_stable/ldpc-staircase/ directory only). There is no change for the rest of the library that remains under a CECILL-C license.
  • solved a bug in the LDPC-Staircase matrix creation algorithm when N1 is even. This bug makes the codec non RFC5170 compliant (!). However there was no impact with odd N1 values. This means that with an even N1, an application using version >= 1.3 will not interoperate with an application using version <= 1.2.
  • with LDPC-Staircase, when N1 is even, the latest repair symbol is often NULL. This property is now exploited at the decoder to generate it automatically and pass it to the decoder. When this property applies, there is no need to send this repair symbol. A new OF_CTRL_LDPC_STAIRCASE_IS_LAST_SYMBOL_NULL is added to check this property within an application, if desired (e.g. this optimization is added to eperftool).
  • Solved a bug in the generate_curves.pl script when using prepared SQL statements. Thanks to the forum's users :-)

Enjoy - the openfec team

March 3rd, 2011: Release of the OpenFEC v1.2.2


New minor release

  • added some statistics about built/rebuilt/ignored symbols in IT and ML decoding.
  • solved a bug in eperftool to use the "LDPC from file" codec
  • eperftool: now, you can test codecs with callbacks for source and repair symbols creation.
  • various bug corrections

Enjoy - the openfec team

Dec 3rd, 2010: Release of the OpenFEC v1.2.1


New minor release

We published this minor release just to solve a serious bug in of_rs_set_available_symbols() & of_rs_2_m_set_available_symbols() functions (thanks Rakis).
Now, you can use of_set_available_symbols() function with Reed-Solomon codecs even if you have erased symbols.

Enjoy - The OpenFEC team.

Dec 3rd, 2010: Releaseof the OpenFEC v1.2.0


New major release

  • we added a new optimized Reed-Solomon codec over 2^m (with m=4,8).
    Using m=4 is interesting for very small blocks (since k<n<=15), and is slightly faster than using m=8 in that case.
  • Reed-Solomon over 2^m have both beem highly optimized and are approximatively 25 % faster than the original Reed-Solomon over GF(2^8) of previous release.
  • Reed-Solomon over GF(2^8) still exists and has been optimized. It is 20 % faster than that previous release.

Enjoy - The OpenFEC team.

Sept 16th, 2010 : release of OpenFEC v1.1.0


New major release

Release 1.1.0 of the OpenFEC library is a major release. The difference W.R.T. version 1.0.0beta lies in the factorization of the binary linear system decoding code (for iterative and maximum likelihood decoding). All the binary LDPC (including 2D parity codes) codes now rely on this decoding library.

See changelog for details.


Enjoy - The OpenFEC team.

July 2nd, 2010: release of OpenFEC v1.0.0 beta


New major release

This is the first release of the OpenFEC library. It contains the following codecs :

  • LDPC-Staircase codec
  • Reed-Solomon GF(256) codec
  • 2D parity codec
  • LDPC from file codec

It also contains an advanced simulation environment to let you perform easily many different kinds of tests.

You can freely download this release on the download page.

Enjoy - The OpenFEC team.