FFmpeg
Data Structures | Macros | Enumerations | Functions | Variables
aptx.c File Reference
#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "internal.h"
#include "mathops.h"
#include "audio_frame_queue.h"

Go to the source code of this file.

Data Structures

struct  FilterSignal
 
struct  QMFAnalysis
 
struct  Quantize
 
struct  InvertQuantize
 
struct  Prediction
 
struct  Channel
 
struct  AptXContext
 
struct  ConstTables
 

Macros

#define NB_FILTERS   2
 
#define FILTER_TAPS   16
 
#define RSHIFT_SIZE(size)
 

Enumerations

enum  channels { LEFT, RIGHT, NB_CHANNELS }
 
enum  subbands {
  LF, MLF, MHF, HF,
  NB_SUBBANDS
}
 

Functions

static av_always_inline void aptx_update_codeword_history (Channel *channel)
 
static void aptx_generate_dither (Channel *channel)
 
static av_always_inline void aptx_qmf_filter_signal_push (FilterSignal *signal, int32_t sample)
 
static av_always_inline int32_t aptx_qmf_convolution (FilterSignal *signal, const int32_t coeffs[FILTER_TAPS], int shift)
 
static av_always_inline void aptx_qmf_polyphase_analysis (FilterSignal signal[NB_FILTERS], const int32_t coeffs[NB_FILTERS][FILTER_TAPS], int shift, int32_t samples[NB_FILTERS], int32_t *low_subband_output, int32_t *high_subband_output)
 
static void aptx_qmf_tree_analysis (QMFAnalysis *qmf, int32_t samples[4], int32_t subband_samples[4])
 
static av_always_inline void aptx_qmf_polyphase_synthesis (FilterSignal signal[NB_FILTERS], const int32_t coeffs[NB_FILTERS][FILTER_TAPS], int shift, int32_t low_subband_input, int32_t high_subband_input, int32_t samples[NB_FILTERS])
 
static void aptx_qmf_tree_synthesis (QMFAnalysis *qmf, int32_t subband_samples[4], int32_t samples[4])
 
static av_always_inline int32_t aptx_bin_search (int32_t value, int32_t factor, const int32_t *intervals, int32_t nb_intervals)
 
static void aptx_quantize_difference (Quantize *quantize, int32_t sample_difference, int32_t dither, int32_t quantization_factor, ConstTables *tables)
 
static void aptx_encode_channel (Channel *channel, int32_t samples[4], int hd)
 
static void aptx_decode_channel (Channel *channel, int32_t samples[4])
 
static void aptx_invert_quantization (InvertQuantize *invert_quantize, int32_t quantized_sample, int32_t dither, ConstTables *tables)
 
static int32_taptx_reconstructed_differences_update (Prediction *prediction, int32_t reconstructed_difference, int order)
 
static void aptx_prediction_filtering (Prediction *prediction, int32_t reconstructed_difference, int order)
 
static void aptx_process_subband (InvertQuantize *invert_quantize, Prediction *prediction, int32_t quantized_sample, int32_t dither, ConstTables *tables)
 
static void aptx_invert_quantize_and_prediction (Channel *channel, int hd)
 
static int32_t aptx_quantized_parity (Channel *channel)
 
static int aptx_check_parity (Channel channels[NB_CHANNELS], int32_t *idx)
 
static void aptx_insert_sync (Channel channels[NB_CHANNELS], int32_t *idx)
 
static uint16_t aptx_pack_codeword (Channel *channel)
 
static uint32_t aptxhd_pack_codeword (Channel *channel)
 
static void aptx_unpack_codeword (Channel *channel, uint16_t codeword)
 
static void aptxhd_unpack_codeword (Channel *channel, uint32_t codeword)
 
static void aptx_encode_samples (AptXContext *ctx, int32_t samples[NB_CHANNELS][4], uint8_t *output)
 
static int aptx_decode_samples (AptXContext *ctx, const uint8_t *input, int32_t samples[NB_CHANNELS][4])
 
static av_cold int aptx_init (AVCodecContext *avctx)
 
static int aptx_decode_frame (AVCodecContext *avctx, void *data, int *got_frame_ptr, AVPacket *avpkt)
 
