#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) | 
|  | 
◆ OFFSET
◆ FLAGS
◆ libopus_write_header()
  
  | 
        
          | static void libopus_write_header | ( | AVCodecContext * | avctx, |  
          |  |  | int | stream_count, |  
          |  |  | int | coupled_stream_count, |  
          |  |  | int | mapping_family, |  
          |  |  | const uint8_t * | channel_mapping |  
          |  | ) |  |  |  | static | 
 
 
◆ libopus_configure_encoder()
◆ libopus_check_max_channels()
◆ libopus_check_vorbis_layout()
◆ libopus_validate_layout_and_get_channel_map()
  
  | 
        
          | static int libopus_validate_layout_and_get_channel_map | ( | AVCodecContext * | avctx, |  
          |  |  | int | mapping_family, |  
          |  |  | const uint8_t ** | channel_map_result |  
          |  | ) |  |  |  | static | 
 
 
◆ libopus_encode_init()
◆ libopus_copy_samples_with_channel_map()
  
  | 
        
          | 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 | 
 
 
◆ libopus_encode()
◆ libopus_encode_close()
◆ opus_coupled_streams
  
  | 
        
          | const uint8_t opus_coupled_streams[8] |  | static | 
 
 
◆ opus_vorbis_channel_map
  
  | 
        
          | 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().
 
 
◆ libavcodec_libopus_channel_map
  
  | 
        
          | 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().
 
 
◆ libopus_options
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 540 of file libopusenc.c.
 
 
◆ libopus_class
Initial value:= {
    .class_name = "libopus",
}
Definition at line 558 of file libopusenc.c.
 
 
◆ libopus_defaults
Initial value:= {
    { "b",                 "0" },
    { "compression_level", "10" },
}
Definition at line 565 of file libopusenc.c.
 
 
◆ libopus_sample_rates
  
  | 
        
          | const int libopus_sample_rates[] |  | static | 
 
Initial value:= {
    48000, 24000, 16000, 12000, 8000, 0,
}
Definition at line 571 of file libopusenc.c.
 
 
◆ ff_libopus_encoder
Initial value:= {
    .name            = "libopus",
    .wrapper_name    = "libopus",
}
Definition at line 575 of file libopusenc.c.