#include "libavutil/crc.h"
#include "libavutil/log.h"
#include "bytestream.h"
#include "get_bits.h"
#include "flac.h"
#include "flacdata.h"
Go to the source code of this file.
Functions | |
static int64_t | get_utf8 (GetBitContext *gb) |
int | ff_flac_decode_frame_header (AVCodecContext *avctx, GetBitContext *gb, FLACFrameInfo *fi, int log_level_offset) |
Validate and decode a frame header. | |
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 | avpriv_flac_is_extradata_valid (AVCodecContext *avctx, enum FLACExtradataFormat *format, uint8_t **streaminfo_start) |
Validate the FLAC extradata. | |
void | avpriv_flac_parse_streaminfo (AVCodecContext *avctx, struct FLACStreaminfo *s, const uint8_t *buffer) |
Parse the Streaminfo metadata block. | |
void | avpriv_flac_parse_block_header (const uint8_t *block_header, int *last, int *type, int *size) |
Parse the metadata block parameters from the header. | |
Variables | |
static const int8_t | sample_size_table [] = { 0, 8, 12, 0, 16, 20, 24, 0 } |
int avpriv_flac_is_extradata_valid | ( | AVCodecContext * | avctx, | |
enum FLACExtradataFormat * | format, | |||
uint8_t ** | streaminfo_start | |||
) |
Validate the FLAC extradata.
[in] | avctx | codec context containing the extradata. |
[out] | format | extradata format. |
[out] | streaminfo_start | pointer to start of 34-byte STREAMINFO data. |
Definition at line 157 of file flac.c.
Referenced by ff_flac_write_header(), flac_decode_init(), flac_write_trailer(), and ogg_build_flac_headers().
void avpriv_flac_parse_block_header | ( | const uint8_t * | block_header, | |
int * | last, | |||
int * | type, | |||
int * | size | |||
) |
Parse the metadata block parameters from the header.
[in] | block_header | header data, at least 4 bytes |
[out] | last | indicator for last metadata block |
[out] | type | metadata block type |
[out] | size | metadata block size |
Definition at line 216 of file flac.c.
Referenced by flac_read_header(), get_metadata_size(), and parse_streaminfo().
void avpriv_flac_parse_streaminfo | ( | AVCodecContext * | avctx, | |
struct FLACStreaminfo * | s, | |||
const uint8_t * | buffer | |||
) |
Parse the Streaminfo metadata block.
[out] | avctx | codec context to set basic stream parameters |
[out] | s | where parsed information is stored |
[in] | buffer | pointer to start of 34-byte streaminfo data |
Definition at line 184 of file flac.c.
Referenced by flac_decode_init(), flac_header(), flac_read_header(), and parse_streaminfo().
int ff_flac_decode_frame_header | ( | AVCodecContext * | avctx, | |
GetBitContext * | gb, | |||
FLACFrameInfo * | fi, | |||
int | log_level_offset | |||
) |
Validate and decode a frame header.
avctx | AVCodecContext to use as av_log() context | |
gb | GetBitContext from which to read frame header | |
[out] | fi | frame information |
log_level_offset | log level offset. can be used to silence error messages. |
Definition at line 38 of file flac.c.
Referenced by decode_frame(), and frame_header_is_valid().
Calculate an estimate for the maximum frame size based on verbatim mode.
blocksize | block size, in samples | |
ch | number of channels | |
bps | bits-per-sample |
Definition at line 136 of file flac.c.
Referenced by flac_decode_frame(), flac_encode_frame(), and flac_encode_init().
static int64_t get_utf8 | ( | GetBitContext * | gb | ) | [static] |
const int8_t sample_size_table[] = { 0, 8, 12, 0, 16, 20, 24, 0 } [static] |