Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(428)

Side by Side Diff: xfa/src/fxbarcode/pdf417/BC_PDF417ScanningDecoder.h

Issue 1172793002: Merge to XFA: Use stdint.h types throughout PDFium. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 _BC_PDF417SCANNINGDECODER_H_ 7 #ifndef _BC_PDF417SCANNINGDECODER_H_
8 #define _BC_PDF417SCANNINGDECODER_H_ 8 #define _BC_PDF417SCANNINGDECODER_H_
9 class CBC_CommonDecoderResult; 9 class CBC_CommonDecoderResult;
10 class CBC_CommonBitMatrix; 10 class CBC_CommonBitMatrix;
11 class CBC_ErrorCorrection; 11 class CBC_ErrorCorrection;
12 class CBC_Codeword; 12 class CBC_Codeword;
13 class CBC_BoundingBox; 13 class CBC_BoundingBox;
14 class CBC_ResultPoint; 14 class CBC_ResultPoint;
15 class CBC_BarcodeMetadata; 15 class CBC_BarcodeMetadata;
16 class CBC_BarcodeValue; 16 class CBC_BarcodeValue;
17 class CBC_DetectionResult; 17 class CBC_DetectionResult;
18 class CBC_DetectionResultRowIndicatorColumn; 18 class CBC_DetectionResultRowIndicatorColumn;
19 19
20 class CBC_PDF417ScanningDecoder 20 class CBC_PDF417ScanningDecoder
21 { 21 {
22 public: 22 public:
23 CBC_PDF417ScanningDecoder(); 23 CBC_PDF417ScanningDecoder();
24 virtual ~CBC_PDF417ScanningDecoder(); 24 virtual ~CBC_PDF417ScanningDecoder();
25 static void Initialize(); 25 static void Initialize();
26 static void Finalize(); 26 static void Finalize();
27 static CBC_CommonDecoderResult* decode(CBC_CommonBitMatrix* image, CBC_Resul tPoint* imageTopLeft, CBC_ResultPoint* imageBottomLeft, CBC_ResultPoint* imageTo pRight, 27 static CBC_CommonDecoderResult* decode(CBC_CommonBitMatrix* image, CBC_Resul tPoint* imageTopLeft, CBC_ResultPoint* imageBottomLeft, CBC_ResultPoint* imageTo pRight,
28 CBC_ResultPoint* imageBottomRight, FX _INT32 minCodewordWidth, FX_INT32 maxCodewordWidth, FX_INT32 &e); 28 CBC_ResultPoint* imageBottomRight, in t32_t minCodewordWidth, int32_t maxCodewordWidth, int32_t &e);
29 static CFX_ByteString toString(CFX_PtrArray* barcodeMatrix); 29 static CFX_ByteString toString(CFX_PtrArray* barcodeMatrix);
30 private: 30 private:
31 static FX_INT32 CODEWORD_SKEW_SIZE; 31 static int32_t CODEWORD_SKEW_SIZE;
32 static FX_INT32 MAX_ERRORS; 32 static int32_t MAX_ERRORS;
33 static FX_INT32 MAX_EC_CODEWORDS; 33 static int32_t MAX_EC_CODEWORDS;
34 static CBC_PDF417ECErrorCorrection* errorCorrection; 34 static CBC_PDF417ECErrorCorrection* errorCorrection;
35 static CBC_DetectionResult* merge(CBC_DetectionResultRowIndicatorColumn* lef tRowIndicatorColumn, CBC_DetectionResultRowIndicatorColumn* rightRowIndicatorCol umn, FX_INT32 &e); 35 static CBC_DetectionResult* merge(CBC_DetectionResultRowIndicatorColumn* lef tRowIndicatorColumn, CBC_DetectionResultRowIndicatorColumn* rightRowIndicatorCol umn, int32_t &e);
36 static CBC_BoundingBox* adjustBoundingBox(CBC_DetectionResultRowIndicatorCol umn* rowIndicatorColumn, FX_INT32 &e); 36 static CBC_BoundingBox* adjustBoundingBox(CBC_DetectionResultRowIndicatorCol umn* rowIndicatorColumn, int32_t &e);
37 static FX_INT32 getMax(CFX_Int32Array& values); 37 static int32_t getMax(CFX_Int32Array& values);
38 static CBC_BarcodeMetadata* getBarcodeMetadata(CBC_DetectionResultRowIndicat orColumn* leftRowIndicatorColumn, CBC_DetectionResultRowIndicatorColumn* rightRo wIndicatorColumn); 38 static CBC_BarcodeMetadata* getBarcodeMetadata(CBC_DetectionResultRowIndicat orColumn* leftRowIndicatorColumn, CBC_DetectionResultRowIndicatorColumn* rightRo wIndicatorColumn);
39 static CBC_DetectionResultRowIndicatorColumn* getRowIndicatorColumn(CBC_Comm onBitMatrix* image, CBC_BoundingBox* boundingBox, CBC_ResultPoint startPoint, 39 static CBC_DetectionResultRowIndicatorColumn* getRowIndicatorColumn(CBC_Comm onBitMatrix* image, CBC_BoundingBox* boundingBox, CBC_ResultPoint startPoint,
40 FX_BOOL leftToRight, FX_INT32 minCodewordWidth, FX_INT32 maxCodeword Width); 40 FX_BOOL leftToRight, int32_t minCodewordWidth, int32_t maxCodewordWi dth);
41 static void adjustCodewordCount(CBC_DetectionResult* detectionResult, CFX_Pt rArray* barcodeMatrix, FX_INT32 &e); 41 static void adjustCodewordCount(CBC_DetectionResult* detectionResult, CFX_Pt rArray* barcodeMatrix, int32_t &e);
42 static CBC_CommonDecoderResult* createDecoderResult(CBC_DetectionResult* det ectionResult, FX_INT32 &e); 42 static CBC_CommonDecoderResult* createDecoderResult(CBC_DetectionResult* det ectionResult, int32_t &e);
43 static CBC_CommonDecoderResult* createDecoderResultFromAmbiguousValues(FX_IN T32 ecLevel, CFX_Int32Array &codewords, CFX_Int32Array &erasureArray, CFX_Int32A rray &ambiguousIndexes, 43 static CBC_CommonDecoderResult* createDecoderResultFromAmbiguousValues(int32 _t ecLevel, CFX_Int32Array &codewords, CFX_Int32Array &erasureArray, CFX_Int32Ar ray &ambiguousIndexes,
44 CFX_PtrArray& ambiguousIndexValues, FX_INT32 &e); 44 CFX_PtrArray& ambiguousIndexValues, int32_t &e);
45 static CFX_PtrArray* createBarcodeMatrix(CBC_DetectionResult* detectionResul t); 45 static CFX_PtrArray* createBarcodeMatrix(CBC_DetectionResult* detectionResul t);
46 static FX_BOOL isValidBarcodeColumn(CBC_DetectionResult* detectionResult, FX _INT32 barcodeColumn); 46 static FX_BOOL isValidBarcodeColumn(CBC_DetectionResult* detectionResult, in t32_t barcodeColumn);
47 static FX_INT32 getStartColumn(CBC_DetectionResult* detectionResult, FX_INT3 2 barcodeColumn, FX_INT32 imageRow, FX_BOOL leftToRight); 47 static int32_t getStartColumn(CBC_DetectionResult* detectionResult, int32_t barcodeColumn, int32_t imageRow, FX_BOOL leftToRight);
48 static CBC_Codeword* detectCodeword(CBC_CommonBitMatrix* image, FX_INT32 min Column, FX_INT32 maxColumn, FX_BOOL leftToRight, FX_INT32 startColumn, 48 static CBC_Codeword* detectCodeword(CBC_CommonBitMatrix* image, int32_t minC olumn, int32_t maxColumn, FX_BOOL leftToRight, int32_t startColumn,
49 FX_INT32 imageRow, FX_INT32 minCodewordW idth, FX_INT32 maxCodewordWidth); 49 int32_t imageRow, int32_t minCodewordWid th, int32_t maxCodewordWidth);
50 static CFX_Int32Array* getModuleBitCount(CBC_CommonBitMatrix* image, FX_INT3 2 minColumn, FX_INT32 maxColumn, FX_BOOL leftToRight, FX_INT32 startColumn, FX_I NT32 imageRow); 50 static CFX_Int32Array* getModuleBitCount(CBC_CommonBitMatrix* image, int32_t minColumn, int32_t maxColumn, FX_BOOL leftToRight, int32_t startColumn, int32_t imageRow);
51 static FX_INT32 getNumberOfECCodeWords(FX_INT32 barcodeECLevel); 51 static int32_t getNumberOfECCodeWords(int32_t barcodeECLevel);
52 static FX_INT32 adjustCodewordStartColumn(CBC_CommonBitMatrix* image, FX_INT 32 minColumn, FX_INT32 maxColumn, FX_BOOL leftToRight, FX_INT32 codewordStartCol umn, FX_INT32 imageRow); 52 static int32_t adjustCodewordStartColumn(CBC_CommonBitMatrix* image, int32_t minColumn, int32_t maxColumn, FX_BOOL leftToRight, int32_t codewordStartColumn, int32_t imageRow);
53 static FX_BOOL checkCodewordSkew(FX_INT32 codewordSize, FX_INT32 minCodeword Width, FX_INT32 maxCodewordWidth); 53 static FX_BOOL checkCodewordSkew(int32_t codewordSize, int32_t minCodewordWi dth, int32_t maxCodewordWidth);
54 static CBC_CommonDecoderResult* decodeCodewords(CFX_Int32Array &codewords, F X_INT32 ecLevel, CFX_Int32Array &erasures, FX_INT32 &e); 54 static CBC_CommonDecoderResult* decodeCodewords(CFX_Int32Array &codewords, i nt32_t ecLevel, CFX_Int32Array &erasures, int32_t &e);
55 static FX_INT32 correctErrors(CFX_Int32Array &codewords, CFX_Int32Array &era sures, FX_INT32 numECCodewords, FX_INT32 &e); 55 static int32_t correctErrors(CFX_Int32Array &codewords, CFX_Int32Array &eras ures, int32_t numECCodewords, int32_t &e);
56 static void verifyCodewordCount(CFX_Int32Array &codewords, FX_INT32 numECCod ewords, FX_INT32 &e); 56 static void verifyCodewordCount(CFX_Int32Array &codewords, int32_t numECCode words, int32_t &e);
57 static CFX_Int32Array* getBitCountForCodeword(FX_INT32 codeword); 57 static CFX_Int32Array* getBitCountForCodeword(int32_t codeword);
58 static FX_INT32 getCodewordBucketNumber(FX_INT32 codeword); 58 static int32_t getCodewordBucketNumber(int32_t codeword);
59 static FX_INT32 getCodewordBucketNumber(CFX_Int32Array& moduleBitCount); 59 static int32_t getCodewordBucketNumber(CFX_Int32Array& moduleBitCount);
60 }; 60 };
61 #endif 61 #endif
OLDNEW
« no previous file with comments | « xfa/src/fxbarcode/pdf417/BC_PDF417ResultMetadata.cpp ('k') | xfa/src/fxbarcode/pdf417/BC_PDF417ScanningDecoder.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698