Go to the source code of this file.
Macros | |
#define | AVUTIL_SAMPLEFMT_H |
Enumerations | |
enum | AVSampleFormat { AV_SAMPLE_FMT_NONE = -1, AV_SAMPLE_FMT_U8, AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_FLT, AV_SAMPLE_FMT_DBL, AV_SAMPLE_FMT_U8P, AV_SAMPLE_FMT_S16P, AV_SAMPLE_FMT_S32P, AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_DBLP, AV_SAMPLE_FMT_NB } |
Audio Sample Formats. More... | |
Functions | |
const char * | av_get_sample_fmt_name (enum AVSampleFormat sample_fmt) |
Return the name of sample_fmt, or NULL if sample_fmt is not recognized. More... | |
enum AVSampleFormat | av_get_sample_fmt (const char *name) |
Return a sample format corresponding to name, or AV_SAMPLE_FMT_NONE on error. More... | |
enum AVSampleFormat | av_get_packed_sample_fmt (enum AVSampleFormat sample_fmt) |
Get the packed alternative form of the given sample format. More... | |
enum AVSampleFormat | av_get_planar_sample_fmt (enum AVSampleFormat sample_fmt) |
Get the planar alternative form of the given sample format. More... | |
char * | av_get_sample_fmt_string (char *buf, int buf_size, enum AVSampleFormat sample_fmt) |
Generate a string corresponding to the sample format with sample_fmt, or a header if sample_fmt is negative. More... | |
int | av_get_bytes_per_sample (enum AVSampleFormat sample_fmt) |
Return number of bytes per sample. More... | |
int | av_sample_fmt_is_planar (enum AVSampleFormat sample_fmt) |
Check if the sample format is planar. More... | |
int | av_samples_get_buffer_size (int *linesize, int nb_channels, int nb_samples, enum AVSampleFormat sample_fmt, int align) |
Get the required buffer size for the given audio parameters. More... | |
int | av_samples_fill_arrays (uint8_t **audio_data, int *linesize, const uint8_t *buf, int nb_channels, int nb_samples, enum AVSampleFormat sample_fmt, int align) |
Fill channel data pointers and linesize for samples with sample format sample_fmt. More... | |
int | av_samples_alloc (uint8_t **audio_data, int *linesize, int nb_channels, int nb_samples, enum AVSampleFormat sample_fmt, int align) |
Allocate a samples buffer for nb_samples samples, and fill data pointers and linesize accordingly. More... | |
int | av_samples_copy (uint8_t **dst, uint8_t *const *src, int dst_offset, int src_offset, int nb_samples, int nb_channels, enum AVSampleFormat sample_fmt) |
Copy samples from src to dst. More... | |
int | av_samples_set_silence (uint8_t **audio_data, int offset, int nb_samples, int nb_channels, enum AVSampleFormat sample_fmt) |
Fill an audio buffer with silence. More... | |
#define AVUTIL_SAMPLEFMT_H |
enum AVSampleFormat |
Audio Sample Formats.
For planar sample formats, each audio channel is in a separate data plane, and linesize is the buffer size, in bytes, for a single plane. All data planes must be the same size. For packed sample formats, only the first data plane is used, and samples for each channel are interleaved. In this case, linesize is the buffer size, in bytes, for the 1 plane.
Definition at line 49 of file samplefmt.h.
int av_get_bytes_per_sample | ( | enum AVSampleFormat | sample_fmt) |
Return number of bytes per sample.
sample_fmt | the sample format |
Definition at line 95 of file samplefmt.c.
Referenced by audio_decode_frame(), av_samples_copy(), av_samples_get_buffer_size(), av_samples_set_silence(), avresample_open(), buffer_offset(), copy_samples(), decode_frame(), decode_init(), ff_audio_data_alloc(), ff_audio_data_init(), ff_audio_resample_init(), ff_dither_alloc(), filter_frame(), flac_set_bps(), get_audio_clock(), init_sample_buffers(), libopus_encode(), libopus_encode_init(), mkv_write_tracks(), open_audio(), swap_sample_fmts_on_filter(), synchronize_audio(), vmdaudio_decode_init(), wavpack_decode_block(), and write_audio_frame().
enum AVSampleFormat av_get_packed_sample_fmt | ( | enum AVSampleFormat | sample_fmt) |
Get the packed alternative form of the given sample format.
If the passed sample_fmt is already in packed format, the format returned is the same as the input.
Definition at line 64 of file samplefmt.c.
Referenced by ff_audio_convert_set_func(), ff_dither_alloc(), ff_volume_init_x86(), filter_frame(), PUT_FUNC(), swap_sample_fmts_on_filter(), update_sample_fmt(), and volume_init().
enum AVSampleFormat av_get_planar_sample_fmt | ( | enum AVSampleFormat | sample_fmt) |
Get the planar alternative form of the given sample format.
If the passed sample_fmt is already in planar format, the format returned is the same as the input.
Definition at line 73 of file samplefmt.c.
Referenced by avcodec_open2(), avresample_open(), config_output(), and swap_sample_fmts_on_filter().
enum AVSampleFormat av_get_sample_fmt | ( | const char * | name) |
Return a sample format corresponding to name, or AV_SAMPLE_FMT_NONE on error.
Definition at line 54 of file samplefmt.c.
Referenced by init(), init_audio(), and new_audio_stream().
const char* av_get_sample_fmt_name | ( | enum AVSampleFormat | sample_fmt) |
Return the name of sample_fmt, or NULL if sample_fmt is not recognized.
Definition at line 47 of file samplefmt.c.
Referenced by audio_encode_example(), avcodec_string(), avresample_open(), config_output(), configure_input_audio_filter(), decode_audio(), dprint_options(), ff_audio_convert_set_func(), ff_audio_mix_alloc(), ff_audio_mix_set_func(), ff_audio_resample_init(), ff_dither_alloc(), ff_dlog_link(), filter_frame(), main(), mix_function_init(), and print_digraph().
char* av_get_sample_fmt_string | ( | char * | buf, |
int | buf_size, | ||
enum AVSampleFormat | sample_fmt | ||
) |
Generate a string corresponding to the sample format with sample_fmt, or a header if sample_fmt is negative.
buf | the buffer where to write the string |
buf_size | the size of buf |
sample_fmt | the number of the sample format to print the corresponding info string, or a negative value to print the corresponding header. |
Definition at line 82 of file samplefmt.c.
Referenced by show_sample_fmts().
int av_sample_fmt_is_planar | ( | enum AVSampleFormat | sample_fmt) |
Check if the sample format is planar.
sample_fmt | the sample format to inspect |
Definition at line 101 of file samplefmt.c.
Referenced by av_audio_fifo_alloc(), av_samples_copy(), av_samples_fill_arrays(), av_samples_get_buffer_size(), av_samples_set_silence(), avcodec_decode_audio4(), avcodec_encode_audio2(), avcodec_fill_audio_frame(), avfilter_copy_buf_props(), avfilter_get_audio_buffer_ref_from_arrays(), buffer_offset(), calc_ptr_alignment(), config_output(), ff_audio_data_alloc(), ff_audio_data_init(), ff_default_get_audio_buffer(), ff_planar_sample_fmts(), filter_frame(), flac_set_bps(), and update_sample_fmt().
int av_samples_alloc | ( | uint8_t ** | audio_data, |
int * | linesize, | ||
int | nb_channels, | ||
int | nb_samples, | ||
enum AVSampleFormat | sample_fmt, | ||
int | align | ||
) |
Allocate a samples buffer for nb_samples samples, and fill data pointers and linesize accordingly.
The allocated samples buffer can be freed by using av_freep(&audio_data[0]) Allocated data will be initialized to silence.
[out] | audio_data | array to be filled with the pointer for each channel |
[out] | linesize | aligned size for audio buffer(s), may be NULL |
nb_channels | number of audio channels | |
nb_samples | number of samples per channel | |
align | buffer size alignment (0 = default, 1 = no alignment) |
Definition at line 160 of file samplefmt.c.
Referenced by ff_audio_data_realloc(), and ff_default_get_audio_buffer().
int av_samples_copy | ( | uint8_t ** | dst, |
uint8_t *const * | src, | ||
int | dst_offset, | ||
int | src_offset, | ||
int | nb_samples, | ||
int | nb_channels, | ||
enum AVSampleFormat | sample_fmt | ||
) |
Copy samples from src to dst.
dst | destination array of pointers to data planes |
src | source array of pointers to data planes |
dst_offset | offset in samples at which the data will be written to dst |
src_offset | offset in samples at which the data will be read from src |
nb_samples | number of samples to be copied |
nb_channels | number of audio channels |
sample_fmt | audio sample format |
Definition at line 185 of file samplefmt.c.
Referenced by av_buffersrc_write_frame(), ff_filter_frame(), pad_last_frame(), and return_audio_frame().
int av_samples_fill_arrays | ( | uint8_t ** | audio_data, |
int * | linesize, | ||
const uint8_t * | buf, | ||
int | nb_channels, | ||
int | nb_samples, | ||
enum AVSampleFormat | sample_fmt, | ||
int | align | ||
) |
Fill channel data pointers and linesize for samples with sample format sample_fmt.
The pointers array is filled with the pointers to the samples data: for planar, set the start point of each channel's data within the buffer, for packed, set the start point of the entire buffer only.
The linesize array is filled with the aligned size of each channel's data buffer for planar layout, or the aligned size of the buffer for all channels for packed layout.
[out] | audio_data | array to be filled with the pointer for each channel |
[out] | linesize | calculated linesize, may be NULL |
buf | the pointer to a buffer containing the samples | |
nb_channels | the number of channels | |
nb_samples | the number of samples in a single channel | |
sample_fmt | the sample format | |
align | buffer size alignment (0 = default, 1 = no alignment) |
Definition at line 138 of file samplefmt.c.
Referenced by allocate_buffers(), av_samples_alloc(), avcodec_fill_audio_frame(), dca_decode_frame(), ff_audio_data_realloc(), main(), and tak_decode_frame().
int av_samples_get_buffer_size | ( | int * | linesize, |
int | nb_channels, | ||
int | nb_samples, | ||
enum AVSampleFormat | sample_fmt, | ||
int | align | ||
) |
Get the required buffer size for the given audio parameters.
[out] | linesize | calculated linesize, may be NULL |
nb_channels | the number of channels | |
nb_samples | the number of samples in a single channel | |
sample_fmt | the sample format | |
align | buffer size alignment (0 = default, 1 = no alignment) |
Definition at line 108 of file samplefmt.c.
Referenced by allocate_buffers(), audio_decode_example(), audio_decode_frame(), audio_encode_example(), audio_get_buffer(), av_audio_fifo_alloc(), av_audio_fifo_realloc(), av_samples_alloc(), av_samples_fill_arrays(), avcodec_fill_audio_frame(), dca_decode_frame(), ff_audio_data_realloc(), main(), pad_last_frame(), and tak_decode_frame().
int av_samples_set_silence | ( | uint8_t ** | audio_data, |
int | offset, | ||
int | nb_samples, | ||
int | nb_channels, | ||
enum AVSampleFormat | sample_fmt | ||
) |
Fill an audio buffer with silence.
audio_data | array of pointers to data planes |
offset | offset in samples at which to start filling |
nb_samples | number of samples to fill |
nb_channels | number of audio channels |
sample_fmt | audio sample format |
Definition at line 204 of file samplefmt.c.
Referenced by av_samples_alloc(), filter_frame(), pad_last_frame(), and return_audio_frame().