mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-29 10:52:20 +00:00
gsm: Move requant_tab table to the gsm tables file
This avoids duplicating the table in the gsm template file. Also adjust the table type to uint8_t to save space.
This commit is contained in:
parent
42dc214323
commit
81f769fa12
@ -26,6 +26,13 @@ const uint16_t ff_gsm_long_term_gain_tab[4] = {
|
|||||||
3277, 11469, 21299, 32767
|
3277, 11469, 21299, 32767
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const uint8_t ff_gsm_requant_tab[4][8] = {
|
||||||
|
{ 0 },
|
||||||
|
{ 0, 7 },
|
||||||
|
{ 0, 2, 5, 7 },
|
||||||
|
{ 0, 1, 2, 3, 4, 5, 6, 7 }
|
||||||
|
};
|
||||||
|
|
||||||
const int16_t ff_gsm_dequant_tab[64][8] = {
|
const int16_t ff_gsm_dequant_tab[64][8] = {
|
||||||
{ -28, -20, -12, -4, 4, 12, 20, 28},
|
{ -28, -20, -12, -4, 4, 12, 20, 28},
|
||||||
{ -56, -40, -24, -8, 8, 24, 40, 56},
|
{ -56, -40, -24, -8, 8, 24, 40, 56},
|
||||||
|
@ -38,6 +38,7 @@ typedef struct GSMContext {
|
|||||||
} GSMContext;
|
} GSMContext;
|
||||||
|
|
||||||
extern const uint16_t ff_gsm_long_term_gain_tab[4];
|
extern const uint16_t ff_gsm_long_term_gain_tab[4];
|
||||||
|
extern const uint8_t ff_gsm_requant_tab[4][8];
|
||||||
extern const int16_t ff_gsm_dequant_tab[64][8];
|
extern const int16_t ff_gsm_dequant_tab[64][8];
|
||||||
|
|
||||||
extern const int* const ff_gsm_apcm_bits[][4];
|
extern const int* const ff_gsm_apcm_bits[][4];
|
||||||
|
@ -28,13 +28,6 @@
|
|||||||
#include "gsm.h"
|
#include "gsm.h"
|
||||||
#include "gsmdec_data.h"
|
#include "gsmdec_data.h"
|
||||||
|
|
||||||
static const int requant_tab[4][8] = {
|
|
||||||
{ 0 },
|
|
||||||
{ 0, 7 },
|
|
||||||
{ 0, 2, 5, 7 },
|
|
||||||
{ 0, 1, 2, 3, 4, 5, 6, 7 }
|
|
||||||
};
|
|
||||||
|
|
||||||
static void apcm_dequant_add(GetBitContext *gb, int16_t *dst, const int *frame_bits)
|
static void apcm_dequant_add(GetBitContext *gb, int16_t *dst, const int *frame_bits)
|
||||||
{
|
{
|
||||||
int i, val;
|
int i, val;
|
||||||
@ -42,7 +35,7 @@ static void apcm_dequant_add(GetBitContext *gb, int16_t *dst, const int *frame_b
|
|||||||
const int16_t *tab = ff_gsm_dequant_tab[maxidx];
|
const int16_t *tab = ff_gsm_dequant_tab[maxidx];
|
||||||
for (i = 0; i < 13; i++) {
|
for (i = 0; i < 13; i++) {
|
||||||
val = get_bits(gb, frame_bits[i]);
|
val = get_bits(gb, frame_bits[i]);
|
||||||
dst[3*i] += tab[requant_tab[frame_bits[i]][val]];
|
dst[3 * i] += tab[ff_gsm_requant_tab[frame_bits[i]][val]];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user