FFmpeg
|
#include "config_components.h"
#include <math.h>
#include <stddef.h>
#include "libavutil/channel_layout.h"
#include "libavutil/ffmath.h"
#include "libavutil/float_dsp.h"
#include "libavutil/internal.h"
#include "libavutil/mem_internal.h"
#include "libavutil/thread.h"
#include "libavutil/tx.h"
#include "avcodec.h"
#include "bswapdsp.h"
#include "codec_internal.h"
#include "decode.h"
#include "get_bits.h"
#include "sinewin.h"
#include "imcdata.h"
Go to the source code of this file.
Data Structures | |
struct | IMCChannel |
struct | IMCContext |
Macros | |
#define | IMC_BLOCK_SIZE 64 |
#define | IMC_FRAME_ID 0x21 |
#define | BANDS 32 |
#define | COEFFS 256 |
#define | IMC_VLC_BITS 9 |
#define | VLC_TABLES_SIZE 9512 |
Functions | |
static double | freq2bark (double freq) |
static av_cold void | iac_generate_tabs (IMCContext *q, int sampling_rate) |
static av_cold void | imc_init_static (void) |
static av_cold int | imc_decode_init (AVCodecContext *avctx) |
static void | imc_calculate_coeffs (IMCContext *q, float *flcoeffs1, float *flcoeffs2, int *bandWidthT, float *flcoeffs3, float *flcoeffs5) |
static void | imc_read_level_coeffs (IMCContext *q, int stream_format_code, int *levlCoeffs) |
static void | imc_read_level_coeffs_raw (IMCContext *q, int stream_format_code, int *levlCoeffs) |
static void | imc_decode_level_coefficients (IMCContext *q, int *levlCoeffBuf, float *flcoeffs1, float *flcoeffs2) |
static void | imc_decode_level_coefficients2 (IMCContext *q, int *levlCoeffBuf, float *old_floor, float *flcoeffs1, float *flcoeffs2) |
static void | imc_decode_level_coefficients_raw (IMCContext *q, int *levlCoeffBuf, float *flcoeffs1, float *flcoeffs2) |
static int | bit_allocation (IMCContext *q, IMCChannel *chctx, int stream_format_code, int freebits, int flag) |
Perform bit allocation depending on bits available. More... | |
static void | imc_get_skip_coeff (IMCContext *q, IMCChannel *chctx) |
static void | imc_adjust_bit_allocation (IMCContext *q, IMCChannel *chctx, int summer) |
Increase highest' band coefficient sizes as some bits won't be used. More... | |
static int | inverse_quant_coeff (IMCContext *q, IMCChannel *chctx, int stream_format_code) |
static void | imc_get_coeffs (AVCodecContext *avctx, IMCContext *q, IMCChannel *chctx) |
static void | imc_refine_bit_allocation (IMCContext *q, IMCChannel *chctx) |
static int | imc_decode_block (AVCodecContext *avctx, IMCContext *q, int ch) |
static int | imc_decode_frame (AVCodecContext *avctx, AVFrame *frame, int *got_frame_ptr, AVPacket *avpkt) |
static av_cold int | imc_decode_close (AVCodecContext *avctx) |
static av_cold void | flush (AVCodecContext *avctx) |
Variables | |
static const VLCElem * | huffman_vlc [4][4] |
static VLCElem | vlc_tables [VLC_TABLES_SIZE] |
IMC - Intel Music Coder A mdct based codec using a 256 points large transform divided into 32 bands with some mix of scale factors. Only mono is supported.
Definition in file imc.c.
Definition at line 116 of file imc.c.
Referenced by iac_generate_tabs().
|
static |
Definition at line 121 of file imc.c.
Referenced by imc_decode_init().
|
static |
Definition at line 172 of file imc.c.
Referenced by imc_decode_init().
|
static |
|
static |
Definition at line 254 of file imc.c.
Referenced by imc_decode_block().
|
static |
Definition at line 309 of file imc.c.
Referenced by imc_decode_block().
|
static |
Definition at line 332 of file imc.c.
Referenced by imc_decode_block().
|
static |
Definition at line 343 of file imc.c.
Referenced by imc_decode_block().
|
static |
Definition at line 377 of file imc.c.
Referenced by imc_decode_block().
|
static |
Definition at line 397 of file imc.c.
Referenced by imc_decode_block().
|
static |
Perform bit allocation depending on bits available.
Definition at line 422 of file imc.c.
Referenced by imc_decode_block().
|
static |
Definition at line 598 of file imc.c.
Referenced by imc_refine_bit_allocation().
|
static |
Increase highest' band coefficient sizes as some bits won't be used.
Definition at line 654 of file imc.c.
Referenced by imc_refine_bit_allocation().
|
static |
Definition at line 696 of file imc.c.
Referenced by imc_decode_block().
|
static |
Definition at line 736 of file imc.c.
Referenced by imc_decode_block().
|
static |
Definition at line 764 of file imc.c.
Referenced by imc_decode_block().
|
static |
Definition at line 807 of file imc.c.
Referenced by imc_decode_frame().
|
static |
|
static |
|
static |
|
static |
Definition at line 109 of file imc.c.
Referenced by imc_init_static(), and imc_read_level_coeffs().
|
static |
Definition at line 114 of file imc.c.
Referenced by imc_init_static().