|
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_S64,
AV_SAMPLE_FMT_S64P,
AV_SAMPLE_FMT_NB
} |
|
Audio sample format enumeration and related convenience functions.
◆ 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.
Enumerator |
---|
AV_SAMPLE_FMT_NONE | |
AV_SAMPLE_FMT_U8 | unsigned 8 bits
|
AV_SAMPLE_FMT_S16 | signed 16 bits
|
AV_SAMPLE_FMT_S32 | signed 32 bits
|
AV_SAMPLE_FMT_FLT | float
|
AV_SAMPLE_FMT_DBL | double
|
AV_SAMPLE_FMT_U8P | unsigned 8 bits, planar
|
AV_SAMPLE_FMT_S16P | signed 16 bits, planar
|
AV_SAMPLE_FMT_S32P | signed 32 bits, planar
|
AV_SAMPLE_FMT_FLTP | float, planar
|
AV_SAMPLE_FMT_DBLP | double, planar
|
AV_SAMPLE_FMT_S64 | signed 64 bits
|
AV_SAMPLE_FMT_S64P | signed 64 bits, planar
|
AV_SAMPLE_FMT_NB | Number of sample formats. DO NOT USE if linking dynamically.
|
◆ av_get_alt_sample_fmt()
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.
◆ av_get_bytes_per_sample()
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
◆ av_get_packed_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.
◆ av_get_planar_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.
◆ av_get_sample_fmt()
Return a sample format corresponding to name, or AV_SAMPLE_FMT_NONE on error.
◆ av_get_sample_fmt_name()
Return the name of sample_fmt, or NULL if sample_fmt is not recognized.
◆ av_get_sample_fmt_string()
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
◆ av_sample_fmt_is_planar()
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
◆ av_samples_get_buffer_size()
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