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.
Filter the word “frame” indicates either a video frame or a group of audio as stored in an AVFrame structure Format for each input and each output the list of supported formats For video that means pixel format For audio that means channel sample format(the sample packing is implied by the sample format) and sample rate.The lists are not just lists
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.