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 \
146 int tmp = bytestream_get_byte(&block_header);
152 *
size = bytestream_get_be24(&block_header);
static const char *const format[]
Libavcodec external API header.
#define FLACCOMMONINFO
bits-per-sample
@ FLAC_EXTRADATA_FORMAT_FULL_HEADER
@ FLAC_EXTRADATA_FORMAT_STREAMINFO
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.
@ FLAC_CHMODE_INDEPENDENT
int ff_flac_is_extradata_valid(AVCodecContext *avctx, enum FLACExtradataFormat *format, uint8_t **streaminfo_start)
Validate the FLAC extradata.
#define FLACSTREAMINFO
Data needed from the Streaminfo header for use by the raw FLAC demuxer and/or the FLAC decoder.
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.
int ff_flac_decode_frame_header(AVCodecContext *avctx, GetBitContext *gb, FLACFrameInfo *fi, int log_level_offset)
Validate and decode a frame header.
void ff_flac_set_channel_layout(AVCodecContext *avctx)
int ff_flac_parse_streaminfo(AVCodecContext *avctx, struct FLACStreaminfo *s, const uint8_t *buffer)
Parse the Streaminfo metadata block.
@ FLAC_METADATA_TYPE_APPLICATION
@ FLAC_METADATA_TYPE_SEEKTABLE
@ FLAC_METADATA_TYPE_INVALID
@ FLAC_METADATA_TYPE_PADDING
@ FLAC_METADATA_TYPE_CUESHEET
@ FLAC_METADATA_TYPE_PICTURE
@ FLAC_METADATA_TYPE_VORBIS_COMMENT
@ FLAC_METADATA_TYPE_STREAMINFO
bitstream reader API header.
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 ...
int64_t frame_or_sample_num
frame number or sample number
int ch_mode
channel decorrelation mode
FLACCOMMONINFO int blocksize
block size of the frame