/* SPDX-License-Identifier: MIT. PMF0/PMFZ-26 memory-only video codec. */
#ifndef PMF0_H
#define PMF0_H
#include <stdint.h>
#include <stddef.h>
typedef struct { uint32_t width,height,count,audio_rate; uint16_t fps,root,min,gop; uint8_t profile,audio_channels,audio_bits; } pmf0_info;
typedef struct { pmf0_info info; uint8_t *rgba,*audio; size_t audio_size; } pmf0_video;
/* rgba contains count full frames; audio is the continuous RAU stream. */
int pmf0_inspect(const uint8_t *,size_t,pmf0_info *);
int pmf0_decode(const uint8_t *,size_t,pmf0_video *);
int pmf0_encode(const pmf0_video *,unsigned quality,uint8_t **,size_t *);
void pmf0_free(pmf0_video *);
#endif
