FFmpeg
Macros | Functions | Variables
aacdec_common.c File Reference
#include "aac.h"
#include "aacdectab.h"
#include "aacps.h"
#include "aactab.h"
#include "vlc.h"
#include "libavutil/attributes.h"
#include "libavutil/thread.h"

Go to the source code of this file.

Macros

#define TAB_WRAP_SIZE(name)   name[i], sizeof(name[i][0]), sizeof(name[i][0])
 

Functions

static av_cold void aacdec_common_init (void)
 
av_cold void ff_aacdec_common_init_once (void)
 

Variables

const int8_t ff_tags_per_config [16] = { 0, 1, 1, 2, 3, 3, 4, 5, 0, 0, 0, 5, 5, 16, 5, 0 }
 
const uint8_t ff_aac_channel_layout_map [16][16][3]
 
const int16_t ff_aac_channel_map [3][4][6]
 
const AVChannelLayout ff_aac_ch_layout []
 
VLCElem ff_vlc_scalefactors [352]
 
const VLCElemff_vlc_spectral [11]
 
static const uint8_t sbr_huffman_tab [][2]
 Huffman tables for SBR. More...
 
static const uint8_t sbr_huffman_nb_codes []
 
static const int8_t sbr_vlc_offsets [10]
 
const VLCElemff_aac_sbr_vlc [10]
 

Detailed Description

Common code and tables of the AAC fixed- and floating-point decoders

Definition in file aacdec_common.c.

Macro Definition Documentation

◆ TAB_WRAP_SIZE

#define TAB_WRAP_SIZE (   name)    name[i], sizeof(name[i][0]), sizeof(name[i][0])

Function Documentation

◆ aacdec_common_init()

static av_cold void aacdec_common_init ( void  )
static

Definition at line 262 of file aacdec_common.c.

Referenced by ff_aacdec_common_init_once().

◆ ff_aacdec_common_init_once()

av_cold void ff_aacdec_common_init_once ( void  )

Definition at line 303 of file aacdec_common.c.

Referenced by aac_static_table_init().

Variable Documentation

◆ ff_tags_per_config

const int8_t ff_tags_per_config[16] = { 0, 1, 1, 2, 3, 3, 4, 5, 0, 0, 0, 5, 5, 16, 5, 0 }

Definition at line 37 of file aacdec_common.c.

Referenced by aac_decode_er_frame(), get_che(), and set_default_channel_config().

◆ ff_aac_channel_layout_map

const uint8_t ff_aac_channel_layout_map[16][16][3]

Definition at line 39 of file aacdec_common.c.

Referenced by aac_decode_er_frame(), and set_default_channel_config().

◆ ff_aac_channel_map

const int16_t ff_aac_channel_map[3][4][6]

◆ ff_aac_ch_layout

const AVChannelLayout ff_aac_ch_layout[]

◆ ff_vlc_scalefactors

VLCElem ff_vlc_scalefactors[352]

Definition at line 110 of file aacdec_common.c.

Referenced by aacdec_common_init(), decode_cce(), and decode_scalefactors().

◆ ff_vlc_spectral

const VLCElem* ff_vlc_spectral[11]

Definition at line 111 of file aacdec_common.c.

Referenced by aacdec_common_init(), and decode_spectrum_and_dequant().

◆ sbr_huffman_tab

const uint8_t sbr_huffman_tab[][2]
static

Huffman tables for SBR.

Definition at line 115 of file aacdec_common.c.

Referenced by aacdec_common_init().

◆ sbr_huffman_nb_codes

const uint8_t sbr_huffman_nb_codes[]
static
Initial value:
= {
121, 121, 49, 49, 63, 63, 25, 25, 63, 25
}

Definition at line 252 of file aacdec_common.c.

Referenced by aacdec_common_init().

◆ sbr_vlc_offsets

const int8_t sbr_vlc_offsets[10]
static
Initial value:
= {
-60, -60, -24, -24, -31, -31, -12, -12, -31, -12
}

Definition at line 256 of file aacdec_common.c.

Referenced by aacdec_common_init().

◆ ff_aac_sbr_vlc

const VLCElem* ff_aac_sbr_vlc[10]

Definition at line 260 of file aacdec_common.c.

Referenced by aacdec_common_init(), read_sbr_envelope(), and read_sbr_noise().

