FFmpeg
Macros | Functions
rematrix.c File Reference
#include "swresample_internal.h"
#include "libavutil/avassert.h"
#include "libavutil/channel_layout.h"
#include "rematrix_template.c"

Go to the source code of this file.

Macros

#define TEMPLATE_REMATRIX_FLT
 
#define TEMPLATE_REMATRIX_DBL
 
#define TEMPLATE_REMATRIX_S16
 
#define TEMPLATE_CLIP
 
#define TEMPLATE_REMATRIX_S32
 
#define FRONT_LEFT   0
 
#define FRONT_RIGHT   1
 
#define FRONT_CENTER   2
 
#define LOW_FREQUENCY   3
 
#define BACK_LEFT   4
 
#define BACK_RIGHT   5
 
#define FRONT_LEFT_OF_CENTER   6
 
#define FRONT_RIGHT_OF_CENTER   7
 
#define BACK_CENTER   8
 
#define SIDE_LEFT   9
 
#define SIDE_RIGHT   10
 
#define TOP_CENTER   11
 
#define TOP_FRONT_LEFT   12
 
#define TOP_FRONT_CENTER   13
 
#define TOP_FRONT_RIGHT   14
 
#define TOP_BACK_LEFT   15
 
#define TOP_BACK_CENTER   16
 
#define TOP_BACK_RIGHT   17
 
#define NUM_NAMED_CHANNELS   18
 

Functions

int swr_set_matrix (struct SwrContext *s, const double *matrix, int stride)
 Set a customized remix matrix. More...
 
static int even (int64_t layout)
 
static int clean_layout (void *s, int64_t layout)
 
static int sane_layout (int64_t layout)
 
av_cold int swr_build_matrix (uint64_t in_ch_layout_param, uint64_t out_ch_layout_param, double center_mix_level, double surround_mix_level, double lfe_mix_level, double maxval, double rematrix_volume, double *matrix_param, int stride, enum AVMatrixEncoding matrix_encoding, void *log_context)
 Generate a channel mixing matrix. More...
 
static av_cold int auto_matrix (SwrContext *s)
 
av_cold int swri_rematrix_init (SwrContext *s)
 
av_cold void swri_rematrix_free (SwrContext *s)
 
int swri_rematrix (SwrContext *s, AudioData *out, AudioData *in, int len, int mustcopy)
 

Macro Definition Documentation

◆ TEMPLATE_REMATRIX_FLT

#define TEMPLATE_REMATRIX_FLT

Definition at line 25 of file rematrix.c.

◆ TEMPLATE_REMATRIX_DBL

#define TEMPLATE_REMATRIX_DBL

Definition at line 29 of file rematrix.c.

◆ TEMPLATE_REMATRIX_S16

#define TEMPLATE_REMATRIX_S16

Definition at line 33 of file rematrix.c.

◆ TEMPLATE_CLIP

#define TEMPLATE_CLIP

Definition at line 35 of file rematrix.c.

◆ TEMPLATE_REMATRIX_S32

#define TEMPLATE_REMATRIX_S32

Definition at line 40 of file rematrix.c.

◆ FRONT_LEFT

#define FRONT_LEFT   0

Definition at line 44 of file rematrix.c.

◆ FRONT_RIGHT

#define FRONT_RIGHT   1

Definition at line 45 of file rematrix.c.

◆ FRONT_CENTER

#define FRONT_CENTER   2

Definition at line 46 of file rematrix.c.

◆ LOW_FREQUENCY

#define LOW_FREQUENCY   3

Definition at line 47 of file rematrix.c.

◆ BACK_LEFT

#define BACK_LEFT   4

Definition at line 48 of file rematrix.c.

◆ BACK_RIGHT

#define BACK_RIGHT   5

Definition at line 49 of file rematrix.c.

◆ FRONT_LEFT_OF_CENTER

#define FRONT_LEFT_OF_CENTER   6

Definition at line 50 of file rematrix.c.

◆ FRONT_RIGHT_OF_CENTER

#define FRONT_RIGHT_OF_CENTER   7

Definition at line 51 of file rematrix.c.

◆ BACK_CENTER

#define BACK_CENTER   8

Definition at line 52 of file rematrix.c.

◆ SIDE_LEFT

#define SIDE_LEFT   9

Definition at line 53 of file rematrix.c.

◆ SIDE_RIGHT

#define SIDE_RIGHT   10

Definition at line 54 of file rematrix.c.

◆ TOP_CENTER

#define TOP_CENTER   11

Definition at line 55 of file rematrix.c.

◆ TOP_FRONT_LEFT

#define TOP_FRONT_LEFT   12

Definition at line 56 of file rematrix.c.

◆ TOP_FRONT_CENTER

#define TOP_FRONT_CENTER   13

Definition at line 57 of file rematrix.c.

◆ TOP_FRONT_RIGHT

#define TOP_FRONT_RIGHT   14

Definition at line 58 of file rematrix.c.

◆ TOP_BACK_LEFT

#define TOP_BACK_LEFT   15

Definition at line 59 of file rematrix.c.

◆ TOP_BACK_CENTER

#define TOP_BACK_CENTER   16

Definition at line 60 of file rematrix.c.

◆ TOP_BACK_RIGHT

#define TOP_BACK_RIGHT   17

Definition at line 61 of file rematrix.c.

◆ NUM_NAMED_CHANNELS

#define NUM_NAMED_CHANNELS   18

Definition at line 62 of file rematrix.c.

Function Documentation

◆ even()

static int even ( int64_t  layout)
static

Definition at line 85 of file rematrix.c.

Referenced by sane_layout().

◆ clean_layout()

static int clean_layout ( void *  s,
int64_t  layout 
)
static

Definition at line 91 of file rematrix.c.

Referenced by swr_build_matrix().

◆ sane_layout()

static int sane_layout ( int64_t  layout)
static

Definition at line 102 of file rematrix.c.

Referenced by swr_build_matrix().

◆ auto_matrix()

static av_cold int auto_matrix ( SwrContext s)
static

Definition at line 356 of file rematrix.c.

Referenced by swri_rematrix_init().

◆ swri_rematrix_init()

av_cold int swri_rematrix_init ( SwrContext s)

Definition at line 385 of file rematrix.c.

Referenced by swr_init().

◆ swri_rematrix_free()

av_cold void swri_rematrix_free ( SwrContext s)

Definition at line 490 of file rematrix.c.

Referenced by clear_context().

◆ swri_rematrix()

int swri_rematrix ( SwrContext s,
AudioData out,
AudioData in,
int  len,
int  mustcopy 
)

Definition at line 497 of file rematrix.c.

Referenced by swr_convert_internal().