summaryrefslogtreecommitdiff
path: root/xfa/src/fxbarcode/pdf417/BC_PDF417ScanningDecoder.h
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/src/fxbarcode/pdf417/BC_PDF417ScanningDecoder.h')
-rw-r--r--xfa/src/fxbarcode/pdf417/BC_PDF417ScanningDecoder.h238
1 files changed, 119 insertions, 119 deletions
diff --git a/xfa/src/fxbarcode/pdf417/BC_PDF417ScanningDecoder.h b/xfa/src/fxbarcode/pdf417/BC_PDF417ScanningDecoder.h
index e8ac2b48e2..60dab2c2fe 100644
--- a/xfa/src/fxbarcode/pdf417/BC_PDF417ScanningDecoder.h
+++ b/xfa/src/fxbarcode/pdf417/BC_PDF417ScanningDecoder.h
@@ -1,119 +1,119 @@
-// Copyright 2014 PDFium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-
-#ifndef _BC_PDF417SCANNINGDECODER_H_
-#define _BC_PDF417SCANNINGDECODER_H_
-class CBC_CommonDecoderResult;
-class CBC_CommonBitMatrix;
-class CBC_ErrorCorrection;
-class CBC_Codeword;
-class CBC_BoundingBox;
-class CBC_ResultPoint;
-class CBC_BarcodeMetadata;
-class CBC_BarcodeValue;
-class CBC_DetectionResult;
-class CBC_DetectionResultRowIndicatorColumn;
-
-class CBC_PDF417ScanningDecoder {
- public:
- CBC_PDF417ScanningDecoder();
- virtual ~CBC_PDF417ScanningDecoder();
- static void Initialize();
- static void Finalize();
- static CBC_CommonDecoderResult* decode(CBC_CommonBitMatrix* image,
- CBC_ResultPoint* imageTopLeft,
- CBC_ResultPoint* imageBottomLeft,
- CBC_ResultPoint* imageTopRight,
- CBC_ResultPoint* imageBottomRight,
- int32_t minCodewordWidth,
- int32_t maxCodewordWidth,
- int32_t& e);
- static CFX_ByteString toString(CFX_PtrArray* barcodeMatrix);
-
- private:
- static int32_t CODEWORD_SKEW_SIZE;
- static int32_t MAX_ERRORS;
- static int32_t MAX_EC_CODEWORDS;
- static CBC_PDF417ECErrorCorrection* errorCorrection;
- static CBC_DetectionResult* merge(
- CBC_DetectionResultRowIndicatorColumn* leftRowIndicatorColumn,
- CBC_DetectionResultRowIndicatorColumn* rightRowIndicatorColumn,
- int32_t& e);
- static CBC_BoundingBox* adjustBoundingBox(
- CBC_DetectionResultRowIndicatorColumn* rowIndicatorColumn,
- int32_t& e);
- static int32_t getMax(CFX_Int32Array& values);
- static CBC_BarcodeMetadata* getBarcodeMetadata(
- CBC_DetectionResultRowIndicatorColumn* leftRowIndicatorColumn,
- CBC_DetectionResultRowIndicatorColumn* rightRowIndicatorColumn);
- static CBC_DetectionResultRowIndicatorColumn* getRowIndicatorColumn(
- CBC_CommonBitMatrix* image,
- CBC_BoundingBox* boundingBox,
- CBC_ResultPoint startPoint,
- FX_BOOL leftToRight,
- int32_t minCodewordWidth,
- int32_t maxCodewordWidth);
- static void adjustCodewordCount(CBC_DetectionResult* detectionResult,
- CFX_PtrArray* barcodeMatrix,
- int32_t& e);
- static CBC_CommonDecoderResult* createDecoderResult(
- CBC_DetectionResult* detectionResult,
- int32_t& e);
- static CBC_CommonDecoderResult* createDecoderResultFromAmbiguousValues(
- int32_t ecLevel,
- CFX_Int32Array& codewords,
- CFX_Int32Array& erasureArray,
- CFX_Int32Array& ambiguousIndexes,
- CFX_PtrArray& ambiguousIndexValues,
- int32_t& e);
- static CFX_PtrArray* createBarcodeMatrix(
- CBC_DetectionResult* detectionResult);
- static FX_BOOL isValidBarcodeColumn(CBC_DetectionResult* detectionResult,
- int32_t barcodeColumn);
- static int32_t getStartColumn(CBC_DetectionResult* detectionResult,
- int32_t barcodeColumn,
- int32_t imageRow,
- FX_BOOL leftToRight);
- static CBC_Codeword* detectCodeword(CBC_CommonBitMatrix* image,
- int32_t minColumn,
- int32_t maxColumn,
- FX_BOOL leftToRight,
- int32_t startColumn,
- int32_t imageRow,
- int32_t minCodewordWidth,
- int32_t maxCodewordWidth);
- static CFX_Int32Array* getModuleBitCount(CBC_CommonBitMatrix* image,
- int32_t minColumn,
- int32_t maxColumn,
- FX_BOOL leftToRight,
- int32_t startColumn,
- int32_t imageRow);
- static int32_t getNumberOfECCodeWords(int32_t barcodeECLevel);
- static int32_t adjustCodewordStartColumn(CBC_CommonBitMatrix* image,
- int32_t minColumn,
- int32_t maxColumn,
- FX_BOOL leftToRight,
- int32_t codewordStartColumn,
- int32_t imageRow);
- static FX_BOOL checkCodewordSkew(int32_t codewordSize,
- int32_t minCodewordWidth,
- int32_t maxCodewordWidth);
- static CBC_CommonDecoderResult* decodeCodewords(CFX_Int32Array& codewords,
- int32_t ecLevel,
- CFX_Int32Array& erasures,
- int32_t& e);
- static int32_t correctErrors(CFX_Int32Array& codewords,
- CFX_Int32Array& erasures,
- int32_t numECCodewords,
- int32_t& e);
- static void verifyCodewordCount(CFX_Int32Array& codewords,
- int32_t numECCodewords,
- int32_t& e);
- static CFX_Int32Array* getBitCountForCodeword(int32_t codeword);
- static int32_t getCodewordBucketNumber(int32_t codeword);
- static int32_t getCodewordBucketNumber(CFX_Int32Array& moduleBitCount);
-};
-#endif
+// Copyright 2014 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#ifndef _BC_PDF417SCANNINGDECODER_H_
+#define _BC_PDF417SCANNINGDECODER_H_
+class CBC_CommonDecoderResult;
+class CBC_CommonBitMatrix;
+class CBC_ErrorCorrection;
+class CBC_Codeword;
+class CBC_BoundingBox;
+class CBC_ResultPoint;
+class CBC_BarcodeMetadata;
+class CBC_BarcodeValue;
+class CBC_DetectionResult;
+class CBC_DetectionResultRowIndicatorColumn;
+
+class CBC_PDF417ScanningDecoder {
+ public:
+ CBC_PDF417ScanningDecoder();
+ virtual ~CBC_PDF417ScanningDecoder();
+ static void Initialize();
+ static void Finalize();
+ static CBC_CommonDecoderResult* decode(CBC_CommonBitMatrix* image,
+ CBC_ResultPoint* imageTopLeft,
+ CBC_ResultPoint* imageBottomLeft,
+ CBC_ResultPoint* imageTopRight,
+ CBC_ResultPoint* imageBottomRight,
+ int32_t minCodewordWidth,
+ int32_t maxCodewordWidth,
+ int32_t& e);
+ static CFX_ByteString toString(CFX_PtrArray* barcodeMatrix);
+
+ private:
+ static int32_t CODEWORD_SKEW_SIZE;
+ static int32_t MAX_ERRORS;
+ static int32_t MAX_EC_CODEWORDS;
+ static CBC_PDF417ECErrorCorrection* errorCorrection;
+ static CBC_DetectionResult* merge(
+ CBC_DetectionResultRowIndicatorColumn* leftRowIndicatorColumn,
+ CBC_DetectionResultRowIndicatorColumn* rightRowIndicatorColumn,
+ int32_t& e);
+ static CBC_BoundingBox* adjustBoundingBox(
+ CBC_DetectionResultRowIndicatorColumn* rowIndicatorColumn,
+ int32_t& e);
+ static int32_t getMax(CFX_Int32Array& values);
+ static CBC_BarcodeMetadata* getBarcodeMetadata(
+ CBC_DetectionResultRowIndicatorColumn* leftRowIndicatorColumn,
+ CBC_DetectionResultRowIndicatorColumn* rightRowIndicatorColumn);
+ static CBC_DetectionResultRowIndicatorColumn* getRowIndicatorColumn(
+ CBC_CommonBitMatrix* image,
+ CBC_BoundingBox* boundingBox,
+ CBC_ResultPoint startPoint,
+ FX_BOOL leftToRight,
+ int32_t minCodewordWidth,
+ int32_t maxCodewordWidth);
+ static void adjustCodewordCount(CBC_DetectionResult* detectionResult,
+ CFX_PtrArray* barcodeMatrix,
+ int32_t& e);
+ static CBC_CommonDecoderResult* createDecoderResult(
+ CBC_DetectionResult* detectionResult,
+ int32_t& e);
+ static CBC_CommonDecoderResult* createDecoderResultFromAmbiguousValues(
+ int32_t ecLevel,
+ CFX_Int32Array& codewords,
+ CFX_Int32Array& erasureArray,
+ CFX_Int32Array& ambiguousIndexes,
+ CFX_PtrArray& ambiguousIndexValues,
+ int32_t& e);
+ static CFX_PtrArray* createBarcodeMatrix(
+ CBC_DetectionResult* detectionResult);
+ static FX_BOOL isValidBarcodeColumn(CBC_DetectionResult* detectionResult,
+ int32_t barcodeColumn);
+ static int32_t getStartColumn(CBC_DetectionResult* detectionResult,
+ int32_t barcodeColumn,
+ int32_t imageRow,
+ FX_BOOL leftToRight);
+ static CBC_Codeword* detectCodeword(CBC_CommonBitMatrix* image,
+ int32_t minColumn,
+ int32_t maxColumn,
+ FX_BOOL leftToRight,
+ int32_t startColumn,
+ int32_t imageRow,
+ int32_t minCodewordWidth,
+ int32_t maxCodewordWidth);
+ static CFX_Int32Array* getModuleBitCount(CBC_CommonBitMatrix* image,
+ int32_t minColumn,
+ int32_t maxColumn,
+ FX_BOOL leftToRight,
+ int32_t startColumn,
+ int32_t imageRow);
+ static int32_t getNumberOfECCodeWords(int32_t barcodeECLevel);
+ static int32_t adjustCodewordStartColumn(CBC_CommonBitMatrix* image,
+ int32_t minColumn,
+ int32_t maxColumn,
+ FX_BOOL leftToRight,
+ int32_t codewordStartColumn,
+ int32_t imageRow);
+ static FX_BOOL checkCodewordSkew(int32_t codewordSize,
+ int32_t minCodewordWidth,
+ int32_t maxCodewordWidth);
+ static CBC_CommonDecoderResult* decodeCodewords(CFX_Int32Array& codewords,
+ int32_t ecLevel,
+ CFX_Int32Array& erasures,
+ int32_t& e);
+ static int32_t correctErrors(CFX_Int32Array& codewords,
+ CFX_Int32Array& erasures,
+ int32_t numECCodewords,
+ int32_t& e);
+ static void verifyCodewordCount(CFX_Int32Array& codewords,
+ int32_t numECCodewords,
+ int32_t& e);
+ static CFX_Int32Array* getBitCountForCodeword(int32_t codeword);
+ static int32_t getCodewordBucketNumber(int32_t codeword);
+ static int32_t getCodewordBucketNumber(CFX_Int32Array& moduleBitCount);
+};
+#endif