libavutil/samplefmt.c File Reference

#include "samplefmt.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

Go to the source code of this file.

Data Structures

struct  SampleFmtInfo

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.
enum AVSampleFormat av_get_sample_fmt (const char *name)
 Return a sample format corresponding to name, or AV_SAMPLE_FMT_NONE on error.
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.
int av_get_bits_per_sample_fmt (enum AVSampleFormat sample_fmt)
 Return sample format bits per sample.
int av_samples_fill_arrays (uint8_t *pointers[8], int linesizes[8], uint8_t *buf, int nb_channels, int nb_samples, enum AVSampleFormat sample_fmt, int planar, int align)
 Fill channel data pointers and linesizes for samples with sample format sample_fmt.
int av_samples_alloc (uint8_t *pointers[8], int linesizes[8], int nb_samples, int nb_channels, enum AVSampleFormat sample_fmt, int planar, int align)
 Allocate a samples buffer for nb_samples samples, and fill pointers and linesizes accordingly.

Variables

static const SampleFmtInfo sample_fmt_info [AV_SAMPLE_FMT_NB]
 this table gives more information about formats


Function Documentation

int av_get_bits_per_sample_fmt ( enum AVSampleFormat  sample_fmt  ) 

Return sample format bits per sample.

Parameters:
sample_fmt the sample format
Returns:
number of bits per sample or zero if unknown for the given sample format

Definition at line 69 of file samplefmt.c.

Referenced by audio_decode_frame(), av_audio_resample_init(), av_get_bits_per_sample_format(), av_samples_fill_arrays(), avfilter_default_get_audio_buffer(), decode_frame(), decode_init(), do_audio_out(), mkv_write_tracks(), output_packet(), and vmdaudio_decode_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 46 of file samplefmt.c.

Referenced by avcodec_get_sample_fmt(), and opt_audio_sample_fmt().

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 39 of file samplefmt.c.

Referenced by audio_decode_frame(), av_audio_resample_init(), avcodec_get_sample_fmt_name(), avcodec_string(), choose_sample_fmt(), do_audio_out(), ff_dlog_link(), 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.

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 56 of file samplefmt.c.

Referenced by avcodec_sample_fmt_string(), and opt_audio_sample_fmt().

int av_samples_alloc ( uint8_t *  pointers[8],
int  linesizes[8],
int  nb_samples,
int  nb_channels,
enum AVSampleFormat  sample_fmt,
int  planar,
int  align 
)

Allocate a samples buffer for nb_samples samples, and fill pointers and linesizes accordingly.

The allocated samples buffer has to be freed by using av_freep(&pointers[0]).

Parameters:
nb_samples number of samples per channel
planar 1 if the samples layout is planar, 0 if packed,
align the value to use for buffer size alignment
Returns:
the size in bytes required for the samples buffer, a negative error code in case of failure
See also:
av_samples_fill_arrays()

Definition at line 103 of file samplefmt.c.

int av_samples_fill_arrays ( uint8_t *  pointers[8],
int  linesizes[8],
uint8_t *  buf,
int  nb_channels,
int  nb_samples,
enum AVSampleFormat  sample_fmt,
int  planar,
int  align 
)

Fill channel data pointers and linesizes for samples with sample format sample_fmt.

The pointers array is filled with the pointers to the samples data: data[c] points to the first sample of channel c. data[c] + linesize[0] points to the second sample of channel c

Parameters:
pointers array to be filled with the pointer for each plane, may be NULL
linesizes array to be filled with the linesize, may be NULL
buf the pointer to a buffer containing the samples
nb_samples the number of samples in a single channel
planar 1 if the samples layout is planar, 0 if it is packed
nb_channels the number of channels
Returns:
the total size of the buffer, a negative error code in case of failure

Definition at line 75 of file samplefmt.c.

Referenced by av_samples_alloc().


Variable Documentation

const SampleFmtInfo sample_fmt_info[AV_SAMPLE_FMT_NB] [static]

Initial value:

 {
    [AV_SAMPLE_FMT_U8]  = { .name = "u8",  .bits = 8 },
    [AV_SAMPLE_FMT_S16] = { .name = "s16", .bits = 16 },
    [AV_SAMPLE_FMT_S32] = { .name = "s32", .bits = 32 },
    [AV_SAMPLE_FMT_FLT] = { .name = "flt", .bits = 32 },
    [AV_SAMPLE_FMT_DBL] = { .name = "dbl", .bits = 64 },
}
this table gives more information about formats

Definition at line 31 of file samplefmt.c.


Generated on Fri May 25 03:02:50 2012 for FFmpeg by  doxygen 1.5.6