Go to the documentation of this file.
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 \
113 uint8_t **streaminfo_start);
146 int tmp = bytestream_get_byte(&block_header);
152 *
size = bytestream_get_be24(&block_header);
int ff_flac_decode_frame_header(AVCodecContext *avctx, GetBitContext *gb, FLACFrameInfo *fi, int log_level_offset)
Validate and decode a frame header.
int64_t frame_or_sample_num
frame number or sample number
int is_var_size
specifies if the stream uses variable block sizes or a fixed block size; also determines the meaning ...
@ FLAC_METADATA_TYPE_CUESHEET
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf type
#define FLACCOMMONINFO
bits-per-sample
@ FLAC_CHMODE_INDEPENDENT
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
@ FLAC_METADATA_TYPE_PADDING
@ FLAC_METADATA_TYPE_STREAMINFO
FLACCOMMONINFO int blocksize
block size of the frame
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_METADATA_TYPE_SEEKTABLE
void ff_flac_set_channel_layout(AVCodecContext *avctx, int channels)
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_is_extradata_valid(AVCodecContext *avctx, enum FLACExtradataFormat *format, uint8_t **streaminfo_start)
Validate the FLAC extradata.
@ FLAC_EXTRADATA_FORMAT_FULL_HEADER
int ch_mode
channel decorrelation mode
@ FLAC_METADATA_TYPE_INVALID
int ff_flac_parse_streaminfo(AVCodecContext *avctx, struct FLACStreaminfo *s, const uint8_t *buffer)
Parse the Streaminfo metadata block.
main external API structure.
the frame and frame reference mechanism is intended to as much as expensive copies of that data while still allowing the filters to produce correct results The data is stored in buffers represented by AVFrame structures Several references can point to the same frame buffer
@ FLAC_METADATA_TYPE_PICTURE
@ FLAC_EXTRADATA_FORMAT_STREAMINFO
@ FLAC_METADATA_TYPE_VORBIS_COMMENT
@ FLAC_METADATA_TYPE_APPLICATION
#define FLACSTREAMINFO
Data needed from the Streaminfo header for use by the raw FLAC demuxer and/or the FLAC decoder.