MCPcopy Create free account
hub / github.com/FFmpeg/FFmpeg / decodeplane32

Function decodeplane32

libavcodec/iff.c:427–443  ·  view source on GitHub ↗

* Decode interleaved plane buffer up to 24bpp * @param dst Destination buffer * @param buf Source buffer * @param buf_size * @param plane plane number to decode as */

Source from the content-addressed store, hash-verified

425 * @param plane plane number to decode as
426 */
427static void decodeplane32(uint32_t *dst, const uint8_t *buf, int buf_size, int plane)
428{
429 const uint32_t *lut = plane32_lut[plane];
430 do {
431 unsigned mask = (*buf >> 2) & ~3;
432 dst[0] |= lut[mask++];
433 dst[1] |= lut[mask++];
434 dst[2] |= lut[mask++];
435 dst[3] |= lut[mask];
436 mask = (*buf++ << 2) & 0x3F;
437 dst[4] |= lut[mask++];
438 dst[5] |= lut[mask++];
439 dst[6] |= lut[mask++];
440 dst[7] |= lut[mask];
441 dst += 8;
442 } while (--buf_size);
443}
444
445#define DECODE_HAM_PLANE32(x) \
446 first = buf[x] << 1; \

Callers 1

decode_frameFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected