OLD | NEW |
| (Empty) |
1 // Copyright 2014 PDFium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | |
6 | |
7 #ifndef XFA_SRC_FXBARCODE_PDF417_BC_PDF417ECERRORCORRECTION_H_ | |
8 #define XFA_SRC_FXBARCODE_PDF417_BC_PDF417ECERRORCORRECTION_H_ | |
9 | |
10 class CBC_PDF417ECModulusGF; | |
11 class CBC_PDF417ECModulusPoly; | |
12 class CBC_PDF417ECErrorCorrection { | |
13 public: | |
14 CBC_PDF417ECErrorCorrection(); | |
15 virtual ~CBC_PDF417ECErrorCorrection(); | |
16 static void Initialize(int32_t& e); | |
17 static void Finalize(); | |
18 static int32_t decode(CFX_Int32Array& received, | |
19 int32_t numECCodewords, | |
20 CFX_Int32Array& erasures, | |
21 int32_t& e); | |
22 | |
23 private: | |
24 static CBC_PDF417ECModulusGF* m_field; | |
25 static CFX_PtrArray* runEuclideanAlgorithm(CBC_PDF417ECModulusPoly* a, | |
26 CBC_PDF417ECModulusPoly* b, | |
27 int32_t R, | |
28 int32_t& e); | |
29 static CFX_Int32Array* findErrorLocations( | |
30 CBC_PDF417ECModulusPoly* errorLocator, | |
31 int32_t& e); | |
32 static CFX_Int32Array* findErrorMagnitudes( | |
33 CBC_PDF417ECModulusPoly* errorEvaluator, | |
34 CBC_PDF417ECModulusPoly* errorLocator, | |
35 CFX_Int32Array& errorLocations, | |
36 int32_t& e); | |
37 }; | |
38 | |
39 #endif // XFA_SRC_FXBARCODE_PDF417_BC_PDF417ECERRORCORRECTION_H_ | |
OLD | NEW |