AV_CHANNEL_LAYOUT_STEREO
#define AV_CHANNEL_LAYOUT_STEREO
Definition: channel_layout.h:379
AV_CHAN_TOP_BACK_RIGHT
@ AV_CHAN_TOP_BACK_RIGHT
Definition: channel_layout.h:67
AV_CHANNEL_LAYOUT_7POINT1_TOP_BACK
#define AV_CHANNEL_LAYOUT_7POINT1_TOP_BACK
Definition: channel_layout.h:416
AV_CHANNEL_LAYOUT_SURROUND
#define AV_CHANNEL_LAYOUT_SURROUND
Definition: channel_layout.h:382
AV_CHAN_BOTTOM_FRONT_LEFT
@ AV_CHAN_BOTTOM_FRONT_LEFT
Definition: channel_layout.h:80
AV_CHANNEL_LAYOUT_4POINT0
#define AV_CHANNEL_LAYOUT_4POINT0
Definition: channel_layout.h:384
AV_CHANNEL_LAYOUT_7POINT1
#define AV_CHANNEL_LAYOUT_7POINT1
Definition: channel_layout.h:401
AV_CHANNEL_LAYOUT_5POINT0_BACK
#define AV_CHANNEL_LAYOUT_5POINT0_BACK
Definition: channel_layout.h:390
AV_CHAN_SIDE_RIGHT
@ AV_CHAN_SIDE_RIGHT
Definition: channel_layout.h:60
AV_CHAN_TOP_SIDE_LEFT
@ AV_CHAN_TOP_SIDE_LEFT
Definition: channel_layout.h:77
AV_CHAN_TOP_SIDE_RIGHT
@ AV_CHAN_TOP_SIDE_RIGHT
Definition: channel_layout.h:78
AV_CHANNEL_LAYOUT_7POINT1_WIDE_BACK
#define AV_CHANNEL_LAYOUT_7POINT1_WIDE_BACK
Definition: channel_layout.h:403
AV_CHAN_TOP_BACK_CENTER
@ AV_CHAN_TOP_BACK_CENTER
Definition: channel_layout.h:66
AV_CHAN_BOTTOM_FRONT_RIGHT
@ AV_CHAN_BOTTOM_FRONT_RIGHT
Definition: channel_layout.h:81
AV_CHAN_TOP_CENTER
@ AV_CHAN_TOP_CENTER
Definition: channel_layout.h:61
AV_CHAN_FRONT_RIGHT_OF_CENTER
@ AV_CHAN_FRONT_RIGHT_OF_CENTER
Definition: channel_layout.h:57
AV_CHANNEL_LAYOUT_22POINT2
#define AV_CHANNEL_LAYOUT_22POINT2
Definition: channel_layout.h:414
AV_CHAN_FRONT_RIGHT
@ AV_CHAN_FRONT_RIGHT
Definition: channel_layout.h:51
AV_CHAN_FRONT_CENTER
@ AV_CHAN_FRONT_CENTER
Definition: channel_layout.h:52
AV_CHAN_LOW_FREQUENCY
@ AV_CHAN_LOW_FREQUENCY
Definition: channel_layout.h:53
AV_CHAN_BACK_RIGHT
@ AV_CHAN_BACK_RIGHT
Definition: channel_layout.h:55
AV_CHAN_SIDE_LEFT
@ AV_CHAN_SIDE_LEFT
Definition: channel_layout.h:59
AV_CHAN_TOP_FRONT_RIGHT
@ AV_CHAN_TOP_FRONT_RIGHT
Definition: channel_layout.h:64
AV_CHAN_FRONT_LEFT_OF_CENTER
@ AV_CHAN_FRONT_LEFT_OF_CENTER
Definition: channel_layout.h:56
AV_CHAN_UNUSED
@ AV_CHAN_UNUSED
Channel is empty can be safely skipped.
Definition: channel_layout.h:84
AV_CHANNEL_LAYOUT_6POINT1_BACK
#define AV_CHANNEL_LAYOUT_6POINT1_BACK
Definition: channel_layout.h:397
AV_CHAN_BACK_CENTER
@ AV_CHAN_BACK_CENTER
Definition: channel_layout.h:58
AV_CHAN_NONE
@ AV_CHAN_NONE
Invalid channel index.
Definition: channel_layout.h:49
AV_CHAN_LOW_FREQUENCY_2
@ AV_CHAN_LOW_FREQUENCY_2
Definition: channel_layout.h:76
AV_CHAN_TOP_BACK_LEFT
@ AV_CHAN_TOP_BACK_LEFT
Definition: channel_layout.h:65
AV_CHAN_BACK_LEFT
@ AV_CHAN_BACK_LEFT
Definition: channel_layout.h:54
AV_CHAN_BOTTOM_FRONT_CENTER
@ AV_CHAN_BOTTOM_FRONT_CENTER
Definition: channel_layout.h:79
AV_CHAN_TOP_FRONT_CENTER
@ AV_CHAN_TOP_FRONT_CENTER
Definition: channel_layout.h:63
AV_CHANNEL_LAYOUT_MONO
#define AV_CHANNEL_LAYOUT_MONO
Definition: channel_layout.h:378
AV_CHAN_TOP_FRONT_LEFT
@ AV_CHAN_TOP_FRONT_LEFT
Definition: channel_layout.h:62
AV_CHANNEL_LAYOUT_5POINT1_BACK
#define AV_CHANNEL_LAYOUT_5POINT1_BACK
Definition: channel_layout.h:391
AV_CHAN_FRONT_LEFT
@ AV_CHAN_FRONT_LEFT
Definition: channel_layout.h:50