MCPcopy Create free account
hub / github.com/ValveSoftware/openvr / readChunk_PLTE

Function readChunk_PLTE

samples/shared/lodepng.cpp:4108–4130  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4106}
4107
4108static unsigned readChunk_PLTE(LodePNGColorMode* color, const unsigned char* data, size_t chunkLength)
4109{
4110 unsigned pos = 0, i;
4111 if(color->palette) lodepng_free(color->palette);
4112 color->palettesize = chunkLength / 3;
4113 color->palette = (unsigned char*)lodepng_malloc(4 * color->palettesize);
4114 if(!color->palette && color->palettesize)
4115 {
4116 color->palettesize = 0;
4117 return 83; /*alloc fail*/
4118 }
4119 if(color->palettesize > 256) return 38; /*error: palette too big*/
4120
4121 for(i = 0; i < color->palettesize; i++)
4122 {
4123 color->palette[4 * i + 0] = data[pos++]; /*R*/
4124 color->palette[4 * i + 1] = data[pos++]; /*G*/
4125 color->palette[4 * i + 2] = data[pos++]; /*B*/
4126 color->palette[4 * i + 3] = 255; /*alpha*/
4127 }
4128
4129 return 0; /* OK */
4130}
4131
4132static unsigned readChunk_tRNS(LodePNGColorMode* color, const unsigned char* data, size_t chunkLength)
4133{

Callers 1

decodeGenericFunction · 0.85

Calls 2

lodepng_freeFunction · 0.85
lodepng_mallocFunction · 0.85

Tested by

no test coverage detected