MCPcopy Create free account
hub / github.com/creatale/node-dv / correctErrors

Method correctErrors

deps/zxing/core/src/zxing/qrcode/decoder/4Decoder.cpp:44–62  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

42}
43
44void Decoder::correctErrors(ArrayRef<char> codewordBytes, int numDataCodewords) {
45 int numCodewords = codewordBytes->size();
46 ArrayRef<int> codewordInts(numCodewords);
47 for (int i = 0; i < numCodewords; i++) {
48 codewordInts[i] = codewordBytes[i] & 0xff;
49 }
50 int numECCodewords = numCodewords - numDataCodewords;
51
52 try {
53 rsDecoder_.decode(codewordInts, numECCodewords);
54 } catch (ReedSolomonException const& ignored) {
55 (void)ignored;
56 throw ChecksumException();
57 }
58
59 for (int i = 0; i < numDataCodewords; i++) {
60 codewordBytes[i] = (char)codewordInts[i];
61 }
62}
63
64Ref<DecoderResult> Decoder::decode(Ref<BitMatrix> bits) {
65 // Construct a parser and read version, error-correction level

Callers

nothing calls this directly

Calls 3

ChecksumExceptionClass · 0.85
sizeMethod · 0.45
decodeMethod · 0.45

Tested by

no test coverage detected