diff options
author | Nicolas Pena <npm@chromium.org> | 2017-07-14 10:00:21 -0400 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-07-14 14:18:45 +0000 |
commit | b6db208773e94b9d25f7dbd740859adbb8a60fdf (patch) | |
tree | 8f0426521a18b70303cea0fcccd8f29e3eeead24 /core/fxcodec/jbig2/JBig2_HtrdProc.cpp | |
parent | 2b918c8d05c922287efbc8858f029026cee31442 (diff) | |
download | pdfium-b6db208773e94b9d25f7dbd740859adbb8a60fdf.tar.xz |
More unique_ptrs in JBIG2 code part 2
This CL makes HDPATS in CJBig2_PatternDict be a vector of unique_ptr.
Change-Id: Ib23aed6323d4a988b2eedc4bfe95f2098d32c188
Reviewed-on: https://pdfium-review.googlesource.com/7871
Commit-Queue: Nicolás Peña <npm@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'core/fxcodec/jbig2/JBig2_HtrdProc.cpp')
-rw-r--r-- | core/fxcodec/jbig2/JBig2_HtrdProc.cpp | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/core/fxcodec/jbig2/JBig2_HtrdProc.cpp b/core/fxcodec/jbig2/JBig2_HtrdProc.cpp index f17e818588..a7de28607e 100644 --- a/core/fxcodec/jbig2/JBig2_HtrdProc.cpp +++ b/core/fxcodec/jbig2/JBig2_HtrdProc.cpp @@ -6,6 +6,8 @@ #include "core/fxcodec/jbig2/JBig2_HtrdProc.h" +#include <algorithm> + #include "core/fxcodec/jbig2/JBig2_GsidProc.h" #include "core/fxcrt/fx_basic.h" #include "third_party/base/ptr_util.h" @@ -56,11 +58,8 @@ std::unique_ptr<CJBig2_Image> CJBig2_HTRDProc::decode_Arith( for (ng = 0; ng < HGW; ng++) { x = (HGX + mg * HRY + ng * HRX) >> 8; y = (HGY + mg * HRX - ng * HRY) >> 8; - uint32_t pat_index = GI[mg * HGW + ng]; - if (pat_index >= HNUMPATS) { - pat_index = HNUMPATS - 1; - } - HTREG->composeFrom(x, y, HPATS[pat_index], HCOMBOP); + uint32_t pat_index = std::min(GI[mg * HGW + ng], HNUMPATS - 1); + HTREG->composeFrom(x, y, (*HPATS)[pat_index].get(), HCOMBOP); } } FX_Free(GI); @@ -92,11 +91,8 @@ std::unique_ptr<CJBig2_Image> CJBig2_HTRDProc::decode_MMR( for (ng = 0; ng < HGW; ng++) { x = (HGX + mg * HRY + ng * HRX) >> 8; y = (HGY + mg * HRX - ng * HRY) >> 8; - uint32_t pat_index = GI[mg * HGW + ng]; - if (pat_index >= HNUMPATS) { - pat_index = HNUMPATS - 1; - } - HTREG->composeFrom(x, y, HPATS[pat_index], HCOMBOP); + uint32_t pat_index = std::min(GI[mg * HGW + ng], HNUMPATS - 1); + HTREG->composeFrom(x, y, (*HPATS)[pat_index].get(), HCOMBOP); } } FX_Free(GI); |