static int aptx_encode_frame (AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
 
static av_cold int aptx_close (AVCodecContext *avctx)
 

Variables

static const int32_t quantize_intervals_LF [65]
 
static const int32_t invert_quantize_dither_factors_LF [65]
 
static const int32_t quantize_dither_factors_LF [65]
 
static const int16_t quantize_factor_select_offset_LF [65]
 
static const int32_t quantize_intervals_MLF [9]
 
static const int32_t invert_quantize_dither_factors_MLF [9]
 
static const int32_t quantize_dither_factors_MLF [9]
 
static const int16_t quantize_factor_select_offset_MLF [9]
 
static const int32_t quantize_intervals_MHF [3]
 
static const int32_t invert_quantize_dither_factors_MHF [3]
 
static const int32_t quantize_dither_factors_MHF [3]
 
static const int16_t quantize_factor_select_offset_MHF [3]
 
static const int32_t quantize_intervals_HF [5]
 
static const int32_t invert_quantize_dither_factors_HF [5]
 
static const int32_t quantize_dither_factors_HF [5]
 
static const int16_t quantize_factor_select_offset_HF [5]
 
static const int32_t hd_quantize_intervals_LF [257]
 
static const int32_t hd_invert_quantize_dither_factors_LF [257]
 
static const int32_t hd_quantize_dither_factors_LF [256]
 
static const int16_t hd_quantize_factor_select_offset_LF [257]
 
static const int32_t hd_quantize_intervals_MLF [33]
 
static const int32_t hd_invert_quantize_dither_factors_MLF [33]
 
static const int32_t hd_quantize_dither_factors_MLF [32]
 
static const int16_t hd_quantize_factor_select_offset_MLF [33]
 
static const int32_t hd_quantize_intervals_MHF [9]
 
static const int32_t hd_invert_quantize_dither_factors_MHF [9]
 
static const int32_t hd_quantize_dither_factors_MHF [8]
 
static const int16_t hd_quantize_factor_select_offset_MHF [9]
 
static const int32_t hd_quantize_intervals_HF [17]
 
static const int32_t hd_invert_quantize_dither_factors_HF [17]
 
static const int32_t hd_quantize_dither_factors_HF [16]
 
static const int16_t hd_quantize_factor_select_offset_HF [17]
 
static ConstTables tables [2][NB_SUBBANDS]
 
static const int16_t quantization_factors [32]
 
static const int32_t aptx_qmf_outer_coeffs [NB_FILTERS][FILTER_TAPS]
 
static const int32_t aptx_qmf_inner_coeffs [NB_FILTERS][FILTER_TAPS]
 

Macro Definition Documentation

#define NB_FILTERS   2

Definition at line 44 of file aptx.c.

Referenced by aptx_qmf_polyphase_analysis(), and aptx_qmf_polyphase_synthesis().

#define FILTER_TAPS   16

Definition at line 45 of file aptx.c.

Referenced by aptx_qmf_convolution(), and aptx_qmf_filter_signal_push().

#define RSHIFT_SIZE (   size)
Value:
av_always_inline \
static int##size##_t rshift##size(int##size##_t value, int shift) \
{ \
int##size##_t rounding = (int##size##_t)1 << (shift - 1); \
int##size##_t mask = ((int##size##_t)1 << (shift + 1)) - 1; \
return ((value + rounding) >> shift) - ((value & mask) == rounding); \
} \
av_always_inline \
static int##size##_t rshift##size##_clip24(int##size##_t value, int shift) \
{ \
return av_clip_intp2(rshift##size(value, shift), 23); \
}
static int shift(int a, int b)
Definition: sonic.c:82
GLsizei GLboolean const GLfloat * value
Definition: opengl_enc.c:109
ptrdiff_t size
Definition: opengl_enc.c:101
static const uint16_t mask[17]
Definition: lzw.c:38
int
these buffered frames must be flushed immediately if a new input produces new the filter must not call request_frame to get more It must just process the frame or queue it The task of requesting more frames is left to the filter s request_frame method or the application If a filter has several the filter must be ready for frames arriving randomly on any input any filter with several inputs will most likely require some kind of queuing mechanism It is perfectly acceptable to have a limited queue and to drop frames when the inputs are too unbalanced request_frame For filters that do not use the this method is called when a frame is wanted on an output For a it should directly call filter_frame on the corresponding output For a if there are queued frames already one of these frames should be pushed If the filter should request a frame on one of its repeatedly until at least one frame has been pushed Return or at least make progress towards producing a it should return

Definition at line 460 of file aptx.c.

Enumeration Type Documentation

enum channels
Enumerator
LEFT 
RIGHT 
NB_CHANNELS 
Examples:
filter_audio.c.

Definition at line 30 of file aptx.c.

enum subbands
Enumerator
LF 
MLF 
MHF 
HF 
NB_SUBBANDS 

Definition at line 36 of file aptx.c.

Function Documentation

static av_always_inline void aptx_update_codeword_history ( Channel channel)
static

Definition at line 478 of file aptx.c.

Referenced by aptx_generate_dither().

static void aptx_generate_dither ( Channel channel)
static

Definition at line 486 of file aptx.c.

Referenced by aptx_decode_samples(), and aptx_encode_channel().

static av_always_inline void aptx_qmf_filter_signal_push ( FilterSignal signal,
int32_t  sample 
)
static

Definition at line 535 of file aptx.c.

Referenced by aptx_qmf_polyphase_analysis(), and aptx_qmf_polyphase_synthesis().

static av_always_inline int32_t aptx_qmf_convolution ( FilterSignal signal,
const int32_t  coeffs[FILTER_TAPS],
int  shift 
)
static

Definition at line 547 of file aptx.c.

Referenced by aptx_qmf_polyphase_analysis(), and aptx_qmf_polyphase_synthesis().

static av_always_inline void aptx_qmf_polyphase_analysis ( FilterSignal  signal[NB_FILTERS],
const int32_t  coeffs[NB_FILTERS][FILTER_TAPS],
int  shift,
int32_t  samples[NB_FILTERS],
int32_t low_subband_output,
int32_t high_subband_output 
)
static

Definition at line 568 of file aptx.c.

Referenced by aptx_qmf_tree_analysis().

static void aptx_qmf_tree_analysis ( QMFAnalysis qmf,
int32_t  samples[4],
int32_t  subband_samples[4] 
)
static

Definition at line 593 of file aptx.c.

Referenced by aptx_encode_channel().

static av_always_inline void aptx_qmf_polyphase_synthesis ( FilterSignal  signal[NB_FILTERS],
const int32_t  coeffs[NB_FILTERS][FILTER_TAPS],
int  shift,
int32_t  low_subband_input,
int32_t  high_subband_input,
int32_t  samples[NB_FILTERS] 
)
static

Definition at line 623 of file aptx.c.

Referenced by aptx_qmf_tree_synthesis().

static void aptx_qmf_tree_synthesis ( QMFAnalysis qmf,
int32_t  subband_samples[4],
int32_t  samples[4] 
)
static

Definition at line 647 of file aptx.c.

Referenced by aptx_decode_channel().

static av_always_inline int32_t aptx_bin_search ( int32_t  value,
int32_t  factor,
const int32_t intervals,
int32_t  nb_intervals 
)
static

Definition at line 673 of file aptx.c.

Referenced by aptx_quantize_difference().

static void aptx_quantize_difference ( Quantize quantize,
int32_t  sample_difference,
int32_t  dither,
int32_t  quantization_factor,
ConstTables tables 
)
static

Definition at line 686 of file aptx.c.

Referenced by aptx_encode_channel().

static void aptx_encode_channel ( Channel channel,
int32_t  samples[4],
int  hd 
)
static

Definition at line 726 of file aptx.c.

Referenced by aptx_encode_samples().

static void aptx_decode_channel ( Channel channel,
int32_t  samples[4] 
)
static

Definition at line 741 of file aptx.c.

Referenced by aptx_decode_samples().

static void aptx_invert_quantization ( InvertQuantize invert_quantize,
int32_t  quantized_sample,
int32_t  dither,
ConstTables tables 
)
static

Definition at line 751 of file aptx.c.

Referenced by aptx_process_subband().

static int32_t* aptx_reconstructed_differences_update ( Prediction prediction,
int32_t  reconstructed_difference,
int  order 
)
static

Definition at line 776 of file aptx.c.

Referenced by aptx_prediction_filtering().

static void aptx_prediction_filtering ( Prediction prediction,
int32_t  reconstructed_difference,
int  order 
)
static

Definition at line 789 of file aptx.c.

Referenced by aptx_process_subband().

static void aptx_process_subband ( InvertQuantize invert_quantize,
Prediction prediction,
int32_t  quantized_sample,
int32_t  dither,
ConstTables tables 
)
static

Definition at line 815 of file aptx.c.

Referenced by aptx_invert_quantize_and_prediction().

static void aptx_invert_quantize_and_prediction ( Channel channel,
int  hd 
)
static

Definition at line 848 of file aptx.c.

Referenced by aptx_decode_samples(), and aptx_encode_samples().

static int32_t aptx_quantized_parity ( Channel channel)
static
static int aptx_check_parity ( Channel  channels[NB_CHANNELS],
int32_t idx 
)
static

Definition at line 872 of file aptx.c.

Referenced by aptx_decode_samples(), and aptx_insert_sync().

static void aptx_insert_sync ( Channel  channels[NB_CHANNELS],
int32_t idx 
)
static

Definition at line 883 of file aptx.c.

Referenced by aptx_encode_samples().

static uint16_t aptx_pack_codeword ( Channel channel)
static

Definition at line 901 of file aptx.c.

Referenced by aptx_encode_samples().

static uint32_t aptxhd_pack_codeword ( Channel channel)
static

Definition at line 910 of file aptx.c.

Referenced by aptx_encode_samples().

static void aptx_unpack_codeword ( Channel channel,
uint16_t  codeword 
)
static

Definition at line 919 of file aptx.c.

Referenced by aptx_decode_samples().

static void aptxhd_unpack_codeword ( Channel channel,
uint32_t  codeword 
)
static

Definition at line 929 of file aptx.c.

Referenced by aptx_decode_samples().

static void aptx_encode_samples ( AptXContext ctx,
int32_t  samples[NB_CHANNELS][4],
uint8_t output 
)
static

Definition at line 939 of file aptx.c.

Referenced by aptx_encode_frame().

static int aptx_decode_samples ( AptXContext ctx,
const uint8_t input,
int32_t  samples[NB_CHANNELS][4] 
)
static

Definition at line 960 of file aptx.c.

Referenced by aptx_decode_frame().

static av_cold int aptx_init ( AVCodecContext avctx)
static

Definition at line 987 of file aptx.c.

Referenced by aptx_close().

static int aptx_decode_frame ( AVCodecContext avctx,
void data,
int got_frame_ptr,
AVPacket avpkt 
)
static

Definition at line 1017 of file aptx.c.

Referenced by aptx_close().

static int aptx_encode_frame ( AVCodecContext avctx,
AVPacket avpkt,
const AVFrame frame,
int got_packet_ptr 
)
static

Definition at line 1054 of file aptx.c.

Referenced by aptx_close().

static av_cold int aptx_close ( AVCodecContext avctx)
static

Definition at line 1082 of file aptx.c.

Variable Documentation

const int32_t quantize_intervals_LF[65]
static
Initial value:
= {
-9948, 9948, 29860, 49808, 69822, 89926, 110144, 130502,
151026, 171738, 192666, 213832, 235264, 256982, 279014, 301384,
324118, 347244, 370790, 394782, 419250, 444226, 469742, 495832,
522536, 549890, 577936, 606720, 636290, 666700, 698006, 730270,
763562, 797958, 833538, 870398, 908640, 948376, 989740, 1032874,
1077948, 1125150, 1174700, 1226850, 1281900, 1340196, 1402156, 1468282,
1539182, 1615610, 1698514, 1789098, 1888944, 2000168, 2125700, 2269750,
2438670, 2642660, 2899462, 3243240, 3746078, 4535138, 5664098, 7102424,
8897462,
}

Definition at line 100 of file aptx.c.

const int32_t invert_quantize_dither_factors_LF[65]
static
Initial value:
= {
9948, 9948, 9962, 9988, 10026, 10078, 10142, 10218,
10306, 10408, 10520, 10646, 10784, 10934, 11098, 11274,
11462, 11664, 11880, 12112, 12358, 12618, 12898, 13194,
13510, 13844, 14202, 14582, 14988, 15422, 15884, 16380,
16912, 17484, 18098, 18762, 19480, 20258, 21106, 22030,
23044, 24158, 25390, 26760, 28290, 30008, 31954, 34172,
36728, 39700, 43202, 47382, 52462, 58762, 66770, 77280,
91642, 112348, 144452, 199326, 303512, 485546, 643414, 794914,
1000124,
}

Definition at line 111 of file aptx.c.

const int32_t quantize_dither_factors_LF[65]
static
Initial value:
= {
0, 4, 7, 10, 13, 16, 19, 22,
26, 28, 32, 35, 38, 41, 44, 47,
51, 54, 58, 62, 65, 70, 74, 79,
84, 90, 95, 102, 109, 116, 124, 133,
143, 154, 166, 180, 195, 212, 231, 254,
279, 308, 343, 383, 430, 487, 555, 639,
743, 876, 1045, 1270, 1575, 2002, 2628, 3591,
5177, 8026, 13719, 26047, 45509, 39467, 37875, 51303,
0,
}

Definition at line 122 of file aptx.c.

const int16_t quantize_factor_select_offset_LF[65]
static
Initial value:
= {
0, -21, -19, -17, -15, -12, -10, -8,
-6, -4, -1, 1, 3, 6, 8, 10,
13, 15, 18, 20, 23, 26, 29, 31,
34, 37, 40, 43, 47, 50, 53, 57,
60, 64, 68, 72, 76, 80, 85, 89,
94, 99, 105, 110, 116, 123, 129, 136,
144, 152, 161, 171, 182, 194, 207, 223,
241, 263, 291, 328, 382, 467, 522, 522,
522,
}

Definition at line 133 of file aptx.c.

const int32_t quantize_intervals_MLF[9]
static
Initial value:
= {
-89806, 89806, 278502, 494338, 759442, 1113112, 1652322, 2720256, 5190186,
}

Definition at line 146 of file aptx.c.

const int32_t invert_quantize_dither_factors_MLF[9]
static
Initial value:
= {
89806, 89806, 98890, 116946, 148158, 205512, 333698, 734236, 1735696,
}

Definition at line 149 of file aptx.c.

const int32_t quantize_dither_factors_MLF[9]
static
Initial value:
= {
0, 2271, 4514, 7803, 14339, 32047, 100135, 250365, 0,
}

Definition at line 152 of file aptx.c.

const int16_t quantize_factor_select_offset_MLF[9]
static
Initial value:
= {
0, -14, 6, 29, 58, 96, 154, 270, 521,
}

Definition at line 155 of file aptx.c.

const int32_t quantize_intervals_MHF[3]
static
Initial value:
= {
-194080, 194080, 890562,
}

Definition at line 160 of file aptx.c.

const int32_t invert_quantize_dither_factors_MHF[3]
static
Initial value:
= {
194080, 194080, 502402,
}

Definition at line 163 of file aptx.c.

const int32_t quantize_dither_factors_MHF[3]
static
Initial value:
= {
0, 77081, 0,
}

Definition at line 166 of file aptx.c.

const int16_t quantize_factor_select_offset_MHF[3]
static
Initial value:
= {
0, -33, 136,
}

Definition at line 169 of file aptx.c.

const int32_t quantize_intervals_HF[5]
static
Initial value:
= {
-163006, 163006, 542708, 1120554, 2669238,
}

Definition at line 174 of file aptx.c.

const int32_t invert_quantize_dither_factors_HF[5]
static
Initial value:
= {
163006, 163006, 216698, 361148, 1187538,
}

Definition at line 177 of file aptx.c.

const int32_t quantize_dither_factors_HF[5]
static
Initial value:
= {
0, 13423, 36113, 206598, 0,
}

Definition at line 180 of file aptx.c.

const int16_t quantize_factor_select_offset_HF[5]
static
Initial value:
= {
0, -8, 33, 95, 262,
}

Definition at line 183 of file aptx.c.

const int32_t hd_quantize_intervals_LF[257]
static

Definition at line 188 of file aptx.c.

const int32_t hd_invert_quantize_dither_factors_LF[257]
static

Definition at line 223 of file aptx.c.

const int32_t hd_quantize_dither_factors_LF[256]
static

Definition at line 257 of file aptx.c.

const int16_t hd_quantize_factor_select_offset_LF[257]
static

Definition at line 291 of file aptx.c.

const int32_t hd_quantize_intervals_MLF[33]
static
Initial value:
= {
-21236, 21236, 63830, 106798, 150386, 194832, 240376, 287258,
335726, 386034, 438460, 493308, 550924, 611696, 676082, 744626,
817986, 896968, 982580, 1076118, 1179278, 1294344, 1424504, 1574386,
1751090, 1966260, 2240868, 2617662, 3196432, 4176450, 5658260, 7671068,
10380372,
}

Definition at line 327 of file aptx.c.

const int32_t hd_invert_quantize_dither_factors_MLF[33]
static
Initial value:
= {
21236, 21236, 21360, 21608, 21978, 22468, 23076, 23806,
24660, 25648, 26778, 28070, 29544, 31228, 33158, 35386,
37974, 41008, 44606, 48934, 54226, 60840, 69320, 80564,
96140, 119032, 155576, 221218, 357552, 622468, 859344, 1153464, 1555840,
}

Definition at line 334 of file aptx.c.

const int32_t hd_quantize_dither_factors_MLF[32]
static
Initial value:
= {
0, 31, 62, 93, 123, 152, 183, 214,
247, 283, 323, 369, 421, 483, 557, 647,
759, 900, 1082, 1323, 1654, 2120, 2811, 3894,
5723, 9136, 16411, 34084, 66229, 59219, 73530, 100594,
}

Definition at line 340 of file aptx.c.

const int16_t hd_quantize_factor_select_offset_MLF[33]
static
Initial value:
= {
0, -21, -16, -12, -7, -2, 3, 8,
13, 19, 24, 30, 36, 43, 50, 57,
65, 74, 83, 93, 104, 117, 131, 147,
166, 189, 219, 259, 322, 427, 521, 521, 521,
}

Definition at line 346 of file aptx.c.

const int32_t hd_quantize_intervals_MHF[9]
static
Initial value:
= {
-95044, 95044, 295844, 528780, 821332, 1226438, 1890540, 3344850, 6450664,
}

Definition at line 354 of file aptx.c.

const int32_t hd_invert_quantize_dither_factors_MHF[9]
static
Initial value:
= {
95044, 95044, 105754, 127180, 165372, 39736, 424366, 1029946, 2075866,
}

Definition at line 357 of file aptx.c.

const int32_t hd_quantize_dither_factors_MHF[8]
static
Initial value:
= {
0, 2678, 5357, 9548, -31409, 96158, 151395, 261480,
}

Definition at line 360 of file aptx.c.

const int16_t hd_quantize_factor_select_offset_MHF[9]
static
Initial value:
= {
0, -17, 5, 30, 62, 105, 177, 334, 518,
}

Definition at line 363 of file aptx.c.

const int32_t hd_quantize_intervals_HF[17]
static
Initial value:
= {
-45754, 45754, 138496, 234896, 337336, 448310, 570738, 708380,
866534, 1053262, 1281958, 1577438, 1993050, 2665984, 3900982, 5902844,
8897462,
}

Definition at line 368 of file aptx.c.

const int32_t hd_invert_quantize_dither_factors_HF[17]
static
Initial value:
= {
45754, 45754, 46988, 49412, 53026, 57950, 64478, 73164,
84988, 101740, 126958, 168522, 247092, 425842, 809154, 1192708, 1801910,
}

Definition at line 373 of file aptx.c.

const int32_t hd_quantize_dither_factors_HF[16]
static
Initial value:
= {
0, 309, 606, 904, 1231, 1632, 2172, 2956,
4188, 6305, 10391, 19643, 44688, 95828, 95889, 152301,
}

Definition at line 377 of file aptx.c.

const int16_t hd_quantize_factor_select_offset_HF[17]
static
Initial value:
= {
0, -18, -8, 2, 13, 25, 38, 53,
70, 90, 115, 147, 192, 264, 398, 521, 521,
}

Definition at line 381 of file aptx.c.

ConstTables tables[2][NB_SUBBANDS]
static

Definition at line 396 of file aptx.c.

const int16_t quantization_factors[32]
static
Initial value:
= {
2048, 2093, 2139, 2186, 2233, 2282, 2332, 2383,
2435, 2489, 2543, 2599, 2656, 2714, 2774, 2834,
2896, 2960, 3025, 3091, 3158, 3228, 3298, 3371,
3444, 3520, 3597, 3676, 3756, 3838, 3922, 4008,
}

Definition at line 451 of file aptx.c.

Referenced by aptx_invert_quantization().

const int32_t aptx_qmf_outer_coeffs[NB_FILTERS][FILTER_TAPS]
static
Initial value:
= {
{
730, -413, -9611, 43626, -121026, 269973, -585547, 2801966,
697128, -160481, 27611, 8478, -10043, 3511, 688, -897,
},
{
-897, 688, 3511, -10043, 8478, 27611, -160481, 697128,
2801966, -585547, 269973, -121026, 43626, -9611, -413, 730,
},
}

Definition at line 505 of file aptx.c.

Referenced by aptx_qmf_tree_analysis(), and aptx_qmf_tree_synthesis().

const int32_t aptx_qmf_inner_coeffs[NB_FILTERS][FILTER_TAPS]
static
Initial value:
= {
{
1033, -584, -13592, 61697, -171156, 381799, -828088, 3962579,
985888, -226954, 39048, 11990, -14203, 4966, 973, -1268,
},
{
-1268, 973, 4966, -14203, 11990, 39048, -226954, 985888,
3962579, -828088, 381799, -171156, 61697, -13592, -584, 1033,
},
}

Definition at line 520 of file aptx.c.

Referenced by aptx_qmf_tree_analysis(), and aptx_qmf_tree_synthesis().