| 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 #include "core/fxcodec/fx_codec.h" | 7 #include "core/fxcodec/fx_codec.h" |
| 8 | 8 |
| 9 #include <cmath> | 9 #include <cmath> |
| 10 #include <memory> | 10 #include <memory> |
| 11 #include <utility> | 11 #include <utility> |
| 12 | 12 |
| 13 #include "core/fxcodec/codec/codec_int.h" | 13 #include "core/fxcodec/codec/codec_int.h" |
| 14 #include "core/fxcrt/fx_ext.h" | 14 #include "core/fxcrt/fx_ext.h" |
| 15 #include "core/fxcrt/fx_safe_types.h" | 15 #include "core/fxcrt/fx_safe_types.h" |
| 16 #include "third_party/base/logging.h" | 16 #include "third_party/base/logging.h" |
| 17 #include "third_party/base/ptr_util.h" |
| 17 | 18 |
| 18 CCodec_ModuleMgr::CCodec_ModuleMgr() | 19 CCodec_ModuleMgr::CCodec_ModuleMgr() |
| 19 : m_pBasicModule(new CCodec_BasicModule), | 20 : m_pBasicModule(new CCodec_BasicModule), |
| 20 m_pFaxModule(new CCodec_FaxModule), | 21 m_pFaxModule(new CCodec_FaxModule), |
| 21 m_pJpegModule(new CCodec_JpegModule), | 22 m_pJpegModule(new CCodec_JpegModule), |
| 22 m_pJpxModule(new CCodec_JpxModule), | 23 m_pJpxModule(new CCodec_JpxModule), |
| 23 m_pJbig2Module(new CCodec_Jbig2Module), | 24 m_pJbig2Module(new CCodec_Jbig2Module), |
| 24 m_pIccModule(new CCodec_IccModule), | 25 m_pIccModule(new CCodec_IccModule), |
| 25 #ifdef PDF_ENABLE_XFA | 26 #ifdef PDF_ENABLE_XFA |
| 26 m_pPngModule(new CCodec_PngModule), | 27 m_pPngModule(new CCodec_PngModule), |
| (...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 295 ASSERT((uint32_t)count >= used_bytes); | 296 ASSERT((uint32_t)count >= used_bytes); |
| 296 if (used_bytes == count) { | 297 if (used_bytes == count) { |
| 297 m_SrcOffset++; | 298 m_SrcOffset++; |
| 298 GetNextOperator(); | 299 GetNextOperator(); |
| 299 return; | 300 return; |
| 300 } | 301 } |
| 301 count -= used_bytes; | 302 count -= used_bytes; |
| 302 m_Operator = 257 - count; | 303 m_Operator = 257 - count; |
| 303 } | 304 } |
| 304 | 305 |
| 305 CCodec_ScanlineDecoder* CCodec_BasicModule::CreateRunLengthDecoder( | 306 std::unique_ptr<CCodec_ScanlineDecoder> |
| 306 const uint8_t* src_buf, | 307 CCodec_BasicModule::CreateRunLengthDecoder(const uint8_t* src_buf, |
| 307 uint32_t src_size, | 308 uint32_t src_size, |
| 308 int width, | 309 int width, |
| 309 int height, | 310 int height, |
| 310 int nComps, | 311 int nComps, |
| 311 int bpc) { | 312 int bpc) { |
| 312 std::unique_ptr<CCodec_RLScanlineDecoder> pRLScanlineDecoder( | 313 auto pDecoder = pdfium::MakeUnique<CCodec_RLScanlineDecoder>(); |
| 313 new CCodec_RLScanlineDecoder); | 314 if (!pDecoder->Create(src_buf, src_size, width, height, nComps, bpc)) |
| 314 if (!pRLScanlineDecoder->Create(src_buf, src_size, width, height, nComps, | |
| 315 bpc)) { | |
| 316 return nullptr; | 315 return nullptr; |
| 317 } | |
| 318 | 316 |
| 319 return pRLScanlineDecoder.release(); | 317 return std::move(pDecoder); |
| 320 } | 318 } |
| OLD | NEW |