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.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 117 of file imc.c.
Referenced by iac_generate_tabs().
|
static |
Definition at line 122 of file imc.c.
Referenced by imc_decode_init().
|
static |
Definition at line 173 of file imc.c.
Referenced by imc_decode_init().
|
static |
|
static |
Definition at line 255 of file imc.c.
Referenced by imc_decode_block().
|
static |
Definition at line 310 of file imc.c.
Referenced by imc_decode_block().
|
static |
Definition at line 333 of file imc.c.
Referenced by imc_decode_block().
|
static |
Definition at line 344 of file imc.c.
Referenced by imc_decode_block().
|
static |
Definition at line 378 of file imc.c.
Referenced by imc_decode_block().
|
static |
Definition at line 398 of file imc.c.
Referenced by imc_decode_block().
|
static |
Perform bit allocation depending on bits available.
Definition at line 423 of file imc.c.
Referenced by imc_decode_block().
|
static |
Definition at line 599 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 655 of file imc.c.
Referenced by imc_refine_bit_allocation().
|
static |
Definition at line 697 of file imc.c.
Referenced by imc_decode_block().
|
static |
Definition at line 737 of file imc.c.
Referenced by imc_decode_block().
|
static |
Definition at line 765 of file imc.c.
Referenced by imc_decode_block().
|
static |
Definition at line 808 of file imc.c.
Referenced by imc_decode_frame().
|
static |
|
static |
|
static |
|
static |
Definition at line 110 of file imc.c.
Referenced by imc_init_static(), and imc_read_level_coeffs().
|
static |
Definition at line 115 of file imc.c.
Referenced by imc_init_static().