FFmpeg
Loading...
Searching...
No Matches
aacdec_ac.h
Go to the documentation of this file.
1/*
2 * AAC definitions and structures
3 * Copyright (c) 2024 Lynne
4 *
5 * This file is part of FFmpeg.
6 *
7 * FFmpeg is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
12 * FFmpeg is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with FFmpeg; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 */
21
22#ifndef AVCODEC_AAC_AACDEC_AC_H
23#define AVCODEC_AAC_AACDEC_AC_H
24
25#include "libavcodec/get_bits.h"
26
27typedef struct AACArithState {
28 uint8_t last[512 /* 2048 / 4 */ + 1];
30 uint8_t cur[4];
31 uint16_t state_pre;
33
34typedef struct AACArith {
35 uint16_t low;
36 uint16_t high;
37 uint16_t val;
38} AACArith;
39
40#define FF_AAC_AC_ESCAPE 16
41
42uint32_t ff_aac_ac_map_process(AACArithState *state, int reset, int len);
43uint32_t ff_aac_ac_get_context(AACArithState *state, uint32_t old_c, int idx, int len);
44uint32_t ff_aac_ac_get_pk(uint32_t c);
45
46void ff_aac_ac_update_context(AACArithState *state, int idx, uint16_t a, uint16_t b);
48
50 const uint16_t *cdf, uint16_t cdf_len);
51
52void ff_aac_ac_finish(AACArithState *state, int offset, int nb);
53
54#endif /* AVCODEC_AACDEC_AC_H */
uint32_t ff_aac_ac_get_context(AACArithState *state, uint32_t old_c, int idx, int len)
Definition aacdec_ac.c:57
uint32_t ff_aac_ac_get_pk(uint32_t c)
Definition aacdec_ac.c:73
uint16_t ff_aac_ac_decode(AACArith *ac, GetBitContext *gb, const uint16_t *cdf, uint16_t cdf_len)
Definition aacdec_ac.c:110
void ff_aac_ac_update_context(AACArithState *state, int idx, uint16_t a, uint16_t b)
Definition aacdec_ac.c:91
void ff_aac_ac_finish(AACArithState *state, int offset, int nb)
Definition aacdec_ac.c:196
uint32_t ff_aac_ac_map_process(AACArithState *state, int reset, int len)
Definition aacdec_ac.c:25
void ff_aac_ac_init(AACArith *ac, GetBitContext *gb)
Definition aacdec_ac.c:103
static struct @346255127015250356166251341105367306144006377143 state
bitstream reader API header.
int a
#define b
Definition input.c:43
unsigned offset
Definition libaomenc.c:763
uint8_t last[512+1]
Definition aacdec_ac.h:28
uint16_t state_pre
Definition aacdec_ac.h:31
uint8_t cur[4]
Definition aacdec_ac.h:30
uint16_t val
Definition aacdec_ac.h:37
uint16_t high
Definition aacdec_ac.h:36
uint16_t low
Definition aacdec_ac.h:35
int len
static double c[64]