/* SPDX-License-Identifier: MIT. Memory-only RFXA/RFXZ-26. */
#ifndef RFXLANIM_H
#define RFXLANIM_H
#include <stddef.h>
#include <stdint.h>
typedef struct { uint32_t width, height, count; uint16_t fps, audio_rate; uint8_t quality, flags, audio_channels, audio_bits; } rfxa_info;
typedef struct { uint8_t *bytes; size_t size; } rfxa_audio_chunk;
typedef struct { rfxa_info info; uint8_t *rgba; rfxa_audio_chunk *audio; } rfxa_animation;
/* rgba is count consecutive full RGBA frames; audio chunks are RAU streams. */
int rfxa_inspect(const uint8_t *, size_t, rfxa_info *);
int rfxa_decode(const uint8_t *, size_t, rfxa_animation *);
int rfxa_encode(const rfxa_animation *, unsigned quality, int compressed, uint8_t **, size_t *);
void rfxa_free(rfxa_animation *);
#endif
