#ifndef AVFORMAT_RIFF_H
#define AVFORMAT_RIFF_H
#include "avio.h"
#include "internal.h"
#include "metadata.h"
extern const AVMetadataConv ff_riff_info_conv[];
int64_t ff_start_tag(AVIOContext *pb, const char *tag);
void ff_end_tag(AVIOContext *pb, int64_t start);
int ff_get_bmp_header(AVIOContext *pb, AVStream *st, uint32_t *size);
void ff_put_bmp_header(AVIOContext *pb, AVCodecParameters *par, int for_asf, int ignore_extradata, int rgb_frame_is_flipped);
#define FF_PUT_WAV_HEADER_FORCE_WAVEFORMATEX …
#define FF_PUT_WAV_HEADER_SKIP_CHANNELMASK …
int ff_put_wav_header(AVFormatContext *s, AVIOContext *pb, AVCodecParameters *par, int flags);
enum AVCodecID ff_wav_codec_get_id(unsigned int tag, int bps);
int ff_get_wav_header(void *logctx, AVIOContext *pb, AVCodecParameters *par,
int size, int big_endian);
extern const AVCodecTag ff_codec_bmp_tags[];
extern const AVCodecTag ff_codec_wav_tags[];
extern const AVCodecTag *const ff_riff_codec_tags_list[];
extern const AVCodecTag *const ff_wav_codec_tags_list[];
extern const AVCodecTag ff_codec_bmp_tags_unofficial[];
void ff_parse_specific_params(AVStream *st, int *au_rate, int *au_ssize, int *au_scale);
int ff_read_riff_info(AVFormatContext *s, int64_t size);
void ff_riff_write_info(AVFormatContext *s);
void ff_riff_write_info_tag(AVIOContext *pb, const char *tag, const char *str);
ff_asf_guid;
AVCodecGuid;
extern const AVCodecGuid ff_codec_wav_guids[];
#define FF_PRI_GUID …
#define FF_ARG_GUID(g) …
#define FF_MEDIASUBTYPE_BASE_GUID …
#define FF_AMBISONIC_BASE_GUID …
#define FF_BROKEN_BASE_GUID …
static av_always_inline int ff_guidcmp(const void *g1, const void *g2)
{ … }
int ff_get_guid(AVIOContext *s, ff_asf_guid *g);
void ff_put_guid(AVIOContext *s, const ff_asf_guid *g);
const ff_asf_guid *ff_get_codec_guid(enum AVCodecID id, const AVCodecGuid *av_guid);
enum AVCodecID ff_codec_guid_get_id(const AVCodecGuid *guids, ff_asf_guid guid);
#endif