diff options
author | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2014-08-30 18:17:39 +0200 |
---|---|---|
committer | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2014-09-06 20:59:20 +0200 |
commit | 0f1281b2b8ac6f7d2a0b8d18f6fbba9ed7a1bd08 (patch) | |
tree | 042e3c727144cd56221ce516ca6a351295e24f3d | |
parent | 87c7fb2b215f306c4b2db42b71d41a7b340e6b7f (diff) | |
download | ffmpeg-0f1281b2b8ac6f7d2a0b8d18f6fbba9ed7a1bd08.tar.gz |
cabac: initialize all of ff_h264_cabac_tables programmatically.
Moves it from .data to .bss, slightly reducing binary size.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
-rw-r--r-- | libavcodec/cabac.c | 26 |
1 files changed, 4 insertions, 22 deletions
diff --git a/libavcodec/cabac.c b/libavcodec/cabac.c index 65579d8d3b..803c81c216 100644 --- a/libavcodec/cabac.c +++ b/libavcodec/cabac.c @@ -32,28 +32,7 @@ #include "cabac.h" #include "cabac_functions.h" -uint8_t ff_h264_cabac_tables[512 + 4*2*64 + 4*64 + 63] = { - 9,8,7,7,6,6,6,6,5,5,5,5,5,5,5,5, - 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, - 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, - 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, - 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, - 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, - 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, - 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -}; +uint8_t ff_h264_cabac_tables[512 + 4*2*64 + 4*64 + 63]; static const uint8_t lps_range[64][4]= { {128,176,208,240}, {128,167,197,227}, {128,158,187,216}, {123,150,178,205}, @@ -143,6 +122,9 @@ void ff_init_cabac_states(void) if (initialized) return; + for (i = 0; i < 512; i++) + ff_h264_norm_shift[i] = i ? 8 - av_log2(i) : 9; + for(i=0; i<64; i++){ for(j=0; j<4; j++){ //FIXME check if this is worth the 1 shift we save ff_h264_lps_range[j*2*64+2*i+0]= |