a52.h File Reference

Include dependency graph for a52.h:

Go to the source code of this file.

Data Structures

struct  vlc_a52_acmod_t
struct  vlc_a52_header_t
 AC3 header information. More...

Defines

#define _VLC_A52_H   1
#define VLC_A52_HEADER_SIZE   (8)
 Minimum AC3 header size that vlc_a52_header_Parse needs.

Functions

static int vlc_a52_header_ParseAc3 (vlc_a52_header_t *p_header, const uint8_t *p_buf, const vlc_a52_acmod_t *p_acmod)
 It parse AC3 sync info.
static int vlc_a52_header_ParseEac3 (vlc_a52_header_t *p_header, const uint8_t *p_buf, const vlc_a52_acmod_t *p_acmod)
 It parse E-AC3 sync info.
static int vlc_a52_header_Parse (vlc_a52_header_t *p_header, const uint8_t *p_buffer, int i_buffer)
 It will parse the header AC3 frame and fill vlc_a52_header_t* if it is valid or return VLC_EGENERIC.


Define Documentation

#define _VLC_A52_H   1

#define VLC_A52_HEADER_SIZE   (8)

Minimum AC3 header size that vlc_a52_header_Parse needs.

Referenced by A52CheckSync(), A52Init(), A52Probe(), DecodeBlock(), EA52Probe(), vlc_a52_header_Parse(), and vlc_a52_header_ParseEac3().


Function Documentation

static int vlc_a52_header_Parse ( vlc_a52_header_t p_header,
const uint8_t *  p_buffer,
int  i_buffer 
) [inline, static]

It will parse the header AC3 frame and fill vlc_a52_header_t* if it is valid or return VLC_EGENERIC.

XXX It will only recognize big endian bitstream ie starting with 0x0b, 0x77

References AOUT_CHAN_CENTER, AOUT_CHAN_DUALMONO, AOUT_CHAN_LEFT, AOUT_CHAN_REARCENTER, AOUT_CHAN_REARLEFT, AOUT_CHAN_REARRIGHT, AOUT_CHAN_RIGHT, vlc_a52_header_ParseAc3(), vlc_a52_header_ParseEac3(), VLC_A52_HEADER_SIZE, VLC_EGENERIC, and VLC_SUCCESS.

Referenced by A52CheckSync(), and DecodeBlock().

static int vlc_a52_header_ParseAc3 ( vlc_a52_header_t p_header,
const uint8_t *  p_buf,
const vlc_a52_acmod_t p_acmod 
) [inline, static]

It parse AC3 sync info.

This code is borrowed from liba52 by Aaron Holtzman & Michel Lespinasse, since we don't want to oblige S/PDIF people to use liba52 just to get their SyncInfo...

References AOUT_CHAN_DOLBYSTEREO, AOUT_CHAN_LEFT, AOUT_CHAN_LFE, AOUT_CHAN_RIGHT, vlc_a52_header_t::b_eac3, vlc_a52_header_t::i_bitrate, vlc_a52_header_t::i_channels, vlc_a52_header_t::i_channels_conf, vlc_a52_acmod_t::i_configuration, vlc_a52_acmod_t::i_count, vlc_a52_header_t::i_rate, vlc_a52_header_t::i_samples, vlc_a52_header_t::i_size, VLC_EGENERIC, and VLC_SUCCESS.

Referenced by vlc_a52_header_Parse().

static int vlc_a52_header_ParseEac3 ( vlc_a52_header_t p_header,
const uint8_t *  p_buf,
const vlc_a52_acmod_t p_acmod 
) [inline, static]


Generated on Tue May 25 08:05:11 2010 for VLC by  doxygen 1.5.6