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 \
102 #if LIBAVCODEC_VERSION_MAJOR < 57
152 int tmp = bytestream_get_byte(&block_header);
158 *size = bytestream_get_be24(&block_header);
int64_t frame_or_sample_num
frame number or sample number
int ff_flac_is_extradata_valid(AVCodecContext *avctx, enum FLACExtradataFormat *format, uint8_t **streaminfo_start)
Validate the FLAC extradata.
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 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.
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...
Libavcodec external API header.
void ff_flac_parse_streaminfo(AVCodecContext *avctx, struct FLACStreaminfo *s, const uint8_t *buffer)
Parse the Streaminfo metadata block.
void avpriv_flac_parse_streaminfo(AVCodecContext *avctx, struct FLACStreaminfo *s, const uint8_t *buffer)
int avpriv_flac_is_extradata_valid(AVCodecContext *avctx, enum FLACExtradataFormat *format, uint8_t **streaminfo_start)
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.
int is_var_size
specifies if the stream uses variable block sizes or a fixed block size; also determines the meaning ...