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

Side by Side Diff: core/fxcodec/jbig2/JBig2_SddProc.cpp

Issue 1832173003: Remove FX_DWORD from core/ and delete definition (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 9 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
« no previous file with comments | « core/fxcodec/jbig2/JBig2_SddProc.h ('k') | core/fxcodec/jbig2/JBig2_Segment.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 PDFium Authors. All rights reserved. 1 // Copyright 2015 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 #include "core/fxcodec/jbig2/JBig2_SddProc.h" 7 #include "core/fxcodec/jbig2/JBig2_SddProc.h"
8 8
9 #include <memory> 9 #include <memory>
10 #include <vector> 10 #include <vector>
11 11
12 #include "core/fxcodec/jbig2/JBig2_ArithIntDecoder.h" 12 #include "core/fxcodec/jbig2/JBig2_ArithIntDecoder.h"
13 #include "core/fxcodec/jbig2/JBig2_GrdProc.h" 13 #include "core/fxcodec/jbig2/JBig2_GrdProc.h"
14 #include "core/fxcodec/jbig2/JBig2_GrrdProc.h" 14 #include "core/fxcodec/jbig2/JBig2_GrrdProc.h"
15 #include "core/fxcodec/jbig2/JBig2_HuffmanDecoder.h" 15 #include "core/fxcodec/jbig2/JBig2_HuffmanDecoder.h"
16 #include "core/fxcodec/jbig2/JBig2_HuffmanTable.h" 16 #include "core/fxcodec/jbig2/JBig2_HuffmanTable.h"
17 #include "core/fxcodec/jbig2/JBig2_HuffmanTable_Standard.h" 17 #include "core/fxcodec/jbig2/JBig2_HuffmanTable_Standard.h"
18 #include "core/fxcodec/jbig2/JBig2_SymbolDict.h" 18 #include "core/fxcodec/jbig2/JBig2_SymbolDict.h"
19 #include "core/fxcodec/jbig2/JBig2_TrdProc.h" 19 #include "core/fxcodec/jbig2/JBig2_TrdProc.h"
20 #include "core/fxcrt/include/fx_basic.h" 20 #include "core/fxcrt/include/fx_basic.h"
21 21
22 CJBig2_SymbolDict* CJBig2_SDDProc::decode_Arith( 22 CJBig2_SymbolDict* CJBig2_SDDProc::decode_Arith(
23 CJBig2_ArithDecoder* pArithDecoder, 23 CJBig2_ArithDecoder* pArithDecoder,
24 std::vector<JBig2ArithCtx>* gbContext, 24 std::vector<JBig2ArithCtx>* gbContext,
25 std::vector<JBig2ArithCtx>* grContext) { 25 std::vector<JBig2ArithCtx>* grContext) {
26 CJBig2_Image** SDNEWSYMS; 26 CJBig2_Image** SDNEWSYMS;
27 FX_DWORD HCHEIGHT, NSYMSDECODED; 27 uint32_t HCHEIGHT, NSYMSDECODED;
28 int32_t HCDH; 28 int32_t HCDH;
29 FX_DWORD SYMWIDTH, TOTWIDTH; 29 uint32_t SYMWIDTH, TOTWIDTH;
30 int32_t DW; 30 int32_t DW;
31 CJBig2_Image* BS; 31 CJBig2_Image* BS;
32 FX_DWORD I, J, REFAGGNINST; 32 uint32_t I, J, REFAGGNINST;
33 FX_BOOL* EXFLAGS; 33 FX_BOOL* EXFLAGS;
34 FX_DWORD EXINDEX; 34 uint32_t EXINDEX;
35 FX_BOOL CUREXFLAG; 35 FX_BOOL CUREXFLAG;
36 FX_DWORD EXRUNLENGTH; 36 uint32_t EXRUNLENGTH;
37 FX_DWORD nTmp; 37 uint32_t nTmp;
38 FX_DWORD SBNUMSYMS; 38 uint32_t SBNUMSYMS;
39 uint8_t SBSYMCODELEN; 39 uint8_t SBSYMCODELEN;
40 int32_t RDXI, RDYI; 40 int32_t RDXI, RDYI;
41 CJBig2_Image** SBSYMS; 41 CJBig2_Image** SBSYMS;
42 std::unique_ptr<CJBig2_ArithIaidDecoder> IAID; 42 std::unique_ptr<CJBig2_ArithIaidDecoder> IAID;
43 std::unique_ptr<CJBig2_SymbolDict> pDict; 43 std::unique_ptr<CJBig2_SymbolDict> pDict;
44 std::unique_ptr<CJBig2_ArithIntDecoder> IADH(new CJBig2_ArithIntDecoder); 44 std::unique_ptr<CJBig2_ArithIntDecoder> IADH(new CJBig2_ArithIntDecoder);
45 std::unique_ptr<CJBig2_ArithIntDecoder> IADW(new CJBig2_ArithIntDecoder); 45 std::unique_ptr<CJBig2_ArithIntDecoder> IADW(new CJBig2_ArithIntDecoder);
46 std::unique_ptr<CJBig2_ArithIntDecoder> IAAI(new CJBig2_ArithIntDecoder); 46 std::unique_ptr<CJBig2_ArithIntDecoder> IAAI(new CJBig2_ArithIntDecoder);
47 std::unique_ptr<CJBig2_ArithIntDecoder> IARDX(new CJBig2_ArithIntDecoder); 47 std::unique_ptr<CJBig2_ArithIntDecoder> IARDX(new CJBig2_ArithIntDecoder);
48 std::unique_ptr<CJBig2_ArithIntDecoder> IARDY(new CJBig2_ArithIntDecoder); 48 std::unique_ptr<CJBig2_ArithIntDecoder> IARDY(new CJBig2_ArithIntDecoder);
49 std::unique_ptr<CJBig2_ArithIntDecoder> IAEX(new CJBig2_ArithIntDecoder); 49 std::unique_ptr<CJBig2_ArithIntDecoder> IAEX(new CJBig2_ArithIntDecoder);
50 std::unique_ptr<CJBig2_ArithIntDecoder> IADT(new CJBig2_ArithIntDecoder); 50 std::unique_ptr<CJBig2_ArithIntDecoder> IADT(new CJBig2_ArithIntDecoder);
51 std::unique_ptr<CJBig2_ArithIntDecoder> IAFS(new CJBig2_ArithIntDecoder); 51 std::unique_ptr<CJBig2_ArithIntDecoder> IAFS(new CJBig2_ArithIntDecoder);
52 std::unique_ptr<CJBig2_ArithIntDecoder> IADS(new CJBig2_ArithIntDecoder); 52 std::unique_ptr<CJBig2_ArithIntDecoder> IADS(new CJBig2_ArithIntDecoder);
53 std::unique_ptr<CJBig2_ArithIntDecoder> IAIT(new CJBig2_ArithIntDecoder); 53 std::unique_ptr<CJBig2_ArithIntDecoder> IAIT(new CJBig2_ArithIntDecoder);
54 std::unique_ptr<CJBig2_ArithIntDecoder> IARI(new CJBig2_ArithIntDecoder); 54 std::unique_ptr<CJBig2_ArithIntDecoder> IARI(new CJBig2_ArithIntDecoder);
55 std::unique_ptr<CJBig2_ArithIntDecoder> IARDW(new CJBig2_ArithIntDecoder); 55 std::unique_ptr<CJBig2_ArithIntDecoder> IARDW(new CJBig2_ArithIntDecoder);
56 std::unique_ptr<CJBig2_ArithIntDecoder> IARDH(new CJBig2_ArithIntDecoder); 56 std::unique_ptr<CJBig2_ArithIntDecoder> IARDH(new CJBig2_ArithIntDecoder);
57 nTmp = 0; 57 nTmp = 0;
58 while ((FX_DWORD)(1 << nTmp) < (SDNUMINSYMS + SDNUMNEWSYMS)) { 58 while ((uint32_t)(1 << nTmp) < (SDNUMINSYMS + SDNUMNEWSYMS)) {
59 nTmp++; 59 nTmp++;
60 } 60 }
61 IAID.reset(new CJBig2_ArithIaidDecoder((uint8_t)nTmp)); 61 IAID.reset(new CJBig2_ArithIaidDecoder((uint8_t)nTmp));
62 SDNEWSYMS = FX_Alloc(CJBig2_Image*, SDNUMNEWSYMS); 62 SDNEWSYMS = FX_Alloc(CJBig2_Image*, SDNUMNEWSYMS);
63 FXSYS_memset(SDNEWSYMS, 0, SDNUMNEWSYMS * sizeof(CJBig2_Image*)); 63 FXSYS_memset(SDNEWSYMS, 0, SDNUMNEWSYMS * sizeof(CJBig2_Image*));
64 64
65 HCHEIGHT = 0; 65 HCHEIGHT = 0;
66 NSYMSDECODED = 0; 66 NSYMSDECODED = 0;
67 while (NSYMSDECODED < SDNUMNEWSYMS) { 67 while (NSYMSDECODED < SDNUMNEWSYMS) {
68 BS = nullptr; 68 BS = nullptr;
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 std::unique_ptr<CJBig2_TRDProc> pDecoder(new CJBig2_TRDProc()); 117 std::unique_ptr<CJBig2_TRDProc> pDecoder(new CJBig2_TRDProc());
118 pDecoder->SBHUFF = SDHUFF; 118 pDecoder->SBHUFF = SDHUFF;
119 pDecoder->SBREFINE = 1; 119 pDecoder->SBREFINE = 1;
120 pDecoder->SBW = SYMWIDTH; 120 pDecoder->SBW = SYMWIDTH;
121 pDecoder->SBH = HCHEIGHT; 121 pDecoder->SBH = HCHEIGHT;
122 pDecoder->SBNUMINSTANCES = REFAGGNINST; 122 pDecoder->SBNUMINSTANCES = REFAGGNINST;
123 pDecoder->SBSTRIPS = 1; 123 pDecoder->SBSTRIPS = 1;
124 pDecoder->SBNUMSYMS = SDNUMINSYMS + NSYMSDECODED; 124 pDecoder->SBNUMSYMS = SDNUMINSYMS + NSYMSDECODED;
125 SBNUMSYMS = pDecoder->SBNUMSYMS; 125 SBNUMSYMS = pDecoder->SBNUMSYMS;
126 nTmp = 0; 126 nTmp = 0;
127 while ((FX_DWORD)(1 << nTmp) < SBNUMSYMS) { 127 while ((uint32_t)(1 << nTmp) < SBNUMSYMS) {
128 nTmp++; 128 nTmp++;
129 } 129 }
130 SBSYMCODELEN = (uint8_t)nTmp; 130 SBSYMCODELEN = (uint8_t)nTmp;
131 pDecoder->SBSYMCODELEN = SBSYMCODELEN; 131 pDecoder->SBSYMCODELEN = SBSYMCODELEN;
132 SBSYMS = FX_Alloc(CJBig2_Image*, SBNUMSYMS); 132 SBSYMS = FX_Alloc(CJBig2_Image*, SBNUMSYMS);
133 JBIG2_memcpy(SBSYMS, SDINSYMS, SDNUMINSYMS * sizeof(CJBig2_Image*)); 133 JBIG2_memcpy(SBSYMS, SDINSYMS, SDNUMINSYMS * sizeof(CJBig2_Image*));
134 JBIG2_memcpy(SBSYMS + SDNUMINSYMS, SDNEWSYMS, 134 JBIG2_memcpy(SBSYMS + SDNUMINSYMS, SDNEWSYMS,
135 NSYMSDECODED * sizeof(CJBig2_Image*)); 135 NSYMSDECODED * sizeof(CJBig2_Image*));
136 pDecoder->SBSYMS = SBSYMS; 136 pDecoder->SBSYMS = SBSYMS;
137 pDecoder->SBDEFPIXEL = 0; 137 pDecoder->SBDEFPIXEL = 0;
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 ids.IARDY = IARDY.get(); 185 ids.IARDY = IARDY.get();
186 ids.IAID = IAID.get(); 186 ids.IAID = IAID.get();
187 BS = pDecoder->decode_Arith(pArithDecoder, grContext->data(), &ids); 187 BS = pDecoder->decode_Arith(pArithDecoder, grContext->data(), &ids);
188 if (!BS) { 188 if (!BS) {
189 FX_Free(SBSYMS); 189 FX_Free(SBSYMS);
190 goto failed; 190 goto failed;
191 } 191 }
192 FX_Free(SBSYMS); 192 FX_Free(SBSYMS);
193 } else if (REFAGGNINST == 1) { 193 } else if (REFAGGNINST == 1) {
194 SBNUMSYMS = SDNUMINSYMS + NSYMSDECODED; 194 SBNUMSYMS = SDNUMINSYMS + NSYMSDECODED;
195 FX_DWORD IDI; 195 uint32_t IDI;
196 IAID->decode(pArithDecoder, &IDI); 196 IAID->decode(pArithDecoder, &IDI);
197 IARDX->decode(pArithDecoder, &RDXI); 197 IARDX->decode(pArithDecoder, &RDXI);
198 IARDY->decode(pArithDecoder, &RDYI); 198 IARDY->decode(pArithDecoder, &RDYI);
199 if (IDI >= SBNUMSYMS) { 199 if (IDI >= SBNUMSYMS) {
200 goto failed; 200 goto failed;
201 } 201 }
202 SBSYMS = FX_Alloc(CJBig2_Image*, SBNUMSYMS); 202 SBSYMS = FX_Alloc(CJBig2_Image*, SBNUMSYMS);
203 JBIG2_memcpy(SBSYMS, SDINSYMS, SDNUMINSYMS * sizeof(CJBig2_Image*)); 203 JBIG2_memcpy(SBSYMS, SDINSYMS, SDNUMINSYMS * sizeof(CJBig2_Image*));
204 JBIG2_memcpy(SBSYMS + SDNUMINSYMS, SDNEWSYMS, 204 JBIG2_memcpy(SBSYMS + SDNUMINSYMS, SDNEWSYMS,
205 NSYMSDECODED * sizeof(CJBig2_Image*)); 205 NSYMSDECODED * sizeof(CJBig2_Image*));
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
276 FX_Free(SDNEWSYMS); 276 FX_Free(SDNEWSYMS);
277 return nullptr; 277 return nullptr;
278 } 278 }
279 279
280 CJBig2_SymbolDict* CJBig2_SDDProc::decode_Huffman( 280 CJBig2_SymbolDict* CJBig2_SDDProc::decode_Huffman(
281 CJBig2_BitStream* pStream, 281 CJBig2_BitStream* pStream,
282 std::vector<JBig2ArithCtx>* gbContext, 282 std::vector<JBig2ArithCtx>* gbContext,
283 std::vector<JBig2ArithCtx>* grContext, 283 std::vector<JBig2ArithCtx>* grContext,
284 IFX_Pause* pPause) { 284 IFX_Pause* pPause) {
285 CJBig2_Image** SDNEWSYMS; 285 CJBig2_Image** SDNEWSYMS;
286 FX_DWORD* SDNEWSYMWIDTHS; 286 uint32_t* SDNEWSYMWIDTHS;
287 FX_DWORD HCHEIGHT, NSYMSDECODED; 287 uint32_t HCHEIGHT, NSYMSDECODED;
288 int32_t HCDH; 288 int32_t HCDH;
289 FX_DWORD SYMWIDTH, TOTWIDTH, HCFIRSTSYM; 289 uint32_t SYMWIDTH, TOTWIDTH, HCFIRSTSYM;
290 int32_t DW; 290 int32_t DW;
291 CJBig2_Image *BS, *BHC; 291 CJBig2_Image *BS, *BHC;
292 FX_DWORD I, J, REFAGGNINST; 292 uint32_t I, J, REFAGGNINST;
293 FX_BOOL* EXFLAGS; 293 FX_BOOL* EXFLAGS;
294 FX_DWORD EXINDEX; 294 uint32_t EXINDEX;
295 FX_BOOL CUREXFLAG; 295 FX_BOOL CUREXFLAG;
296 FX_DWORD EXRUNLENGTH; 296 uint32_t EXRUNLENGTH;
297 int32_t nVal, nBits; 297 int32_t nVal, nBits;
298 FX_DWORD nTmp; 298 uint32_t nTmp;
299 FX_DWORD SBNUMSYMS; 299 uint32_t SBNUMSYMS;
300 uint8_t SBSYMCODELEN; 300 uint8_t SBSYMCODELEN;
301 JBig2HuffmanCode* SBSYMCODES; 301 JBig2HuffmanCode* SBSYMCODES;
302 FX_DWORD IDI; 302 uint32_t IDI;
303 int32_t RDXI, RDYI; 303 int32_t RDXI, RDYI;
304 FX_DWORD BMSIZE; 304 uint32_t BMSIZE;
305 FX_DWORD stride; 305 uint32_t stride;
306 CJBig2_Image** SBSYMS; 306 CJBig2_Image** SBSYMS;
307 std::unique_ptr<CJBig2_HuffmanDecoder> pHuffmanDecoder( 307 std::unique_ptr<CJBig2_HuffmanDecoder> pHuffmanDecoder(
308 new CJBig2_HuffmanDecoder(pStream)); 308 new CJBig2_HuffmanDecoder(pStream));
309 SDNEWSYMS = FX_Alloc(CJBig2_Image*, SDNUMNEWSYMS); 309 SDNEWSYMS = FX_Alloc(CJBig2_Image*, SDNUMNEWSYMS);
310 FXSYS_memset(SDNEWSYMS, 0, SDNUMNEWSYMS * sizeof(CJBig2_Image*)); 310 FXSYS_memset(SDNEWSYMS, 0, SDNUMNEWSYMS * sizeof(CJBig2_Image*));
311 SDNEWSYMWIDTHS = nullptr; 311 SDNEWSYMWIDTHS = nullptr;
312 BHC = nullptr; 312 BHC = nullptr;
313 if (SDREFAGG == 0) { 313 if (SDREFAGG == 0) {
314 SDNEWSYMWIDTHS = FX_Alloc(FX_DWORD, SDNUMNEWSYMS); 314 SDNEWSYMWIDTHS = FX_Alloc(uint32_t, SDNUMNEWSYMS);
315 FXSYS_memset(SDNEWSYMWIDTHS, 0, SDNUMNEWSYMS * sizeof(FX_DWORD)); 315 FXSYS_memset(SDNEWSYMWIDTHS, 0, SDNUMNEWSYMS * sizeof(uint32_t));
316 } 316 }
317 std::unique_ptr<CJBig2_SymbolDict> pDict(new CJBig2_SymbolDict()); 317 std::unique_ptr<CJBig2_SymbolDict> pDict(new CJBig2_SymbolDict());
318 std::unique_ptr<CJBig2_HuffmanTable> pTable; 318 std::unique_ptr<CJBig2_HuffmanTable> pTable;
319 319
320 HCHEIGHT = 0; 320 HCHEIGHT = 0;
321 NSYMSDECODED = 0; 321 NSYMSDECODED = 0;
322 BS = nullptr; 322 BS = nullptr;
323 while (NSYMSDECODED < SDNUMNEWSYMS) { 323 while (NSYMSDECODED < SDNUMNEWSYMS) {
324 if (pHuffmanDecoder->decodeAValue(SDHUFFDH, &HCDH) != 0) { 324 if (pHuffmanDecoder->decodeAValue(SDHUFFDH, &HCDH) != 0) {
325 goto failed; 325 goto failed;
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
363 pDecoder->SBHUFF = SDHUFF; 363 pDecoder->SBHUFF = SDHUFF;
364 pDecoder->SBREFINE = 1; 364 pDecoder->SBREFINE = 1;
365 pDecoder->SBW = SYMWIDTH; 365 pDecoder->SBW = SYMWIDTH;
366 pDecoder->SBH = HCHEIGHT; 366 pDecoder->SBH = HCHEIGHT;
367 pDecoder->SBNUMINSTANCES = REFAGGNINST; 367 pDecoder->SBNUMINSTANCES = REFAGGNINST;
368 pDecoder->SBSTRIPS = 1; 368 pDecoder->SBSTRIPS = 1;
369 pDecoder->SBNUMSYMS = SDNUMINSYMS + NSYMSDECODED; 369 pDecoder->SBNUMSYMS = SDNUMINSYMS + NSYMSDECODED;
370 SBNUMSYMS = pDecoder->SBNUMSYMS; 370 SBNUMSYMS = pDecoder->SBNUMSYMS;
371 SBSYMCODES = FX_Alloc(JBig2HuffmanCode, SBNUMSYMS); 371 SBSYMCODES = FX_Alloc(JBig2HuffmanCode, SBNUMSYMS);
372 nTmp = 1; 372 nTmp = 1;
373 while ((FX_DWORD)(1 << nTmp) < SBNUMSYMS) { 373 while ((uint32_t)(1 << nTmp) < SBNUMSYMS) {
374 nTmp++; 374 nTmp++;
375 } 375 }
376 for (I = 0; I < SBNUMSYMS; I++) { 376 for (I = 0; I < SBNUMSYMS; I++) {
377 SBSYMCODES[I].codelen = nTmp; 377 SBSYMCODES[I].codelen = nTmp;
378 SBSYMCODES[I].code = I; 378 SBSYMCODES[I].code = I;
379 } 379 }
380 pDecoder->SBSYMCODES = SBSYMCODES; 380 pDecoder->SBSYMCODES = SBSYMCODES;
381 SBSYMS = FX_Alloc(CJBig2_Image*, SBNUMSYMS); 381 SBSYMS = FX_Alloc(CJBig2_Image*, SBNUMSYMS);
382 JBIG2_memcpy(SBSYMS, SDINSYMS, SDNUMINSYMS * sizeof(CJBig2_Image*)); 382 JBIG2_memcpy(SBSYMS, SDINSYMS, SDNUMINSYMS * sizeof(CJBig2_Image*));
383 JBIG2_memcpy(SBSYMS + SDNUMINSYMS, SDNEWSYMS, 383 JBIG2_memcpy(SBSYMS + SDNUMINSYMS, SDNEWSYMS,
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
426 if (!BS) { 426 if (!BS) {
427 FX_Free(SBSYMCODES); 427 FX_Free(SBSYMCODES);
428 FX_Free(SBSYMS); 428 FX_Free(SBSYMS);
429 goto failed; 429 goto failed;
430 } 430 }
431 FX_Free(SBSYMCODES); 431 FX_Free(SBSYMCODES);
432 FX_Free(SBSYMS); 432 FX_Free(SBSYMS);
433 } else if (REFAGGNINST == 1) { 433 } else if (REFAGGNINST == 1) {
434 SBNUMSYMS = SDNUMINSYMS + SDNUMNEWSYMS; 434 SBNUMSYMS = SDNUMINSYMS + SDNUMNEWSYMS;
435 nTmp = 1; 435 nTmp = 1;
436 while ((FX_DWORD)(1 << nTmp) < SBNUMSYMS) { 436 while ((uint32_t)(1 << nTmp) < SBNUMSYMS) {
437 nTmp++; 437 nTmp++;
438 } 438 }
439 SBSYMCODELEN = (uint8_t)nTmp; 439 SBSYMCODELEN = (uint8_t)nTmp;
440 SBSYMCODES = FX_Alloc(JBig2HuffmanCode, SBNUMSYMS); 440 SBSYMCODES = FX_Alloc(JBig2HuffmanCode, SBNUMSYMS);
441 for (I = 0; I < SBNUMSYMS; I++) { 441 for (I = 0; I < SBNUMSYMS; I++) {
442 SBSYMCODES[I].codelen = SBSYMCODELEN; 442 SBSYMCODES[I].codelen = SBSYMCODELEN;
443 SBSYMCODES[I].code = I; 443 SBSYMCODES[I].code = I;
444 } 444 }
445 nVal = 0; 445 nVal = 0;
446 nBits = 0; 446 nBits = 0;
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
492 pGRRD->GRAT[3] = SDRAT[3]; 492 pGRRD->GRAT[3] = SDRAT[3];
493 std::unique_ptr<CJBig2_ArithDecoder> pArithDecoder( 493 std::unique_ptr<CJBig2_ArithDecoder> pArithDecoder(
494 new CJBig2_ArithDecoder(pStream)); 494 new CJBig2_ArithDecoder(pStream));
495 BS = pGRRD->decode(pArithDecoder.get(), grContext->data()); 495 BS = pGRRD->decode(pArithDecoder.get(), grContext->data());
496 if (!BS) { 496 if (!BS) {
497 FX_Free(SBSYMS); 497 FX_Free(SBSYMS);
498 goto failed; 498 goto failed;
499 } 499 }
500 pStream->alignByte(); 500 pStream->alignByte();
501 pStream->offset(2); 501 pStream->offset(2);
502 if ((FX_DWORD)nVal != (pStream->getOffset() - nTmp)) { 502 if ((uint32_t)nVal != (pStream->getOffset() - nTmp)) {
503 delete BS; 503 delete BS;
504 FX_Free(SBSYMS); 504 FX_Free(SBSYMS);
505 goto failed; 505 goto failed;
506 } 506 }
507 FX_Free(SBSYMS); 507 FX_Free(SBSYMS);
508 } 508 }
509 SDNEWSYMS[NSYMSDECODED] = BS; 509 SDNEWSYMS[NSYMSDECODED] = BS;
510 } 510 }
511 if (SDREFAGG == 0) { 511 if (SDREFAGG == 0) {
512 SDNEWSYMWIDTHS[NSYMSDECODED] = SYMWIDTH; 512 SDNEWSYMWIDTHS[NSYMSDECODED] = SYMWIDTH;
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
597 failed: 597 failed:
598 for (I = 0; I < NSYMSDECODED; I++) { 598 for (I = 0; I < NSYMSDECODED; I++) {
599 delete SDNEWSYMS[I]; 599 delete SDNEWSYMS[I];
600 } 600 }
601 FX_Free(SDNEWSYMS); 601 FX_Free(SDNEWSYMS);
602 if (SDREFAGG == 0) { 602 if (SDREFAGG == 0) {
603 FX_Free(SDNEWSYMWIDTHS); 603 FX_Free(SDNEWSYMWIDTHS);
604 } 604 }
605 return nullptr; 605 return nullptr;
606 } 606 }
OLDNEW
« no previous file with comments | « core/fxcodec/jbig2/JBig2_SddProc.h ('k') | core/fxcodec/jbig2/JBig2_Segment.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698