1 // Copyright 2016 PDFium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6 7 #ifndef CORE_FXCODEC_CODEC_CCODEC_JPXMODULE_H_ 8 #define CORE_FXCODEC_CODEC_CCODEC_JPXMODULE_H_ 9 10 #include <memory> 11 #include <vector> 12 13 #include "core/fxcrt/fx_system.h" 14 15 class CJPX_Decoder; 16 class CPDF_ColorSpace; 17 18 class CCodec_JpxModule { 19 public: 20 CCodec_JpxModule(); 21 ~CCodec_JpxModule(); 22 23 std::unique_ptr<CJPX_Decoder> CreateDecoder(const uint8_t* src_buf, 24 uint32_t src_size, 25 CPDF_ColorSpace* cs); 26 void GetImageInfo(CJPX_Decoder* pDecoder, 27 uint32_t* width, 28 uint32_t* height, 29 uint32_t* components); 30 bool Decode(CJPX_Decoder* pDecoder, 31 uint8_t* dest_data, 32 int pitch, 33 const std::vector<uint8_t>& offsets); 34 }; 35 36 #endif // CORE_FXCODEC_CODEC_CCODEC_JPXMODULE_H_ 37