annotate golomb.c @ 11190:afc60af2d008 libavcodec

2x faster ff_h264_init_cabac_states(), 4k cpu cycles less. Sadly this is just per slice so the speedup with normal files should be negligible.
author michael
date Tue, 16 Feb 2010 23:43:08 +0000
parents e9d9d946f213
children 7dd2a45249a9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
1 /*
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
2 * exp golomb vlc stuff
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
3 * Copyright (c) 2003 Michael Niedermayer <michaelni@gmx.at>
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
4 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3036
diff changeset
5 * This file is part of FFmpeg.
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3036
diff changeset
6 *
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3036
diff changeset
7 * FFmpeg is free software; you can redistribute it and/or
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
8 * modify it under the terms of the GNU Lesser General Public
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
9 * License as published by the Free Software Foundation; either
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3036
diff changeset
10 * version 2.1 of the License, or (at your option) any later version.
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
11 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3036
diff changeset
12 * FFmpeg is distributed in the hope that it will be useful,
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
15 * Lesser General Public License for more details.
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
16 *
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
17 * You should have received a copy of the GNU Lesser General Public
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3036
diff changeset
18 * License along with FFmpeg; if not, write to the Free Software
3036
0b546eab515d Update licensing information: The FSF changed postal address.
diego
parents: 2967
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
20 */
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 1753
diff changeset
21
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
22 /**
8718
e9d9d946f213 Use full internal pathname in doxygen @file directives.
diego
parents: 8450
diff changeset
23 * @file libavcodec/golomb.c
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 1753
diff changeset
24 * @brief
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
25 * exp golomb vlc stuff
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
26 * @author Michael Niedermayer <michaelni@gmx.at>
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
27 */
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
28
6763
f7cbb7733146 Use full path for #includes from another directory.
diego
parents: 5546
diff changeset
29 #include "libavutil/common.h"
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 1753
diff changeset
30
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
31 const uint8_t ff_golomb_vlc_len[512]={
8450
95dab8ec4cd7 Update golomb decoding tables so that get_*_golomb_31() return some
michael
parents: 6763
diff changeset
32 14,13,12,12,11,11,11,11,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
33 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
34 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
35 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
36 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
37 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
38 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
39 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
40 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
41 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
42 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
43 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
44 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
45 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
46 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
47 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
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
48 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
49
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 1753
diff changeset
50 const uint8_t ff_ue_golomb_vlc_code[512]={
8450
95dab8ec4cd7 Update golomb decoding tables so that get_*_golomb_31() return some
michael
parents: 6763
diff changeset
51 31,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
52 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
53 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
54 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
55 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
56 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
57 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
58 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
59 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
60 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
61 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
62 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
63 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
64 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
65 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
66 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
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
67 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
68
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 1753
diff changeset
69 const int8_t ff_se_golomb_vlc_code[512]={
8450
95dab8ec4cd7 Update golomb decoding tables so that get_*_golomb_31() return some
michael
parents: 6763
diff changeset
70 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 8, -8, 9, -9, 10,-10, 11,-11, 12,-12, 13,-13, 14,-14, 15,-15,
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
71 4, 4, 4, 4, -4, -4, -4, -4, 5, 5, 5, 5, -5, -5, -5, -5, 6, 6, 6, 6, -6, -6, -6, -6, 7, 7, 7, 7, -7, -7, -7, -7,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
72 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
73 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
74 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
75 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
76 -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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
77 -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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
78 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
79 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
80 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
81 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
82 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
83 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
84 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
85 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,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
86 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
87
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
88
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 1753
diff changeset
89 const uint8_t ff_ue_golomb_len[256]={
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
90 1, 3, 3, 5, 5, 5, 5, 7, 7, 7, 7, 7, 7, 7, 7, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,11,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
91 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
92 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
93 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,15,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
94 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
95 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
96 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
97 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,17,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
98 };
1250
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
99
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
100 const uint8_t ff_interleaved_golomb_vlc_len[256]={
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
101 9,9,7,7,9,9,7,7,5,5,5,5,5,5,5,5,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
102 9,9,7,7,9,9,7,7,5,5,5,5,5,5,5,5,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
103 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
104 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
105 9,9,7,7,9,9,7,7,5,5,5,5,5,5,5,5,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
106 9,9,7,7,9,9,7,7,5,5,5,5,5,5,5,5,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
107 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
108 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
109 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
110 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
111 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
112 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
113 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
114 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
115 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
116 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
117 };
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
118
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 1753
diff changeset
119 const uint8_t ff_interleaved_ue_golomb_vlc_code[256]={
1250
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
120 15,16,7, 7, 17,18,8, 8, 3, 3, 3, 3, 3, 3, 3, 3,
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 1753
diff changeset
121 19,20,9, 9, 21,22,10,10,4, 4, 4, 4, 4, 4, 4, 4,
1250
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
122 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
123 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 1753
diff changeset
124 23,24,11,11,25,26,12,12,5, 5, 5, 5, 5, 5, 5, 5,
1250
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
125 27,28,13,13,29,30,14,14,6, 6, 6, 6, 6, 6, 6, 6,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
126 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
127 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
129 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
130 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
131 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
132 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
133 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
134 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
135 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
136 };
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
137
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 1753
diff changeset
138 const int8_t ff_interleaved_se_golomb_vlc_code[256]={
1250
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
139 8, -8, 4, 4, 9, -9, -4, -4, 2, 2, 2, 2, 2, 2, 2, 2,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
140 10,-10, 5, 5, 11,-11, -5, -5, -2, -2, -2, -2, -2, -2, -2, -2,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
141 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
142 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
143 12,-12, 6, 6, 13,-13, -6, -6, 3, 3, 3, 3, 3, 3, 3, 3,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
144 14,-14, 7, 7, 15,-15, -7, -7, -3, -3, -3, -3, -3, -3, -3, -3,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
145 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
146 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
147 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
148 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
149 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
150 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
151 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
153 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
154 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
fa181d095027 optimizations
michaelni
parents: 1168
diff changeset
155 };
5546
e12027d324cc Make the Golomb decoder work for Dirac
marco
parents: 5215
diff changeset
156
e12027d324cc Make the Golomb decoder work for Dirac
marco
parents: 5215
diff changeset
157 const uint8_t ff_interleaved_dirac_golomb_vlc_code[256]={
e12027d324cc Make the Golomb decoder work for Dirac
marco
parents: 5215
diff changeset
158 0, 1, 0, 0, 2, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
e12027d324cc Make the Golomb decoder work for Dirac
marco
parents: 5215
diff changeset
159 4, 5, 2, 2, 6, 7, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1,
e12027d324cc Make the Golomb decoder work for Dirac
marco
parents: 5215
diff changeset
160 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
e12027d324cc Make the Golomb decoder work for Dirac
marco
parents: 5215
diff changeset
161 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
e12027d324cc Make the Golomb decoder work for Dirac
marco
parents: 5215
diff changeset
162 8, 9, 4, 4, 10,11,5, 5, 2, 2, 2, 2, 2, 2, 2, 2,
e12027d324cc Make the Golomb decoder work for Dirac
marco
parents: 5215
diff changeset
163 12,13,6, 6, 14,15,7, 7, 3, 3, 3, 3, 3, 3, 3, 3,
e12027d324cc Make the Golomb decoder work for Dirac
marco
parents: 5215
diff changeset
164 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
e12027d324cc Make the Golomb decoder work for Dirac
marco
parents: 5215
diff changeset
165 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
e12027d324cc Make the Golomb decoder work for Dirac
marco
parents: 5215
diff changeset
166 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
e12027d324cc Make the Golomb decoder work for Dirac
marco
parents: 5215
diff changeset
167 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
e12027d324cc Make the Golomb decoder work for Dirac
marco
parents: 5215
diff changeset
168 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
e12027d324cc Make the Golomb decoder work for Dirac
marco
parents: 5215
diff changeset
169 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
e12027d324cc Make the Golomb decoder work for Dirac
marco
parents: 5215
diff changeset
170 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
e12027d324cc Make the Golomb decoder work for Dirac
marco
parents: 5215
diff changeset
171 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
e12027d324cc Make the Golomb decoder work for Dirac
marco
parents: 5215
diff changeset
172 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
e12027d324cc Make the Golomb decoder work for Dirac
marco
parents: 5215
diff changeset
173 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,};