
Data Structures | |
| struct | decoder_sys_t |
| struct | adpcm_ms_channel_s |
| struct | adpcm_ima_wav_channel_s |
Defines | |
| #define | CLAMP(v, min, max) |
| #define | GetByte(v) (v) = *p_buffer; p_buffer++; |
| #define | GetWord(v) |
| #define | MAX_CHAN 5 |
Typedefs | |
| typedef struct adpcm_ms_channel_s | adpcm_ms_channel_t |
| typedef struct adpcm_ima_wav_channel_s | adpcm_ima_wav_channel_t |
Enumerations | |
| enum | adpcm_codec_e { ADPCM_IMA_QT, ADPCM_IMA_WAV, ADPCM_MS, ADPCM_DK3, ADPCM_DK4, ADPCM_EA } |
Functions | |
| static int | OpenDecoder (vlc_object_t *) |
| static void | CloseDecoder (vlc_object_t *) |
| static aout_buffer_t * | DecodeBlock (decoder_t *, block_t **) |
| int | vlc_entry__main (module_t *p_module) |
| const char * | vlc_entry_license__main (void) |
| static void | DecodeAdpcmMs (decoder_t *, int16_t *, uint8_t *) |
| static void | DecodeAdpcmImaWav (decoder_t *, int16_t *, uint8_t *) |
| static void | DecodeAdpcmImaQT (decoder_t *, int16_t *, uint8_t *) |
| static void | DecodeAdpcmDk4 (decoder_t *, int16_t *, uint8_t *) |
| static void | DecodeAdpcmDk3 (decoder_t *, int16_t *, uint8_t *) |
| static void | DecodeAdpcmEA (decoder_t *, int16_t *, uint8_t *) |
| static int | AdpcmMsExpandNibble (adpcm_ms_channel_t *p_channel, int i_nibble) |
| static int | AdpcmImaWavExpandNibble (adpcm_ima_wav_channel_t *p_channel, int i_nibble) |
Variables | |
| static const int | pi_channels_maps [6] |
| static const int | i_index_table [16] |
| static const int | i_step_table [89] |
| static const int | i_adaptation_table [16] |
| static const int | i_adaptation_coeff1 [7] |
| static const int | i_adaptation_coeff2 [7] |
| #define CLAMP | ( | v, | |||
| min, | |||||
| max | ) |
Value:
if( (v) < (min) ) (v) = (min); \ if( (v) > (max) ) (v) = (max)
Referenced by AdpcmImaWavExpandNibble(), AdpcmMsExpandNibble(), DecodeAdpcmDk4(), DecodeAdpcmEA(), DecodeAdpcmImaQT(), DecodeAdpcmImaWav(), DecodeAdpcmMs(), and yuv_to_rgb().
| #define GetByte | ( | v | ) | (v) = *p_buffer; p_buffer++; |
Referenced by DecodeAdpcmDk3(), DecodeAdpcmDk4(), DecodeAdpcmImaWav(), and DecodeAdpcmMs().
| #define GetWord | ( | v | ) |
Value:
(v) = *p_buffer; p_buffer++; \
(v) |= ( *p_buffer ) << 8; p_buffer++; \
if( (v)&0x8000 ) (v) -= 0x010000;
Referenced by DecodeAdpcmDk3(), DecodeAdpcmDk4(), DecodeAdpcmImaWav(), and DecodeAdpcmMs().
| #define MAX_CHAN 5 |
Referenced by DecodeAdpcmEA().
| typedef struct adpcm_ima_wav_channel_s adpcm_ima_wav_channel_t |
| typedef struct adpcm_ms_channel_s adpcm_ms_channel_t |
| enum adpcm_codec_e |
| static int AdpcmImaWavExpandNibble | ( | adpcm_ima_wav_channel_t * | p_channel, | |
| int | i_nibble | |||
| ) | [static] |
References CLAMP, i_index_table, adpcm_ima_wav_channel_s::i_predictor, adpcm_ima_wav_channel_s::i_step_index, and i_step_table.
Referenced by DecodeAdpcmDk3(), DecodeAdpcmDk4(), DecodeAdpcmImaQT(), and DecodeAdpcmImaWav().
| static int AdpcmMsExpandNibble | ( | adpcm_ms_channel_t * | p_channel, | |
| int | i_nibble | |||
| ) | [static] |
| static void CloseDecoder | ( | vlc_object_t * | p_this | ) | [static] |
References ADPCM_EA, decoder_sys_t::codec, decoder_t::fmt_in, es_format_t::p_extra, decoder_t::p_sys, and p_sys.
| static void DecodeAdpcmDk3 | ( | decoder_t * | p_dec, | |
| int16_t * | p_sample, | |||
| uint8_t * | p_buffer | |||
| ) | [static] |
References AdpcmImaWavExpandNibble(), GetByte, GetWord, decoder_sys_t::i_block, adpcm_ima_wav_channel_s::i_predictor, adpcm_ima_wav_channel_s::i_step_index, decoder_t::p_sys, and p_sys.
Referenced by DecodeBlock().
| static void DecodeAdpcmDk4 | ( | decoder_t * | p_dec, | |
| int16_t * | p_sample, | |||
| uint8_t * | p_buffer | |||
| ) | [static] |
References AdpcmImaWavExpandNibble(), es_format_t::audio, CLAMP, decoder_t::fmt_in, GetByte, GetWord, decoder_sys_t::i_block, audio_format_t::i_channels, adpcm_ima_wav_channel_s::i_predictor, decoder_t::p_sys, and p_sys.
Referenced by DecodeBlock().
| static void DecodeAdpcmEA | ( | decoder_t * | p_dec, | |
| int16_t * | p_sample, | |||
| uint8_t * | p_buffer | |||
| ) | [static] |
References es_format_t::audio, c, CLAMP, decoder_t::fmt_in, decoder_sys_t::i_block, audio_format_t::i_channels, MAX_CHAN, es_format_t::p_extra, decoder_t::p_sys, and p_sys.
Referenced by DecodeBlock().
| static void DecodeAdpcmImaQT | ( | decoder_t * | p_dec, | |
| int16_t * | p_sample, | |||
| uint8_t * | p_buffer | |||
| ) | [static] |
| static void DecodeAdpcmImaWav | ( | decoder_t * | p_dec, | |
| int16_t * | p_sample, | |||
| uint8_t * | p_buffer | |||
| ) | [static] |
References AdpcmImaWavExpandNibble(), es_format_t::audio, CLAMP, decoder_t::fmt_in, GetByte, GetWord, i, decoder_sys_t::i_block, audio_format_t::i_channels, decoder_t::p_sys, and p_sys.
Referenced by DecodeBlock().
| static void DecodeAdpcmMs | ( | decoder_t * | p_dec, | |
| int16_t * | p_sample, | |||
| uint8_t * | p_buffer | |||
| ) | [static] |
References AdpcmMsExpandNibble(), es_format_t::audio, CLAMP, decoder_t::fmt_in, GetByte, GetWord, i_adaptation_coeff1, i_adaptation_coeff2, decoder_sys_t::i_block, audio_format_t::i_channels, adpcm_ms_channel_s::i_coeff1, adpcm_ms_channel_s::i_coeff2, adpcm_ms_channel_s::i_sample1, adpcm_ms_channel_s::i_sample2, decoder_t::p_sys, and p_sys.
Referenced by DecodeBlock().
| static aout_buffer_t * DecodeBlock | ( | decoder_t * | p_dec, | |
| block_t ** | pp_block | |||
| ) | [static] |
References ADPCM_DK3, ADPCM_DK4, ADPCM_EA, ADPCM_IMA_QT, ADPCM_IMA_WAV, ADPCM_MS, block_Release(), decoder_sys_t::codec, date_Get(), date_Increment(), date_Set(), DecodeAdpcmDk3(), DecodeAdpcmDk4(), DecodeAdpcmEA(), DecodeAdpcmImaQT(), DecodeAdpcmImaWav(), DecodeAdpcmMs(), decoder_NewAudioBuffer(), decoder_sys_t::end_date, decoder_sys_t::i_block, block_t::i_buffer, block_t::i_length, block_t::i_pts, decoder_sys_t::i_samplesperblock, block_t::p_buffer, decoder_t::p_sys, p_sys, and VLC_TS_INVALID.
| static int OpenDecoder | ( | vlc_object_t * | p_this | ) | [static] |
References ADPCM_DK3, ADPCM_DK4, ADPCM_EA, ADPCM_IMA_QT, ADPCM_IMA_WAV, ADPCM_MS, es_format_t::audio, AUDIO_ES, decoder_sys_t::codec, date_Init(), date_Set(), DecodeBlock(), decoder_sys_t::end_date, decoder_t::fmt_in, decoder_t::fmt_out, audio_format_t::i_bitspersample, decoder_sys_t::i_block, audio_format_t::i_blockalign, es_format_t::i_cat, audio_format_t::i_channels, es_format_t::i_codec, audio_format_t::i_original_channels, audio_format_t::i_physical_channels, audio_format_t::i_rate, decoder_sys_t::i_samplesperblock, msg_Dbg, msg_Err, msg_Warn, es_format_t::p_extra, decoder_t::p_sys, p_sys, decoder_t::pf_decode_audio, pi_channels_maps, VLC_CODEC_ADPCM_IMA_WAV, VLC_CODEC_ADPCM_MS, VLC_CODEC_S16N, VLC_EGENERIC, VLC_ENOMEM, VLC_FOURCC, and VLC_SUCCESS.
| int vlc_entry__main | ( | module_t * | p_module | ) |
| const char* vlc_entry_license__main | ( | void | ) |
const int i_adaptation_coeff1[7] [static] |
const int i_adaptation_coeff2[7] [static] |
const int i_adaptation_table[16] [static] |
Initial value:
{
230, 230, 230, 230, 307, 409, 512, 614,
768, 614, 512, 409, 307, 230, 230, 230
}
Referenced by AdpcmMsExpandNibble().
const int i_index_table[16] [static] |
Initial value:
{
-1, -1, -1, -1, 2, 4, 6, 8,
-1, -1, -1, -1, 2, 4, 6, 8
}
Referenced by AdpcmImaWavExpandNibble().
const int i_step_table[89] [static] |
Initial value:
{
7, 8, 9, 10, 11, 12, 13, 14, 16, 17,
19, 21, 23, 25, 28, 31, 34, 37, 41, 45,
50, 55, 60, 66, 73, 80, 88, 97, 107, 118,
130, 143, 157, 173, 190, 209, 230, 253, 279, 307,
337, 371, 408, 449, 494, 544, 598, 658, 724, 796,
876, 963, 1060, 1166, 1282, 1411, 1552, 1707, 1878, 2066,
2272, 2499, 2749, 3024, 3327, 3660, 4026, 4428, 4871, 5358,
5894, 6484, 7132, 7845, 8630, 9493, 10442, 11487, 12635, 13899,
15289, 16818, 18500, 20350, 22385, 24623, 27086, 29794, 32767
}
Referenced by AdpcmImaWavExpandNibble().
const int pi_channels_maps[6] [static] |
Initial value:
{
0,
0x1 ,
0x2 | 0x4 ,
0x2 | 0x4 | 0x1 ,
0x2 | 0x4 | 0x20 | 0x20 ,
0x2 | 0x4 | 0x1
| 0x20 | 0x20
}
1.5.6