27 #ifndef AVCODEC_FLAC_H 28 #define AVCODEC_FLAC_H 34 #define FLAC_STREAMINFO_SIZE 34 35 #define FLAC_MAX_CHANNELS 8 36 #define FLAC_MIN_BLOCKSIZE 16 37 #define FLAC_MAX_BLOCKSIZE 65535 38 #define FLAC_MIN_FRAME_SIZE 11 63 #define FLACCOMMONINFO \ 72 #define FLACSTREAMINFO \ 86 int64_t frame_or_sample_num;
146 int tmp = bytestream_get_byte(&block_header);
152 *size = bytestream_get_be24(&block_header);
int ff_flac_parse_streaminfo(AVCodecContext *avctx, struct FLACStreaminfo *s, const uint8_t *buffer)
Parse the Streaminfo metadata block.
int ff_flac_is_extradata_valid(AVCodecContext *avctx, enum FLACExtradataFormat *format, uint8_t **streaminfo_start)
Validate the FLAC extradata.
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 ff_flac_set_channel_layout(AVCodecContext *avctx)
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.
#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...
Libavcodec external API header.
main external API structure.
static av_always_inline void flac_parse_block_header(const uint8_t *block_header, int *last, int *type, int *size)
Parse the metadata block parameters from the header.