FFmpeg
|
Go to the source code of this file.
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_alt_sample_fmt (enum AVSampleFormat sample_fmt, int planar) |
Return the planar<->packed alternative form of the given sample format, 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... | |
attribute_deprecated int | av_get_bits_per_sample_fmt (enum AVSampleFormat sample_fmt) |
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 plane 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_alloc_array_and_samples (uint8_t ***audio_data, int *linesize, int nb_channels, int nb_samples, enum AVSampleFormat sample_fmt, int align) |
Allocate a data pointers array, 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... | |
Enumeration Type Documentation
enum AVSampleFormat |
Audio Sample Formats.
- The data described by the sample format is always in native-endian order. Sample values can be expressed by native C types, hence the lack of a signed 24-bit sample format even though it is a common raw audio data format.
- The floating-point formats are based on full volume being in the range [-1.0, 1.0]. Any values outside this range are beyond full volume level.
- The data layout as used in av_samples_fill_arrays() and elsewhere in FFmpeg (such as AVFrame in libavcodec) is as follows:
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.
Function Documentation
enum AVSampleFormat av_get_alt_sample_fmt | ( | enum AVSampleFormat | sample_fmt, |
int | planar | ||
) |
Return the planar<->packed alternative form of the given sample format, or AV_SAMPLE_FMT_NONE on error.
If the passed sample_fmt is already in the requested planar/packed format, the format returned is the same as the input.
Definition at line 64 of file samplefmt.c.
attribute_deprecated int av_get_bits_per_sample_fmt | ( | enum AVSampleFormat | sample_fmt | ) |
- Deprecated:
- Use av_get_bytes_per_sample() instead.
Definition at line 111 of file samplefmt.c.
int av_get_bytes_per_sample | ( | enum AVSampleFormat | sample_fmt | ) |
Return number of bytes per sample.
- Parameters
-
sample_fmt the sample format
- Returns
- number of bytes per sample or zero if unknown for the given sample format
Definition at line 104 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(), config_output(), 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(), init_sample_buffers(), lavfi_read_packet(), libopus_encode(), libopus_encode_init(), mkv_write_tracks(), open_audio(), resample_init(), sdl_audio_callback(), set_audiodata_fmt(), setup_array(), shift(), swap_sample_fmts_on_filter(), swri_dither_init(), swri_rematrix(), vmdaudio_decode_init(), wavpack_decode_block(), write_audio_frame(), and yae_reset().
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.
- Returns
- the packed alternative form of the given sample format or AV_SAMPLE_FMT_NONE on error.
Definition at line 73 of file samplefmt.c.
Referenced by auto_matrix(), cmp_audio_fmts(), ff_audio_convert_set_func(), ff_dither_alloc(), ff_volume_init_x86(), filter_frame(), PUT_FUNC(), swap_sample_fmts_on_filter(), swri_dither_init(), 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.
- Returns
- the planar alternative form of the given sample format or AV_SAMPLE_FMT_NONE on error.
Definition at line 82 of file samplefmt.c.
Referenced by avcodec_open2(), avresample_open(), config_output(), swap_sample_fmts_on_filter(), and swr_init().
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 av_opt_set(), ff_parse_sample_format(), 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_decode_frame(), audio_encode_example(), av_opt_get(), avcodec_open2(), avcodec_string(), avresample_open(), choose_sample_fmt(), config_output(), config_props(), configure_audio_filters(), 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_tlog_link(), filter_frame(), get_format_from_sample_fmt(), if(), init_filters(), lavfi_read_header(), main(), mix_function_init(), print_digraph(), print_link_prop(), show_frame(), show_stream(), and swr_init().
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.
- Parameters
-
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.
- Returns
- the pointer to the filled buffer or NULL if sample_fmt is unknown or in case of other errors
Definition at line 91 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.
- Parameters
-
sample_fmt the sample format to inspect
- Returns
- 1 if the sample format is planar, 0 if it is interleaved
Definition at line 118 of file samplefmt.c.
Referenced by alac_decode_init(), allocate_buffers(), av_audio_fifo_alloc(), av_buffersrc_add_frame_internal(), av_frame_get_plane_buffer(), av_samples_alloc_array_and_samples(), av_samples_copy(), av_samples_fill_arrays(), av_samples_get_buffer_size(), av_samples_set_silence(), avcodec_decode_audio3(), avcodec_decode_audio4(), avcodec_encode_audio2(), avcodec_fill_audio_frame(), avresample_open(), buffer_offset(), calc_ptr_alignment(), config_output(), decode_element(), ff_audio_data_alloc(), ff_audio_data_init(), ff_get_audio_buffer(), ff_planar_sample_fmts(), filter_frame(), flac_set_bps(), get(), get_audio_buffer(), get_buffer_internal(), if(), main(), set(), set_audiodata_fmt(), setup_array(), shift(), and update_frame_pool().
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.
- See also
- enum AVSampleFormat The documentation for AVSampleFormat describes the data layout.
- Parameters
-
[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)
- Returns
- >=0 on success or a negative error code on failure
- Todo:
- return the size of the allocated buffer in case of success at the next bump
Definition at line 181 of file samplefmt.c.
Referenced by av_samples_alloc_array_and_samples(), decode_packet(), ff_audio_data_realloc(), and main().
int av_samples_alloc_array_and_samples | ( | uint8_t *** | audio_data, |
int * | linesize, | ||
int | nb_channels, | ||
int | nb_samples, | ||
enum AVSampleFormat | sample_fmt, | ||
int | align | ||
) |
Allocate a data pointers array, samples buffer for nb_samples samples, and fill data pointers and linesize accordingly.
This is the same as av_samples_alloc(), but also allocates the data pointers array.
- See also
- av_samples_alloc()
Definition at line 210 of file samplefmt.c.
Referenced by main().
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.
- Parameters
-
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 225 of file samplefmt.c.
Referenced by av_frame_make_writable(), av_frame_ref(), avcodec_decode_audio4(), decode_packet(), ff_filter_frame_framed(), ff_filter_frame_needs_framing(), 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 plane data pointers and linesize for samples with sample format sample_fmt.
The audio_data array is filled with the pointers to the samples data planes: 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 value pointed to by linesize is set to the aligned size of each channel's data buffer for planar layout, or to the aligned size of the buffer for all channels for packed layout.
The buffer in buf must be big enough to contain all the samples (use av_samples_get_buffer_size() to compute its minimum size), otherwise the audio_data pointers will point to invalid data.
- See also
- enum AVSampleFormat The documentation for AVSampleFormat describes the data layout.
- Parameters
-
[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)
- Returns
- >=0 on success or a negative error code on failure
- Todo:
- return minimum size in bytes required for the buffer in case of success at the next bump
Definition at line 155 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.
- 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)
- Returns
- required buffer size, or negative error code on failure
Definition at line 125 of file samplefmt.c.
Referenced by allocate_buffers(), audio_decode_example(), audio_decode_frame(), audio_encode_example(), av_audio_fifo_alloc(), av_audio_fifo_realloc(), av_samples_alloc(), av_samples_fill_arrays(), avcodec_decode_audio3(), avcodec_encode_audio(), avcodec_fill_audio_frame(), dca_decode_frame(), decode_packet(), ff_audio_data_realloc(), ff_default_get_audio_buffer(), get_audio_buffer(), main(), pad_last_frame(), sdl_audio_callback(), stream_component_open(), tak_decode_frame(), and update_frame_pool().
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.
- Parameters
-
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 249 of file samplefmt.c.
Referenced by av_samples_alloc(), ff_audio_data_copy(), ff_audio_mix(), ff_default_get_audio_buffer(), filter_frame(), if(), pad_last_frame(), push_samples(), request_frame(), return_audio_frame(), and send_silence().
Generated on Fri Dec 20 2024 06:56:15 for FFmpeg by 1.8.11