mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-24 00:02:52 +00:00
ivi_common: Make some tables only used within the file static
This commit is contained in:
parent
4b054a3400
commit
060ce0c697
@ -35,8 +35,35 @@
|
||||
#include "ivi_common.h"
|
||||
#include "ivi_dsp.h"
|
||||
|
||||
extern const IVIHuffDesc ff_ivi_mb_huff_desc[8]; ///< static macroblock huffman tables
|
||||
extern const IVIHuffDesc ff_ivi_blk_huff_desc[8]; ///< static block huffman tables
|
||||
/**
|
||||
* These are 2x8 predefined Huffman codebooks for coding macroblock/block
|
||||
* signals. They are specified using "huffman descriptors" in order to
|
||||
* avoid huge static tables. The decoding tables will be generated at
|
||||
* startup from these descriptors.
|
||||
*/
|
||||
/** static macroblock huffman tables */
|
||||
static const IVIHuffDesc ivi_mb_huff_desc[8] = {
|
||||
{8, {0, 4, 5, 4, 4, 4, 6, 6}},
|
||||
{12, {0, 2, 2, 3, 3, 3, 3, 5, 3, 2, 2, 2}},
|
||||
{12, {0, 2, 3, 4, 3, 3, 3, 3, 4, 3, 2, 2}},
|
||||
{12, {0, 3, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2}},
|
||||
{13, {0, 4, 4, 3, 3, 3, 3, 2, 3, 3, 2, 1, 1}},
|
||||
{9, {0, 4, 4, 4, 4, 3, 3, 3, 2}},
|
||||
{10, {0, 4, 4, 4, 4, 3, 3, 2, 2, 2}},
|
||||
{12, {0, 4, 4, 4, 3, 3, 2, 3, 2, 2, 2, 2}}
|
||||
};
|
||||
|
||||
/** static block huffman tables */
|
||||
static const IVIHuffDesc ivi_blk_huff_desc[8] = {
|
||||
{10, {1, 2, 3, 4, 4, 7, 5, 5, 4, 1}},
|
||||
{11, {2, 3, 4, 4, 4, 7, 5, 4, 3, 3, 2}},
|
||||
{12, {2, 4, 5, 5, 5, 5, 6, 4, 4, 3, 1, 1}},
|
||||
{13, {3, 3, 4, 4, 5, 6, 6, 4, 4, 3, 2, 1, 1}},
|
||||
{11, {3, 4, 4, 5, 5, 5, 6, 5, 4, 2, 2}},
|
||||
{13, {3, 4, 5, 5, 5, 5, 6, 4, 3, 3, 2, 1, 1}},
|
||||
{13, {3, 4, 5, 5, 5, 6, 5, 4, 3, 3, 2, 1, 1}},
|
||||
{9, {3, 4, 4, 5, 5, 5, 6, 5, 5}}
|
||||
};
|
||||
|
||||
static VLC ivi_mb_vlc_tabs [8]; ///< static macroblock Huffman tables
|
||||
static VLC ivi_blk_vlc_tabs[8]; ///< static block Huffman tables
|
||||
@ -135,11 +162,11 @@ av_cold void ff_ivi_init_static_vlc(void)
|
||||
for (i = 0; i < 8; i++) {
|
||||
ivi_mb_vlc_tabs[i].table = table_data + i * 2 * 8192;
|
||||
ivi_mb_vlc_tabs[i].table_allocated = 8192;
|
||||
ivi_create_huff_from_desc(&ff_ivi_mb_huff_desc[i],
|
||||
ivi_create_huff_from_desc(&ivi_mb_huff_desc[i],
|
||||
&ivi_mb_vlc_tabs[i], 1);
|
||||
ivi_blk_vlc_tabs[i].table = table_data + (i * 2 + 1) * 8192;
|
||||
ivi_blk_vlc_tabs[i].table_allocated = 8192;
|
||||
ivi_create_huff_from_desc(&ff_ivi_blk_huff_desc[i],
|
||||
ivi_create_huff_from_desc(&ivi_blk_huff_desc[i],
|
||||
&ivi_blk_vlc_tabs[i], 1);
|
||||
}
|
||||
initialized_vlcs = 1;
|
||||
@ -1039,35 +1066,6 @@ av_cold int ff_ivi_decode_close(AVCodecContext *avctx)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* These are 2x8 predefined Huffman codebooks for coding macroblock/block
|
||||
* signals. They are specified using "huffman descriptors" in order to
|
||||
* avoid huge static tables. The decoding tables will be generated at
|
||||
* startup from these descriptors.
|
||||
*/
|
||||
const IVIHuffDesc ff_ivi_mb_huff_desc[8] = {
|
||||
{8, {0, 4, 5, 4, 4, 4, 6, 6}},
|
||||
{12, {0, 2, 2, 3, 3, 3, 3, 5, 3, 2, 2, 2}},
|
||||
{12, {0, 2, 3, 4, 3, 3, 3, 3, 4, 3, 2, 2}},
|
||||
{12, {0, 3, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2}},
|
||||
{13, {0, 4, 4, 3, 3, 3, 3, 2, 3, 3, 2, 1, 1}},
|
||||
{9, {0, 4, 4, 4, 4, 3, 3, 3, 2}},
|
||||
{10, {0, 4, 4, 4, 4, 3, 3, 2, 2, 2}},
|
||||
{12, {0, 4, 4, 4, 3, 3, 2, 3, 2, 2, 2, 2}}
|
||||
};
|
||||
|
||||
const IVIHuffDesc ff_ivi_blk_huff_desc[8] = {
|
||||
{10, {1, 2, 3, 4, 4, 7, 5, 5, 4, 1}},
|
||||
{11, {2, 3, 4, 4, 4, 7, 5, 4, 3, 3, 2}},
|
||||
{12, {2, 4, 5, 5, 5, 5, 6, 4, 4, 3, 1, 1}},
|
||||
{13, {3, 3, 4, 4, 5, 6, 6, 4, 4, 3, 2, 1, 1}},
|
||||
{11, {3, 4, 4, 5, 5, 5, 6, 5, 4, 2, 2}},
|
||||
{13, {3, 4, 5, 5, 5, 5, 6, 4, 3, 3, 2, 1, 1}},
|
||||
{13, {3, 4, 5, 5, 5, 6, 5, 4, 3, 3, 2, 1, 1}},
|
||||
{9, {3, 4, 4, 5, 5, 5, 6, 5, 5}}
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Scan patterns shared between indeo4 and indeo5
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user