audio_mix_matrix.c File Reference
#include <stdint.h>
#include "libavutil/common.h"
#include "libavutil/libm.h"
#include "libavutil/samplefmt.h"
#include "avresample.h"
#include "internal.h"
#include "audio_data.h"
#include "audio_mix.h"
Include dependency graph for audio_mix_matrix.c:

Go to the source code of this file.

Macros

#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 STEREO_LEFT   29
 
#define STEREO_RIGHT   30
 
#define WIDE_LEFT   31
 
#define WIDE_RIGHT   32
 
#define SURROUND_DIRECT_LEFT   33
 
#define SURROUND_DIRECT_RIGHT   34
 
#define LOW_FREQUENCY_2   35
 
#define SQRT3_2   1.22474487139158904909 /* sqrt(3/2) */
 

Functions

static av_always_inline int even (uint64_t layout)
 
static int sane_layout (uint64_t layout)
 
int avresample_build_matrix (uint64_t in_layout, uint64_t out_layout, double center_mix_level, double surround_mix_level, double lfe_mix_level, int normalize, double *matrix_out, int stride, enum AVMatrixEncoding matrix_encoding)
 Generate a channel mixing matrix. More...
 

Macro Definition Documentation

#define BACK_CENTER   8

Definition at line 41 of file audio_mix_matrix.c.

Referenced by avresample_build_matrix().

#define BACK_LEFT   4

Definition at line 37 of file audio_mix_matrix.c.

Referenced by avresample_build_matrix().

#define BACK_RIGHT   5

Definition at line 38 of file audio_mix_matrix.c.

Referenced by avresample_build_matrix().

#define FRONT_CENTER   2

Definition at line 35 of file audio_mix_matrix.c.

Referenced by avresample_build_matrix().

#define FRONT_LEFT   0

Definition at line 33 of file audio_mix_matrix.c.

Referenced by avresample_build_matrix().

#define FRONT_LEFT_OF_CENTER   6

Definition at line 39 of file audio_mix_matrix.c.

Referenced by avresample_build_matrix().

#define FRONT_RIGHT   1

Definition at line 34 of file audio_mix_matrix.c.

Referenced by avresample_build_matrix().

#define FRONT_RIGHT_OF_CENTER   7

Definition at line 40 of file audio_mix_matrix.c.

Referenced by avresample_build_matrix().

#define LOW_FREQUENCY   3

Definition at line 36 of file audio_mix_matrix.c.

Referenced by avresample_build_matrix().

#define LOW_FREQUENCY_2   35

Definition at line 57 of file audio_mix_matrix.c.

#define SIDE_LEFT   9

Definition at line 42 of file audio_mix_matrix.c.

Referenced by avresample_build_matrix().

#define SIDE_RIGHT   10

Definition at line 43 of file audio_mix_matrix.c.

Referenced by avresample_build_matrix().

#define SQRT3_2   1.22474487139158904909 /* sqrt(3/2) */

Definition at line 59 of file audio_mix_matrix.c.

Referenced by auto_matrix(), and avresample_build_matrix().

#define STEREO_LEFT   29

Definition at line 51 of file audio_mix_matrix.c.

#define STEREO_RIGHT   30

Definition at line 52 of file audio_mix_matrix.c.

#define SURROUND_DIRECT_LEFT   33

Definition at line 55 of file audio_mix_matrix.c.

#define SURROUND_DIRECT_RIGHT   34

Definition at line 56 of file audio_mix_matrix.c.

#define TOP_BACK_CENTER   16

Definition at line 49 of file audio_mix_matrix.c.

#define TOP_BACK_LEFT   15

Definition at line 48 of file audio_mix_matrix.c.

#define TOP_BACK_RIGHT   17

Definition at line 50 of file audio_mix_matrix.c.

#define TOP_CENTER   11

Definition at line 44 of file audio_mix_matrix.c.

#define TOP_FRONT_CENTER   13

Definition at line 46 of file audio_mix_matrix.c.

#define TOP_FRONT_LEFT   12

Definition at line 45 of file audio_mix_matrix.c.

#define TOP_FRONT_RIGHT   14

Definition at line 47 of file audio_mix_matrix.c.

#define WIDE_LEFT   31

Definition at line 53 of file audio_mix_matrix.c.

#define WIDE_RIGHT   32

Definition at line 54 of file audio_mix_matrix.c.

Function Documentation

static av_always_inline int even ( uint64_t  layout)
static

Definition at line 61 of file audio_mix_matrix.c.

Referenced by sane_layout().

static int sane_layout ( uint64_t  layout)
static

Definition at line 66 of file audio_mix_matrix.c.

Referenced by avresample_build_matrix().