27 #ifndef AVCODEC_FLAC_H
28 #define AVCODEC_FLAC_H
33 #define FLAC_STREAMINFO_SIZE 34
34 #define FLAC_MAX_CHANNELS 8
35 #define FLAC_MIN_BLOCKSIZE 16
36 #define FLAC_MAX_BLOCKSIZE 65535
37 #define FLAC_MIN_FRAME_SIZE 11
62 #define FLACCOMMONINFO \
71 #define FLACSTREAMINFO \
110 uint8_t **streaminfo_start);
120 int *last,
int *type,
int *
size);
int64_t frame_or_sample_num
frame number or sample number
FLACCOMMONINFO int blocksize
block size of the frame
int ff_flac_get_max_frame_size(int blocksize, int ch, int bps)
Calculate an estimate for the maximum frame size based on verbatim mode.
void avpriv_flac_parse_block_header(const uint8_t *block_header, int *last, int *type, int *size)
Parse the metadata block parameters from the header.
bitstream reader API header.
int ff_flac_decode_frame_header(AVCodecContext *avctx, GetBitContext *gb, FLACFrameInfo *fi, int log_level_offset)
Validate and decode a frame header.
struct FLACFrameInfo FLACFrameInfo
int ch_mode
channel decorrelation mode
#define FLACCOMMONINFO
bits-per-sample
#define FLACSTREAMINFO
Data needed from the Streaminfo header for use by the raw FLAC demuxer and/or the FLAC decoder...
void avpriv_flac_parse_streaminfo(AVCodecContext *avctx, struct FLACStreaminfo *s, const uint8_t *buffer)
Parse the Streaminfo metadata block.
int avpriv_flac_is_extradata_valid(AVCodecContext *avctx, enum FLACExtradataFormat *format, uint8_t **streaminfo_start)
Validate the FLAC extradata.
struct FLACStreaminfo FLACStreaminfo
main external API structure.
int is_var_size
specifies if the stream uses variable block sizes or a fixed block size; also determines the meaning ...