
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 _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().
| 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] |
It parse E-AC3 sync info.
References AOUT_CHAN_LFE, vlc_a52_header_t::b_eac3, bs_init(), bs_read(), bs_read1(), bs_skip(), 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_A52_HEADER_SIZE, VLC_EGENERIC, and VLC_SUCCESS.
Referenced by vlc_a52_header_Parse().
1.5.6