
Data Structures | |
| struct | mpeg4_cfg_t |
| struct | latm_stream_t |
| struct | latm_mux_t |
| struct | decoder_sys_t |
Defines | |
| #define | LATM_MAX_EXTRA_SIZE 64 |
| #define | LATM_MAX_LAYER (8) |
| #define | LATM_MAX_PROGRAM (16) |
| #define | ADTS_HEADER_SIZE 9 |
| #define | LOAS_HEADER_SIZE 3 |
Enumerations | |
| enum | { STATE_NOSYNC, STATE_SYNC, STATE_HEADER, STATE_NEXT_SYNC, STATE_GET_DATA, STATE_SEND_DATA } |
| enum | { TYPE_NONE, TYPE_RAW, TYPE_ADTS, TYPE_LOAS } |
Functions | |
| static int | OpenPacketizer (vlc_object_t *) |
| static void | ClosePacketizer (vlc_object_t *) |
| static block_t * | PacketizeRawBlock (decoder_t *, block_t **) |
| static block_t * | PacketizeStreamBlock (decoder_t *, block_t **) |
| int | vlc_entry__main (module_t *p_module) |
| const char * | vlc_entry_license__main (void) |
| static int | ADTSSyncInfo (decoder_t *p_dec, const uint8_t *p_buf, unsigned int *pi_channels, unsigned int *pi_sample_rate, unsigned int *pi_frame_length, unsigned int *pi_header_size) |
| static int | LOASSyncInfo (uint8_t p_header[3], unsigned int *pi_header_size) |
| static int | Mpeg4GAProgramConfigElement (bs_t *s) |
| static int | Mpeg4GASpecificConfig (mpeg4_cfg_t *p_cfg, bs_t *s) |
| static int | Mpeg4ReadAudioObjectType (bs_t *s) |
| static int | Mpeg4ReadAudioSamplerate (bs_t *s) |
| static int | Mpeg4ReadAudioSpecificInfo (mpeg4_cfg_t *p_cfg, int *pi_extra, uint8_t *p_extra, bs_t *s, int i_max_size) |
| static int | LatmGetValue (bs_t *s) |
| static int | LatmReadStreamMuxConfiguration (latm_mux_t *m, bs_t *s) |
| static int | LOASParse (decoder_t *p_dec, uint8_t *p_buffer, int i_buffer) |
| static void | SetupOutput (decoder_t *p_dec, block_t *p_block) |
Variables | |
| static const int | pi_sample_rates [16] |
| #define ADTS_HEADER_SIZE 9 |
| #define LATM_MAX_EXTRA_SIZE 64 |
Referenced by Mpeg4ReadAudioSpecificInfo().
| #define LATM_MAX_LAYER (8) |
Referenced by LOASParse().
| #define LATM_MAX_PROGRAM (16) |
Referenced by LOASParse().
| #define LOAS_HEADER_SIZE 3 |
Referenced by PacketizeStreamBlock().
| anonymous enum |
| static int ADTSSyncInfo | ( | decoder_t * | p_dec, | |
| const uint8_t * | p_buf, | |||
| unsigned int * | pi_channels, | |||
| unsigned int * | pi_sample_rate, | |||
| unsigned int * | pi_frame_length, | |||
| unsigned int * | pi_header_size | |||
| ) | [static] |
References decoder_t::fmt_out, i, es_format_t::i_extra, msg_Err, msg_Warn, es_format_t::p_extra, and pi_sample_rates.
Referenced by PacketizeStreamBlock().
| static void ClosePacketizer | ( | vlc_object_t * | p_this | ) | [static] |
References block_BytestreamRelease(), decoder_sys_t::bytestream, decoder_t::p_sys, and p_sys.
| static int LatmGetValue | ( | bs_t * | s | ) | [static] |
| static int LatmReadStreamMuxConfiguration | ( | latm_mux_t * | m, | |
| bs_t * | s | |||
| ) | [static] |
References latm_mux_t::b_same_time_framing, bs_read(), bs_read1(), bs_skip(), latm_stream_t::cfg, latm_stream_t::extra, latm_mux_t::i_crc, latm_stream_t::i_extra, latm_stream_t::i_frame_length, latm_stream_t::i_frame_length_index, latm_stream_t::i_frame_length_type, latm_stream_t::i_layer, mpeg4_cfg_t::i_object_type, latm_mux_t::i_other_data, latm_stream_t::i_program, latm_mux_t::i_programs, latm_mux_t::i_streams, latm_mux_t::i_sub_frames, LatmGetValue(), Mpeg4ReadAudioSpecificInfo(), latm_mux_t::pi_layers, latm_mux_t::pi_stream, and latm_mux_t::stream.
Referenced by LOASParse().
| static int LOASParse | ( | decoder_t * | p_dec, | |
| uint8_t * | p_buffer, | |||
| int | i_buffer | |||
| ) | [static] |
References decoder_sys_t::b_latm_cfg, latm_mux_t::b_same_time_framing, bs_align(), bs_init(), bs_read(), bs_read1(), bs_skip(), latm_stream_t::cfg, latm_stream_t::extra, decoder_t::fmt_out, i, mpeg4_cfg_t::i_channel, decoder_sys_t::i_channels, latm_stream_t::i_extra, es_format_t::i_extra, latm_stream_t::i_frame_length, mpeg4_cfg_t::i_frame_length, decoder_sys_t::i_frame_length, latm_stream_t::i_frame_length_type, latm_stream_t::i_layer, latm_mux_t::i_other_data, latm_stream_t::i_program, latm_mux_t::i_programs, decoder_sys_t::i_rate, mpeg4_cfg_t::i_samplerate, latm_mux_t::i_streams, latm_mux_t::i_sub_frames, decoder_sys_t::latm, LATM_MAX_LAYER, LATM_MAX_PROGRAM, LatmReadStreamMuxConfiguration(), msg_Err, es_format_t::p_extra, decoder_t::p_sys, p_sys, latm_mux_t::pi_layers, latm_mux_t::pi_stream, and latm_mux_t::stream.
Referenced by PacketizeStreamBlock().
| static int LOASSyncInfo | ( | uint8_t | p_header[3], | |
| unsigned int * | pi_header_size | |||
| ) | [static] |
Referenced by PacketizeStreamBlock().
| static int Mpeg4GAProgramConfigElement | ( | bs_t * | s | ) | [static] |
References bs_align(), bs_read(), bs_read1(), bs_skip(), and i_tag.
Referenced by Mpeg4GASpecificConfig().
| static int Mpeg4GASpecificConfig | ( | mpeg4_cfg_t * | p_cfg, | |
| bs_t * | s | |||
| ) | [static] |
References bs_read1(), bs_skip(), mpeg4_cfg_t::i_channel, mpeg4_cfg_t::i_frame_length, mpeg4_cfg_t::i_object_type, and Mpeg4GAProgramConfigElement().
Referenced by Mpeg4ReadAudioSpecificInfo().
| static int Mpeg4ReadAudioObjectType | ( | bs_t * | s | ) | [static] |
| static int Mpeg4ReadAudioSamplerate | ( | bs_t * | s | ) | [static] |
| static int Mpeg4ReadAudioSpecificInfo | ( | mpeg4_cfg_t * | p_cfg, | |
| int * | pi_extra, | |||
| uint8_t * | p_extra, | |||
| bs_t * | s, | |||
| int | i_max_size | |||
| ) | [static] |
References __MIN, bs_pos(), bs_read(), bs_read1(), mpeg4_cfg_t::extension, i, mpeg4_cfg_t::i_channel, mpeg4_cfg_t::i_object_type, mpeg4_cfg_t::i_ps, mpeg4_cfg_t::i_samplerate, mpeg4_cfg_t::i_sbr, LATM_MAX_EXTRA_SIZE, Mpeg4GASpecificConfig(), Mpeg4ReadAudioObjectType(), and Mpeg4ReadAudioSamplerate().
Referenced by LatmReadStreamMuxConfiguration().
| static int OpenPacketizer | ( | vlc_object_t * | p_this | ) | [static] |
References es_format_t::audio, AUDIO_ES, decoder_sys_t::b_latm_cfg, block_BytestreamInit(), decoder_sys_t::bytestream, date_Init(), date_Set(), decoder_sys_t::end_date, decoder_t::fmt_in, decoder_t::fmt_out, es_format_t::i_cat, audio_format_t::i_channels, es_format_t::i_codec, es_format_t::i_extra, audio_format_t::i_frame_length, audio_format_t::i_rate, decoder_sys_t::i_state, decoder_sys_t::i_type, msg_Dbg, es_format_t::p_extra, decoder_t::p_sys, p_sys, PacketizeRawBlock(), PacketizeStreamBlock(), decoder_t::pf_packetize, pi_sample_rates, STATE_NOSYNC, TYPE_NONE, TYPE_RAW, VLC_CODEC_MP4A, VLC_EGENERIC, VLC_ENOMEM, and VLC_SUCCESS.
References es_format_t::audio, BLOCK_FLAG_CORRUPTED, BLOCK_FLAG_DISCONTINUITY, block_Release(), date_Get(), date_Increment(), date_Set(), decoder_sys_t::end_date, decoder_t::fmt_out, block_t::i_dts, audio_format_t::i_frame_length, block_t::i_length, block_t::i_pts, decoder_t::p_sys, p_sys, and VLC_TS_INVALID.
Referenced by OpenPacketizer().
References ADTS_HEADER_SIZE, ADTSSyncInfo(), decoder_sys_t::b_latm_cfg, block_BytestreamEmpty(), block_BytestreamFlush(), block_BytestreamPop(), block_BytestreamPush(), BLOCK_FLAG_CORRUPTED, BLOCK_FLAG_DISCONTINUITY, block_GetBytes(), block_New, block_PeekBytes(), block_PeekOffsetBytes(), block_Release(), block_SkipByte(), block_SkipBytes(), block_WaitBytes(), decoder_sys_t::bytestream, date_Get(), date_Set(), decoder_sys_t::end_date, block_t::i_buffer, decoder_sys_t::i_channels, decoder_sys_t::i_frame_length, decoder_sys_t::i_frame_size, decoder_sys_t::i_header_size, block_t::i_pts, decoder_sys_t::i_pts, decoder_sys_t::i_rate, decoder_sys_t::i_state, decoder_sys_t::i_type, LOAS_HEADER_SIZE, LOASParse(), LOASSyncInfo(), msg_Dbg, msg_Warn, block_bytestream_t::p_block, block_t::p_buffer, decoder_t::p_sys, p_sys, SetupOutput(), STATE_GET_DATA, STATE_HEADER, STATE_NEXT_SYNC, STATE_NOSYNC, STATE_SEND_DATA, STATE_SYNC, TYPE_ADTS, TYPE_LOAS, VLC_SUCCESS, and VLC_TS_INVALID.
Referenced by OpenPacketizer().
References AOUT_CHAN_PHYSMASK, es_format_t::audio, date_Get(), date_Increment(), date_Init(), date_Set(), decoder_sys_t::end_date, decoder_t::fmt_out, audio_format_t::i_bytes_per_frame, audio_format_t::i_channels, decoder_sys_t::i_channels, decoder_sys_t::i_channels_conf, block_t::i_dts, decoder_sys_t::i_frame_length, audio_format_t::i_frame_length, decoder_sys_t::i_frame_size, block_t::i_length, audio_format_t::i_original_channels, audio_format_t::i_physical_channels, block_t::i_pts, decoder_sys_t::i_rate, audio_format_t::i_rate, msg_Info, decoder_t::p_sys, and p_sys.
Referenced by PacketizeStreamBlock().
| int vlc_entry__main | ( | module_t * | p_module | ) |
| const char* vlc_entry_license__main | ( | void | ) |
const int pi_sample_rates[16] [static] |
Initial value:
{
96000, 88200, 64000, 48000, 44100, 32000, 24000, 22050,
16000, 12000, 11025, 8000, 7350, 0, 0, 0
}
Referenced by ADTSSyncInfo(), Mpeg4ReadAudioSamplerate(), and OpenPacketizer().
1.5.6