#include <opus.h>
#include <opus_multistream.h>
#include "libavutil/opt.h"
#include "avcodec.h"
#include "bytestream.h"
#include "internal.h"
#include "libopus.h"
#include "vorbis.h"
#include "audio_frame_queue.h"
Go to the source code of this file.
|
static void | libopus_write_header (AVCodecContext *avctx, int stream_count, int coupled_stream_count, int mapping_family, const uint8_t *channel_mapping) |
|
static int | libopus_configure_encoder (AVCodecContext *avctx, OpusMSEncoder *enc, LibopusEncOpts *opts) |
|
static int | libopus_check_max_channels (AVCodecContext *avctx, int max_channels) |
|
static int | libopus_check_vorbis_layout (AVCodecContext *avctx, int mapping_family) |
|
static int | libopus_validate_layout_and_get_channel_map (AVCodecContext *avctx, int mapping_family, const uint8_t **channel_map_result) |
|
static av_cold int | libopus_encode_init (AVCodecContext *avctx) |
|
static void | libopus_copy_samples_with_channel_map (uint8_t *dst, const uint8_t *src, const uint8_t *channel_map, int nb_channels, int nb_samples, int bytes_per_sample) |
|
static int | libopus_encode (AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr) |
|
static av_cold int | libopus_encode_close (AVCodecContext *avctx) |
|
static int libopus_validate_layout_and_get_channel_map |
( |
AVCodecContext * |
avctx, |
|
|
int |
mapping_family, |
|
|
const uint8_t ** |
channel_map_result |
|
) |
| |
|
static |
static void libopus_copy_samples_with_channel_map |
( |
uint8_t * |
dst, |
|
|
const uint8_t * |
src, |
|
|
const uint8_t * |
channel_map, |
|
|
int |
nb_channels, |
|
|
int |
nb_samples, |
|
|
int |
bytes_per_sample |
|
) |
| |
|
static |
const uint8_t opus_coupled_streams[8] |
|
static |
const uint8_t opus_vorbis_channel_map[8][8] |
|
static |
Initial value:= {
{ 0 },
{ 0, 1 },
{ 0, 2, 1 },
{ 0, 1, 2, 3 },
{ 0, 4, 1, 2, 3 },
{ 0, 4, 1, 2, 3, 5 },
{ 0, 4, 1, 2, 3, 5, 6 },
{ 0, 6, 1, 2, 3, 4, 5, 7 },
}
Definition at line 62 of file libopusenc.c.
Referenced by libopus_encode_init().
const uint8_t libavcodec_libopus_channel_map[8][8] |
|
static |
Initial value:= {
{ 0 },
{ 0, 1 },
{ 0, 1, 2 },
{ 0, 1, 2, 3 },
{ 0, 1, 3, 4, 2 },
{ 0, 1, 4, 5, 2, 3 },
{ 0, 1, 5, 6, 2, 4, 3 },
{ 0, 1, 6, 7, 4, 5, 2, 3 },
}
Definition at line 74 of file libopusenc.c.
Referenced by libopus_encode_init().
Initial value:= {
{
"application",
"Intended application type",
OFFSET(application),
AV_OPT_TYPE_INT, { .i64 = OPUS_APPLICATION_AUDIO }, OPUS_APPLICATION_VOIP, OPUS_APPLICATION_RESTRICTED_LOWDELAY,
FLAGS,
"application" },
{
"voip",
"Favor improved speech intelligibility", 0,
AV_OPT_TYPE_CONST, { .i64 = OPUS_APPLICATION_VOIP }, 0, 0,
FLAGS,
"application" },
{
"audio",
"Favor faithfulness to the input", 0,
AV_OPT_TYPE_CONST, { .i64 = OPUS_APPLICATION_AUDIO }, 0, 0,
FLAGS,
"application" },
{
"lowdelay",
"Restrict to only the lowest delay modes", 0,
AV_OPT_TYPE_CONST, { .i64 = OPUS_APPLICATION_RESTRICTED_LOWDELAY }, 0, 0,
FLAGS,
"application" },
{
"mapping_family",
"Channel Mapping Family",
OFFSET(mapping_family),
AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 255,
FLAGS,
"mapping_family" },
}
Definition at line 542 of file libopusenc.c.
Initial value:= {
.class_name = "libopus",
}
#define LIBAVUTIL_VERSION_INT
const char * av_default_item_name(void *ptr)
Return the context name.
static const AVOption libopus_options[]
Definition at line 560 of file libopusenc.c.
Initial value:= {
{ "b", "0" },
{ "compression_level", "10" },
}
Definition at line 567 of file libopusenc.c.
const int libopus_sample_rates[] |
|
static |
Initial value:= {
48000, 24000, 16000, 12000, 8000, 0,
}
Definition at line 573 of file libopusenc.c.
Initial value:= {
.name = "libopus",
.wrapper_name = "libopus",
}
static av_cold int init(AVCodecContext *avctx)
#define AV_CODEC_CAP_DELAY
Encoder or decoder requires flushing with NULL input at the end in order to give the complete and cor...
static const AVClass libopus_class
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
#define AV_CODEC_CAP_SMALL_LAST_FRAME
Codec can be fed a final frame with a smaller size.
static const int libopus_sample_rates[]
static av_cold int libopus_encode_init(AVCodecContext *avctx)
AVSampleFormat
Audio sample formats.
static int libopus_encode(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
static av_cold int libopus_encode_close(AVCodecContext *avctx)
static const AVCodecDefault libopus_defaults[]
static enum AVSampleFormat sample_fmts[]
Definition at line 577 of file libopusenc.c.