@ -31,75 +31,130 @@
# 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 ,
} ;
static const uint8_t lps_range [ 64 ] [ 4 ] = {
{ 128 , 176 , 208 , 240 } , { 128 , 167 , 197 , 227 } , { 128 , 158 , 187 , 216 } , { 123 , 150 , 178 , 205 } ,
{ 116 , 142 , 169 , 195 } , { 111 , 135 , 160 , 185 } , { 105 , 128 , 152 , 175 } , { 100 , 122 , 144 , 166 } ,
{ 95 , 116 , 137 , 158 } , { 90 , 110 , 130 , 150 } , { 85 , 104 , 123 , 142 } , { 81 , 99 , 117 , 135 } ,
{ 77 , 94 , 111 , 128 } , { 73 , 89 , 105 , 122 } , { 69 , 85 , 100 , 116 } , { 66 , 80 , 95 , 110 } ,
{ 62 , 76 , 90 , 104 } , { 59 , 72 , 86 , 99 } , { 56 , 69 , 81 , 94 } , { 53 , 65 , 77 , 89 } ,
{ 51 , 62 , 73 , 85 } , { 48 , 59 , 69 , 80 } , { 46 , 56 , 66 , 76 } , { 43 , 53 , 63 , 72 } ,
{ 41 , 50 , 59 , 69 } , { 39 , 48 , 56 , 65 } , { 37 , 45 , 54 , 62 } , { 35 , 43 , 51 , 59 } ,
{ 33 , 41 , 48 , 56 } , { 32 , 39 , 46 , 53 } , { 30 , 37 , 43 , 50 } , { 29 , 35 , 41 , 48 } ,
{ 27 , 33 , 39 , 45 } , { 26 , 31 , 37 , 43 } , { 24 , 30 , 35 , 41 } , { 23 , 28 , 33 , 39 } ,
{ 22 , 27 , 32 , 37 } , { 21 , 26 , 30 , 35 } , { 20 , 24 , 29 , 33 } , { 19 , 23 , 27 , 31 } ,
{ 18 , 22 , 26 , 30 } , { 17 , 21 , 25 , 28 } , { 16 , 20 , 23 , 27 } , { 15 , 19 , 22 , 25 } ,
{ 14 , 18 , 21 , 24 } , { 14 , 17 , 20 , 23 } , { 13 , 16 , 19 , 22 } , { 12 , 15 , 18 , 21 } ,
{ 12 , 14 , 17 , 20 } , { 11 , 14 , 16 , 19 } , { 11 , 13 , 15 , 18 } , { 10 , 12 , 15 , 17 } ,
{ 10 , 12 , 14 , 16 } , { 9 , 11 , 13 , 15 } , { 9 , 11 , 12 , 14 } , { 8 , 10 , 12 , 14 } ,
{ 8 , 9 , 11 , 13 } , { 7 , 9 , 11 , 12 } , { 7 , 9 , 10 , 12 } , { 7 , 8 , 10 , 11 } ,
{ 6 , 8 , 9 , 11 } , { 6 , 7 , 9 , 10 } , { 6 , 7 , 8 , 9 } , { 2 , 2 , 2 , 2 } ,
} ;
static const uint8_t mps_state [ 64 ] = {
1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ,
9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 ,
17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 ,
25 , 26 , 27 , 28 , 29 , 30 , 31 , 32 ,
33 , 34 , 35 , 36 , 37 , 38 , 39 , 40 ,
41 , 42 , 43 , 44 , 45 , 46 , 47 , 48 ,
49 , 50 , 51 , 52 , 53 , 54 , 55 , 56 ,
57 , 58 , 59 , 60 , 61 , 62 , 62 , 63 ,
} ;
static const uint8_t lps_state [ 64 ] = {
0 , 0 , 1 , 2 , 2 , 4 , 4 , 5 ,
6 , 7 , 8 , 9 , 9 , 11 , 11 , 12 ,
13 , 13 , 15 , 15 , 16 , 16 , 18 , 18 ,
19 , 19 , 21 , 21 , 22 , 22 , 23 , 24 ,
24 , 25 , 26 , 26 , 27 , 27 , 28 , 29 ,
29 , 30 , 30 , 30 , 31 , 32 , 32 , 33 ,
33 , 33 , 34 , 34 , 35 , 35 , 35 , 36 ,
36 , 36 , 37 , 37 , 37 , 38 , 38 , 63 ,
} ;
static const uint8_t last_coeff_flag_offset_8x8 [ 63 ] = {
0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ,
2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 ,
5 , 5 , 5 , 5 , 6 , 6 , 6 , 6 , 7 , 7 , 7 , 7 , 8 , 8 , 8
const 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 ,
// LPS range
- 128 , - 128 , - 128 , - 128 , - 128 , - 128 , 123 , 123 ,
116 , 116 , 111 , 111 , 105 , 105 , 100 , 100 ,
95 , 95 , 90 , 90 , 85 , 85 , 81 , 81 ,
77 , 77 , 73 , 73 , 69 , 69 , 66 , 66 ,
62 , 62 , 59 , 59 , 56 , 56 , 53 , 53 ,
51 , 51 , 48 , 48 , 46 , 46 , 43 , 43 ,
41 , 41 , 39 , 39 , 37 , 37 , 35 , 35 ,
33 , 33 , 32 , 32 , 30 , 30 , 29 , 29 ,
27 , 27 , 26 , 26 , 24 , 24 , 23 , 23 ,
22 , 22 , 21 , 21 , 20 , 20 , 19 , 19 ,
18 , 18 , 17 , 17 , 16 , 16 , 15 , 15 ,
14 , 14 , 14 , 14 , 13 , 13 , 12 , 12 ,
12 , 12 , 11 , 11 , 11 , 11 , 10 , 10 ,
10 , 10 , 9 , 9 , 9 , 9 , 8 , 8 ,
8 , 8 , 7 , 7 , 7 , 7 , 7 , 7 ,
6 , 6 , 6 , 6 , 6 , 6 , 2 , 2 ,
- 80 , - 80 , - 89 , - 89 , - 98 , - 98 , - 106 , - 106 ,
- 114 , - 114 , - 121 , - 121 , - 128 , - 128 , 122 , 122 ,
116 , 116 , 110 , 110 , 104 , 104 , 99 , 99 ,
94 , 94 , 89 , 89 , 85 , 85 , 80 , 80 ,
76 , 76 , 72 , 72 , 69 , 69 , 65 , 65 ,
62 , 62 , 59 , 59 , 56 , 56 , 53 , 53 ,
50 , 50 , 48 , 48 , 45 , 45 , 43 , 43 ,
41 , 41 , 39 , 39 , 37 , 37 , 35 , 35 ,
33 , 33 , 31 , 31 , 30 , 30 , 28 , 28 ,
27 , 27 , 26 , 26 , 24 , 24 , 23 , 23 ,
22 , 22 , 21 , 21 , 20 , 20 , 19 , 19 ,
18 , 18 , 17 , 17 , 16 , 16 , 15 , 15 ,
14 , 14 , 14 , 14 , 13 , 13 , 12 , 12 ,
12 , 12 , 11 , 11 , 11 , 11 , 10 , 10 ,
9 , 9 , 9 , 9 , 9 , 9 , 8 , 8 ,
8 , 8 , 7 , 7 , 7 , 7 , 2 , 2 ,
- 48 , - 48 , - 59 , - 59 , - 69 , - 69 , - 78 , - 78 ,
- 87 , - 87 , - 96 , - 96 , - 104 , - 104 , - 112 , - 112 ,
- 119 , - 119 , - 126 , - 126 , 123 , 123 , 117 , 117 ,
111 , 111 , 105 , 105 , 100 , 100 , 95 , 95 ,
90 , 90 , 86 , 86 , 81 , 81 , 77 , 77 ,
73 , 73 , 69 , 69 , 66 , 66 , 63 , 63 ,
59 , 59 , 56 , 56 , 54 , 54 , 51 , 51 ,
48 , 48 , 46 , 46 , 43 , 43 , 41 , 41 ,
39 , 39 , 37 , 37 , 35 , 35 , 33 , 33 ,
32 , 32 , 30 , 30 , 29 , 29 , 27 , 27 ,
26 , 26 , 25 , 25 , 23 , 23 , 22 , 22 ,
21 , 21 , 20 , 20 , 19 , 19 , 18 , 18 ,
17 , 17 , 16 , 16 , 15 , 15 , 15 , 15 ,
14 , 14 , 13 , 13 , 12 , 12 , 12 , 12 ,
11 , 11 , 11 , 11 , 10 , 10 , 10 , 10 ,
9 , 9 , 9 , 9 , 8 , 8 , 2 , 2 ,
- 16 , - 16 , - 29 , - 29 , - 40 , - 40 , - 51 , - 51 ,
- 61 , - 61 , - 71 , - 71 , - 81 , - 81 , - 90 , - 90 ,
- 98 , - 98 , - 106 , - 106 , - 114 , - 114 , - 121 , - 121 ,
- 128 , - 128 , 122 , 122 , 116 , 116 , 110 , 110 ,
104 , 104 , 99 , 99 , 94 , 94 , 89 , 89 ,
85 , 85 , 80 , 80 , 76 , 76 , 72 , 72 ,
69 , 69 , 65 , 65 , 62 , 62 , 59 , 59 ,
56 , 56 , 53 , 53 , 50 , 50 , 48 , 48 ,
45 , 45 , 43 , 43 , 41 , 41 , 39 , 39 ,
37 , 37 , 35 , 35 , 33 , 33 , 31 , 31 ,
30 , 30 , 28 , 28 , 27 , 27 , 25 , 25 ,
24 , 24 , 23 , 23 , 22 , 22 , 21 , 21 ,
20 , 20 , 19 , 19 , 18 , 18 , 17 , 17 ,
16 , 16 , 15 , 15 , 14 , 14 , 14 , 14 ,
13 , 13 , 12 , 12 , 12 , 12 , 11 , 11 ,
11 , 11 , 10 , 10 , 9 , 9 , 2 , 2 ,
// mlps state
127 , 126 , 77 , 76 , 77 , 76 , 75 , 74 ,
75 , 74 , 75 , 74 , 73 , 72 , 73 , 72 ,
73 , 72 , 71 , 70 , 71 , 70 , 71 , 70 ,
69 , 68 , 69 , 68 , 67 , 66 , 67 , 66 ,
67 , 66 , 65 , 64 , 65 , 64 , 63 , 62 ,
61 , 60 , 61 , 60 , 61 , 60 , 59 , 58 ,
59 , 58 , 57 , 56 , 55 , 54 , 55 , 54 ,
53 , 52 , 53 , 52 , 51 , 50 , 49 , 48 ,
49 , 48 , 47 , 46 , 45 , 44 , 45 , 44 ,
43 , 42 , 43 , 42 , 39 , 38 , 39 , 38 ,
37 , 36 , 37 , 36 , 33 , 32 , 33 , 32 ,
31 , 30 , 31 , 30 , 27 , 26 , 27 , 26 ,
25 , 24 , 23 , 22 , 23 , 22 , 19 , 18 ,
19 , 18 , 17 , 16 , 15 , 14 , 13 , 12 ,
11 , 10 , 9 , 8 , 9 , 8 , 5 , 4 ,
5 , 4 , 3 , 2 , 1 , 0 , 0 , 1 ,
2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,
10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 ,
18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 ,
26 , 27 , 28 , 29 , 30 , 31 , 32 , 33 ,
34 , 35 , 36 , 37 , 38 , 39 , 40 , 41 ,
42 , 43 , 44 , 45 , 46 , 47 , 48 , 49 ,
50 , 51 , 52 , 53 , 54 , 55 , 56 , 57 ,
58 , 59 , 60 , 61 , 62 , 63 , 64 , 65 ,
66 , 67 , 68 , 69 , 70 , 71 , 72 , 73 ,
74 , 75 , 76 , 77 , 78 , 79 , 80 , 81 ,
82 , 83 , 84 , 85 , 86 , 87 , 88 , 89 ,
90 , 91 , 92 , 93 , 94 , 95 , 96 , 97 ,
98 , 99 , 100 , 101 , 102 , 103 , 104 , 105 ,
106 , 107 , 108 , 109 , 110 , 111 , 112 , 113 ,
114 , 115 , 116 , 117 , 118 , 119 , 120 , 121 ,
122 , 123 , 124 , 125 , 124 , 125 , 126 , 127 ,
// last_coeff_flag_offset_8x8
0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ,
2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 ,
5 , 5 , 5 , 5 , 6 , 6 , 6 , 6 , 7 , 7 , 7 , 7 , 8 , 8 , 8
} ;
/**
@ -120,35 +175,3 @@ void ff_init_cabac_decoder(CABACContext *c, const uint8_t *buf, int buf_size){
c - > low + = ( ( * c - > bytestream + + ) < < 2 ) + 2 ;
c - > range = 0x1FE ;
}
void ff_init_cabac_states ( void )
{
int i , j ;
static int initialized = 0 ;
if ( initialized )
return ;
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 ] =
ff_h264_lps_range [ j * 2 * 64 + 2 * i + 1 ] = lps_range [ i ] [ j ] ;
}
ff_h264_mlps_state [ 128 + 2 * i + 0 ] = 2 * mps_state [ i ] + 0 ;
ff_h264_mlps_state [ 128 + 2 * i + 1 ] = 2 * mps_state [ i ] + 1 ;
if ( i ) {
ff_h264_mlps_state [ 128 - 2 * i - 1 ] = 2 * lps_state [ i ] + 0 ;
ff_h264_mlps_state [ 128 - 2 * i - 2 ] = 2 * lps_state [ i ] + 1 ;
} else {
ff_h264_mlps_state [ 128 - 2 * i - 1 ] = 1 ;
ff_h264_mlps_state [ 128 - 2 * i - 2 ] = 0 ;
}
}
for ( i = 0 ; i < 63 ; i + + ) {
ff_h264_last_coeff_flag_offset_8x8 [ i ] = last_coeff_flag_offset_8x8 [ i ] ;
}
initialized = 1 ;
}