diff options
Diffstat (limited to 'zbar/qrcode/bch15_5.h')
-rw-r--r-- | zbar/qrcode/bch15_5.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/zbar/qrcode/bch15_5.h b/zbar/qrcode/bch15_5.h new file mode 100644 index 0000000..bf95e12 --- /dev/null +++ b/zbar/qrcode/bch15_5.h @@ -0,0 +1,20 @@ +/*Copyright (C) 2008-2009 Timothy B. Terriberry (tterribe@xiph.org) + You can redistribute this library and/or modify it under the terms of the + GNU Lesser General Public License as published by the Free Software + Foundation; either version 2.1 of the License, or (at your option) any later + version.*/ +#if !defined(_bch15_5_H) +#define _bch15_5_H (1) + +/*Encodes a raw 5-bit value _x into a 15-bit BCH(15,5) code. + This is capable of correcting up to 3 bit errors, and detecting as many as + 5 bit errors in some cases.*/ +unsigned bch15_5_encode(unsigned _x); + +/*Corrects the received code *_y, if possible. + The original data is located in the top five bits. + Returns the number of errors corrected, or a negative value if decoding + failed due to too many bit errors, in which case *_y is left unchanged.*/ +int bch15_5_correct(unsigned *_y); + +#endif |