| Index: core/fxcodec/codec/include/ccodec_progressivedecoder.h
|
| diff --git a/core/fxcodec/codec/include/ccodec_progressivedecoder.h b/core/fxcodec/codec/include/ccodec_progressivedecoder.h
|
| index 5421d734946f4f48a3fcf827e59b128e8e602f5a..5774371ff1f69ff0b30572f82073f44ce885ab29 100644
|
| --- a/core/fxcodec/codec/include/ccodec_progressivedecoder.h
|
| +++ b/core/fxcodec/codec/include/ccodec_progressivedecoder.h
|
| @@ -7,6 +7,8 @@
|
| #ifndef CORE_FXCODEC_CODEC_INCLUDE_CCODEC_PROGRESSIVEDECODER_H_
|
| #define CORE_FXCODEC_CODEC_INCLUDE_CCODEC_PROGRESSIVEDECODER_H_
|
|
|
| +#include <vector>
|
| +
|
| #include "core/fxcodec/include/fx_codec_def.h"
|
| #include "core/fxcrt/include/fx_system.h"
|
| #include "core/fxge/include/fx_dib.h"
|
| @@ -40,7 +42,7 @@ class CCodec_ProgressiveDecoder {
|
| FXCodec_Cmyk = 0x120
|
| };
|
|
|
| - CCodec_ProgressiveDecoder(CCodec_ModuleMgr* pCodecMgr);
|
| + explicit CCodec_ProgressiveDecoder(CCodec_ModuleMgr* pCodecMgr);
|
| ~CCodec_ProgressiveDecoder();
|
|
|
| FXCODEC_STATUS LoadImageInfo(IFX_FileRead* pFile,
|
| @@ -73,8 +75,8 @@ class CCodec_ProgressiveDecoder {
|
|
|
| class CFXCODEC_WeightTable {
|
| public:
|
| - CFXCODEC_WeightTable() { m_pWeightTables = nullptr; }
|
| - ~CFXCODEC_WeightTable() { FX_Free(m_pWeightTables); }
|
| + CFXCODEC_WeightTable() {}
|
| + ~CFXCODEC_WeightTable() {}
|
|
|
| void Calc(int dest_len,
|
| int dest_min,
|
| @@ -84,37 +86,41 @@ class CCodec_ProgressiveDecoder {
|
| int src_max,
|
| FX_BOOL bInterpol);
|
| PixelWeight* GetPixelWeight(int pixel) {
|
| - return (PixelWeight*)(m_pWeightTables + (pixel - m_DestMin) * m_ItemSize);
|
| + return reinterpret_cast<PixelWeight*>(m_pWeightTables.data() +
|
| + (pixel - m_DestMin) * m_ItemSize);
|
| }
|
|
|
| - int m_DestMin, m_ItemSize;
|
| - uint8_t* m_pWeightTables;
|
| + int m_DestMin;
|
| + int m_ItemSize;
|
| + std::vector<uint8_t> m_pWeightTables;
|
| };
|
|
|
| class CFXCODEC_HorzTable {
|
| public:
|
| - CFXCODEC_HorzTable() { m_pWeightTables = nullptr; }
|
| - ~CFXCODEC_HorzTable() { FX_Free(m_pWeightTables); }
|
| + CFXCODEC_HorzTable() {}
|
| + ~CFXCODEC_HorzTable() {}
|
|
|
| void Calc(int dest_len, int src_len, FX_BOOL bInterpol);
|
| PixelWeight* GetPixelWeight(int pixel) {
|
| - return (PixelWeight*)(m_pWeightTables + pixel * m_ItemSize);
|
| + return reinterpret_cast<PixelWeight*>(m_pWeightTables.data() +
|
| + pixel * m_ItemSize);
|
| }
|
|
|
| int m_ItemSize;
|
| - uint8_t* m_pWeightTables;
|
| + std::vector<uint8_t> m_pWeightTables;
|
| };
|
|
|
| class CFXCODEC_VertTable {
|
| public:
|
| - CFXCODEC_VertTable() { m_pWeightTables = nullptr; }
|
| - ~CFXCODEC_VertTable() { FX_Free(m_pWeightTables); }
|
| + CFXCODEC_VertTable() {}
|
| + ~CFXCODEC_VertTable() {}
|
| void Calc(int dest_len, int src_len);
|
| PixelWeight* GetPixelWeight(int pixel) {
|
| - return (PixelWeight*)(m_pWeightTables + pixel * m_ItemSize);
|
| + return reinterpret_cast<PixelWeight*>(m_pWeightTables.data() +
|
| + pixel * m_ItemSize);
|
| }
|
| int m_ItemSize;
|
| - uint8_t* m_pWeightTables;
|
| + std::vector<uint8_t> m_pWeightTables;
|
| };
|
|
|
| IFX_FileRead* m_pFile;
|
|
|