#include "libavutil/opt.h"#include "swresample_internal.h"#include "audioconvert.h"#include "libavutil/avassert.h"#include "libavutil/audioconvert.h"Go to the source code of this file.
Defines | |
| #define | C30DB M_SQRT2 |
| #define | C15DB 1.189207115 |
| #define | C__0DB 1.0 |
| #define | C_15DB 0.840896415 |
| #define | C_30DB M_SQRT1_2 |
| #define | C_45DB 0.594603558 |
| #define | C_60DB 0.5 |
| #define | OFFSET(x) offsetof(SwrContext,x) |
| #define | RSC 1 |
Functions | |
| static const char * | context_to_name (void *ptr) |
| int | swr_set_channel_mapping (struct SwrContext *s, const int *channel_map) |
| Set a customized input channel mapping. | |
| struct SwrContext * | swr_alloc (void) |
| Allocate SwrContext. | |
| struct SwrContext * | swr_alloc_set_opts (struct SwrContext *s, int64_t out_ch_layout, enum AVSampleFormat out_sample_fmt, int out_sample_rate, int64_t in_ch_layout, enum AVSampleFormat in_sample_fmt, int in_sample_rate, int log_offset, void *log_ctx) |
| Allocate SwrContext if needed and set/reset common parameters. | |
| static void | free_temp (AudioData *a) |
| void | swr_free (SwrContext **ss) |
| Free the given SwrContext and set the pointer to NULL. | |
| int | swr_init (struct SwrContext *s) |
| Initialize context after user parameters have been set. | |
| static int | realloc_audio (AudioData *a, int count) |
| static void | copy (AudioData *out, AudioData *in, int count) |
| static void | fill_audiodata (AudioData *out, uint8_t *in_arg[SWR_CH_MAX]) |
| static void | buf_set (AudioData *out, AudioData *in, int count) |
| out may be equal in. | |
| static int | resample (SwrContext *s, AudioData *out_param, int out_count, const AudioData *in_param, int in_count) |
| int | swr_convert (struct SwrContext *s, uint8_t *out_arg[SWR_CH_MAX], int out_count, const uint8_t *in_arg[SWR_CH_MAX], int in_count) |
| Convert audio. | |
Variables | |
| static const AVOption | options [] |
| static const AVClass | av_class |
| #define C15DB 1.189207115 |
Definition at line 28 of file swresample.c.
| #define C30DB M_SQRT2 |
Definition at line 27 of file swresample.c.
| #define C_15DB 0.840896415 |
Definition at line 30 of file swresample.c.
| #define C_30DB M_SQRT1_2 |
Definition at line 31 of file swresample.c.
| #define C_45DB 0.594603558 |
Definition at line 32 of file swresample.c.
| #define C_60DB 0.5 |
Definition at line 33 of file swresample.c.
| #define C__0DB 1.0 |
Definition at line 29 of file swresample.c.
| #define OFFSET | ( | x | ) | offsetof(SwrContext,x) |
Definition at line 37 of file swresample.c.
| #define RSC 1 |
Referenced by swr_init().
| static const char* context_to_name | ( | void * | ptr | ) | [static] |
Definition at line 60 of file swresample.c.
Definition at line 284 of file swresample.c.
| static void fill_audiodata | ( | AudioData * | out, | |
| uint8_t * | in_arg[SWR_CH_MAX] | |||
| ) | [static] |
| static void free_temp | ( | AudioData * | a | ) | [static] |
| static int realloc_audio | ( | AudioData * | a, | |
| int | count | |||
| ) | [static] |
| static int resample | ( | SwrContext * | s, | |
| AudioData * | out_param, | |||
| int | out_count, | |||
| const AudioData * | in_param, | |||
| int | in_count | |||
| ) | [static] |
Definition at line 325 of file swresample.c.
Referenced by swr_convert().
| struct SwrContext* swr_alloc | ( | void | ) | [read] |
Allocate SwrContext.
If you use this function you will need to set the parameters (manually or with swr_alloc_set_opts()) before calling swr_init().
Definition at line 80 of file swresample.c.
Referenced by swr_alloc_set_opts().
| struct SwrContext* swr_alloc_set_opts | ( | struct SwrContext * | s, | |
| int64_t | out_ch_layout, | |||
| enum AVSampleFormat | out_sample_fmt, | |||
| int | out_sample_rate, | |||
| int64_t | in_ch_layout, | |||
| enum AVSampleFormat | in_sample_fmt, | |||
| int | in_sample_rate, | |||
| int | log_offset, | |||
| void * | log_ctx | |||
| ) | [read] |
Allocate SwrContext if needed and set/reset common parameters.
This function does not require s to be allocated with swr_alloc(). On the other hand, swr_alloc() can use swr_alloc_set_opts() to set the parameters on the allocated context.
| s | Swr context, can be NULL | |
| out_ch_layout | output channel layout (AV_CH_LAYOUT_*) | |
| out_sample_fmt | output sample format (AV_SAMPLE_FMT_*). | |
| out_sample_rate | output sample rate (frequency in Hz) | |
| in_ch_layout | input channel layout (AV_CH_LAYOUT_*) | |
| in_sample_fmt | input sample format (AV_SAMPLE_FMT_*). | |
| in_sample_rate | input sample rate (frequency in Hz) | |
| log_offset | logging level offset | |
| log_ctx | parent logging context, can be NULL |
Definition at line 89 of file swresample.c.
Referenced by audio_decode_frame(), do_audio_out(), and main().
| int swr_convert | ( | struct SwrContext * | s, | |
| uint8_t * | out[SWR_CH_MAX], | |||
| int | out_count, | |||
| const uint8_t * | in[SWR_CH_MAX], | |||
| int | in_count | |||
| ) |
Convert audio.
in and in_count can be set to 0 to flush the last few samples out at the end.
| s | allocated Swr context, with parameters set | |
| out | output buffers, only the first one need be set in case of packed audio | |
| out_count | amount of space available for output in samples per channel | |
| in | input buffers, only the first one need to be set in case of packed audio | |
| in_count | number of input samples available in one channel |
Definition at line 399 of file swresample.c.
Referenced by audio_decode_frame(), do_audio_out(), and main().
| void swr_free | ( | SwrContext ** | ss | ) |
Free the given SwrContext and set the pointer to NULL.
Definition at line 118 of file swresample.c.
Referenced by audio_decode_frame(), do_audio_out(), stream_component_close(), and transcode().
| int swr_init | ( | struct SwrContext * | s | ) |
Initialize context after user parameters have been set.
Definition at line 134 of file swresample.c.
Referenced by audio_decode_frame(), do_audio_out(), and main().
| int swr_set_channel_mapping | ( | struct SwrContext * | s, | |
| const int * | channel_map | |||
| ) |
Set a customized input channel mapping.
| s | allocated Swr context, not yet initialized | |
| channel_map | customized input channel mapping (array of channel indexes, -1 for a muted channel) |
Definition at line 73 of file swresample.c.
Referenced by do_audio_out().
Initial value:
{
.class_name = "SwrContext",
.item_name = context_to_name,
.option = options,
.version = LIBAVUTIL_VERSION_INT,
.log_level_offset_offset = OFFSET(log_level_offset),
.parent_log_context_offset = OFFSET(log_ctx),
}
Definition at line 64 of file swresample.c.
Initial value:
{
{"ich", "input channel count", OFFSET( in.ch_count ), AV_OPT_TYPE_INT, {.dbl=2}, 0, SWR_CH_MAX, 0},
{"och", "output channel count", OFFSET(out.ch_count ), AV_OPT_TYPE_INT, {.dbl=2}, 0, SWR_CH_MAX, 0},
{"uch", "used channel count", OFFSET(used_ch_count ), AV_OPT_TYPE_INT, {.dbl=0}, 0, SWR_CH_MAX, 0},
{"isr", "input sample rate" , OFFSET( in_sample_rate), AV_OPT_TYPE_INT, {.dbl=48000}, 1, INT_MAX, 0},
{"osr", "output sample rate" , OFFSET(out_sample_rate), AV_OPT_TYPE_INT, {.dbl=48000}, 1, INT_MAX, 0},
{"isf", "input sample format", OFFSET( in_sample_fmt ), AV_OPT_TYPE_INT, {.dbl=AV_SAMPLE_FMT_S16}, 0, AV_SAMPLE_FMT_NB-1+256, 0},
{"osf", "output sample format", OFFSET(out_sample_fmt ), AV_OPT_TYPE_INT, {.dbl=AV_SAMPLE_FMT_S16}, 0, AV_SAMPLE_FMT_NB-1+256, 0},
{"tsf", "internal sample format", OFFSET(int_sample_fmt ), AV_OPT_TYPE_INT, {.dbl=AV_SAMPLE_FMT_NONE}, -1, AV_SAMPLE_FMT_FLT, 0},
{"icl", "input channel layout" , OFFSET( in_ch_layout), AV_OPT_TYPE_INT64, {.dbl=0}, 0, INT64_MAX, 0, "channel_layout"},
{"ocl", "output channel layout", OFFSET(out_ch_layout), AV_OPT_TYPE_INT64, {.dbl=0}, 0, INT64_MAX, 0, "channel_layout"},
{"clev", "center mix level" , OFFSET(clev) , AV_OPT_TYPE_FLOAT, {.dbl=C_30DB}, 0, 4, 0},
{"slev", "sourround mix level" , OFFSET(slev) , AV_OPT_TYPE_FLOAT, {.dbl=C_30DB}, 0, 4, 0},
{"rmvol", "rematrix volume" , OFFSET(rematrix_volume), AV_OPT_TYPE_FLOAT, {.dbl=1.0}, -1000, 1000, 0},
{"flags", NULL , OFFSET(flags) , AV_OPT_TYPE_FLAGS, {.dbl=0}, 0, UINT_MAX, 0, "flags"},
{"res", "force resampling", 0, AV_OPT_TYPE_CONST, {.dbl=SWR_FLAG_RESAMPLE}, INT_MIN, INT_MAX, 0, "flags"},
{0}
}
Definition at line 38 of file swresample.c.
1.5.8