summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/fxcodec/codec/ccodec_gifmodule.cpp2
-rw-r--r--core/fxcodec/codec/ccodec_gifmodule.h4
-rw-r--r--core/fxcodec/codec/ccodec_progressivedecoder.h4
-rw-r--r--core/fxcodec/codec/fx_codec_progress.cpp17
4 files changed, 13 insertions, 14 deletions
diff --git a/core/fxcodec/codec/ccodec_gifmodule.cpp b/core/fxcodec/codec/ccodec_gifmodule.cpp
index dc2c0c83a4..9911d0f5e0 100644
--- a/core/fxcodec/codec/ccodec_gifmodule.cpp
+++ b/core/fxcodec/codec/ccodec_gifmodule.cpp
@@ -26,7 +26,7 @@ CFX_GifDecodeStatus CCodec_GifModule::ReadHeader(Context* pContext,
int* width,
int* height,
int* pal_num,
- void** pal_pp,
+ CFX_GifPalette** pal_pp,
int* bg_index,
CFX_DIBAttribute* pAttribute) {
auto* context = static_cast<CFX_GifContext*>(pContext);
diff --git a/core/fxcodec/codec/ccodec_gifmodule.h b/core/fxcodec/codec/ccodec_gifmodule.h
index 5ceff7bc4e..e7b250fe27 100644
--- a/core/fxcodec/codec/ccodec_gifmodule.h
+++ b/core/fxcodec/codec/ccodec_gifmodule.h
@@ -29,7 +29,7 @@ class CCodec_GifModule {
virtual bool GifInputRecordPositionBuf(uint32_t rcd_pos,
const FX_RECT& img_rc,
int32_t pal_num,
- void* pal_ptr,
+ CFX_GifPalette* pal_ptr,
int32_t delay_time,
bool user_input,
int32_t trans_index,
@@ -48,7 +48,7 @@ class CCodec_GifModule {
int* width,
int* height,
int* pal_num,
- void** pal_pp,
+ CFX_GifPalette** pal_pp,
int* bg_index,
CFX_DIBAttribute* pAttribute);
std::pair<CFX_GifDecodeStatus, size_t> LoadFrameInfo(Context* context);
diff --git a/core/fxcodec/codec/ccodec_progressivedecoder.h b/core/fxcodec/codec/ccodec_progressivedecoder.h
index 18da3b3a63..4a67bbb335 100644
--- a/core/fxcodec/codec/ccodec_progressivedecoder.h
+++ b/core/fxcodec/codec/ccodec_progressivedecoder.h
@@ -137,7 +137,7 @@ class CCodec_ProgressiveDecoder : public CCodec_BmpModule::Delegate,
bool GifInputRecordPositionBuf(uint32_t rcd_pos,
const FX_RECT& img_rc,
int32_t pal_num,
- void* pal_ptr,
+ CFX_GifPalette* pal_ptr,
int32_t delay_time,
bool user_input,
int32_t trans_index,
@@ -236,7 +236,7 @@ class CCodec_ProgressiveDecoder : public CCodec_BmpModule::Delegate,
size_t m_FrameNumber;
size_t m_FrameCur;
int m_GifBgIndex;
- uint8_t* m_pGifPalette;
+ CFX_GifPalette* m_pGifPalette;
int32_t m_GifPltNumber;
int m_GifTransIndex;
FX_RECT m_GifFrameRect;
diff --git a/core/fxcodec/codec/fx_codec_progress.cpp b/core/fxcodec/codec/fx_codec_progress.cpp
index f2799dcb45..9d25d3f140 100644
--- a/core/fxcodec/codec/fx_codec_progress.cpp
+++ b/core/fxcodec/codec/fx_codec_progress.cpp
@@ -609,7 +609,7 @@ bool CCodec_ProgressiveDecoder::GifInputRecordPositionBuf(
uint32_t rcd_pos,
const FX_RECT& img_rc,
int32_t pal_num,
- void* pal_ptr,
+ CFX_GifPalette* pal_ptr,
int32_t delay_time,
bool user_input,
int32_t trans_index,
@@ -620,9 +620,9 @@ bool CCodec_ProgressiveDecoder::GifInputRecordPositionBuf(
if (!GifReadMoreData(m_pCodecMgr->GetGifModule(), error_status)) {
return false;
}
- uint8_t* pPalette = nullptr;
+ CFX_GifPalette* pPalette = nullptr;
if (pal_num != 0 && pal_ptr) {
- pPalette = (uint8_t*)pal_ptr;
+ pPalette = pal_ptr;
} else {
if (!m_pGifPalette)
return false;
@@ -638,9 +638,8 @@ bool CCodec_ProgressiveDecoder::GifInputRecordPositionBuf(
m_SrcPaletteNumber = pal_num;
for (int i = 0; i < pal_num; i++) {
- uint32_t j = i * 3;
m_pSrcPalette[i] =
- ArgbEncode(0xff, pPalette[j], pPalette[j + 1], pPalette[j + 2]);
+ ArgbEncode(0xff, pPalette[i].r, pPalette[i].g, pPalette[i].b);
}
m_GifTransIndex = trans_index;
m_GifFrameRect = img_rc;
@@ -1250,7 +1249,7 @@ bool CCodec_ProgressiveDecoder::GifDetectImageType(CFX_DIBAttribute* pAttribute,
m_SrcComponents = 1;
CFX_GifDecodeStatus readResult = pGifModule->ReadHeader(
m_pGifContext.get(), &m_SrcWidth, &m_SrcHeight, &m_GifPltNumber,
- (void**)&m_pGifPalette, &m_GifBgIndex, nullptr);
+ &m_pGifPalette, &m_GifBgIndex, nullptr);
while (readResult == CFX_GifDecodeStatus::Unfinished) {
FXCODEC_STATUS error_status = FXCODEC_STATUS_ERR_FORMAT;
if (!GifReadMoreData(pGifModule, error_status)) {
@@ -1258,9 +1257,9 @@ bool CCodec_ProgressiveDecoder::GifDetectImageType(CFX_DIBAttribute* pAttribute,
m_status = error_status;
return false;
}
- readResult = pGifModule->ReadHeader(
- m_pGifContext.get(), &m_SrcWidth, &m_SrcHeight, &m_GifPltNumber,
- (void**)&m_pGifPalette, &m_GifBgIndex, nullptr);
+ readResult = pGifModule->ReadHeader(m_pGifContext.get(), &m_SrcWidth,
+ &m_SrcHeight, &m_GifPltNumber,
+ &m_pGifPalette, &m_GifBgIndex, nullptr);
}
if (readResult == CFX_GifDecodeStatus::Success) {
m_SrcBPC = 8;