mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2025-02-17 18:38:13 +00:00
lavu/samplefmt: add av_samples_alloc_array_and_pointers()
This commit is contained in:
parent
39aad43465
commit
5c73645d91
@ -15,6 +15,9 @@ libavutil: 2012-10-22
|
|||||||
|
|
||||||
API changes, most recent first:
|
API changes, most recent first:
|
||||||
|
|
||||||
|
2013-03-30 - xxxxxxx - lavu 52.24.100 - samplefmt.h
|
||||||
|
Add av_samples_alloc_array_and_samples().
|
||||||
|
|
||||||
2013-03-29 - xxxxxxx - lavf 55.1.100 - avformat.h
|
2013-03-29 - xxxxxxx - lavf 55.1.100 - avformat.h
|
||||||
Add av_guess_frame_rate()
|
Add av_guess_frame_rate()
|
||||||
|
|
||||||
|
@ -207,6 +207,21 @@ int av_samples_alloc(uint8_t **audio_data, int *linesize, int nb_channels,
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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)
|
||||||
|
{
|
||||||
|
int ret, nb_planes = av_sample_fmt_is_planar(sample_fmt) ? nb_channels : 1;
|
||||||
|
|
||||||
|
*audio_data = av_calloc(nb_planes, sizeof(*audio_data));
|
||||||
|
if (!*audio_data)
|
||||||
|
return AVERROR(ENOMEM);
|
||||||
|
ret = av_samples_alloc(*audio_data, linesize, nb_channels,
|
||||||
|
nb_samples, sample_fmt, align);
|
||||||
|
if (ret < 0)
|
||||||
|
av_freep(audio_data);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
int av_samples_copy(uint8_t **dst, uint8_t * const *src, int dst_offset,
|
int av_samples_copy(uint8_t **dst, uint8_t * const *src, int dst_offset,
|
||||||
int src_offset, int nb_samples, int nb_channels,
|
int src_offset, int nb_samples, int nb_channels,
|
||||||
enum AVSampleFormat sample_fmt)
|
enum AVSampleFormat sample_fmt)
|
||||||
|
@ -209,10 +209,23 @@ int av_samples_fill_arrays(uint8_t **audio_data, int *linesize,
|
|||||||
* @return >=0 on success or a negative error code on failure
|
* @return >=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
|
* @todo return the size of the allocated buffer in case of success at the next bump
|
||||||
* @see av_samples_fill_arrays()
|
* @see av_samples_fill_arrays()
|
||||||
|
* @see av_samples_alloc_array_and_samples()
|
||||||
*/
|
*/
|
||||||
int av_samples_alloc(uint8_t **audio_data, int *linesize, int nb_channels,
|
int av_samples_alloc(uint8_t **audio_data, int *linesize, int nb_channels,
|
||||||
int nb_samples, enum AVSampleFormat sample_fmt, int align);
|
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 av_samples_alloc()
|
||||||
|
*/
|
||||||
|
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);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Copy samples from src to dst.
|
* Copy samples from src to dst.
|
||||||
*
|
*
|
||||||
|
@ -75,7 +75,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#define LIBAVUTIL_VERSION_MAJOR 52
|
#define LIBAVUTIL_VERSION_MAJOR 52
|
||||||
#define LIBAVUTIL_VERSION_MINOR 23
|
#define LIBAVUTIL_VERSION_MINOR 24
|
||||||
#define LIBAVUTIL_VERSION_MICRO 100
|
#define LIBAVUTIL_VERSION_MICRO 100
|
||||||
|
|
||||||
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
|
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user