avcodec/wmavoice: Avoid unnecessary VLC structure
Everything besides VLC.table is basically write-only and even VLC.table can be removed by accessing the underlying table directly. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
parent
5615f9dab4
commit
f2687a3b69
@ -60,7 +60,7 @@
|
|||||||
/**
|
/**
|
||||||
* Frame type VLC coding.
|
* Frame type VLC coding.
|
||||||
*/
|
*/
|
||||||
static VLC frame_type_vlc;
|
static VLCElem frame_type_vlc[132];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adaptive codebook types.
|
* Adaptive codebook types.
|
||||||
@ -320,9 +320,9 @@ static av_cold void wmavoice_init_static_data(void)
|
|||||||
14, 14, 14, 14
|
14, 14, 14, 14
|
||||||
};
|
};
|
||||||
|
|
||||||
VLC_INIT_STATIC_FROM_LENGTHS(&frame_type_vlc, VLC_NBITS,
|
VLC_INIT_STATIC_TABLE_FROM_LENGTHS(frame_type_vlc, VLC_NBITS,
|
||||||
FF_ARRAY_ELEMS(bits), bits,
|
FF_ARRAY_ELEMS(bits), bits,
|
||||||
1, NULL, 0, 0, 0, 0, 132);
|
1, NULL, 0, 0, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static av_cold void wmavoice_flush(AVCodecContext *ctx)
|
static av_cold void wmavoice_flush(AVCodecContext *ctx)
|
||||||
@ -1503,7 +1503,7 @@ static int synth_frame(AVCodecContext *ctx, GetBitContext *gb, int frame_idx,
|
|||||||
int pitch[MAX_BLOCKS], av_uninit(last_block_pitch);
|
int pitch[MAX_BLOCKS], av_uninit(last_block_pitch);
|
||||||
|
|
||||||
/* Parse frame type ("frame header"), see frame_descs */
|
/* Parse frame type ("frame header"), see frame_descs */
|
||||||
int bd_idx = s->vbm_tree[get_vlc2(gb, frame_type_vlc.table, 6, 3)], block_nsamples;
|
int bd_idx = s->vbm_tree[get_vlc2(gb, frame_type_vlc, 6, 3)], block_nsamples;
|
||||||
|
|
||||||
if (bd_idx < 0) {
|
if (bd_idx < 0) {
|
||||||
av_log(ctx, AV_LOG_ERROR,
|
av_log(ctx, AV_LOG_ERROR,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user