WebPMuxError WebPMuxGetAnimationParams(const WebPMux* mux, WebPMuxAnimParams* params) { WebPData anim; WebPMuxError err; if (mux == NULL || params == NULL) return WEBP_MUX_INVALID_ARGUMENT; err = MuxGet(mux, IDX_ANIM, 1, &anim); if (err != WEBP_MUX_OK) return err; if (anim.size < kChunks[WEBP_CHUNK_ANIM].size) return WEBP_MUX_BAD_DATA; params->bgcolor = GetLE32(anim.bytes); params->loop_count = GetLE16(anim.bytes + 4); return WEBP_MUX_OK; }
static WEBP_INLINE int ReadLE16s(MemBuffer* const mem) { const uint8_t* const data = mem->buf_ + mem->start_; const int val = GetLE16(data); Skip(mem, 2); return val; }