FFmpeg
|
#include "libavutil/channel_layout.h"
#include "libavutil/float_dsp.h"
#include "libavutil/thread.h"
#include "libavutil/mem.h"
#include "libavutil/mem_internal.h"
#include "libavutil/opt.h"
#include "libavutil/tx.h"
#include "codec_internal.h"
#include "decode.h"
#include "get_bits.h"
#include "dolby_e.h"
#include "kbdwin.h"
Go to the source code of this file.
Data Structures | |
struct | DBEGroup |
struct | DBEChannel |
struct | DBEDecodeContext |
Macros | |
#define | MAX_SEGMENTS 2 |
#define | MAX_GROUPS 8 |
#define | MAX_EXPONENTS 304 |
#define | MAX_MANTISSAS 1024 |
#define | MAX_MSTR_EXP 2 |
#define | MAX_BIAS_EXP 50 |
#define | OFFSET(x) offsetof(DBEDecodeContext, x) |
#define | FLAGS (AV_OPT_FLAG_DECODING_PARAM | AV_OPT_FLAG_AUDIO_PARAM) |
Enumerations | |
enum | DBEOutputChannelOrder { CHANNEL_ORDER_DEFAULT, CHANNEL_ORDER_CODED } |
Functions | |
static int | skip_input (DBEContext *s, int nb_words) |
static int | parse_key (DBEContext *s) |
static int | parse_metadata_ext (DBEDecodeContext *s1) |
static void | unbias_exponents (DBEContext *s, DBEChannel *c, DBEGroup *g) |
static int | parse_exponents (DBEContext *s, DBEChannel *c) |
static int | log_add (int a, int b) |
static void | calc_lowcomp (int *msk_val) |
static void | bit_allocate (int nb_exponent, int nb_code, int fr_code, int *exp, int *bap, int fg_spc, int fg_ofs, int msk_mod, int snr_ofs) |
static int | parse_bit_alloc (DBEDecodeContext *s1, DBEChannel *c) |
static int | parse_indices (DBEContext *s, DBEChannel *c) |
static int | parse_mantissas (DBEContext *s, DBEChannel *c) |
static int | parse_channel (DBEDecodeContext *s1, int ch, int seg_id) |
static int | parse_audio (DBEDecodeContext *s1, int start, int end, int seg_id) |
static int | parse_meter (DBEDecodeContext *s1) |
static void | imdct_calc (DBEDecodeContext *s1, DBEGroup *g, float *result, float *values) |
static void | transform (DBEDecodeContext *s1, DBEChannel *c, float *history, float *output) |
static void | apply_gain (DBEDecodeContext *s, int begin, int end, float *output) |
static int | filter_frame (DBEDecodeContext *s, AVFrame *frame) |
static int | dolby_e_decode_frame (AVCodecContext *avctx, AVFrame *frame, int *got_frame_ptr, AVPacket *avpkt) |
static av_cold void | dolby_e_flush (AVCodecContext *avctx) |
static av_cold int | dolby_e_close (AVCodecContext *avctx) |
static av_cold void | init_tables (void) |
static av_cold int | dolby_e_init (AVCodecContext *avctx) |
Variables | |
static const int8_t | lfe_channel_tab [MAX_PROG_CONF+1] |
static const uint8_t | ch_reorder_4 [4] = { 0, 2, 1, 3 } |
static const uint8_t | ch_reorder_6 [6] = { 0, 2, 4, 1, 3, 5 } |
static const uint8_t | ch_reorder_8 [8] = { 0, 2, 6, 4, 1, 3, 7, 5 } |
static const uint8_t | ch_reorder_n [8] = { 0, 2, 4, 6, 1, 3, 5, 7 } |
static const uint8_t | nb_groups_tab [4] = { 1, 8, 7, 1 } |
static const uint8_t | nb_mstr_exp_tab [4] = { 2, 2, 2, 1 } |
static const uint8_t | nb_mantissa_38 [38] |
static const uint8_t | nb_mantissa_44 [44] |
static const uint8_t | nb_mantissa_50 [50] |
static const uint8_t | imdct_bits_tab [3] = { 8, 9, 11 } |
static const DBEGroup | grp_tab_0 [1] |
static const DBEGroup | grp_tab_1 [8] |
static const DBEGroup | grp_tab_2 [7] |
static const DBEGroup | grp_tab_3 [1] |
static const DBEGroup | grp_tab_4 [1] |
static const DBEGroup | grp_tab_5 [8] |
static const DBEGroup | grp_tab_6 [7] |
static const DBEGroup | grp_tab_7 [1] |
static const DBEGroup *const | frm_ofs_tab [2][4] |
static const uint8_t | mantissa_size1 [16][4] |
static const uint8_t | mantissa_size2 [16][4] |
static const float | start_window [192] |
static const float | short_window2 [192] |
static const float | short_window3 [64] |
static const uint8_t | dc_code_tab [5] = { 0, 0, 0, 1, 1 } |
static const uint8_t | ht_code_tab [5] = { 0, 0, 1, 2, 2 } |
static const uint8_t | band_ofs_tab [3][4] |
static const uint8_t | band_low_tab [3] = { 9, 17, 24 } |
static const uint16_t | fast_gain_tab [8] |
static const uint16_t | slow_decay_tab [2][2] = { { 27, -1 }, { 32, 21 } } |
static const uint16_t | misc_decay_tab [3][2][2] |
static const uint16_t | fast_decay_tab [3][2][2][50] |
static const uint16_t | fast_gain_adj_tab [3][2][62] |
static const uint16_t | slow_gain_tab [3][2][50] |
static const uint16_t | hearing_thresh_tab [3][3][50] |
static const int16_t | lwc_gain_tab [11][7] |
static const int16_t | lwc_adj_tab [7] |
static const uint8_t | log_add_tab [212] |
static const uint8_t | bap_tab [64] |
static float | mantissa_tab1 [17][4] |
static float | mantissa_tab2 [17][4] |
static float | mantissa_tab3 [17][4] |
static float | exponent_tab [50] |
static float | gain_tab [1024] |
static float | window [3712] |
static const AVOption | options [] |
static const AVClass | dolby_e_decoder_class |
const FFCodec | ff_dolby_e_decoder |
#define OFFSET | ( | x | ) | offsetof(DBEDecodeContext, x) |
#define FLAGS (AV_OPT_FLAG_DECODING_PARAM | AV_OPT_FLAG_AUDIO_PARAM) |
|
static |
Definition at line 614 of file dolby_e.c.
Referenced by parse_audio(), parse_key(), parse_metadata_ext(), and parse_meter().
|
static |
Definition at line 626 of file dolby_e.c.
Referenced by parse_audio().
|
static |
Definition at line 638 of file dolby_e.c.
Referenced by dolby_e_decode_frame().
|
static |
Definition at line 646 of file dolby_e.c.
Referenced by parse_exponents().
|
static |
Definition at line 663 of file dolby_e.c.
Referenced by encode_block(), and parse_channel().
|
inlinestatic |
Definition at line 682 of file dolby_e.c.
Referenced by bit_allocate(), and calc_lowcomp().
|
static |
Definition at line 688 of file dolby_e.c.
Referenced by bit_allocate().
|
static |
Definition at line 721 of file dolby_e.c.
Referenced by parse_bit_alloc().
|
static |
Definition at line 770 of file dolby_e.c.
Referenced by parse_channel().
|
static |
Definition at line 817 of file dolby_e.c.
Referenced by parse_channel().
|
static |
Definition at line 848 of file dolby_e.c.
Referenced by parse_channel().
|
static |
Definition at line 904 of file dolby_e.c.
Referenced by parse_audio().
|
static |
Definition at line 955 of file dolby_e.c.
Referenced by dolby_e_decode_frame().
|
static |
Definition at line 983 of file dolby_e.c.
Referenced by dolby_e_decode_frame().
|
static |
Definition at line 991 of file dolby_e.c.
Referenced by transform().
|
static |
Definition at line 1017 of file dolby_e.c.
Referenced by filter_frame().
|
static |
Definition at line 1042 of file dolby_e.c.
Referenced by filter_frame().
|
static |
Definition at line 1059 of file dolby_e.c.
Referenced by dolby_e_decode_frame(), ff_filter_frame(), and filter_frame_framed().
|
static |
|
static |
|
static |
|
static |
Definition at line 1167 of file dolby_e.c.
Referenced by dolby_e_init().
|
static |
|
static |
Definition at line 93 of file dolby_e.c.
Referenced by parse_channel().
|
static |
Definition at line 98 of file dolby_e.c.
Referenced by filter_frame().
|
static |
Definition at line 99 of file dolby_e.c.
Referenced by filter_frame().
|
static |
Definition at line 100 of file dolby_e.c.
Referenced by filter_frame().
|
static |
Definition at line 101 of file dolby_e.c.
Referenced by filter_frame().
|
static |
Definition at line 104 of file dolby_e.c.
Referenced by parse_channel().
|
static |
Definition at line 106 of file dolby_e.c.
Referenced by parse_channel().
|
static |
|
static |
|
static |
|
static |
Definition at line 127 of file dolby_e.c.
Referenced by dolby_e_init(), and imdct_calc().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 192 of file dolby_e.c.
Referenced by parse_mantissas().
|
static |
Definition at line 199 of file dolby_e.c.
Referenced by parse_mantissas().
|
static |
Definition at line 206 of file dolby_e.c.
Referenced by init_tables().
|
static |
Definition at line 259 of file dolby_e.c.
Referenced by init_tables().
|
static |
Definition at line 312 of file dolby_e.c.
Referenced by init_tables().
|
static |
Definition at line 331 of file dolby_e.c.
Referenced by bit_allocate().
|
static |
Definition at line 333 of file dolby_e.c.
Referenced by bit_allocate().
|
static |
Definition at line 335 of file dolby_e.c.
Referenced by bit_allocate().
|
static |
Definition at line 339 of file dolby_e.c.
Referenced by bit_allocate().
|
static |
Definition at line 341 of file dolby_e.c.
Referenced by bit_allocate().
|
static |
Definition at line 345 of file dolby_e.c.
Referenced by bit_allocate().
|
static |
Definition at line 347 of file dolby_e.c.
Referenced by bit_allocate().
|
static |
Definition at line 353 of file dolby_e.c.
Referenced by bit_allocate().
|
static |
Definition at line 425 of file dolby_e.c.
Referenced by bit_allocate().
|
static |
Definition at line 471 of file dolby_e.c.
Referenced by bit_allocate().
|
static |
Definition at line 509 of file dolby_e.c.
Referenced by bit_allocate().
|
static |
Definition at line 564 of file dolby_e.c.
Referenced by calc_lowcomp().
|
static |
Definition at line 578 of file dolby_e.c.
Referenced by calc_lowcomp().
|
static |
Definition at line 582 of file dolby_e.c.
Referenced by log_add().
|
static |
Definition at line 599 of file dolby_e.c.
Referenced by ac3_bit_alloc_calc_bap_c(), bit_allocate(), and decode_audio_block().
|
static |
Definition at line 606 of file dolby_e.c.
Referenced by init_tables(), and parse_mantissas().
|
static |
Definition at line 607 of file dolby_e.c.
Referenced by init_tables(), and parse_mantissas().
|
static |
Definition at line 608 of file dolby_e.c.
Referenced by init_tables(), and parse_mantissas().
|
static |
Definition at line 609 of file dolby_e.c.
Referenced by init_tables(), and parse_mantissas().
|
static |
Definition at line 610 of file dolby_e.c.
Referenced by apply_gain(), and init_tables().
|
static |
Definition at line 612 of file dolby_e.c.
Referenced by init_tables(), and transform().
|
static |
|
static |
const FFCodec ff_dolby_e_decoder |