noe / libnoe / mina README -------------------------- Building: --------- make Note, most files will be compiled 3 times, each for a different galois field. Installing: ----------- make install mina: ----- mina takes 1 file and generates 1 error correction file from it or it takes the name of the error correction file and tries to fix errors. It always uses interleaved codewords of 131072 bytes (65536 GF(65537) symbols) mina is capable to correct errors and erasures (erasures are errors for which the user knows where they are but does not know the value of the damaged part just which byte is damaged) mina is able to correct 2*error_count + erasure_count < parity_count symbols per codeword. And mina is fast! If you want to use more than 1 file as input, you can combine them with tar or another archiver before using mina. If you want to have many small data and error correction files you can just use the split command after mina and use dd if=/dev/zero and cat to combine things again. And yes i know this is not terribly user friendly, a patch improving this is welcome! The upside though is that such manual spliting has almost no negative effect compared to spliting optimally at "slice" boundaries. To generate a error correction file: mina e (this will generate a .mina) To correct a damaged file / error correction file pair: mina d .mina To correct a damaged file / error correction file pair where some but not neccesarily all error positions are known and have been marked by zeroing them: mina dz .mina To specify the known error positions on the command line instead of zeroing and hoping. send a patch :) Developer info: --------------- If you want to use libnoe, see rs.h and mina.c. If you want to improve, bugfix, ... things, patches are welcome at: mndiff-dev@mplayerhq.hu (or if you are scared of mailing lists michaelni@gmx.at) File list: ---------- galois.c/h galois field mathematic operations gfft.c galois field fast fourier transform mina.c a simple example application using libnoe rs.h the main public header (with documentation) rs.c reed solomon related code test.c program for self testing and benchmarking README this file :) Author of noe, mina and libnoe: ------------------------------- Michael Niedermayer Legalcrap: ---------- Its all GPL