diff options
Diffstat (limited to 'core/fxcodec/lgif')
-rw-r--r-- | core/fxcodec/lgif/fx_gif.cpp | 85 | ||||
-rw-r--r-- | core/fxcodec/lgif/fx_gif.h | 39 |
2 files changed, 63 insertions, 61 deletions
diff --git a/core/fxcodec/lgif/fx_gif.cpp b/core/fxcodec/lgif/fx_gif.cpp index 08b008ddb4..b996ba9796 100644 --- a/core/fxcodec/lgif/fx_gif.cpp +++ b/core/fxcodec/lgif/fx_gif.cpp @@ -58,7 +58,7 @@ void CGifLZWDecoder::ClearTable() { } void CGifLZWDecoder::DecodeString(uint16_t code) { stack_size = 0; - while (TRUE) { + while (true) { ASSERT(code <= code_next); if (code < code_clear || code > code_next) { break; @@ -163,9 +163,7 @@ int32_t CGifLZWDecoder::Decode(uint8_t* des_buf, uint32_t& des_size) { } return 0; } -static FX_BOOL gif_grow_buf(uint8_t*& dst_buf, - uint32_t& dst_len, - uint32_t size) { +static bool gif_grow_buf(uint8_t*& dst_buf, uint32_t& dst_len, uint32_t size) { if (dst_len < size) { uint32_t len_org = dst_len; while (dst_buf && dst_len < size) { @@ -180,7 +178,7 @@ static FX_BOOL gif_grow_buf(uint8_t*& dst_buf, FXSYS_memset(dst_buf + len_org, 0, dst_len - len_org); return !!dst_buf; } - return TRUE; + return true; } static inline void gif_cut_index(uint8_t& val, uint32_t index, @@ -318,14 +316,14 @@ void CGifLZWEncoder::EncodeString(uint32_t index, index_bit_cur++; } } -FX_BOOL CGifLZWEncoder::Encode(const uint8_t* src_buf, - uint32_t src_len, - uint8_t*& dst_buf, - uint32_t& dst_len, - uint32_t& offset) { +bool CGifLZWEncoder::Encode(const uint8_t* src_buf, + uint32_t src_len, + uint8_t*& dst_buf, + uint32_t& dst_len, + uint32_t& offset) { uint8_t suffix; if (setjmp(jmp)) { - return FALSE; + return false; } while (src_bit_num < src_len) { if (!LookUpInTable(src_buf, src_offset, src_bit_offset)) { @@ -347,11 +345,11 @@ FX_BOOL CGifLZWEncoder::Encode(const uint8_t* src_buf, src_offset = 0; src_bit_offset = 0; src_bit_num = 0; - return TRUE; + return true; } -FX_BOOL CGifLZWEncoder::LookUpInTable(const uint8_t* buf, - uint32_t& offset, - uint8_t& out_bit_offset) { +bool CGifLZWEncoder::LookUpInTable(const uint8_t* buf, + uint32_t& offset, + uint8_t& out_bit_offset) { for (uint16_t i = table_cur; i < index_num; i++) { if (code_table[i].prefix == code_table[index_num].prefix && code_table[i].suffix == code_table[index_num].suffix) { @@ -359,11 +357,11 @@ FX_BOOL CGifLZWEncoder::LookUpInTable(const uint8_t* buf, code_table[index_num].suffix = gif_cut_buf(buf, offset, src_bit_cut, out_bit_offset, src_bit_num); table_cur = i; - return TRUE; + return true; } } table_cur = code_end + 1; - return FALSE; + return false; } void CGifLZWEncoder::Finish(uint8_t*& dst_buf, uint32_t& dst_len, @@ -554,7 +552,7 @@ int32_t gif_get_frame(gif_decompress_struct_p gif_ptr) { return 0; int32_t ret = 1; - while (TRUE) { + while (true) { switch (gif_ptr->decode_status) { case GIF_D_STATUS_TAIL: return 1; @@ -859,14 +857,14 @@ int32_t gif_load_frame(gif_decompress_struct_p gif_ptr, int32_t frame_num) { : 0; gif_ptr->avail_in = 0; if (!gif_img_gce_ptr) { - FX_BOOL bRes = gif_ptr->gif_get_record_position_fn( + bool bRes = gif_ptr->gif_get_record_position_fn( gif_ptr, gif_image_ptr->image_data_pos, gif_image_ptr->image_info_ptr->left, gif_image_ptr->image_info_ptr->top, gif_image_ptr->image_info_ptr->width, gif_image_ptr->image_info_ptr->height, loc_pal_num, gif_image_ptr->local_pal_ptr, 0, 0, -1, 0, - (FX_BOOL)((GifLF*)&gif_image_ptr->image_info_ptr->local_flag) + (bool)((GifLF*)&gif_image_ptr->image_info_ptr->local_flag) ->interlace); if (!bRes) { FX_Free(gif_image_ptr->image_row_buf); @@ -875,7 +873,7 @@ int32_t gif_load_frame(gif_decompress_struct_p gif_ptr, int32_t frame_num) { return 0; } } else { - FX_BOOL bRes = gif_ptr->gif_get_record_position_fn( + bool bRes = gif_ptr->gif_get_record_position_fn( gif_ptr, gif_image_ptr->image_data_pos, gif_image_ptr->image_info_ptr->left, gif_image_ptr->image_info_ptr->top, @@ -883,14 +881,13 @@ int32_t gif_load_frame(gif_decompress_struct_p gif_ptr, int32_t frame_num) { gif_image_ptr->image_info_ptr->height, loc_pal_num, gif_image_ptr->local_pal_ptr, (int32_t)gif_image_ptr->image_gce_ptr->delay_time, - (FX_BOOL)((GifCEF*)&gif_image_ptr->image_gce_ptr->gce_flag) - ->user_input, + (bool)((GifCEF*)&gif_image_ptr->image_gce_ptr->gce_flag)->user_input, ((GifCEF*)&gif_image_ptr->image_gce_ptr->gce_flag)->transparency ? (int32_t)gif_image_ptr->image_gce_ptr->trans_index : -1, (int32_t)((GifCEF*)&gif_image_ptr->image_gce_ptr->gce_flag) ->disposal_method, - (FX_BOOL)((GifLF*)&gif_image_ptr->image_info_ptr->local_flag) + (bool)((GifLF*)&gif_image_ptr->image_info_ptr->local_flag) ->interlace); if (!bRes) { FX_Free(gif_image_ptr->image_row_buf); @@ -1039,16 +1036,16 @@ uint32_t gif_get_avail_input(gif_decompress_struct_p gif_ptr, int32_t gif_get_frame_num(gif_decompress_struct_p gif_ptr) { return gif_ptr->img_ptr_arr_ptr->GetSize(); } -static FX_BOOL gif_write_header(gif_compress_struct_p gif_ptr, - uint8_t*& dst_buf, - uint32_t& dst_len) { +static bool gif_write_header(gif_compress_struct_p gif_ptr, + uint8_t*& dst_buf, + uint32_t& dst_len) { if (gif_ptr->cur_offset) { - return TRUE; + return true; } dst_len = sizeof(GifHeader) + sizeof(GifLSD) + sizeof(GifGF); dst_buf = FX_TryAlloc(uint8_t, dst_len); if (!dst_buf) - return FALSE; + return false; FXSYS_memset(dst_buf, 0, dst_len); FXSYS_memcpy(dst_buf, gif_ptr->header_ptr, sizeof(GifHeader)); @@ -1063,12 +1060,12 @@ static FX_BOOL gif_write_header(gif_compress_struct_p gif_ptr, if (gif_ptr->global_pal) { uint16_t size = sizeof(GifPalette) * gif_ptr->gpal_num; if (!gif_grow_buf(dst_buf, dst_len, gif_ptr->cur_offset + size)) { - return FALSE; + return false; } FXSYS_memcpy(&dst_buf[gif_ptr->cur_offset], gif_ptr->global_pal, size); gif_ptr->cur_offset += size; } - return TRUE; + return true; } void interlace_buf(const uint8_t* buf, uint32_t pitch, uint32_t height) { CFX_ArrayTemplate<uint8_t*> pass[4]; @@ -1115,11 +1112,11 @@ static void gif_write_block_data(const uint8_t* src_buf, FXSYS_memcpy(&dst_buf[dst_offset], &src_buf[src_offset], src_len); dst_offset += src_len; } -static FX_BOOL gif_write_data(gif_compress_struct_p gif_ptr, - uint8_t*& dst_buf, - uint32_t& dst_len) { +static bool gif_write_data(gif_compress_struct_p gif_ptr, + uint8_t*& dst_buf, + uint32_t& dst_len) { if (!gif_grow_buf(dst_buf, dst_len, gif_ptr->cur_offset + GIF_DATA_BLOCK)) { - return FALSE; + return false; } if (FXSYS_memcmp(gif_ptr->header_ptr->version, "89a", 3) == 0) { dst_buf[gif_ptr->cur_offset++] = GIF_SIG_EXTENSION; @@ -1153,7 +1150,7 @@ static FX_BOOL gif_write_data(gif_compress_struct_p gif_ptr, if (gif_ptr->local_pal) { uint32_t pal_size = sizeof(GifPalette) * gif_ptr->lpal_num; if (!gif_grow_buf(dst_buf, dst_len, pal_size + gif_ptr->cur_offset)) { - return FALSE; + return false; } FXSYS_memcpy(&dst_buf[gif_ptr->cur_offset], gif_ptr->local_pal, pal_size); gif_ptr->cur_offset += pal_size; @@ -1175,7 +1172,7 @@ static FX_BOOL gif_write_data(gif_compress_struct_p gif_ptr, &gif_ptr->src_buf[i * gif_ptr->src_pitch], gif_ptr->src_width * (code_bit + 1), dst_buf, dst_len, gif_ptr->cur_offset)) { - return FALSE; + return false; } } gif_ptr->img_encoder_ptr->Finish(dst_buf, dst_len, gif_ptr->cur_offset); @@ -1220,22 +1217,22 @@ static FX_BOOL gif_write_data(gif_compress_struct_p gif_ptr, dst_buf[gif_ptr->cur_offset++] = 0; } dst_buf[gif_ptr->cur_offset++] = GIF_SIG_TRAILER; - return TRUE; + return true; } -FX_BOOL gif_encode(gif_compress_struct_p gif_ptr, - uint8_t*& dst_buf, - uint32_t& dst_len) { +bool gif_encode(gif_compress_struct_p gif_ptr, + uint8_t*& dst_buf, + uint32_t& dst_len) { if (!gif_write_header(gif_ptr, dst_buf, dst_len)) { - return FALSE; + return false; } uint32_t cur_offset = gif_ptr->cur_offset; - FX_BOOL res = TRUE; + bool res = true; if (gif_ptr->frames) { gif_ptr->cur_offset--; } if (!gif_write_data(gif_ptr, dst_buf, dst_len)) { gif_ptr->cur_offset = cur_offset; - res = FALSE; + res = false; } dst_len = gif_ptr->cur_offset; dst_buf[dst_len - 1] = GIF_SIG_TRAILER; diff --git a/core/fxcodec/lgif/fx_gif.h b/core/fxcodec/lgif/fx_gif.h index 2a40995bbe..eb5f85a187 100644 --- a/core/fxcodec/lgif/fx_gif.h +++ b/core/fxcodec/lgif/fx_gif.h @@ -168,18 +168,16 @@ class CGifLZWEncoder { const uint8_t* src_buf, uint8_t*& dst_buf, uint32_t& offset); - FX_BOOL Encode(const uint8_t* src_buf, - uint32_t src_len, - uint8_t*& dst_buf, - uint32_t& dst_len, - uint32_t& offset); + bool Encode(const uint8_t* src_buf, + uint32_t src_len, + uint8_t*& dst_buf, + uint32_t& dst_len, + uint32_t& offset); void Finish(uint8_t*& dst_buf, uint32_t& dst_len, uint32_t& offset); private: void ClearTable(); - FX_BOOL LookUpInTable(const uint8_t* buf, - uint32_t& offset, - uint8_t& bit_offset); + bool LookUpInTable(const uint8_t* buf, uint32_t& offset, uint8_t& bit_offset); void EncodeString(uint32_t index, uint8_t*& dst_buf, uint32_t& dst_len, @@ -237,12 +235,19 @@ struct tag_gif_decompress_struct { void (*gif_get_row_fn)(gif_decompress_struct_p gif_ptr, int32_t row_num, uint8_t* row_buf); - FX_BOOL (*gif_get_record_position_fn)(gif_decompress_struct_p gif_ptr, - uint32_t cur_pos, - int32_t left, int32_t top, int32_t width, int32_t height, - int32_t pal_num, void* pal_ptr, - int32_t delay_time, FX_BOOL user_input, - int32_t trans_index, int32_t disposal_method, FX_BOOL interlace); + bool (*gif_get_record_position_fn)(gif_decompress_struct_p gif_ptr, + uint32_t cur_pos, + int32_t left, + int32_t top, + int32_t width, + int32_t height, + int32_t pal_num, + void* pal_ptr, + int32_t delay_time, + bool user_input, + int32_t trans_index, + int32_t disposal_method, + bool interlace); CFX_ByteString* cmt_data_ptr; GifGCE* gce_ptr; CFX_ArrayTemplate<GifPlainText*>* pt_ptr_arr_ptr; @@ -300,8 +305,8 @@ void gif_input_buffer(gif_decompress_struct_p gif_ptr, uint32_t gif_get_avail_input(gif_decompress_struct_p gif_ptr, uint8_t** avail_buf_ptr); void interlace_buf(const uint8_t* buf, uint32_t width, uint32_t height); -FX_BOOL gif_encode(gif_compress_struct_p gif_ptr, - uint8_t*& dst_buf, - uint32_t& dst_len); +bool gif_encode(gif_compress_struct_p gif_ptr, + uint8_t*& dst_buf, + uint32_t& dst_len); #endif // CORE_FXCODEC_LGIF_FX_GIF_H_ |