| Index: core/src/fxcodec/codec/fx_codec.cpp | 
| diff --git a/core/src/fxcodec/codec/fx_codec.cpp b/core/src/fxcodec/codec/fx_codec.cpp | 
| index 6998114f83164aefee106af353295620c52f3998..d7c7c4eeb473bf6434aaf3bdc261ca08792bb497 100644 | 
| --- a/core/src/fxcodec/codec/fx_codec.cpp | 
| +++ b/core/src/fxcodec/codec/fx_codec.cpp | 
| @@ -142,121 +142,6 @@ void CCodec_ScanlineDecoder::DownScale(int dest_width, int dest_height) { | 
| m_pDataCache = nonstd::move(cache); | 
| } | 
|  | 
| -FX_BOOL CCodec_BasicModule::RunLengthEncode(const uint8_t* src_buf, | 
| -                                            FX_DWORD src_size, | 
| -                                            uint8_t*& dest_buf, | 
| -                                            FX_DWORD& dest_size) { | 
| -  return FALSE; | 
| -} | 
| - | 
| -#define EXPONENT_DETECT(ptr)                 \ | 
| -  for (;; ptr++) {                           \ | 
| -    if (!std::isdigit(*ptr)) {               \ | 
| -      if (endptr)                            \ | 
| -        *endptr = (char*)ptr;                \ | 
| -      break;                                 \ | 
| -    } else {                                 \ | 
| -      exp_ret *= 10;                         \ | 
| -      exp_ret += FXSYS_toDecimalDigit(*ptr); \ | 
| -      continue;                              \ | 
| -    }                                        \ | 
| -  } | 
| - | 
| -extern "C" double FXstrtod(const char* nptr, char** endptr) { | 
| -  double ret = 0.0; | 
| -  const char* ptr = nptr; | 
| -  const char* exp_ptr = NULL; | 
| -  int e_number = 0, e_signal = 0, e_point = 0, is_negative = 0; | 
| -  int exp_ret = 0, exp_sig = 1, fra_ret = 0, fra_count = 0, fra_base = 1; | 
| -  if (!nptr) { | 
| -    return 0.0; | 
| -  } | 
| -  for (;; ptr++) { | 
| -    if (!e_number && !e_point && (*ptr == '\t' || *ptr == ' ')) | 
| -      continue; | 
| - | 
| -    if (std::isdigit(*ptr)) { | 
| -      if (!e_number) | 
| -        e_number = 1; | 
| - | 
| -      if (!e_point) { | 
| -        ret *= 10; | 
| -        ret += FXSYS_toDecimalDigit(*ptr); | 
| -      } else { | 
| -        fra_count++; | 
| -        fra_ret *= 10; | 
| -        fra_ret += FXSYS_toDecimalDigit(*ptr); | 
| -      } | 
| -      continue; | 
| -    } | 
| -    if (!e_point && *ptr == '.') { | 
| -      e_point = 1; | 
| -      continue; | 
| -    } | 
| -    if (!e_number && !e_point && !e_signal) { | 
| -      switch (*ptr) { | 
| -        case '-': | 
| -          is_negative = 1; | 
| -        case '+': | 
| -          e_signal = 1; | 
| -          continue; | 
| -      } | 
| -    } | 
| -    if (e_number && (*ptr == 'e' || *ptr == 'E')) { | 
| -      exp_ptr = ptr++; | 
| -      if (*ptr == '+' || *ptr == '-') { | 
| -        exp_sig = (*ptr++ == '+') ? 1 : -1; | 
| -        if (!std::isdigit(*ptr)) { | 
| -          if (endptr) { | 
| -            *endptr = (char*)exp_ptr; | 
| -          } | 
| -          break; | 
| -        } | 
| -        EXPONENT_DETECT(ptr); | 
| -      } else if (std::isdigit(*ptr)) { | 
| -        EXPONENT_DETECT(ptr); | 
| -      } else { | 
| -        if (endptr) { | 
| -          *endptr = (char*)exp_ptr; | 
| -        } | 
| -        break; | 
| -      } | 
| -      break; | 
| -    } | 
| -    if (ptr != nptr && !e_number) { | 
| -      if (endptr) { | 
| -        *endptr = (char*)nptr; | 
| -      } | 
| -      break; | 
| -    } | 
| -    if (endptr) { | 
| -      *endptr = (char*)ptr; | 
| -    } | 
| -    break; | 
| -  } | 
| -  while (fra_count--) { | 
| -    fra_base *= 10; | 
| -  } | 
| -  ret += (double)fra_ret / (double)fra_base; | 
| -  if (exp_sig == 1) { | 
| -    while (exp_ret--) { | 
| -      ret *= 10.0; | 
| -    } | 
| -  } else { | 
| -    while (exp_ret--) { | 
| -      ret /= 10.0; | 
| -    } | 
| -  } | 
| -  return is_negative ? -ret : ret; | 
| -} | 
| -#undef EXPONENT_DETECT | 
| - | 
| -FX_BOOL CCodec_BasicModule::A85Encode(const uint8_t* src_buf, | 
| -                                      FX_DWORD src_size, | 
| -                                      uint8_t*& dest_buf, | 
| -                                      FX_DWORD& dest_size) { | 
| -  return FALSE; | 
| -} | 
| class CCodec_RLScanlineDecoder : public CCodec_ScanlineDecoder { | 
| public: | 
| CCodec_RLScanlineDecoder(); | 
|  |