FFmpeg
|
#include <stdint.h>
#include "libavutil/audio_fifo.h"
#include "libavutil/log.h"
#include "libavutil/samplefmt.h"
#include "avresample.h"
#include "internal.h"
Go to the source code of this file.
Data Structures | |
struct | AudioData |
Audio buffer used for intermediate storage between conversion phases. More... | |
Functions | |
int | ff_sample_fmt_is_planar (enum AVSampleFormat sample_fmt, int channels) |
int | ff_audio_data_set_channels (AudioData *a, int channels) |
int | ff_audio_data_init (AudioData *a, uint8_t *const *src, int plane_size, int channels, int nb_samples, enum AVSampleFormat sample_fmt, int read_only, const char *name) |
Initialize AudioData using a given source. More... | |
AudioData * | ff_audio_data_alloc (int channels, int nb_samples, enum AVSampleFormat sample_fmt, const char *name) |
Allocate AudioData. More... | |
int | ff_audio_data_realloc (AudioData *a, int nb_samples) |
Reallocate AudioData. More... | |
void | ff_audio_data_free (AudioData **a) |
Free AudioData. More... | |
int | ff_audio_data_copy (AudioData *out, AudioData *in, ChannelMapInfo *map) |
Copy data from one AudioData to another. More... | |
int | ff_audio_data_combine (AudioData *dst, int dst_offset, AudioData *src, int src_offset, int nb_samples) |
Append data from one AudioData to the end of another. More... | |
void | ff_audio_data_drain (AudioData *a, int nb_samples) |
Drain samples from the start of the AudioData. More... | |
int | ff_audio_data_add_to_fifo (AVAudioFifo *af, AudioData *a, int offset, int nb_samples) |
Add samples in AudioData to an AVAudioFifo. More... | |
int | ff_audio_data_read_from_fifo (AVAudioFifo *af, AudioData *a, int nb_samples) |
Read samples from an AVAudioFifo to AudioData. More... | |
int ff_sample_fmt_is_planar | ( | enum AVSampleFormat | sample_fmt, |
int | channels | ||
) |
Definition at line 51 of file audio_data.c.
Referenced by avresample_open(), ff_audio_data_alloc(), and ff_audio_data_init().
int ff_audio_data_set_channels | ( | AudioData * | a, |
int | channels | ||
) |
Definition at line 59 of file audio_data.c.
Referenced by avresample_convert(), and ff_audio_mix().
int ff_audio_data_init | ( | AudioData * | a, |
uint8_t *const * | src, | ||
int | plane_size, | ||
int | channels, | ||
int | nb_samples, | ||
enum AVSampleFormat | sample_fmt, | ||
int | read_only, | ||
const char * | name | ||
) |
Initialize AudioData using a given source.
This does not allocate an internal buffer. It only sets the data pointers and audio parameters.
a | AudioData struct |
src | source data pointers |
plane_size | plane size, in bytes. This can be 0 if unknown, but that will lead to optimized functions not being used in many cases, which could slow down some conversions. |
channels | channel count |
nb_samples | number of samples in the source data |
sample_fmt | sample format |
read_only | indicates if buffer is read only or read/write |
name | name for debug logging (can be NULL) |
Definition at line 73 of file audio_data.c.
Referenced by avresample_convert().
AudioData* ff_audio_data_alloc | ( | int | channels, |
int | nb_samples, | ||
enum AVSampleFormat | sample_fmt, | ||
const char * | name | ||
) |
Allocate AudioData.
This allocates an internal buffer and sets audio parameters.
channels | channel count |
nb_samples | number of samples to allocate space for |
sample_fmt | sample format |
name | name for debug logging (can be NULL) |
Definition at line 119 of file audio_data.c.
Referenced by avresample_open(), ff_audio_resample_init(), and ff_dither_alloc().
int ff_audio_data_realloc | ( | AudioData * | a, |
int | nb_samples | ||
) |
Reallocate AudioData.
The AudioData must have been previously allocated with ff_audio_data_alloc().
a | AudioData struct |
nb_samples | number of samples to allocate space for |
Definition at line 162 of file audio_data.c.
Referenced by avresample_convert(), ff_audio_data_alloc(), ff_audio_data_combine(), ff_audio_data_copy(), ff_audio_data_read_from_fifo(), ff_audio_resample(), and ff_convert_dither().
Free AudioData.
The AudioData must have been previously allocated with ff_audio_data_alloc().
a | AudioData struct |
Definition at line 217 of file audio_data.c.
Referenced by avresample_close(), ff_audio_resample_free(), ff_audio_resample_init(), and ff_dither_free().
int ff_audio_data_copy | ( | AudioData * | out, |
AudioData * | in, | ||
ChannelMapInfo * | map | ||
) |
Copy data from one AudioData to another.
Definition at line 225 of file audio_data.c.
Referenced by avresample_convert(), ff_convert_dither(), and handle_buffered_output().
int ff_audio_data_combine | ( | AudioData * | dst, |
int | dst_offset, | ||
AudioData * | src, | ||
int | src_offset, | ||
int | nb_samples | ||
) |
Append data from one AudioData to the end of another.
dst | destination AudioData |
dst_offset | offset, in samples, to start writing, relative to the start of dst |
src | source AudioData |
src_offset | offset, in samples, to start copying, relative to the start of the src |
nb_samples | number of samples to copy |
Definition at line 278 of file audio_data.c.
Referenced by ff_audio_resample().
Drain samples from the start of the AudioData.
Remaining samples are shifted to the start of the AudioData.
a | AudioData struct |
nb_samples | number of samples to drain |
Definition at line 334 of file audio_data.c.
Referenced by ff_audio_resample().
int ff_audio_data_add_to_fifo | ( | AVAudioFifo * | af, |
AudioData * | a, | ||
int | offset, | ||
int | nb_samples | ||
) |
Add samples in AudioData to an AVAudioFifo.
af | Audio FIFO Buffer |
a | AudioData struct |
offset | number of samples to skip from the start of the data |
nb_samples | number of samples to add to the FIFO |
Definition at line 351 of file audio_data.c.
Referenced by handle_buffered_output().
int ff_audio_data_read_from_fifo | ( | AVAudioFifo * | af, |
AudioData * | a, | ||
int | nb_samples | ||
) |
Read samples from an AVAudioFifo to AudioData.
af | Audio FIFO Buffer |
a | AudioData struct |
nb_samples | number of samples to read from the FIFO |
Definition at line 366 of file audio_data.c.
Referenced by handle_buffered_output().