* Decode interleaved plane buffer up to 8bpp * @param dst Destination buffer * @param buf Source buffer * @param buf_size * @param plane plane number to decode as */
| 403 | * @param plane plane number to decode as |
| 404 | */ |
| 405 | static void decodeplane8(uint8_t *dst, const uint8_t *buf, int buf_size, int plane) |
| 406 | { |
| 407 | const uint64_t *lut; |
| 408 | if (plane >= 8) { |
| 409 | av_log(NULL, AV_LOG_WARNING, "Ignoring extra planes beyond 8\n"); |
| 410 | return; |
| 411 | } |
| 412 | lut = plane8_lut[plane]; |
| 413 | do { |
| 414 | uint64_t v = AV_RN64A(dst) | lut[*buf++]; |
| 415 | AV_WN64A(dst, v); |
| 416 | dst += 8; |
| 417 | } while (--buf_size); |
| 418 | } |
| 419 | |
| 420 | /** |
| 421 | * Decode interleaved plane buffer up to 24bpp |
no test coverage detected