OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #ifndef XFA_FXBARCODE_COMMON_REEDSOLOMON_BC_REEDSOLOMONDECODER_H_ | 7 #ifndef XFA_FXBARCODE_COMMON_REEDSOLOMON_BC_REEDSOLOMONDECODER_H_ |
8 #define XFA_FXBARCODE_COMMON_REEDSOLOMON_BC_REEDSOLOMONDECODER_H_ | 8 #define XFA_FXBARCODE_COMMON_REEDSOLOMON_BC_REEDSOLOMONDECODER_H_ |
9 | 9 |
10 #include "core/fxcrt/include/fx_basic.h" | 10 #include "core/fxcrt/include/fx_basic.h" |
11 | 11 |
12 class CBC_ReedSolomonGF256; | 12 class CBC_ReedSolomonGF256; |
13 class CBC_ReedSolomonGF256Poly; | 13 class CBC_ReedSolomonGF256Poly; |
14 | 14 |
15 class CBC_ReedSolomonDecoder { | 15 class CBC_ReedSolomonDecoder { |
16 private: | |
17 CBC_ReedSolomonGF256* m_field; | |
18 | |
19 public: | 16 public: |
20 CBC_ReedSolomonDecoder(CBC_ReedSolomonGF256* field); | 17 CBC_ReedSolomonDecoder(CBC_ReedSolomonGF256* field); |
21 virtual ~CBC_ReedSolomonDecoder(); | 18 virtual ~CBC_ReedSolomonDecoder(); |
| 19 |
22 void Decode(CFX_Int32Array* received, int32_t twoS, int32_t& e); | 20 void Decode(CFX_Int32Array* received, int32_t twoS, int32_t& e); |
23 CFX_PtrArray* RunEuclideanAlgorithm(CBC_ReedSolomonGF256Poly* a, | 21 CFX_ArrayTemplate<CBC_ReedSolomonGF256Poly*>* RunEuclideanAlgorithm( |
24 CBC_ReedSolomonGF256Poly* b, | 22 CBC_ReedSolomonGF256Poly* a, |
25 int32_t R, | 23 CBC_ReedSolomonGF256Poly* b, |
26 int32_t& e); | 24 int32_t R, |
| 25 int32_t& e); |
27 CFX_Int32Array* FindErrorLocations(CBC_ReedSolomonGF256Poly* errorLocator, | 26 CFX_Int32Array* FindErrorLocations(CBC_ReedSolomonGF256Poly* errorLocator, |
28 int32_t& e); | 27 int32_t& e); |
29 CFX_Int32Array* FindErrorMagnitudes(CBC_ReedSolomonGF256Poly* errorEvaluator, | 28 CFX_Int32Array* FindErrorMagnitudes(CBC_ReedSolomonGF256Poly* errorEvaluator, |
30 CFX_Int32Array* errorLocations, | 29 CFX_Int32Array* errorLocations, |
31 FX_BOOL dataMatrix, | 30 FX_BOOL dataMatrix, |
32 int32_t& e); | 31 int32_t& e); |
| 32 |
| 33 private: |
| 34 CBC_ReedSolomonGF256* m_field; |
33 }; | 35 }; |
34 | 36 |
35 #endif // XFA_FXBARCODE_COMMON_REEDSOLOMON_BC_REEDSOLOMONDECODER_H_ | 37 #endif // XFA_FXBARCODE_COMMON_REEDSOLOMON_BC_REEDSOLOMONDECODER_H_ |
OLD | NEW |