VLC
3.0.15
|
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 *obj, const char *psz_text, const audio_sample_format_t *p_format) |
Prints an audio sample format in a human-readable form. More... | |
void | aout_FormatsPrint (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. More... | |
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, uint8_t channels, const uint8_t *restrict chans_table, vlc_fourcc_t fourcc) |
Reorders audio samples within a block of linear audio interleaved samples. More... | |
void | aout_Interleave (void *restrict dst, const void *const *srcv, unsigned samples, unsigned chans, vlc_fourcc_t fourcc) |
Interleaves audio samples within a block of samples. More... | |
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. More... | |
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. More... | |
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 function 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. More... | |
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 | ) |
#define INTERLEAVE_TYPE | ( | type | ) |
#define REORDER_TYPE | ( | type | ) |
bool aout_ChangeFilterString | ( | vlc_object_t * | p_obj, |
vlc_object_t * | p_aout, | ||
const char * | psz_variable, | ||
const char * | psz_name, | ||
bool | b_add | ||
) |
Referenced by playlist_EnableAudioFilter().
void aout_ChannelReorder | ( | void * | ptr, |
size_t | bytes, | ||
uint8_t | 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, likely, REORDER_TYPE, unlikely, VLC_CODEC_FL32, VLC_CODEC_FL64, VLC_CODEC_S16N, VLC_CODEC_S32N, and VLC_CODEC_U8.
unsigned aout_CheckChannelReorder | ( | const uint32_t * | chans_in, |
const uint32_t * | chans_out, | ||
uint32_t | mask, | ||
uint8_t *restrict | table | ||
) |
References AOUT_CHAN_MAX, pi_vlc_chan_order_wg4, and static_assert.
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_assert_unreachable, VLC_CODEC_FL32, VLC_CODEC_FL64, VLC_CODEC_S16N, VLC_CODEC_S32N, and VLC_CODEC_U8.
void aout_FormatsPrint | ( | 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 *const * | srcv, | ||
unsigned | samples, | ||
unsigned | chans, | ||
vlc_fourcc_t | fourcc | ||
) |
Interleaves audio samples within a block of samples.
dst | destination buffer for interleaved samples |
srcv | source buffers (one per plane) of uninterleaved 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_assert_unreachable, VLC_CODEC_FL32, VLC_CODEC_FL64, VLC_CODEC_S16N, VLC_CODEC_S32N, and VLC_CODEC_U8.
|
inlinestatic |
|
static |