mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avcodec/atrac3plus: Perform reusing of VLCs during init
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
parent
38afc6858c
commit
5f8de7b741
@ -192,12 +192,12 @@ av_cold void ff_atrac3p_init_vlcs(void)
|
|||||||
|
|
||||||
/* build huffman tables for spectrum decoding */
|
/* build huffman tables for spectrum decoding */
|
||||||
for (i = 0; i < 112; i++) {
|
for (i = 0; i < 112; i++) {
|
||||||
if (atrac3p_spectra_tabs[i].cb)
|
if (atrac3p_spectra_tabs[i].redirect < 0)
|
||||||
build_canonical_huff(atrac3p_spectra_tabs[i].cb,
|
build_canonical_huff(atrac3p_spectra_tabs[i].cb,
|
||||||
atrac3p_spectra_tabs[i].xlat,
|
atrac3p_spectra_tabs[i].xlat,
|
||||||
&tab_offset, &spec_vlc_tabs[i]);
|
&tab_offset, &spec_vlc_tabs[i]);
|
||||||
else
|
else /* Reuse already initialized VLC table */
|
||||||
spec_vlc_tabs[i].table = 0;
|
spec_vlc_tabs[i] = spec_vlc_tabs[atrac3p_spectra_tabs[i].redirect];
|
||||||
}
|
}
|
||||||
|
|
||||||
/* build huffman tables for gain data decoding */
|
/* build huffman tables for gain data decoding */
|
||||||
@ -880,10 +880,6 @@ static void decode_spectrum(GetBitContext *gb, Atrac3pChanUnitCtx *ctx,
|
|||||||
tab_index = (chan->table_type * 8 + codetab) * 7 + wordlen - 1;
|
tab_index = (chan->table_type * 8 + codetab) * 7 + wordlen - 1;
|
||||||
tab = &atrac3p_spectra_tabs[tab_index];
|
tab = &atrac3p_spectra_tabs[tab_index];
|
||||||
|
|
||||||
/* this allows reusing VLC tables */
|
|
||||||
if (tab->redirect >= 0)
|
|
||||||
tab_index = tab->redirect;
|
|
||||||
|
|
||||||
decode_qu_spectra(gb, tab, &spec_vlc_tabs[tab_index],
|
decode_qu_spectra(gb, tab, &spec_vlc_tabs[tab_index],
|
||||||
&chan->spectrum[ff_atrac3p_qu_to_spec_pos[qu]],
|
&chan->spectrum[ff_atrac3p_qu_to_spec_pos[qu]],
|
||||||
num_specs);
|
num_specs);
|
||||||
|
Loading…
Reference in New Issue
Block a user