libavcodec/flac.c File Reference

#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 }


Function Documentation

int avpriv_flac_is_extradata_valid ( AVCodecContext avctx,
enum FLACExtradataFormat format,
uint8_t **  streaminfo_start 
)

Validate the FLAC extradata.

Parameters:
[in] avctx codec context containing the extradata.
[out] format extradata format.
[out] streaminfo_start pointer to start of 34-byte STREAMINFO data.
Returns:
1 if valid, 0 if not valid.

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.

Parameters:
[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.

Parameters:
[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.

Parameters:
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.
Returns:
non-zero on error, 0 if ok

Definition at line 38 of file flac.c.

Referenced by decode_frame(), and frame_header_is_valid().

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.

Parameters:
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]

Definition at line 31 of file flac.c.

Referenced by ff_flac_decode_frame_header().


Variable Documentation

const int8_t sample_size_table[] = { 0, 8, 12, 0, 16, 20, 24, 0 } [static]

Definition at line 29 of file flac.c.

Referenced by ff_flac_decode_frame_header().


Generated on Fri Oct 26 02:50:05 2012 for FFmpeg by  doxygen 1.5.8