|
VLC
2.1.0-git
|

Macros | |
| #define | REORDER_TYPE(type) |
| #define | INTERLEAVE_TYPE(type) |
| #define | DEINTERLEAVE_TYPE(type) |
Functions | |
| unsigned int | aout_BitsPerSample (vlc_fourcc_t i_format) |
| void | aout_FormatPrepare (audio_sample_format_t *p_format) |
| const char * | aout_FormatPrintChannels (const audio_sample_format_t *p_format) |
| void | aout_FormatPrint (((vlc_object_t *)(vlc_object_t *obj)), const char *psz_text, const audio_sample_format_t *p_format) |
| Prints an audio sample format in a human-readable form. | |
| void | aout_FormatsPrint (((vlc_object_t *)(vlc_object_t *obj)), const char *psz_text, const audio_sample_format_t *p_format1, const audio_sample_format_t *p_format2) |
| Prints two formats in a human-readable form. | |
| unsigned | aout_CheckChannelReorder (const uint32_t *chans_in, const uint32_t *chans_out, uint32_t mask, uint8_t *restrict table) |
| void | aout_ChannelReorder (void *ptr, size_t bytes, unsigned channels, const uint8_t *restrict chans_table, vlc_fourcc_t fourcc) |
| Reorders audio samples within a block of linear audio interleaved samples. | |
| void | aout_Interleave (void *restrict dst, const void *restrict src, unsigned samples, unsigned chans, vlc_fourcc_t fourcc) |
| Interleaves audio samples within a block of samples. | |
| void | aout_Deinterleave (void *restrict dst, const void *restrict src, unsigned samples, unsigned chans, vlc_fourcc_t fourcc) |
| Deinterleaves audio samples within a block of samples. | |
| static void | ExtractChannel (uint8_t *pi_dst, int i_dst_channels, const uint8_t *pi_src, int i_src_channels, int i_sample_count, const int *pi_selection, int i_bytes) |
| void | aout_ChannelExtract (void *p_dst, int i_dst_channels, const void *p_src, int i_src_channels, int i_sample_count, const int *pi_selection, int i_bits_per_sample) |
| Do the actual channels extraction using the parameters created by aout_CheckChannelExtraction. | |
| bool | aout_CheckChannelExtraction (int *pi_selection, uint32_t *pi_layout, int *pi_channels, const uint32_t pi_order_dst[9], const uint32_t *pi_order_src, int i_channels) |
| This fonction will compute the extraction parameter into pi_selection to go from i_channels with their type given by pi_order_src[] into the order describe by pi_order_dst. | |
| static int | FilterOrder (const char *psz_name) |
| bool | aout_ChangeFilterString (vlc_object_t *p_obj, vlc_object_t *p_aout, const char *psz_variable, const char *psz_name, bool b_add) |
| #define DEINTERLEAVE_TYPE | ( | type | ) |
Referenced by aout_Deinterleave().
| #define INTERLEAVE_TYPE | ( | type | ) |
Referenced by aout_Interleave().
| #define REORDER_TYPE | ( | type | ) |
Referenced by aout_ChannelReorder().
| unsigned int aout_BitsPerSample | ( | vlc_fourcc_t | i_format | ) |
References AUDIO_ES, VLC_CODEC_ALAW, VLC_CODEC_F32B, VLC_CODEC_F32L, VLC_CODEC_F64B, VLC_CODEC_F64L, VLC_CODEC_MULAW, VLC_CODEC_S16B, VLC_CODEC_S16L, VLC_CODEC_S24B, VLC_CODEC_S24B32, VLC_CODEC_S24L, VLC_CODEC_S24L32, VLC_CODEC_S32B, VLC_CODEC_S32L, VLC_CODEC_S8, VLC_CODEC_U16B, VLC_CODEC_U16L, VLC_CODEC_U24B, VLC_CODEC_U24L, VLC_CODEC_U32B, VLC_CODEC_U32L, VLC_CODEC_U8, and vlc_fourcc_GetCodec().
Referenced by aout_ChannelReorder(), aout_FormatPrepare(), and EsOutUpdateInfo().
| bool aout_ChangeFilterString | ( | vlc_object_t * | p_obj, |
| vlc_object_t * | p_aout, | ||
| const char * | psz_variable, | ||
| const char * | psz_name, | ||
| bool | b_add | ||
| ) |
References config_PutPsz, FilterOrder(), vlc_object_t::p_libvlc, psz_name, var_CreateGetString, var_Destroy, var_GetString, and var_SetString.
Referenced by ChangeFiltersString(), and playlist_EnableAudioFilter().
| void aout_ChannelExtract | ( | void * | p_dst, |
| int | i_dst_channels, | ||
| const void * | p_src, | ||
| int | i_src_channels, | ||
| int | i_sample_count, | ||
| const int * | pi_selection, | ||
| int | i_bits_per_sample | ||
| ) |
Do the actual channels extraction using the parameters created by aout_CheckChannelExtraction.
XXX this function does not work in place (p_dst and p_src must not overlap). XXX Only 8, 16, 24, 32, 64 bits per sample are supported.
References ExtractChannel().
| void aout_ChannelReorder | ( | void * | ptr, |
| size_t | bytes, | ||
| unsigned | channels, | ||
| const uint8_t *restrict | chans_table, | ||
| vlc_fourcc_t | fourcc | ||
| ) |
Reorders audio samples within a block of linear audio interleaved samples.
| ptr | start address of the block of samples |
| bytes | size of the block in bytes (must be a multiple of the product of the channels count and the sample size) |
| channels | channels count (also length of the chans_table table) |
| chans_table | permutation table to reorder the channels (usually computed by aout_CheckChannelReorder()) |
| fourcc | sample format (must be a linear sample format) |
References aout_BitsPerSample(), AOUT_CHAN_MAX, REORDER_TYPE, VLC_CODEC_FL32, VLC_CODEC_FL64, VLC_CODEC_S16N, VLC_CODEC_S32N, and VLC_CODEC_U8.
| bool aout_CheckChannelExtraction | ( | int * | pi_selection, |
| uint32_t * | pi_layout, | ||
| int * | pi_channels, | ||
| const uint32_t | pi_order_dst[9], | ||
| const uint32_t * | pi_order_src, | ||
| int | i_channels | ||
| ) |
This fonction will compute the extraction parameter into pi_selection to go from i_channels with their type given by pi_order_src[] into the order describe by pi_order_dst.
It will also set :
It will return true if channel extraction is really needed, in which case aout_ChannelExtract must be used
XXX It must be used when the source may have channel type not understood by VLC. In this case the channel type pi_order_src[] must be set to 0. XXX It must also be used if multiple channels have the same type.
References AOUT_CHAN_CENTER, AOUT_CHAN_DUALMONO, AOUT_CHAN_LEFT, AOUT_CHAN_MAX, AOUT_CHAN_RIGHT, and pi_vlc_chan_order_wg4.
| unsigned aout_CheckChannelReorder | ( | const uint32_t * | chans_in, |
| const uint32_t * | chans_out, | ||
| uint32_t | mask, | ||
| uint8_t *restrict | table | ||
| ) |
References pi_vlc_chan_order_wg4.
| void aout_Deinterleave | ( | void *restrict | dst, |
| const void *restrict | src, | ||
| unsigned | samples, | ||
| unsigned | chans, | ||
| vlc_fourcc_t | fourcc | ||
| ) |
Deinterleaves audio samples within a block of samples.
| dst | destination buffer for planar samples |
| src | source buffer with interleaved samples |
| samples | number of samples (per channel/per plane) |
| chans | channels/planes count |
| fourcc | sample format (must be a linear sample format) |
References DEINTERLEAVE_TYPE, VLC_CODEC_FL32, VLC_CODEC_FL64, VLC_CODEC_S16N, VLC_CODEC_S32N, and VLC_CODEC_U8.
| void aout_FormatPrepare | ( | audio_sample_format_t * | p_format | ) |
References aout_BitsPerSample(), aout_FormatNbChannels(), audio_format_t::i_bitspersample, audio_format_t::i_bytes_per_frame, audio_format_t::i_channels, audio_format_t::i_format, and audio_format_t::i_frame_length.
Referenced by aout_FiltersPipelineCreate(), aout_new_buffer(), aout_OutputNew(), and TryFormat().
| void aout_FormatPrint | ( | ((vlc_object_t *)(vlc_object_t *obj)) | , |
| const char * | psz_text, | ||
| const audio_sample_format_t * | p_format | ||
| ) |
Prints an audio sample format in a human-readable form.
References aout_FormatPrintChannels(), audio_format_t::i_bytes_per_frame, audio_format_t::i_format, audio_format_t::i_frame_length, audio_format_t::i_rate, and msg_Dbg.
| const char* aout_FormatPrintChannels | ( | const audio_sample_format_t * | p_format | ) |
References AOUT_CHAN_CENTER, AOUT_CHAN_DOLBYSTEREO, AOUT_CHAN_DUALMONO, AOUT_CHAN_LEFT, AOUT_CHAN_LFE, AOUT_CHAN_MIDDLELEFT, AOUT_CHAN_MIDDLERIGHT, AOUT_CHAN_REARCENTER, AOUT_CHAN_REARLEFT, AOUT_CHAN_REARRIGHT, AOUT_CHAN_REVERSESTEREO, AOUT_CHAN_RIGHT, audio_format_t::i_original_channels, and audio_format_t::i_physical_channels.
Referenced by aout_FormatPrint(), aout_FormatsPrint(), and EsOutUpdateInfo().
| void aout_FormatsPrint | ( | ((vlc_object_t *)(vlc_object_t *obj)) | , |
| const char * | psz_text, | ||
| const audio_sample_format_t * | p_format1, | ||
| const audio_sample_format_t * | p_format2 | ||
| ) |
Prints two formats in a human-readable form.
References aout_FormatPrintChannels(), audio_format_t::i_format, audio_format_t::i_rate, and msg_Dbg.
| void aout_Interleave | ( | void *restrict | dst, |
| const void *restrict | src, | ||
| unsigned | samples, | ||
| unsigned | chans, | ||
| vlc_fourcc_t | fourcc | ||
| ) |
Interleaves audio samples within a block of samples.
| dst | destination buffer for interleaved samples |
| src | source buffer with consecutive planes of samples |
| samples | number of samples (per channel/per plane) |
| chans | channels/planes count |
| fourcc | sample format (must be a linear sample format) |
References INTERLEAVE_TYPE, VLC_CODEC_FL32, VLC_CODEC_FL64, VLC_CODEC_S16N, VLC_CODEC_S32N, and VLC_CODEC_U8.
|
inlinestatic |
Referenced by aout_ChannelExtract().
|
static |
References ARRAY_SIZE.
Referenced by aout_ChangeFilterString().
1.8.1.2