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_BASICMODULE_H_ 8 #define CORE_FXCODEC_CODEC_CCODEC_BASICMODULE_H_ 9 10 #include <memory> 11 12 #include "core/fxcrt/fx_system.h" 13 14 class CCodec_ScanlineDecoder; 15 16 class CCodec_BasicModule { 17 public: 18 std::unique_ptr<CCodec_ScanlineDecoder> CreateRunLengthDecoder( 19 const uint8_t* src_buf, 20 uint32_t src_size, 21 int width, 22 int height, 23 int nComps, 24 int bpc); 25 bool RunLengthEncode(const uint8_t* src_buf, 26 uint32_t src_size, 27 uint8_t** dest_buf, 28 uint32_t* dest_size); 29 bool A85Encode(const uint8_t* src_buf, 30 uint32_t src_size, 31 uint8_t** dest_buf, 32 uint32_t* dest_size); 33 }; 34 35 #endif // CORE_FXCODEC_CODEC_CCODEC_BASICMODULE_H_ 36