FFmpeg
Data Structures | Macros | Enumerations | Functions
flac.h File Reference

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

#include "avcodec.h"
#include "get_bits.h"

Go to the source code of this file.

Data Structures

struct   FLACStreaminfo
 
struct   FLACFrameInfo
 

Macros

#define  FLAC_STREAMINFO_SIZE   34
 
#define  FLAC_MAX_CHANNELS   8
 
#define  FLAC_MIN_BLOCKSIZE   16
 
#define  FLAC_MAX_BLOCKSIZE   65535
 
#define  FLAC_MIN_FRAME_SIZE   11
 
#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.
 

Enumerations

 
 
 

Functions

  Parse the Streaminfo metadata block.
 
int  avpriv_flac_is_extradata_valid (AVCodecContext *avctx, enum FLACExtradataFormat *format, uint8_t **streaminfo_start)
  Validate the FLAC extradata.
 
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.
 
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_decode_frame_header (AVCodecContext *avctx, GetBitContext *gb, FLACFrameInfo *fi, int log_level_offset)
  Validate and decode a frame header.
 
 

Detailed Description

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

Definition in file flac.h.

Macro Definition Documentation

#define FLAC_STREAMINFO_SIZE   34

Definition at line 33 of file flac.h.

Referenced by avpriv_flac_is_extradata_valid(), avpriv_flac_parse_streaminfo(), ff_flac_write_header(), flac_encode_init(), flac_header(), flac_read_header(), flac_write_trailer(), ogg_build_flac_headers(), parse_streaminfo(), and write_streaminfo().

#define FLAC_MAX_CHANNELS   8

Definition at line 34 of file flac.h.

Referenced by ff_flac_decode_frame_header(), flac_decode_frame(), flac_encode_init(), and write_frame_header().

#define FLAC_MIN_BLOCKSIZE   16

Definition at line 35 of file flac.h.

Referenced by avpriv_flac_parse_streaminfo(), and flac_encode_init().

#define FLAC_MAX_BLOCKSIZE   65535

Definition at line 36 of file flac.h.

Referenced by decode_frame(), flac_decode_frame(), and flac_encode_init().

#define FLAC_MIN_FRAME_SIZE   11

Definition at line 37 of file flac.h.

Referenced by flac_decode_frame().

#define FLACCOMMONINFO
Value:
int samplerate; /**< sample rate */\
int channels; /**< number of channels */\
int bps;

bits-per-sample

Definition at line 62 of file flac.h.

#define FLACSTREAMINFO
Value:
FLACCOMMONINFO \
int max_blocksize; /**< maximum block size, in samples */\
int max_framesize; /**< maximum frame size, in bytes */\
int64_t samples;

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

total number of samples

Definition at line 72 of file flac.h.

Enumeration Type Documentation

anonymous enum
Enumerator:
FLAC_CHMODE_INDEPENDENT
FLAC_CHMODE_LEFT_SIDE
FLAC_CHMODE_RIGHT_SIDE
FLAC_CHMODE_MID_SIDE

Definition at line 39 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 46 of file flac.h.

Enumerator:
FLAC_EXTRADATA_FORMAT_STREAMINFO
FLAC_EXTRADATA_FORMAT_FULL_HEADER

Definition at line 57 of file flac.h.

Function Documentation

void avpriv_flac_parse_streaminfo ( AVCodecContextavctx,
struct FLACStreaminfos,
const uint8_tbuffer 
)

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

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

int avpriv_flac_is_extradata_valid ( AVCodecContextavctx,
enum FLACExtradataFormatformat,
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 169 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_tblock_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 236 of file flac.c.

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

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

Referenced by flac_decode_frame(), flac_encode_frame(), and flac_encode_init().

int ff_flac_decode_frame_header ( AVCodecContextavctx,
GetBitContextgb,
FLACFrameInfofi,
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 50 of file flac.c.

Referenced by decode_frame(), and frame_header_is_valid().

void ff_flac_set_channel_layout ( AVCodecContextavctx )

Definition at line 196 of file flac.c.

Referenced by avpriv_flac_parse_streaminfo(), decode_frame(), and get_best_header().


Generated on Sun Mar 23 2014 23:50:20 for FFmpeg by   doxygen 1.8.2

AltStyle によって変換されたページ (->オリジナル) /