libavcodec/flac.h File Reference

FLAC (Free Lossless Audio Codec) decoder/demuxer common functions. More...

#include "avcodec.h"

Go to the source code of this file.

Data Structures

struct  FLACStreaminfo
struct  FLACFrameInfo

Defines

#define FLAC_STREAMINFO_SIZE   34
#define FLAC_MAX_CHANNELS   8
#define FLAC_MIN_BLOCKSIZE   16
#define FLAC_MAX_BLOCKSIZE   65535
#define FLACCOMMONINFO
 sample rate
#define FLACSTREAMINFO
 Data needed from the Streaminfo header for use by the raw FLAC demuxer and/or the FLAC decoder.

Typedefs

typedef struct FLACStreaminfo FLACStreaminfo
typedef struct FLACFrameInfo FLACFrameInfo

Enumerations

enum  { FLAC_CHMODE_INDEPENDENT = 0, FLAC_CHMODE_LEFT_SIDE = 8, FLAC_CHMODE_RIGHT_SIDE = 9, FLAC_CHMODE_MID_SIDE = 10 }
enum  {
  FLAC_METADATA_TYPE_STREAMINFO = 0, FLAC_METADATA_TYPE_PADDING, FLAC_METADATA_TYPE_APPLICATION, FLAC_METADATA_TYPE_SEEKTABLE,
  FLAC_METADATA_TYPE_VORBIS_COMMENT, FLAC_METADATA_TYPE_CUESHEET, FLAC_METADATA_TYPE_PICTURE, FLAC_METADATA_TYPE_INVALID = 127
}
enum  FLACExtradataFormat { FLAC_EXTRADATA_FORMAT_STREAMINFO = 0, FLAC_EXTRADATA_FORMAT_FULL_HEADER = 1 }

Functions

void 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.
void ff_flac_parse_block_header (const uint8_t *block_header, int *last, int *type, int *size)
 Parse the metadata block parameters from the 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.

Detailed Description

FLAC (Free Lossless Audio Codec) decoder/demuxer common functions.

Definition in file flac.h.


Define Documentation

#define FLAC_MAX_BLOCKSIZE   65535

Definition at line 35 of file flac.h.

Referenced by flac_encode_init().

#define FLAC_MAX_CHANNELS   8

Definition at line 33 of file flac.h.

Referenced by decode_frame_header(), and flac_encode_init().

#define FLAC_MIN_BLOCKSIZE   16

Definition at line 34 of file flac.h.

Referenced by ff_flac_parse_streaminfo(), and flac_encode_init().

#define FLAC_STREAMINFO_SIZE   34
#define FLACCOMMONINFO
Value:
int samplerate;         \
    int channels;           \
    int bps;                \

sample rate

number of channels bits-per-sample

Definition at line 60 of file flac.h.

#define FLACSTREAMINFO
Value:
FLACCOMMONINFO \
    int max_blocksize;      \
    int max_framesize;      \
    int64_t samples;        \

Data needed from the Streaminfo header for use by the raw FLAC demuxer and/or the FLAC decoder.

maximum block size, in samples maximum frame size, in bytes total number of samples

Definition at line 69 of file flac.h.


Typedef Documentation

typedef struct FLACFrameInfo FLACFrameInfo

Enumeration Type Documentation

anonymous enum
Enumerator:
FLAC_CHMODE_INDEPENDENT 
FLAC_CHMODE_LEFT_SIDE 
FLAC_CHMODE_RIGHT_SIDE 
FLAC_CHMODE_MID_SIDE 

Definition at line 37 of file flac.h.

anonymous enum
Enumerator:
FLAC_METADATA_TYPE_STREAMINFO 
FLAC_METADATA_TYPE_PADDING 
FLAC_METADATA_TYPE_APPLICATION 
FLAC_METADATA_TYPE_SEEKTABLE 
FLAC_METADATA_TYPE_VORBIS_COMMENT 
FLAC_METADATA_TYPE_CUESHEET 
FLAC_METADATA_TYPE_PICTURE 
FLAC_METADATA_TYPE_INVALID 

Definition at line 44 of file flac.h.

Enumerator:
FLAC_EXTRADATA_FORMAT_STREAMINFO 
FLAC_EXTRADATA_FORMAT_FULL_HEADER 

Definition at line 55 of file flac.h.


Function Documentation

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 24 of file flac.c.

Referenced by allocate_buffers(), and flac_encode_init().

int ff_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 82 of file flacdec.c.

Referenced by ff_flac_write_header(), flac_decode_init(), flac_write_trailer(), and ogg_build_flac_headers().

void ff_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 203 of file flacdec.c.

Referenced by flac_read_header(), get_metadata_size(), and parse_streaminfo().

void ff_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 169 of file flacdec.c.

Referenced by flac_decode_init(), flac_header(), flac_read_header(), and parse_streaminfo().

Generated on Mon Oct 4 10:51:30 2010 for FFmpeg by  doxygen 1.6.3