Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
F
ffmpeg
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
ffmpeg
Commits
94e725ca
Commit
94e725ca
authored
Oct 11, 2011
by
Kostya Shishkov
Committed by
Diego Biurrun
Oct 12, 2011
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
vc1: prettyprint some tables
Signed-off-by:
Diego Biurrun
<
diego@biurrun.de
>
parent
b18c68ad
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
676 additions
and
529 deletions
+676
-529
vc1data.c
libavcodec/vc1data.c
+676
-529
No files found.
libavcodec/vc1data.c
View file @
94e725ca
...
@@ -32,21 +32,21 @@
...
@@ -32,21 +32,21 @@
/** Table for conversion between TTBLK and TTMB */
/** Table for conversion between TTBLK and TTMB */
const
int
ff_vc1_ttblk_to_tt
[
3
][
8
]
=
{
const
int
ff_vc1_ttblk_to_tt
[
3
][
8
]
=
{
{
TT_8X4
,
TT_4X8
,
TT_8X8
,
TT_4X4
,
TT_8X4_TOP
,
TT_8X4_BOTTOM
,
TT_4X8_RIGHT
,
TT_4X8_LEFT
},
{
TT_8X4
,
TT_4X8
,
TT_8X8
,
TT_4X4
,
TT_8X4_TOP
,
TT_8X4_BOTTOM
,
TT_4X8_RIGHT
,
TT_4X8_LEFT
},
{
TT_8X8
,
TT_4X8_RIGHT
,
TT_4X8_LEFT
,
TT_4X4
,
TT_8X4
,
TT_4X8
,
TT_8X4_BOTTOM
,
TT_8X4_TOP
},
{
TT_8X8
,
TT_4X8_RIGHT
,
TT_4X8_LEFT
,
TT_4X4
,
TT_8X4
,
TT_4X8
,
TT_8X4_BOTTOM
,
TT_8X4_TOP
},
{
TT_8X8
,
TT_4X8
,
TT_4X4
,
TT_8X4_BOTTOM
,
TT_4X8_RIGHT
,
TT_4X8_LEFT
,
TT_8X4
,
TT_8X4_TOP
}
{
TT_8X8
,
TT_4X8
,
TT_4X4
,
TT_8X4_BOTTOM
,
TT_4X8_RIGHT
,
TT_4X8_LEFT
,
TT_8X4
,
TT_8X4_TOP
}
};
};
const
int
ff_vc1_ttfrm_to_tt
[
4
]
=
{
TT_8X8
,
TT_8X4
,
TT_4X8
,
TT_4X4
};
const
int
ff_vc1_ttfrm_to_tt
[
4
]
=
{
TT_8X8
,
TT_8X4
,
TT_4X8
,
TT_4X4
};
/** MV P mode - the 5th element is only used for mode 1 */
/** MV P mode - the 5th element is only used for mode 1 */
const
uint8_t
ff_vc1_mv_pmode_table
[
2
][
5
]
=
{
const
uint8_t
ff_vc1_mv_pmode_table
[
2
][
5
]
=
{
{
MV_PMODE_1MV_HPEL_BILIN
,
MV_PMODE_1MV
,
MV_PMODE_1MV_HPEL
,
MV_PMODE_INTENSITY_COMP
,
MV_PMODE_MIXED_MV
},
{
MV_PMODE_1MV_HPEL_BILIN
,
MV_PMODE_1MV
,
MV_PMODE_1MV_HPEL
,
MV_PMODE_INTENSITY_COMP
,
MV_PMODE_MIXED_MV
},
{
MV_PMODE_1MV
,
MV_PMODE_MIXED_MV
,
MV_PMODE_1MV_HPEL
,
MV_PMODE_INTENSITY_COMP
,
MV_PMODE_1MV_HPEL_BILIN
}
{
MV_PMODE_1MV
,
MV_PMODE_MIXED_MV
,
MV_PMODE_1MV_HPEL
,
MV_PMODE_INTENSITY_COMP
,
MV_PMODE_1MV_HPEL_BILIN
}
};
};
const
uint8_t
ff_vc1_mv_pmode_table2
[
2
][
4
]
=
{
const
uint8_t
ff_vc1_mv_pmode_table2
[
2
][
4
]
=
{
{
MV_PMODE_1MV_HPEL_BILIN
,
MV_PMODE_1MV
,
MV_PMODE_1MV_HPEL
,
MV_PMODE_MIXED_MV
},
{
MV_PMODE_1MV_HPEL_BILIN
,
MV_PMODE_1MV
,
MV_PMODE_1MV_HPEL
,
MV_PMODE_MIXED_MV
},
{
MV_PMODE_1MV
,
MV_PMODE_MIXED_MV
,
MV_PMODE_1MV_HPEL
,
MV_PMODE_1MV_HPEL_BILIN
}
{
MV_PMODE_1MV
,
MV_PMODE_MIXED_MV
,
MV_PMODE_1MV_HPEL
,
MV_PMODE_1MV_HPEL_BILIN
}
};
};
/* MBMODE table for interlaced frame P-picture */
/* MBMODE table for interlaced frame P-picture */
...
@@ -54,50 +54,48 @@ const uint8_t ff_vc1_mbmode_intfrp[2][15][4] = {
...
@@ -54,50 +54,48 @@ const uint8_t ff_vc1_mbmode_intfrp[2][15][4] = {
{
/* 1: 4-MV, 0: non-4-MV */
{
/* 1: 4-MV, 0: non-4-MV */
/* Type, FIELDTX, 1-MV Differential present, Residuals (CBP) present */
/* Type, FIELDTX, 1-MV Differential present, Residuals (CBP) present */
/* Table 164 - Table 167 */
/* Table 164 - Table 167 */
{
MV_PMODE_INTFR_1MV
,
0
,
1
,
1
},
{
MV_PMODE_INTFR_1MV
,
0
,
1
,
1
},
{
MV_PMODE_INTFR_1MV
,
1
,
1
,
1
},
{
MV_PMODE_INTFR_1MV
,
1
,
1
,
1
},
{
MV_PMODE_INTFR_1MV
,
0
,
1
,
0
},
{
MV_PMODE_INTFR_1MV
,
0
,
1
,
0
},
{
MV_PMODE_INTFR_1MV
,
0
,
0
,
1
},
{
MV_PMODE_INTFR_1MV
,
0
,
0
,
1
},
{
MV_PMODE_INTFR_1MV
,
1
,
0
,
1
},
{
MV_PMODE_INTFR_1MV
,
1
,
0
,
1
},
{
MV_PMODE_INTFR_2MV_FIELD
,
0
,
0
,
1
},
{
MV_PMODE_INTFR_2MV_FIELD
,
0
,
0
,
1
},
{
MV_PMODE_INTFR_2MV_FIELD
,
1
,
0
,
1
},
{
MV_PMODE_INTFR_2MV_FIELD
,
1
,
0
,
1
},
{
MV_PMODE_INTFR_2MV_FIELD
,
0
,
0
,
0
},
{
MV_PMODE_INTFR_2MV_FIELD
,
0
,
0
,
0
},
{
MV_PMODE_INTFR_INTRA
,
0
,
0
,
0
}
},
{
MV_PMODE_INTFR_INTRA
,
0
,
0
,
0
}
},
{
{
/* Table 160 - Table 163 */
/* Table 160 - Table 163 */
{
MV_PMODE_INTFR_1MV
,
0
,
1
,
1
},
{
MV_PMODE_INTFR_1MV
,
0
,
1
,
1
},
{
MV_PMODE_INTFR_1MV
,
1
,
1
,
1
},
{
MV_PMODE_INTFR_1MV
,
1
,
1
,
1
},
{
MV_PMODE_INTFR_1MV
,
0
,
1
,
0
},
{
MV_PMODE_INTFR_1MV
,
0
,
1
,
0
},
{
MV_PMODE_INTFR_1MV
,
0
,
0
,
1
},
{
MV_PMODE_INTFR_1MV
,
0
,
0
,
1
},
{
MV_PMODE_INTFR_1MV
,
1
,
0
,
1
},
{
MV_PMODE_INTFR_1MV
,
1
,
0
,
1
},
{
MV_PMODE_INTFR_2MV_FIELD
,
0
,
0
,
1
},
{
MV_PMODE_INTFR_2MV_FIELD
,
0
,
0
,
1
},
{
MV_PMODE_INTFR_2MV_FIELD
,
1
,
0
,
1
},
{
MV_PMODE_INTFR_2MV_FIELD
,
1
,
0
,
1
},
{
MV_PMODE_INTFR_2MV_FIELD
,
0
,
0
,
0
},
{
MV_PMODE_INTFR_2MV_FIELD
,
0
,
0
,
0
},
{
MV_PMODE_INTFR_4MV
,
0
,
0
,
1
},
{
MV_PMODE_INTFR_4MV
,
0
,
0
,
1
},
{
MV_PMODE_INTFR_4MV
,
1
,
0
,
1
},
{
MV_PMODE_INTFR_4MV
,
1
,
0
,
1
},
{
MV_PMODE_INTFR_4MV
,
0
,
0
,
0
},
{
MV_PMODE_INTFR_4MV
,
0
,
0
,
0
},
{
MV_PMODE_INTFR_4MV_FIELD
,
0
,
0
,
1
},
{
MV_PMODE_INTFR_4MV_FIELD
,
0
,
0
,
1
},
{
MV_PMODE_INTFR_4MV_FIELD
,
1
,
0
,
1
},
{
MV_PMODE_INTFR_4MV_FIELD
,
1
,
0
,
1
},
{
MV_PMODE_INTFR_4MV_FIELD
,
0
,
0
,
0
},
{
MV_PMODE_INTFR_4MV_FIELD
,
0
,
0
,
0
},
{
MV_PMODE_INTFR_INTRA
,
0
,
0
,
0
}
{
MV_PMODE_INTFR_INTRA
,
0
,
0
,
0
}
}
}
};
};
const
int
ff_vc1_fps_nr
[
5
]
=
{
24
,
25
,
30
,
50
,
60
},
const
int
ff_vc1_fps_nr
[
5
]
=
{
24
,
25
,
30
,
50
,
60
},
ff_vc1_fps_dr
[
2
]
=
{
1000
,
1001
};
ff_vc1_fps_dr
[
2
]
=
{
1000
,
1001
};
const
uint8_t
ff_vc1_pquant_table
[
3
][
32
]
=
{
const
uint8_t
ff_vc1_pquant_table
[
3
][
32
]
=
{
{
/* Implicit quantizer */
/* Implicit quantizer */
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
{
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
15
,
16
,
17
,
18
,
19
,
20
,
21
,
22
,
23
,
24
,
25
,
27
,
29
,
31
13
,
14
,
15
,
16
,
17
,
18
,
19
,
20
,
21
,
22
,
23
,
24
,
25
,
27
,
29
,
31
},
},
/* Explicit quantizer, pquantizer uniform */
{
/* Explicit quantizer, pquantizer uniform */
{
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
15
,
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
},
16
,
17
,
18
,
19
,
20
,
21
,
22
,
23
,
24
,
25
,
26
,
27
,
28
,
29
,
30
,
31
/* Explicit quantizer, pquantizer non-uniform */
},
{
0
,
1
,
1
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
13
,
{
/* Explicit quantizer, pquantizer non-uniform */
14
,
15
,
16
,
17
,
18
,
19
,
20
,
21
,
22
,
23
,
24
,
25
,
26
,
27
,
29
,
31
}
0
,
1
,
1
,
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
,
29
,
31
}
};
};
/** @name VC-1 VLC tables and defines
/** @name VC-1 VLC tables and defines
...
@@ -149,27 +147,27 @@ VLC ff_vc1_ac_coeff_table[8];
...
@@ -149,27 +147,27 @@ VLC ff_vc1_ac_coeff_table[8];
//@}
//@}
#if B_FRACTION_DEN
==840 //
original bfraction from vc9data.h, not conforming to standard
#if B_FRACTION_DEN
== 840 //
original bfraction from vc9data.h, not conforming to standard
/* bfraction is fractional, we scale to the GCD 3*5*7*8 = 840 */
/* bfraction is fractional, we scale to the GCD 3*5*7*8 = 840 */
const
int16_t
ff_vc1_bfraction_lut
[
23
]
=
{
const
int16_t
ff_vc1_bfraction_lut
[
23
]
=
{
420
/*1/2*/
,
280
/*1/3*/
,
560
/*2/3*/
,
210
/*1/4*/
,
420
/*1/2*/
,
280
/*1/3*/
,
560
/*2/3*/
,
210
/*1/4*/
,
630
/*3/4*/
,
168
/*1/5*/
,
336
/*2/5*/
,
630
/*3/4*/
,
168
/*1/5*/
,
336
/*2/5*/
,
504
/*3/5*/
,
672
/*4/5*/
,
140
/*1/6*/
,
700
/*5/6*/
,
504
/*3/5*/
,
672
/*4/5*/
,
140
/*1/6*/
,
700
/*5/6*/
,
120
/*1/7*/
,
240
/*2/7*/
,
360
/*3/7*/
,
480
/*4/7*/
,
120
/*1/7*/
,
240
/*2/7*/
,
360
/*3/7*/
,
480
/*4/7*/
,
600
/*5/7*/
,
720
/*6/7*/
,
105
/*1/8*/
,
315
/*3/8*/
,
600
/*5/7*/
,
720
/*6/7*/
,
105
/*1/8*/
,
315
/*3/8*/
,
525
/*5/8*/
,
735
/*7/8*/
,
525
/*5/8*/
,
735
/*7/8*/
,
-
1
/*inv.*/
,
0
/*BI fm*/
-
1
/*inv.*/
,
0
/*BI fm*/
};
};
#else
#else
/* pre-computed scales for all bfractions and base=256 */
/* pre-computed scales for all bfractions and base=256 */
const
int16_t
ff_vc1_bfraction_lut
[
23
]
=
{
const
int16_t
ff_vc1_bfraction_lut
[
23
]
=
{
128
/*1/2*/
,
85
/*1/3*/
,
170
/*2/3*/
,
64
/*1/4*/
,
128
/*1/2*/
,
85
/*1/3*/
,
170
/*2/3*/
,
64
/*1/4*/
,
192
/*3/4*/
,
51
/*1/5*/
,
102
/*2/5*/
,
192
/*3/4*/
,
51
/*1/5*/
,
102
/*2/5*/
,
153
/*3/5*/
,
204
/*4/5*/
,
43
/*1/6*/
,
215
/*5/6*/
,
153
/*3/5*/
,
204
/*4/5*/
,
43
/*1/6*/
,
215
/*5/6*/
,
37
/*1/7*/
,
74
/*2/7*/
,
111
/*3/7*/
,
148
/*4/7*/
,
37
/*1/7*/
,
74
/*2/7*/
,
111
/*3/7*/
,
148
/*4/7*/
,
185
/*5/7*/
,
222
/*6/7*/
,
32
/*1/8*/
,
96
/*3/8*/
,
185
/*5/7*/
,
222
/*6/7*/
,
32
/*1/8*/
,
96
/*3/8*/
,
160
/*5/8*/
,
224
/*7/8*/
,
160
/*5/8*/
,
224
/*7/8*/
,
-
1
/*inv.*/
,
0
/*BI fm*/
-
1
/*inv.*/
,
0
/*BI fm*/
};
};
#endif
#endif
...
@@ -183,348 +181,473 @@ const uint8_t ff_vc1_bfraction_bits[23] = {
...
@@ -183,348 +181,473 @@ const uint8_t ff_vc1_bfraction_bits[23] = {
7
,
7
7
,
7
};
};
const
uint8_t
ff_vc1_bfraction_codes
[
23
]
=
{
const
uint8_t
ff_vc1_bfraction_codes
[
23
]
=
{
0
,
1
,
2
,
3
,
0
,
1
,
2
,
3
,
4
,
5
,
6
,
4
,
5
,
6
,
112
,
113
,
114
,
115
,
112
,
113
,
114
,
115
,
116
,
117
,
118
,
119
,
116
,
117
,
118
,
119
,
120
,
121
,
122
,
123
,
120
,
121
,
122
,
123
,
124
,
125
,
124
,
125
,
126
,
127
126
,
127
};
};
//Same as H.264
//Same as H.264
const
AVRational
ff_vc1_pixel_aspect
[
16
]
=
{
const
AVRational
ff_vc1_pixel_aspect
[
16
]
=
{
{
0
,
1
},
{
0
,
1
},
{
1
,
1
},
{
1
,
1
},
{
12
,
11
},
{
12
,
11
},
{
10
,
11
},
{
10
,
11
},
{
16
,
11
},
{
16
,
11
},
{
40
,
33
},
{
40
,
33
},
{
24
,
11
},
{
24
,
11
},
{
20
,
11
},
{
20
,
11
},
{
32
,
11
},
{
32
,
11
},
{
80
,
33
},
{
80
,
33
},
{
18
,
11
},
{
18
,
11
},
{
15
,
11
},
{
15
,
11
},
{
64
,
33
},
{
64
,
33
},
{
160
,
99
},
{
160
,
99
},
{
0
,
1
},
{
0
,
1
},
{
0
,
1
}
{
0
,
1
}
};
};
/* BitPlane IMODE - such a small table... */
/* BitPlane IMODE - such a small table... */
const
uint8_t
ff_vc1_imode_codes
[
7
]
=
{
const
uint8_t
ff_vc1_imode_codes
[
7
]
=
{
0
,
2
,
1
,
3
,
1
,
2
,
3
0
,
2
,
1
,
3
,
1
,
2
,
3
};
};
const
uint8_t
ff_vc1_imode_bits
[
7
]
=
{
const
uint8_t
ff_vc1_imode_bits
[
7
]
=
{
4
,
2
,
3
,
2
,
4
,
3
,
3
4
,
2
,
3
,
2
,
4
,
3
,
3
};
};
/* Normal-2 imode */
/* Normal-2 imode */
const
uint8_t
ff_vc1_norm2_codes
[
4
]
=
{
const
uint8_t
ff_vc1_norm2_codes
[
4
]
=
{
0
,
4
,
5
,
3
0
,
4
,
5
,
3
};
};
const
uint8_t
ff_vc1_norm2_bits
[
4
]
=
{
const
uint8_t
ff_vc1_norm2_bits
[
4
]
=
{
1
,
3
,
3
,
2
1
,
3
,
3
,
2
};
};
const
uint16_t
ff_vc1_norm6_codes
[
64
]
=
{
const
uint16_t
ff_vc1_norm6_codes
[
64
]
=
{
0x001
,
0x002
,
0x003
,
0x000
,
0x004
,
0x001
,
0x002
,
0x047
,
0x005
,
0x003
,
0x004
,
0x04B
,
0x005
,
0x04D
,
0x04E
,
0x30E
,
0x001
,
0x002
,
0x003
,
0x000
,
0x004
,
0x001
,
0x002
,
0x047
,
0x005
,
0x003
,
0x004
,
0x04B
,
0x005
,
0x04D
,
0x04E
,
0x30E
,
0x006
,
0x006
,
0x007
,
0x053
,
0x008
,
0x055
,
0x056
,
0x30D
,
0x009
,
0x059
,
0x05A
,
0x30C
,
0x05C
,
0x30B
,
0x30A
,
0x037
,
0x006
,
0x006
,
0x007
,
0x053
,
0x008
,
0x055
,
0x056
,
0x30D
,
0x009
,
0x059
,
0x05A
,
0x30C
,
0x05C
,
0x30B
,
0x30A
,
0x037
,
0x007
,
0x00A
,
0x00B
,
0x043
,
0x00C
,
0x045
,
0x046
,
0x309
,
0x00D
,
0x049
,
0x04A
,
0x308
,
0x04C
,
0x307
,
0x306
,
0x036
,
0x007
,
0x00A
,
0x00B
,
0x043
,
0x00C
,
0x045
,
0x046
,
0x309
,
0x00D
,
0x049
,
0x04A
,
0x308
,
0x04C
,
0x307
,
0x306
,
0x036
,
0x00E
,
0x051
,
0x052
,
0x305
,
0x054
,
0x304
,
0x303
,
0x035
,
0x058
,
0x302
,
0x301
,
0x034
,
0x300
,
0x033
,
0x032
,
0x007
,
0x00E
,
0x051
,
0x052
,
0x305
,
0x054
,
0x304
,
0x303
,
0x035
,
0x058
,
0x302
,
0x301
,
0x034
,
0x300
,
0x033
,
0x032
,
0x007
,
};
};
const
uint8_t
ff_vc1_norm6_bits
[
64
]
=
{
const
uint8_t
ff_vc1_norm6_bits
[
64
]
=
{
1
,
4
,
4
,
8
,
4
,
8
,
8
,
10
,
4
,
8
,
8
,
10
,
8
,
10
,
10
,
13
,
1
,
4
,
4
,
8
,
4
,
8
,
8
,
10
,
4
,
8
,
8
,
10
,
8
,
10
,
10
,
13
,
4
,
8
,
8
,
10
,
8
,
10
,
10
,
13
,
8
,
10
,
10
,
13
,
10
,
13
,
13
,
9
,
4
,
8
,
8
,
10
,
8
,
10
,
10
,
13
,
8
,
10
,
10
,
13
,
10
,
13
,
13
,
9
,
4
,
8
,
8
,
10
,
8
,
10
,
10
,
13
,
8
,
10
,
10
,
13
,
10
,
13
,
13
,
9
,
4
,
8
,
8
,
10
,
8
,
10
,
10
,
13
,
8
,
10
,
10
,
13
,
10
,
13
,
13
,
9
,
8
,
10
,
10
,
13
,
10
,
13
,
13
,
9
,
10
,
13
,
13
,
9
,
13
,
9
,
9
,
6
,
8
,
10
,
10
,
13
,
10
,
13
,
13
,
9
,
10
,
13
,
13
,
9
,
13
,
9
,
9
,
6
,
};
};
/* 4MV Block pattern VLC tables */
/* 4MV Block pattern VLC tables */
const
uint8_t
ff_vc1_4mv_block_pattern_codes
[
4
][
16
]
=
{
const
uint8_t
ff_vc1_4mv_block_pattern_codes
[
4
][
16
]
=
{
{
14
,
58
,
59
,
25
,
12
,
26
,
15
,
15
,
13
,
24
,
27
,
0
,
28
,
1
,
2
,
2
},
{
14
,
58
,
59
,
25
,
12
,
26
,
15
,
15
,
13
,
24
,
27
,
0
,
28
,
1
,
2
,
2
},
{
8
,
18
,
19
,
4
,
20
,
5
,
30
,
11
,
21
,
31
,
6
,
12
,
7
,
13
,
14
,
0
},
{
8
,
18
,
19
,
4
,
20
,
5
,
30
,
11
,
21
,
31
,
6
,
12
,
7
,
13
,
14
,
0
},
{
15
,
6
,
7
,
2
,
8
,
3
,
28
,
9
,
10
,
29
,
4
,
11
,
5
,
12
,
13
,
0
},
{
15
,
6
,
7
,
2
,
8
,
3
,
28
,
9
,
10
,
29
,
4
,
11
,
5
,
12
,
13
,
0
},
{
0
,
11
,
12
,
4
,
13
,
5
,
30
,
16
,
14
,
31
,
6
,
17
,
7
,
18
,
19
,
10
}
{
0
,
11
,
12
,
4
,
13
,
5
,
30
,
16
,
14
,
31
,
6
,
17
,
7
,
18
,
19
,
10
}
};
};
const
uint8_t
ff_vc1_4mv_block_pattern_bits
[
4
][
16
]
=
{
const
uint8_t
ff_vc1_4mv_block_pattern_bits
[
4
][
16
]
=
{
{
5
,
6
,
6
,
5
,
5
,
5
,
5
,
4
,
5
,
5
,
5
,
3
,
5
,
3
,
3
,
2
},
{
5
,
6
,
6
,
5
,
5
,
5
,
5
,
4
,
5
,
5
,
5
,
3
,
5
,
3
,
3
,
2
},
{
4
,
5
,
5
,
4
,
5
,
4
,
5
,
4
,
5
,
5
,
4
,
4
,
4
,
4
,
4
,
2
},
{
4
,
5
,
5
,
4
,
5
,
4
,
5
,
4
,
5
,
5
,
4
,
4
,
4
,
4
,
4
,
2
},
{
4
,
4
,
4
,
4
,
4
,
4
,
5
,
4
,
4
,
5
,
4
,
4
,
4
,
4
,
4
,
3
},
{
4
,
4
,
4
,
4
,
4
,
4
,
5
,
4
,
4
,
5
,
4
,
4
,
4
,
4
,
4
,
3
},
{
2
,
4
,
4
,
4
,
4
,
4
,
5
,
5
,
4
,
5
,
4
,
5
,
4
,
5
,
5
,
4
}
{
2
,
4
,
4
,
4
,
4
,
4
,
5
,
5
,
4
,
5
,
4
,
5
,
4
,
5
,
5
,
4
}
};
};
/* 2MV Block pattern VLC tables */
/* 2MV Block pattern VLC tables */
const
uint8_t
ff_vc1_2mv_block_pattern_codes
[
4
][
4
]
=
{
const
uint8_t
ff_vc1_2mv_block_pattern_codes
[
4
][
4
]
=
{
{
2
,
1
,
0
,
3
},
{
1
,
0
,
2
,
3
},
{
2
,
0
,
3
,
1
},
{
1
,
3
,
2
,
0
}
{
2
,
1
,
0
,
3
},
{
1
,
0
,
2
,
3
},
{
2
,
0
,
3
,
1
},
{
1
,
3
,
2
,
0
}
};
};
const
uint8_t
ff_vc1_2mv_block_pattern_bits
[
4
][
4
]
=
{
const
uint8_t
ff_vc1_2mv_block_pattern_bits
[
4
][
4
]
=
{
{
2
,
2
,
2
,
2
},
{
1
,
2
,
3
,
3
},
{
3
,
2
,
3
,
1
},
{
1
,
3
,
3
,
2
}
{
2
,
2
,
2
,
2
},
{
1
,
2
,
3
,
3
},
{
3
,
2
,
3
,
1
},
{
1
,
3
,
3
,
2
}
};
};
/* Interlaced frame picture 4MV MBMODE VLC tables (p. 246, p. 360) */
/* Interlaced frame picture 4MV MBMODE VLC tables (p. 246, p. 360) */
const
uint16_t
ff_vc1_intfr_4mv_mbmode_codes
[
4
][
15
]
=
{
const
uint16_t
ff_vc1_intfr_4mv_mbmode_codes
[
4
][
15
]
=
{
{
22
,
17
,
0
,
47
,
32
,
10
,
1
,
3
,
67
,
133
,
132
,
92
,
19
,
93
,
18
},
{
22
,
17
,
0
,
47
,
32
,
10
,
1
,
3
,
67
,
133
,
132
,
92
,
19
,
93
,
18
},
{
3
,
45
,
0
,
7
,
23
,
6
,
1
,
2
,
10
,
39
,
44
,
8
,
18
,
77
,
76
},
{
3
,
45
,
0
,
7
,
23
,
6
,
1
,
2
,
10
,
39
,
44
,
8
,
18
,
77
,
76
},
{
15
,
6
,
28
,
9
,
41
,
6
,
2
,
15
,
14
,
8
,
40
,
29
,
0
,
21
,
11
},
{
15
,
6
,
28
,
9
,
41
,
6
,
2
,
15
,
14
,
8
,
40
,
29
,
0
,
21
,
11
},
{
7
,
198
,
1
,
2
,
193
,
13
,
25
,
0
,
97
,
1599
,
98
,
398
,
798
,
192
,
1598
}
{
7
,
198
,
1
,
2
,
193
,
13
,
25
,
0
,
97
,
1599
,
98
,
398
,
798
,
192
,
1598
}
};
};
const
uint8_t
ff_vc1_intfr_4mv_mbmode_bits
[
4
][
15
]
=
{
const
uint8_t
ff_vc1_intfr_4mv_mbmode_bits
[
4
][
15
]
=
{
{
5
,
5
,
2
,
6
,
6
,
4
,
2
,
2
,
7
,
8
,
8
,
7
,
5
,
7
,
5
},
{
5
,
5
,
2
,
6
,
6
,
4
,
2
,
2
,
7
,
8
,
8
,
7
,
5
,
7
,
5
},
{
3
,
6
,
3
,
3
,
5
,
3
,
3
,
3
,
4
,
6
,
6
,
4
,
5
,
7
,
7
},
{
3
,
6
,
3
,
3
,
5
,
3
,
3
,
3
,
4
,
6
,
6
,
4
,
5
,
7
,
7
},
{
4
,
3
,
5
,
5
,
7
,
4
,
2
,
5
,
5
,
5
,
7
,
5
,
2
,
6
,
5
},
{
4
,
3
,
5
,
5
,
7
,
4
,
2
,
5
,
5
,
5
,
7
,
5
,
2
,
6
,
5
},
{
4
,
9
,
1
,
3
,
9
,
5
,
6
,
2
,
8
,
12
,
8
,
10
,
11
,
9
,
12
}
{
4
,
9
,
1
,
3
,
9
,
5
,
6
,
2
,
8
,
12
,
8
,
10
,
11
,
9
,
12
}
};
};
/* Interlaced frame picture NON-4MV MBMODE VLC tables (p. 363) */
/* Interlaced frame picture NON-4MV MBMODE VLC tables (p. 363) */
const
uint8_t
ff_vc1_intfr_non4mv_mbmode_codes
[
4
][
9
]
=
{
const
uint8_t
ff_vc1_intfr_non4mv_mbmode_codes
[
4
][
9
]
=
{
{
9
,
22
,
0
,
17
,
16
,
10
,
1
,
3
,
23
},
{
9
,
22
,
0
,
17
,
16
,
10
,
1
,
3
,
23
},
{
7
,
0
,
5
,
2
,
1
,
1
,
6
,
3
,
4
},
{
7
,
0
,
5
,
2
,
1
,
1
,
6
,
3
,
4
},
{
1
,
0
,
10
,
23
,
44
,
8
,
3
,
9
,
45
},
{
1
,
0
,
10
,
23
,
44
,
8
,
3
,
9
,
45
},
{
7
,
97
,
1
,
2
,
49
,
13
,
25
,
0
,
96
}
{
7
,
97
,
1
,
2
,
49
,
13
,
25
,
0
,
96
}
};
};
const
uint8_t
ff_vc1_intfr_non4mv_mbmode_bits
[
4
][
9
]
=
{
const
uint8_t
ff_vc1_intfr_non4mv_mbmode_bits
[
4
][
9
]
=
{
{
4
,
5
,
2
,
5
,
5
,
4
,
2
,
2
,
5
},
{
4
,
5
,
2
,
5
,
5
,
4
,
2
,
2
,
5
},
{
3
,
4
,
6
,
2
,
3
,
2
,
3
,
5
,
6
},
{
3
,
4
,
6
,
2
,
3
,
2
,
3
,
5
,
6
},
{
2
,
2
,
4
,
5
,
6
,
4
,
2
,
4
,
6
},
{
2
,
2
,
4
,
5
,
6
,
4
,
2
,
4
,
6
},
{
4
,
8
,
1
,
3
,
7
,
5
,
6
,
2
,
8
}
{
4
,
8
,
1
,
3
,
7
,
5
,
6
,
2
,
8
}
};
};
/* Interlaced field picture MBMODE VLC tables (p. 356 - 11.4.1, 11.4.2) */
/* Interlaced field picture MBMODE VLC tables (p. 356 - 11.4.1, 11.4.2) */
/* mixed-MV */
/* mixed-MV */
const
uint8_t
ff_vc1_if_mmv_mbmode_codes
[
8
][
8
]
=
{
const
uint8_t
ff_vc1_if_mmv_mbmode_codes
[
8
][
8
]
=
{
{
16
,
17
,
3
,
3
,
0
,
5
,
9
,
2
},
{
16
,
17
,
3
,
3
,
0
,
5
,
9
,
2
},
{
8
,
9
,
3
,
6
,
7
,
0
,
5
,
2
},
{
8
,
9
,
3
,
6
,
7
,
0
,
5
,
2
},
{
16
,
17
,
5
,
3
,
0
,
3
,
9
,
2
},
{
16
,
17
,
5
,
3
,
0
,
3
,
9
,
2
},
{
56
,
57
,
15
,
4
,
5
,
6
,
29
,
0
},
{
56
,
57
,
15
,
4
,
5
,
6
,
29
,
0
},
{
52
,
53
,
27
,
14
,
15
,
2
,
12
,
0
},
{
52
,
53
,
27
,
14
,
15
,
2
,
12
,
0
},
{
56
,
57
,
29
,
5
,
6
,
0
,
15
,
4
},
{
56
,
57
,
29
,
5
,
6
,
0
,
15
,
4
},
{
16
,
17
,
6
,
7
,
0
,
1
,
9
,
5
},
{
16
,
17
,
6
,
7
,
0
,
1
,
9
,
5
},
{
56
,
57
,
0
,
5
,
6
,
29
,
4
,
15
}
{
56
,
57
,
0
,
5
,
6
,
29
,
4
,
15
}
};
};
const
uint8_t
ff_vc1_if_mmv_mbmode_bits
[
8
][
8
]
=
{
const
uint8_t
ff_vc1_if_mmv_mbmode_bits
[
8
][
8
]
=
{
{
6
,
6
,
2
,
3
,
2
,
4
,
5
,
2
},
{
6
,
6
,
2
,
3
,
2
,
4
,
5
,
2
},
{
5
,
5
,
3
,
3
,
3
,
2
,
4
,
2
},
{
5
,
5
,
3
,
3
,
3
,
2
,
4
,
2
},
{
6
,
6
,
4
,
3
,
2
,
2
,
5
,
2
},
{
6
,
6
,
4
,
3
,
2
,
2
,
5
,
2
},
{
6
,
6
,
4
,
3
,
3
,
3
,
5
,
1
},
{
6
,
6
,
4
,
3
,
3
,
3
,
5
,
1
},
{
6
,
6
,
5
,
4
,
4
,
2
,
4
,
1
},
{
6
,
6
,
5
,
4
,
4
,
2
,
4
,
1
},
{
6
,
6
,
5
,
3
,
3
,
1
,
4
,
3
},
{
6
,
6
,
5
,
3
,
3
,
1
,
4
,
3
},
{
5
,
5
,
3
,
3
,
2
,
2
,
4
,
3
},
{
5
,
5
,
3
,
3
,
2
,
2
,
4
,
3
},
{
6
,
6
,
1
,
3
,
3
,
5
,
3
,
4
}
{
6
,
6
,
1
,
3
,
3
,
5
,
3
,
4
}
};
};
/* 1MV */
/* 1MV */
const
uint8_t
ff_vc1_if_1mv_mbmode_codes
[
8
][
6
]
=
{
const
uint8_t
ff_vc1_if_1mv_mbmode_codes
[
8
][
6
]
=
{
{
0
,
1
,
1
,
1
,
1
,
1
},
{
0
,
1
,
1
,
1
,
1
,
1
},
{
0
,
1
,
1
,
1
,
1
,
1
},
{
0
,
1
,
1
,
1
,
1
,
1
},
{
16
,
17
,
3
,
0
,
9
,
5
},
{
16
,
17
,
3
,
0
,
9
,
5
},
{
20
,
21
,
3
,
11
,
0
,
4
},
{
20
,
21
,
3
,
11
,
0
,
4
},
{
4
,
5
,
2
,
3
,
3
,
0
},
{
4
,
5
,
2
,
3
,
3
,
0
},
{
4
,
5
,
3
,
2
,
0
,
3
},
{
4
,
5
,
3
,
2
,
0
,
3
},
{
0
,
1
,
1
,
1
,
1
,
1
},
{
0
,
1
,
1
,
1
,
1
,
1
},
{
16
,
17
,
9
,
5
,
3
,
0
}
{
16
,
17
,
9
,
5
,
3
,
0
}
};
};
const
uint8_t
ff_vc1_if_1mv_mbmode_bits
[
8
][
6
]
=
{
const
uint8_t
ff_vc1_if_1mv_mbmode_bits
[
8
][
6
]
=
{
{
5
,
5
,
1
,
3
,
2
,
4
},
{
5
,
5
,
1
,
3
,
2
,
4
},
{
5
,
5
,
1
,
2
,
3
,
4
},
{
5
,
5
,
1
,
2
,
3
,
4
},
{
5
,
5
,
2
,
1
,
4
,
3
},
{
5
,
5
,
2
,
1
,
4
,
3
},
{
5
,
5
,
2
,
4
,
1
,
3
},
{
5
,
5
,
2
,
4
,
1
,
3
},
{
4
,
4
,
2
,
3
,
2
,
2
},
{
4
,
4
,
2
,
3
,
2
,
2
},
{
4
,
4
,
3
,
2
,
2
,
2
},
{
4
,
4
,
3
,
2
,
2
,
2
},
{
5
,
5
,
3
,
4
,
1
,
2
},
{
5
,
5
,
3
,
4
,
1
,
2
},
{
5
,
5
,
4
,
3
,
2
,
1
}
{
5
,
5
,
4
,
3
,
2
,
1
}
};
};
/* Interlaced frame/field picture MVDATA VLC tables */
/* Interlaced frame/field picture MVDATA VLC tables */
/* 1-reference tables */
/* 1-reference tables */
const
uint32_t
ff_vc1_1ref_mvdata_codes
[
4
][
72
]
=
{
/* uint32_t may be too big */
const
uint32_t
ff_vc1_1ref_mvdata_codes
[
4
][
72
]
=
{
/* uint32_t may be too big */
{
5
,
12
,
30
,
18
,
12
,
52
,
117
,
112
,
0
,
8
,
27
,
8
,
29
,
124
,
214
,
478
,
431
,
5
,
27
,
38
,
30
,
18
,
118
,
77
,
{
502
,
500
,
57
,
127
,
39
,
106
,
113
,
53
,
113
,
104
,
476
,
39
,
115
,
255
,
232
,
233
,
126
,
505
,
501
,
509
,
62
,
458
,
1017
,
76
,
0x00005
,
0x0000C
,
0x0001E
,
0x00012
,
0x0000C
,
0x00034
,
0x00075
,
0x00070
,
105
,
506
,
479
,
503
,
112
,
477
,
3661
,
1831
,
914
,
456
,
459
,
1016
,
430
,
504
,
507
,
58574
,
58575
,
29280
,
29281
,
29282
,
29283
,
29284
,
29285
,
29286
},
0x00000
,
0x00008
,
0x0001B
,
0x00008
,
0x0001D
,
0x0007C
,
0x000D6
,
0x001DE
,
{
7
,
1
,
7
,
22
,
1
,
69
,
24
,
694
,
6
,
4
,
23
,
16
,
41
,
44
,
346
,
102
,
414
,
9
,
40
,
23
,
0
,
42
,
4
,
91
,
0x001AF
,
0x00005
,
0x0001B
,
0x00026
,
0x0001E
,
0x00012
,
0x00076
,
0x0004D
,
181
,
206
,
6
,
68
,
15
,
70
,
14
,
172
,
50
,
55
,
4587
,
10
,
26
,
287
,
22
,
20
,
43
,
360
,
85
,
9173
,
87
,
47
,
54
,
46
,
0x001F6
,
0x001F4
,
0x00039
,
0x0007F
,
0x00027
,
0x0006A
,
0x00071
,
0x00035
,
361
,
84
,
1147
,
415
,
11133
,
142
,
2782
,
1145
,
1390
,
2292
,
5567
,
1144
,
9172
,
44529
,
22265
,
712462
,
712463
,
356224
,
356225
,
356226
,
356227
,
356228
,
356229
,
356230
},
0x00071
,
0x00068
,
0x001DC
,
0x00027
,
0x00073
,
0x000FF
,
0x000E8
,
0x000E9
,
{
2
,
6
,
7
,
13
,
7
,
48
,
255
,
496
,
2
,
0
,
5
,
25
,
30
,
7
,
99
,
253
,
35
,
14
,
27
,
26
,
6
,
9
,
24
,
197
,
0x0007E
,
0x001F9
,
0x001F5
,
0x001FD
,
0x0003E
,
0x001CA
,
0x003F9
,
0x0004C
,
51
,
497
,
2
,
1019
,
499
,
34
,
508
,
66
,
1571
,
131
,
1568
,
125
,
64
,
67
,
996
,
997
,
401
,
4073
,
261
,
520
,
252
,
1572
,
1570
,
400
,
0x00069
,
0x001FA
,
0x001DF
,
0x001F7
,
0x00070
,
0x001DD
,
0x00E4D
,
0x00727
,
1574
,
2037
,
3147
,
8144
,
4173
,
101
,
3138
,
201
,
1575
,
3139
,
3146
,
4174
,
8145
,
4175
,
1042
,
66766
,
66767
,
33376
,
33377
,
33378
,
33379
,
33380
,
33381
,
33382
},
0x00392
,
0x001C8
,
0x001CB
,
0x003F8
,
0x001AE
,
0x001F8
,
0x001FB
,
0x0E4CE
,
{
13
,
1
,
4
,
0
,
23
,
5
,
127
,
77
,
3
,
17
,
62
,
59
,
23
,
103
,
74
,
195
,
242
,
10
,
44
,
50
,
61
,
21
,
40
,
147
,
0x0E4CF
,
0x07260
,
0x07261
,
0x07262
,
0x07263
,
0x07264
,
0x07265
,
0x07266
204
,
150
,
3
,
117
,
32
,
45
,
33
,
41
,
144
,
464
,
507
,
28
,
76
,
96
,
9
,
8
,
45
,
159
,
506
,
317
,
49
,
252
,
88
,
146
,
},
240
,
241
,
205
,
389
,
357
,
78
,
145
,
233
,
388
,
465
,
486
,
151
,
487
,
179
,
316
,
5710
,
5711
,
2848
,
2849
,
2850
,
2851
,
2852
,
2853
,
2854
}
{
0x00007
,
0x00001
,
0x00007
,
0x00016
,
0x00001
,
0x00045
,
0x00018
,
0x002B6
,
0x00006
,
0x00004
,
0x00017
,
0x00010
,
0x00029
,
0x0002C
,
0x0015A
,
0x00066
,
0x0019E
,
0x00009
,
0x00028
,
0x00017
,
0x00000
,
0x0002A
,
0x00004
,
0x0005B
,
0x000B5
,
0x000CE
,
0x00006
,
0x00044
,
0x0000F
,
0x00046
,
0x0000E
,
0x000AC
,
0x00032
,
0x00037
,
0x011EB
,
0x0000A
,
0x0001A
,
0x0011F
,
0x00016
,
0x00014
,
0x0002B
,
0x00168
,
0x00055
,
0x023D5
,
0x00057
,
0x0002F
,
0x00036
,
0x0002E
,
0x00169
,
0x00054
,
0x0047B
,
0x0019F
,
0x02B7D
,
0x0008E
,
0x00ADE
,
0x00479
,
0x0056E
,
0x008F4
,
0x015BF
,
0x00478
,
0x023D4
,
0x0ADF1
,
0x056F9
,
0xADF0E
,
0xADF0F
,
0x56F80
,
0x56F81
,
0x56F82
,
0x56F83
,
0x56F84
,
0x56F85
,
0x56F86
},
{
0x00002
,
0x00006
,
0x00007
,
0x0000D
,
0x00007
,
0x00030
,
0x000FF
,
0x001F0
,
0x00002
,
0x00000
,
0x00005
,
0x00019
,
0x0001E
,
0x00007
,
0x00063
,
0x000FD
,
0x00023
,
0x0000E
,
0x0001B
,
0x0001A
,
0x00006
,
0x00009
,
0x00018
,
0x000C5
,
0x00033
,
0x001F1
,
0x00002
,
0x003FB
,
0x001F3
,
0x00022
,
0x001FC
,
0x00042
,
0x00623
,
0x00083
,
0x00620
,
0x0007D
,
0x00040
,
0x00043
,
0x003E4
,
0x003E5
,
0x00191
,
0x00FE9
,
0x00105
,
0x00208
,
0x000FC
,
0x00624
,
0x00622
,
0x00190
,
0x00626
,
0x007F5
,
0x00C4B
,
0x01FD0
,
0x0104D
,
0x00065
,
0x00C42
,
0x000C9
,
0x00627
,
0x00C43
,
0x00C4A
,
0x0104E
,
0x01FD1
,
0x0104F
,
0x00412
,
0x104CE
,
0x104CF
,
0x08260
,
0x08261
,
0x08262
,
0x08263
,
0x08264
,
0x08265
,
0x08266
},
{
0x0000D
,
0x00001
,
0x00004
,
0x00000
,
0x00017
,
0x00005
,
0x0007F
,
0x0004D
,
0x00003
,
0x00011
,
0x0003E
,
0x0003B
,
0x00017
,
0x00067
,
0x0004A
,
0x000C3
,
0x000F2
,
0x0000A
,
0x0002C
,
0x00032
,
0x0003D
,
0x00015
,
0x00028
,
0x00093
,
0x000CC
,
0x00096
,
0x00003
,
0x00075
,
0x00020
,
0x0002D
,
0x00021
,
0x00029
,
0x00090
,
0x001D0
,
0x001FB
,
0x0001C
,
0x0004C
,
0x00060
,
0x00009
,
0x00008
,
0x0002D
,
0x0009F
,
0x001FA
,
0x0013D
,
0x00031
,
0x000FC
,
0x00058
,
0x00092
,
0x000F0
,
0x000F1
,
0x000CD
,
0x00185
,
0x00165
,
0x0004E
,
0x00091
,
0x000E9
,
0x00184
,
0x001D1
,
0x001E6
,
0x00097
,
0x001E7
,
0x000B3
,
0x0013C
,
0x0164E
,
0x0164F
,
0x00B20
,
0x00B21
,
0x00B22
,
0x00B23
,
0x00B24
,
0x00B25
,
0x00B26
}
};
};
const
uint8_t
ff_vc1_1ref_mvdata_bits
[
4
][
72
]
=
{
const
uint8_t
ff_vc1_1ref_mvdata_bits
[
4
][
72
]
=
{
{
3
,
4
,
5
,
5
,
5
,
6
,
7
,
7
,
2
,
4
,
5
,
5
,
6
,
7
,
8
,
9
,
9
,
4
,
6
,
6
,
6
,
6
,
7
,
8
,
{
9
,
9
,
6
,
8
,
7
,
7
,
7
,
7
,
8
,
8
,
9
,
6
,
8
,
8
,
8
,
8
,
8
,
9
,
9
,
9
,
7
,
10
,
10
,
8
,
3
,
4
,
5
,
5
,
5
,
6
,
7
,
7
,
2
,
4
,
5
,
5
,
6
,
7
,
8
,
9
,
9
,
4
,
8
,
9
,
9
,
9
,
8
,
9
,
13
,
12
,
11
,
10
,
10
,
10
,
9
,
9
,
9
,
17
,
17
,
16
,
16
,
16
,
16
,
16
,
16
,
16
},
6
,
6
,
6
,
6
,
7
,
8
,
9
,
9
,
6
,
8
,
7
,
7
,
7
,
7
,
8
,
8
,
9
,
6
,
{
3
,
3
,
4
,
5
,
5
,
7
,
8
,
10
,
3
,
4
,
5
,
5
,
6
,
7
,
9
,
10
,
12
,
4
,
6
,
6
,
5
,
6
,
6
,
8
,
8
,
8
,
8
,
8
,
8
,
9
,
9
,
9
,
7
,
10
,
10
,
8
,
8
,
9
,
9
,
9
,
8
,
9
,
9
,
11
,
4
,
7
,
7
,
7
,
7
,
8
,
9
,
9
,
13
,
5
,
8
,
9
,
8
,
8
,
9
,
10
,
10
,
14
,
7
,
9
,
9
,
9
,
13
,
12
,
11
,
10
,
10
,
10
,
9
,
9
,
9
,
17
,
17
,
16
,
16
,
16
,
16
,
16
,
16
,
16
10
,
10
,
11
,
12
,
14
,
8
,
12
,
11
,
11
,
12
,
13
,
11
,
14
,
16
,
15
,
20
,
20
,
19
,
19
,
19
,
19
,
19
,
19
,
19
},
},
{
3
,
4
,
4
,
4
,
5
,
6
,
8
,
9
,
2
,
4
,
5
,
5
,
5
,
6
,
7
,
8
,
8
,
4
,
7
,
7
,
6
,
6
,
7
,
8
,
{
8
,
9
,
5
,
10
,
9
,
8
,
9
,
9
,
11
,
10
,
11
,
7
,
9
,
9
,
10
,
10
,
11
,
12
,
11
,
12
,
8
,
11
,
11
,
11
,
3
,
3
,
4
,
5
,
5
,
7
,
8
,
10
,
3
,
4
,
5
,
5
,
6
,
7
,
9
,
10
,
12
,
4
,
11
,
11
,
12
,
13
,
15
,
9
,
12
,
10
,
11
,
12
,
12
,
15
,
13
,
15
,
13
,
19
,
19
,
18
,
18
,
18
,
18
,
18
,
18
,
18
},
6
,
6
,
5
,
6
,
6
,
8
,
9
,
11
,
4
,
7
,
7
,
7
,
7
,
8
,
9
,
9
,
13
,
5
,
{
4
,
4
,
4
,
4
,
5
,
5
,
7
,
7
,
3
,
5
,
6
,
6
,
6
,
7
,
7
,
8
,
8
,
4
,
6
,
6
,
6
,
6
,
7
,
8
,
8
,
9
,
8
,
8
,
9
,
10
,
10
,
14
,
7
,
9
,
9
,
9
,
10
,
10
,
11
,
12
,
14
,
8
,
8
,
8
,
4
,
7
,
6
,
6
,
6
,
7
,
8
,
9
,
9
,
5
,
7
,
7
,
6
,
6
,
7
,
8
,
9
,
9
,
6
,
8
,
8
,
8
,
12
,
11
,
11
,
12
,
13
,
11
,
14
,
16
,
15
,
20
,
20
,
19
,
19
,
19
,
19
,
19
,
19
,
19
8
,
8
,
8
,
9
,
10
,
7
,
8
,
8
,
9
,
9
,
9
,
8
,
9
,
9
,
9
,
14
,
14
,
13
,
13
,
13
,
13
,
13
,
13
,
13
}
},
{
3
,
4
,
4
,
4
,
5
,
6
,
8
,
9
,
2
,
4
,
5
,
5
,
5
,
6
,
7
,
8
,
8
,
4
,
7
,
7
,
6
,
6
,
7
,
8
,
8
,
9
,
5
,
10
,
9
,
8
,
9
,
9
,
11
,
10
,
11
,
7
,
9
,
9
,
10
,
10
,
11
,
12
,
11
,
12
,
8
,
11
,
11
,
11
,
11
,
11
,
12
,
13
,
15
,
9
,
12
,
10
,
11
,
12
,
12
,
15
,
13
,
15
,
13
,
19
,
19
,
18
,
18
,
18
,
18
,
18
,
18
,
18
},
{
4
,
4
,
4
,
4
,
5
,
5
,
7
,
7
,
3
,
5
,
6
,
6
,
6
,
7
,
7
,
8
,
8
,
4
,
6
,
6
,
6
,
6
,
7
,
8
,
8
,
8
,
4
,
7
,
6
,
6
,
6
,
7
,
8
,
9
,
9
,
5
,
7
,
7
,
6
,
6
,
7
,
8
,
9
,
9
,
6
,
8
,
8
,
8
,
8
,
8
,
8
,
9
,
10
,
7
,
8
,
8
,
9
,
9
,
9
,
8
,
9
,
9
,
9
,
14
,
14
,
13
,
13
,
13
,
13
,
13
,
13
,
13
}
};
};
/* 2-reference tables */
/* 2-reference tables */
const
uint32_t
ff_vc1_2ref_mvdata_codes
[
8
][
126
]
=
{
/* table 132 - table 139 */
const
uint32_t
ff_vc1_2ref_mvdata_codes
[
8
][
126
]
=
{
/* table 132 - table 139 */
{
12
,
28
,
11
,
0
,
14
,
42
,
80
,
872
,
2
,
26
,
4
,
58
,
29
,
108
,
{
239
,
444
,
351
,
15
,
3
,
28
,
13
,
11
,
62
,
167
,
326
,
409
,
6
,
31
,
0x0000C
,
0x0001C
,
0x0000B
,
0x00000
,
0x0000E
,
0x0002A
,
0x00050
,
0x00368
,
4
,
60
,
7
,
446
,
139
,
44
,
1971
,
5
,
219
,
86
,
236
,
82
,
445
,
120
,
0x00002
,
0x0001A
,
0x00004
,
0x0003A
,
0x0001D
,
0x0006C
,
0x000EF
,
0x001BC
,
207
,
1395
,
9
,
35
,
237
,
24
,
6
,
68
,
245
,
121
,
1746
,
110
,
43
,
349
,
0x0015F
,
0x0000F
,
0x00003
,
0x0001C
,
0x0000D
,
0x0000B
,
0x0003E
,
0x000A7
,
23
,
895
,
324
,
206
,
40
,
171
,
16
,
437
,
247
,
166
,
123
,
40
,
493
,
489
,
0x00146
,
0x00199
,
0x00006
,
0x0001F
,
0x00004
,
0x0003C
,
0x00007
,
0x001BE
,
1789
,
4
,
245
,
41
,
650
,
651
,
655
,
3577
,
821
,
7813
,
238
,
701
,
43
,
984
,
0x0008B
,
0x0002C
,
0x007B3
,
0x00005
,
0x000DB
,
0x00056
,
0x000EC
,
0x00052
,
977
,
408
,
489
,
1309
,
180
,
63
,
1109
,
555
,
553
,
1105
,
1400
,
1970
,
1392
,
341
,
0x001BD
,
0x00078
,
0x000CF
,
0x00573
,
0x00009
,
0x00023
,
0x000ED
,
0x00018
,
50
,
976
,
84
,
1747
,
1393
,
1108
,
820
,
7153
,
183
,
41
,
7812
,
364
,
411
,
7152
,
0x00006
,
0x00044
,
0x000F5
,
0x00079
,
0x006D2
,
0x0006E
,
0x0002B
,
0x0015D
,
1401
,
3907
,
181
,
2209
,
42
,
365
,
2208
,
1952
,
977
,
2789
,
340
,
2788
,
2617
,
2616
},
0x00017
,
0x0037F
,
0x00144
,
0x000CE
,
0x00028
,
0x000AB
,
0x00010
,
0x001B5
,
{
3
,
9
,
22
,
16
,
215
,
821
,
1396
,
1365
,
0
,
29
,
9
,
23
,
44
,
173
,
0x000F7
,
0x000A6
,
0x0007B
,
0x00028
,
0x001ED
,
0x001E9
,
0x006FD
,
0x00004
,
884
,
1715
,
1399
,
15
,
24
,
10
,
46
,
34
,
380
,
3707
,
7049
,
5592
,
8
,
52
,
0x000F5
,
0x00029
,
0x0028A
,
0x0028B
,
0x0028F
,
0x00DF9
,
0x00335
,
0x01E85
,
109
,
35
,
450
,
886
,
723
,
7242
,
13066
,
20
,
106
,
114
,
108
,
227
,
411
,
1855
,
0x000EE
,
0x002BD
,
0x0002B
,
0x003D8
,
0x003D1
,
0x00198
,
0x001E9
,
0x0051D
,
7408
,
2881
,
50
,
230
,
224
,
207
,
171
,
412
,
683
,
3627
,
5593
,
111
,
451
,
175
,
0x000B4
,
0x0003F
,
0x00455
,
0x0022B
,
0x00229
,
0x00451
,
0x00578
,
0x007B2
,
191
,
172
,
381
,
1763
,
3625
,
6532
,
84
,
181
,
378
,
429
,
409
,
376
,
856
,
722
,
0x00570
,
0x00155
,
0x00032
,
0x003D0
,
0x00054
,
0x006D3
,
0x00571
,
0x00454
,
7243
,
91
,
680
,
817
,
904
,
907
,
880
,
1811
,
3267
,
7409
,
441
,
1519
,
1848
,
754
,
0x00334
,
0x01BF1
,
0x000B7
,
0x00029
,
0x01E84
,
0x0016C
,
0x0019B
,
0x01BF0
,
827
,
697
,
1771
,
1392
,
3620
,
925
,
1442
,
1443
,
3709
,
1518
,
1849
,
1364
,
2725
,
2724
,
0x00579
,
0x00F43
,
0x000B5
,
0x008A1
,
0x0002A
,
0x0016D
,
0x008A0
,
0x007A0
,
887
,
7413
,
3022
,
3705
,
1632
,
1652
,
1770
,
3708
,
3429
,
758
,
5594
,
7048
,
1441
,
7412
,
0x003D1
,
0x00AE5
,
0x00154
,
0x00AE4
,
0x00A39
,
0x00A38
1510
,
3624
,
1397
,
3428
,
820
,
13067
,
5595
,
2880
,
3023
,
3525
,
3626
,
1653
,
1393
,
1363
},
},
{
4
,
2
,
16
,
3
,
23
,
69
,
62
,
126
,
3
,
2
,
40
,
30
,
21
,
71
,
{
2
,
333
,
96
,
11
,
38
,
36
,
20
,
50
,
111
,
195
,
1329
,
1765
,
21
,
63
,
0x00003
,
0x00009
,
0x00016
,
0x00010
,
0x000D7
,
0x00335
,
0x00574
,
0x00555
,
45
,
1
,
318
,
221
,
246
,
773
,
817
,
14
,
3
,
52
,
51
,
26
,
330
,
197
,
0x00000
,
0x0001D
,
0x00009
,
0x00017
,
0x0002C
,
0x000AD
,
0x00374
,
0x006B3
,
244
,
1764
,
1
,
60
,
125
,
141
,
157
,
49
,
110
,
662
,
205
,
37
,
329
,
50
,
0x00577
,
0x0000F
,
0x00018
,
0x0000A
,
0x0002E
,
0x00022
,
0x0017C
,
0x00E7B
,
137
,
54
,
136
,
111
,
3
,
797
,
14
,
426
,
638
,
97
,
334
,
335
,
103
,
255
,
0x01B89
,
0x015D8
,
0x00008
,
0x00034
,
0x0006D
,
0x00023
,
0x001C2
,
0x00376
,
387
,
54
,
855
,
245
,
198
,
194
,
665
,
281
,
561
,
848
,
44
,
399
,
1328
,
663
,
0x002D3
,
0x01C4A
,
0x0330A
,
0x00014
,
0x0006A
,
0x00072
,
0x0006C
,
0x000E3
,
4
,
440
,
192
,
634
,
785
,
156
,
1569
,
409
,
796
,
247
,
995
,
854
,
393
,
5
,
0x0019B
,
0x0073F
,
0x01CF0
,
0x00B41
,
0x00032
,
0x000E6
,
0x000E0
,
0x000CF
,
107
,
2242
,
816
,
1279
,
1264
,
849
,
1266
,
498
,
883
,
0
,
3137
,
2243
,
2540
,
994
,
0x000AB
,
0x0019C
,
0x002AB
,
0x00E2B
,
0x015D9
,
0x0006F
,
0x001C3
,
0x000AF
,
772
,
1271
,
1265
,
496
,
328
,
3136
,
2541
,
2240
,
2241
,
1267
,
1278
,
254
,
499
,
425
},
0x000BF
,
0x000AC
,
0x0017D
,
0x006E3
,
0x00E29
,
0x01984
,
0x00054
,
0x000B5
,
{
0
,
4
,
47
,
82
,
16
,
173
,
1291
,
400
,
3
,
22
,
7
,
13
,
187
,
371
,
0x0017A
,
0x001AD
,
0x00199
,
0x00178
,
0x00358
,
0x002D2
,
0x01C4B
,
0x0005B
,
201
,
1295
,
5932
,
3
,
17
,
5
,
67
,
35
,
75
,
814
,
11867
,
1154
,
9
,
42
,
0x002A8
,
0x00331
,
0x00388
,
0x0038B
,
0x00370
,
0x00713
,
0x00CC3
,
0x01CF1
,
20
,
42
,
264
,
1482
,
1626
,
8502
,
8498
,
11
,
19
,
65
,
184
,
372
,
256
,
5338
,
0x001B9
,
0x005EF
,
0x00738
,
0x002F2
,
0x0033B
,
0x002B9
,
0x006EB
,
0x00570
,
16462
,
5175
,
43
,
133
,
167
,
160
,
332
,
666
,
812
,
8499
,
5162
,
81
,
644
,
172
,
0x00E24
,
0x0039D
,
0x005A2
,
0x005A3
,
0x00E7D
,
0x005EE
,
0x00739
,
0x00554
,
258
,
69
,
68
,
2075
,
1630
,
3255
,
24
,
1292
,
530
,
740
,
515
,
148
,
290
,
2074
,
0x00AA5
,
0x00AA4
,
0x00377
,
0x01CF5
,
0x00BCE
,
0x00E79
,
0x00660
,
0x00674
,
1621
,
51
,
698
,
582
,
578
,
2670
,
1036
,
2056
,
8500
,
16463
,
373
,
1029
,
583
,
298
,
0x006EA
,
0x00E7C
,
0x00D65
,
0x002F6
,
0x015DA
,
0x01B88
,
0x005A1
,
0x01CF4
,
2580
,
699
,
401
,
2127
,
5176
,
175
,
2967
,
1155
,
5179
,
811
,
579
,
5163
,
2392
,
10687
,
0x005E6
,
0x00E28
,
0x00575
,
0x00D64
,
0x00334
,
0x0330B
,
0x015DB
,
0x00B40
,
73
,
2668
,
5339
,
1197
,
5342
,
2126
,
5172
,
599
,
11866
,
519
,
5173
,
5177
,
3254
,
5178
,
0x00BCF
,
0x00DC5
,
0x00E2A
,
0x00675
,
0x00571
,
0x00553
404
,
1620
,
8501
,
21372
,
348
,
576
,
4114
,
21373
,
2393
,
4248
,
5174
,
1631
,
8230
,
8503
},
},
{
5
,
25
,
22
,
17
,
62
,
94
,
239
,
226
,
0
,
57
,
43
,
38
,
40
,
18
,
{
194
,
237
,
285
,
13
,
49
,
42
,
37
,
32
,
92
,
493
,
589
,
1904
,
6
,
122
,
0x00004
,
0x00002
,
0x00010
,
0x00003
,
0x00017
,
0x00045
,
0x0003E
,
0x0007E
,
96
,
79
,
72
,
57
,
390
,
531
,
3782
,
15
,
38
,
95
,
117
,
112
,
39
,
475
,
0x00003
,
0x00002
,
0x00028
,
0x0001E
,
0x00015
,
0x00047
,
0x00002
,
0x0014D
,
966
,
1935
,
63
,
166
,
240
,
58
,
82
,
78
,
227
,
473
,
783
,
16
,
477
,
167
,
0x00060
,
0x0000B
,
0x00026
,
0x00024
,
0x00014
,
0x00032
,
0x0006F
,
0x000C3
,
247
,
34
,
146
,
964
,
751
,
1890
,
121
,
143
,
474
,
135
,
232
,
186
,
374
,
238
,
0x00531
,
0x006E5
,
0x00015
,
0x0003F
,
0x0002D
,
0x00001
,
0x0013E
,
0x000DD
,
944
,
133
,
281
,
782
,
264
,
466
,
268
,
1907
,
1060
,
1076
,
113
,
1501
,
449
,
935
,
0x000F6
,
0x00305
,
0x00331
,
0x0000E
,
0x00003
,
0x00034
,
0x00033
,
0x0001A
,
295
,
141
,
539
,
1970
,
479
,
984
,
1892
,
3812
,
947
,
1869
,
472
,
1500
,
2122
,
1177
,
0x0014A
,
0x000C5
,
0x000F4
,
0x006E4
,
0x00001
,
0x0003C
,
0x0007D
,
0x0008D
,
965
,
7566
,
1893
,
1077
,
1905
,
450
,
280
,
956
,
897
,
903
,
31539
,
4247
,
4246
,
7885
,
0x0009D
,
0x00031
,
0x0006E
,
0x00296
,
0x000CD
,
0x00025
,
0x00149
,
0x00032
,
3737
,
3868
,
3869
,
3813
,
284
,
31538
,
15768
,
7567
,
3736
,
3943
,
957
,
896
,
1176
,
902
},
0x00089
,
0x00036
,
0x00088
,
0x0006F
,
0x00003
,
0x0031D
,
0x0000E
,
0x001AA
,
{
13
,
16
,
46
,
57
,
13
,
116
,
237
,
182
,
1
,
2
,
0
,
48
,
41
,
112
,
0x0027E
,
0x00061
,
0x0014E
,
0x0014F
,
0x00067
,
0x000FF
,
0x00183
,
0x00036
,
243
,
140
,
358
,
9
,
51
,
120
,
6
,
196
,
11
,
355
,
204
,
1470
,
31
,
47
,
0x00357
,
0x000F5
,
0x000C6
,
0x000C2
,
0x00299
,
0x00119
,
0x00231
,
0x00350
,
100
,
24
,
198
,
10
,
354
,
704
,
3827
,
7
,
15
,
227
,
202
,
178
,
399
,
942
,
0x0002C
,
0x0018F
,
0x00530
,
0x00297
,
0x00004
,
0x001B8
,
0x000C0
,
0x0027A
,
1887
,
3153
,
21
,
71
,
238
,
226
,
234
,
9
,
362
,
707
,
1437
,
61
,
8
,
473
,
0x00311
,
0x0009C
,
0x00621
,
0x00199
,
0x0031C
,
0x000F7
,
0x003E3
,
0x00356
,
50
,
14
,
366
,
812
,
1627
,
6507
,
2
,
15
,
472
,
141
,
180
,
484
,
103
,
791
,
0x00189
,
0x00005
,
0x0006B
,
0x008C2
,
0x00330
,
0x004FF
,
0x004F0
,
0x00351
,
1940
,
34
,
958
,
789
,
52
,
55
,
734
,
108
,
3838
,
1644
,
40
,
971
,
940
,
53
,
0x004F2
,
0x001F2
,
0x00373
,
0x00000
,
0x00C41
,
0x008C3
,
0x009EC
,
0x003E2
,
363
,
957
,
705
,
1580
,
7678
,
14
,
1438
,
1471
,
218
,
1577
,
1412
,
3767
,
2826
,
1645
,
0x00304
,
0x004F7
,
0x004F1
,
0x001F0
,
0x00148
,
0x00C40
,
0x009ED
,
0x008C0
,
12
,
1918
,
1436
,
1912
,
1886
,
1882
,
1581
,
823
,
820
,
407
,
7767
,
7652
,
6506
,
7766
,
0x008C1
,
0x004F3
,
0x004FE
,
0x000FE
,
0x001F3
,
0x001A9
3152
,
2879
,
7764
,
2827
,
398
,
438
,
7765
,
3252
,
2878
,
3766
,
7653
,
7679
,
821
,
439
},
},
{
1
,
11
,
25
,
111
,
42
,
117
,
2027
,
355
,
1
,
14
,
26
,
62
,
28
,
45
,
{
356
,
2028
,
357
,
4
,
6
,
54
,
127
,
174
,
344
,
348
,
1389
,
1037584
,
0
,
4
,
0x00000
,
0x00004
,
0x0002F
,
0x00052
,
0x00010
,
0x000AD
,
0x0050B
,
0x00190
,
123
,
243
,
59
,
2029
,
691
,
716
,
1390
,
24
,
62
,
23
,
30
,
175
,
1015
,
1391
,
0x00003
,
0x00016
,
0x00007
,
0x0000D
,
0x000BB
,
0x00173
,
0x000C9
,
0x0050F
,
717
,
1037585
,
20
,
173
,
170
,
20
,
168
,
339
,
232
,
510
,
3535
,
120
,
440
,
338
,
0x0172C
,
0x00003
,
0x00011
,
0x00005
,
0x00043
,
0x00023
,
0x0004B
,
0x0032E
,
254
,
689
,
349
,
352
,
1037586
,
1037587
,
122
,
688
,
485
,
233
,
252
,
1766
,
3528
,
1412
,
0x02E5B
,
0x00482
,
0x00009
,
0x0002A
,
0x00014
,
0x0002A
,
0x00108
,
0x005CA
,
1037588
,
171
,
3550
,
345
,
1012
,
3529
,
3530
,
506
,
1037589
,
1037590
,
252
,
511
,
484
,
175
,
0x0065A
,
0x02136
,
0x02132
,
0x0000B
,
0x00013
,
0x00041
,
0x000B8
,
0x00174
,
346
,
359
,
3531
,
1413
,
1037591
,
1015
,
16213
,
1037592
,
3548
,
1414
,
16214
,
1037593
,
16215
,
1037594
,
0x00100
,
0x014DA
,
0x0404E
,
0x01437
,
0x0002B
,
0x00085
,
0x000A7
,
0x000A0
,
442
,
1415
,
1416
,
3551
,
690
,
1037595
,
3534
,
1014
,
1037596
,
4052
,
1037597
,
1037598
,
1037599
,
518784
,
0x0014C
,
0x0029A
,
0x0032C
,
0x02133
,
0x0142A
,
0x00051
,
0x00284
,
0x000AC
,
518785
,
1388
,
518786
,
518787
,
886
,
1417
,
1418
,
518788
,
518789
,
3549
,
518790
,
518791
,
1419
,
32425
},
0x00102
,
0x00045
,
0x00044
,
0x0081B
,
0x0065E
,
0x00CB7
,
0x00018
,
0x0050C
,
{
3
,
14
,
15
,
126
,
98
,
198
,
3289
,
1598
,
2
,
2
,
0
,
24
,
12
,
105
,
0x00212
,
0x002E4
,
0x00203
,
0x00094
,
0x00122
,
0x0081A
,
0x00655
,
0x00033
,
57
,
1799
,
3198
,
2
,
13
,
27
,
15
,
410
,
1607
,
6711
,
214724
,
13421
,
1
,
30
,
0x002BA
,
0x00246
,
0x00242
,
0x00A6E
,
0x0040C
,
0x00808
,
0x02134
,
0x0404F
,
127
,
10
,
225
,
1633
,
3300
,
214725
,
214726
,
29
,
48
,
13
,
203
,
409
,
800
,
142
,
0x00175
,
0x00405
,
0x00247
,
0x0012A
,
0x00A14
,
0x002BB
,
0x00191
,
0x0084F
,
25902
,
214727
,
62
,
57
,
53
,
51
,
415
,
448
,
3290
,
214728
,
214729
,
11
,
208
,
414
,
0x01438
,
0x000AF
,
0x00B97
,
0x00483
,
0x0143B
,
0x0032B
,
0x00243
,
0x0142B
,
34
,
56
,
398
,
798
,
12948
,
572
,
50
,
18
,
19
,
113
,
413
,
32
,
3207
,
3264
,
0x00958
,
0x029BF
,
0x00049
,
0x00A6C
,
0x014DB
,
0x004AD
,
0x014DE
,
0x0084E
,
214730
,
824
,
1619
,
418
,
810
,
802
,
3303
,
132
,
287
,
214731
,
805
,
1609
,
811
,
119
,
0x01434
,
0x00257
,
0x02E5A
,
0x00207
,
0x01435
,
0x01439
,
0x00CB6
,
0x0143A
,
1608
,
1602
,
3206
,
3212
,
214732
,
58
,
6583
,
67
,
807
,
140
,
141
,
3213
,
214733
,
214734
,
0x00194
,
0x00654
,
0x02135
,
0x0537C
,
0x0015C
,
0x00240
,
0x01012
,
0x0537D
,
823
,
3301
,
133
,
806
,
839
,
3236
,
3199
,
3354
,
214735
,
808
,
107360
,
107361
,
3288
,
1676
,
0x00959
,
0x01098
,
0x01436
,
0x0065F
,
0x02026
,
0x02137
12949
,
12950
,
25903
,
26328
,
817
,
1798
,
573
,
118
,
3265
,
898
,
3302
,
26329
,
26330
,
26331
}
},
{
0x00005
,
0x00019
,
0x00016
,
0x00011
,
0x0003E
,
0x0005E
,
0x000EF
,
0x000E2
,
0x00000
,
0x00039
,
0x0002B
,
0x00026
,
0x00028
,
0x00012
,
0x000C2
,
0x000ED
,
0x0011D
,
0x0000D
,
0x00031
,
0x0002A
,
0x00025
,
0x00020
,
0x0005C
,
0x001ED
,
0x0024D
,
0x00770
,
0x00006
,
0x0007A
,
0x00060
,
0x0004F
,
0x00048
,
0x00039
,
0x00186
,
0x00213
,
0x00EC6
,
0x0000F
,
0x00026
,
0x0005F
,
0x00075
,
0x00070
,
0x00027
,
0x001DB
,
0x003C6
,
0x0078F
,
0x0003F
,
0x000A6
,
0x000F0
,
0x0003A
,
0x00052
,
0x0004E
,
0x000E3
,
0x001D9
,
0x0030F
,
0x00010
,
0x001DD
,
0x000A7
,
0x000F7
,
0x00022
,
0x00092
,
0x003C4
,
0x002EF
,
0x00762
,
0x00079
,
0x0008F
,
0x001DA
,
0x00087
,
0x000E8
,
0x000BA
,
0x00176
,
0x000EE
,
0x003B0
,
0x00085
,
0x00119
,
0x0030E
,
0x00108
,
0x001D2
,
0x0010C
,
0x00773
,
0x00424
,
0x00434
,
0x00071
,
0x005DD
,
0x001C1
,
0x003A7
,
0x00127
,
0x0008D
,
0x0021B
,
0x007B2
,
0x001DF
,
0x003D8
,
0x00764
,
0x00EE4
,
0x003B3
,
0x0074D
,
0x001D8
,
0x005DC
,
0x0084A
,
0x00499
,
0x003C5
,
0x01D8E
,
0x00765
,
0x00435
,
0x00771
,
0x001C2
,
0x00118
,
0x003BC
,
0x00381
,
0x00387
,
0x07B33
,
0x01097
,
0x01096
,
0x01ECD
,
0x00E99
,
0x00F1C
,
0x00F1D
,
0x00EE5
,
0x0011C
,
0x07B32
,
0x03D98
,
0x01D8F
,
0x00E98
,
0x00F67
,
0x003BD
,
0x00380
,
0x00498
,
0x00386
},
{
0x0000D
,
0x00010
,
0x0002E
,
0x00039
,
0x0000D
,
0x00074
,
0x000ED
,
0x000B6
,
0x00001
,
0x00002
,
0x00000
,
0x00030
,
0x00029
,
0x00070
,
0x000F3
,
0x0008C
,
0x00166
,
0x00009
,
0x00033
,
0x00078
,
0x00006
,
0x000C4
,
0x0000B
,
0x00163
,
0x000CC
,
0x005BE
,
0x0001F
,
0x0002F
,
0x00064
,
0x00018
,
0x000C6
,
0x0000A
,
0x00162
,
0x002C0
,
0x00EF3
,
0x00007
,
0x0000F
,
0x000E3
,
0x000CA
,
0x000B2
,
0x0018F
,
0x003AE
,
0x0075F
,
0x00C51
,
0x00015
,
0x00047
,
0x000EE
,
0x000E2
,
0x000EA
,
0x00009
,
0x0016A
,
0x002C3
,
0x0059D
,
0x0003D
,
0x00008
,
0x001D9
,
0x00032
,
0x0000E
,
0x0016E
,
0x0032C
,
0x0065B
,
0x0196B
,
0x00002
,
0x0000F
,
0x001D8
,
0x0008D
,
0x000B4
,
0x001E4
,
0x00067
,
0x00317
,
0x00794
,
0x00022
,
0x003BE
,
0x00315
,
0x00034
,
0x00037
,
0x002DE
,
0x0006C
,
0x00EFE
,
0x0066C
,
0x00028
,
0x003CB
,
0x003AC
,
0x00035
,
0x0016B
,
0x003BD
,
0x002C1
,
0x0062C
,
0x01DFE
,
0x0000E
,
0x0059E
,
0x005BF
,
0x000DA
,
0x00629
,
0x00584
,
0x00EB7
,
0x00B0A
,
0x0066D
,
0x0000C
,
0x0077E
,
0x0059C
,
0x00778
,
0x0075E
,
0x0075A
,
0x0062D
,
0x00337
,
0x00334
,
0x00197
,
0x01E57
,
0x01DE4
,
0x0196A
,
0x01E56
,
0x00C50
,
0x00B3F
,
0x01E54
,
0x00B0B
,
0x0018E
,
0x001B6
,
0x01E55
,
0x00CB4
,
0x00B3E
,
0x00EB6
,
0x01DE5
,
0x01DFF
,
0x00335
,
0x001B7
},
{
0x00001
,
0x0000B
,
0x00019
,
0x0006F
,
0x0002A
,
0x00075
,
0x007EB
,
0x00163
,
0x00001
,
0x0000E
,
0x0001A
,
0x0003E
,
0x0001C
,
0x0002D
,
0x00164
,
0x007EC
,
0x00165
,
0x00004
,
0x00006
,
0x00036
,
0x0007F
,
0x000AE
,
0x00158
,
0x0015C
,
0x0056D
,
0xFD510
,
0x00000
,
0x00004
,
0x0007B
,
0x000F3
,
0x0003B
,
0x007ED
,
0x002B3
,
0x002CC
,
0x0056E
,
0x00018
,
0x0003E
,
0x00017
,
0x0001E
,
0x000AF
,
0x003F7
,
0x0056F
,
0x002CD
,
0xFD511
,
0x00014
,
0x000AD
,
0x000AA
,
0x00014
,
0x000A8
,
0x00153
,
0x000E8
,
0x001FE
,
0x00DCF
,
0x00078
,
0x001B8
,
0x00152
,
0x000FE
,
0x002B1
,
0x0015D
,
0x00160
,
0xFD512
,
0xFD513
,
0x0007A
,
0x002B0
,
0x001E5
,
0x000E9
,
0x000FC
,
0x006E6
,
0x00DC8
,
0x00584
,
0xFD514
,
0x000AB
,
0x00DDE
,
0x00159
,
0x003F4
,
0x00DC9
,
0x00DCA
,
0x001FA
,
0xFD515
,
0xFD516
,
0x000FC
,
0x001FF
,
0x001E4
,
0x000AF
,
0x0015A
,
0x00167
,
0x00DCB
,
0x00585
,
0xFD517
,
0x003F7
,
0x03F55
,
0xFD518
,
0x00DDC
,
0x00586
,
0x03F56
,
0xFD519
,
0x03F57
,
0xFD51A
,
0x001BA
,
0x00587
,
0x00588
,
0x00DDF
,
0x002B2
,
0xFD51B
,
0x00DCE
,
0x003F6
,
0xFD51C
,
0x00FD4
,
0xFD51D
,
0xFD51E
,
0xFD51F
,
0x7EA80
,
0x7EA81
,
0x0056C
,
0x7EA82
,
0x7EA83
,
0x00376
,
0x00589
,
0x0058A
,
0x7EA84
,
0x7EA85
,
0x00DDD
,
0x7EA86
,
0x7EA87
,
0x0058B
,
0x07EA9
},
{
0x00003
,
0x0000E
,
0x0000F
,
0x0007E
,
0x00062
,
0x000C6
,
0x00CD9
,
0x0063E
,
0x00002
,
0x00002
,
0x00000
,
0x00018
,
0x0000C
,
0x00069
,
0x00039
,
0x00707
,
0x00C7E
,
0x00002
,
0x0000D
,
0x0001B
,
0x0000F
,
0x0019A
,
0x00647
,
0x01A37
,
0x346C4
,
0x0346D
,
0x00001
,
0x0001E
,
0x0007F
,
0x0000A
,
0x000E1
,
0x00661
,
0x00CE4
,
0x346C5
,
0x346C6
,
0x0001D
,
0x00030
,
0x0000D
,
0x000CB
,
0x00199
,
0x00320
,
0x0008E
,
0x0652E
,
0x346C7
,
0x0003E
,
0x00039
,
0x00035
,
0x00033
,
0x0019F
,
0x001C0
,
0x00CDA
,
0x346C8
,
0x346C9
,
0x0000B
,
0x000D0
,
0x0019E
,
0x00022
,
0x00038
,
0x0018E
,
0x0031E
,
0x03294
,
0x0023C
,
0x00032
,
0x00012
,
0x00013
,
0x00071
,
0x0019D
,
0x00020
,
0x00C87
,
0x00CC0
,
0x346CA
,
0x00338
,
0x00653
,
0x001A2
,
0x0032A
,
0x00322
,
0x00CE7
,
0x00084
,
0x0011F
,
0x346CB
,
0x00325
,
0x00649
,
0x0032B
,
0x00077
,
0x00648
,
0x00642
,
0x00C86
,
0x00C8C
,
0x346CC
,
0x0003A
,
0x019B7
,
0x00043
,
0x00327
,
0x0008C
,
0x0008D
,
0x00C8D
,
0x346CD
,
0x346CE
,
0x00337
,
0x00CE5
,
0x00085
,
0x00326
,
0x00347
,
0x00CA4
,
0x00C7F
,
0x00D1A
,
0x346CF
,
0x00328
,
0x1A360
,
0x1A361
,
0x00CD8
,
0x0068C
,
0x03295
,
0x03296
,
0x0652F
,
0x066D8
,
0x00331
,
0x00706
,
0x0023D
,
0x00076
,
0x00CC1
,
0x00382
,
0x00CE6
,
0x066D9
,
0x066DA
,
0x066DB
}
};
};
const
uint8_t
ff_vc1_2ref_mvdata_bits
[
8
][
126
]
=
{
const
uint8_t
ff_vc1_2ref_mvdata_bits
[
8
][
126
]
=
{
{
4
,
5
,
5
,
5
,
6
,
7
,
8
,
10
,
2
,
5
,
5
,
6
,
6
,
7
,
{
8
,
9
,
10
,
4
,
5
,
6
,
6
,
7
,
8
,
9
,
10
,
11
,
4
,
6
,
4
,
5
,
5
,
5
,
6
,
7
,
8
,
10
,
2
,
5
,
5
,
6
,
6
,
7
,
8
,
9
,
6
,
7
,
7
,
9
,
9
,
10
,
12
,
5
,
8
,
8
,
8
,
8
,
9
,
9
,
10
,
4
,
5
,
6
,
6
,
7
,
8
,
9
,
10
,
11
,
4
,
6
,
6
,
7
,
7
,
9
,
10
,
12
,
5
,
7
,
8
,
7
,
7
,
8
,
9
,
9
,
11
,
7
,
9
,
10
,
9
,
10
,
12
,
5
,
8
,
8
,
8
,
8
,
9
,
9
,
10
,
12
,
5
,
7
,
8
,
7
,
9
,
10
,
10
,
10
,
10
,
12
,
6
,
9
,
9
,
9
,
9
,
9
,
10
,
10
,
7
,
8
,
9
,
9
,
11
,
7
,
9
,
10
,
9
,
10
,
10
,
10
,
10
,
12
,
6
,
9
,
11
,
7
,
10
,
10
,
11
,
11
,
11
,
12
,
12
,
14
,
8
,
11
,
10
,
11
,
9
,
9
,
9
,
9
,
10
,
10
,
11
,
7
,
10
,
10
,
11
,
11
,
11
,
12
,
12
,
14
,
11
,
11
,
11
,
12
,
12
,
8
,
12
,
11
,
11
,
12
,
12
,
12
,
12
,
13
,
8
,
11
,
10
,
11
,
11
,
11
,
11
,
12
,
12
,
8
,
12
,
11
,
11
,
12
,
12
,
12
,
8
,
12
,
11
,
11
,
12
,
12
,
12
,
13
,
12
,
9
,
14
,
13
,
11
,
13
,
12
,
13
,
8
,
12
,
11
,
11
,
12
,
12
,
12
,
13
,
12
,
9
,
14
,
13
,
11
,
13
,
12
,
13
,
12
,
13
,
9
,
13
,
13
,
12
,
12
,
13
,
13
,
13
,
13
,
13
},
12
,
13
,
12
,
13
,
9
,
13
,
13
,
12
,
12
,
13
,
13
,
13
,
13
,
13
{
3
,
4
,
5
,
6
,
8
,
10
,
11
,
11
,
2
,
5
,
5
,
6
,
7
,
8
,
},
10
,
11
,
11
,
4
,
5
,
5
,
6
,
7
,
9
,
12
,
13
,
13
,
4
,
6
,
{
7
,
7
,
9
,
10
,
11
,
13
,
14
,
5
,
7
,
7
,
7
,
8
,
9
,
11
,
3
,
4
,
5
,
6
,
8
,
10
,
11
,
11
,
2
,
5
,
5
,
6
,
7
,
8
,
10
,
11
,
13
,
13
,
6
,
8
,
8
,
8
,
8
,
9
,
10
,
12
,
13
,
7
,
9
,
8
,
11
,
4
,
5
,
5
,
6
,
7
,
9
,
12
,
13
,
13
,
4
,
6
,
7
,
7
,
9
,
10
,
8
,
8
,
9
,
11
,
12
,
13
,
7
,
9
,
9
,
9
,
9
,
9
,
10
,
11
,
11
,
13
,
14
,
5
,
7
,
7
,
7
,
8
,
9
,
11
,
13
,
13
,
6
,
8
,
8
,
8
,
13
,
8
,
10
,
10
,
10
,
10
,
10
,
11
,
12
,
13
,
9
,
11
,
11
,
10
,
8
,
9
,
10
,
12
,
13
,
7
,
9
,
8
,
8
,
8
,
9
,
11
,
12
,
13
,
7
,
9
,
10
,
10
,
11
,
11
,
12
,
10
,
12
,
12
,
12
,
11
,
11
,
11
,
12
,
12
,
9
,
9
,
9
,
9
,
10
,
11
,
13
,
8
,
10
,
10
,
10
,
10
,
10
,
11
,
12
,
13
,
10
,
13
,
12
,
12
,
11
,
11
,
11
,
12
,
12
,
10
,
13
,
13
,
12
,
13
,
9
,
11
,
11
,
10
,
10
,
10
,
11
,
11
,
12
,
10
,
12
,
12
,
12
,
11
,
11
,
11
,
11
,
12
,
11
,
12
,
10
,
14
,
13
,
13
,
12
,
12
,
12
,
11
,
11
,
11
},
12
,
12
,
10
,
13
,
12
,
12
,
11
,
11
,
11
,
12
,
12
,
10
,
13
,
13
,
12
,
13
,
{
4
,
4
,
5
,
5
,
6
,
7
,
8
,
9
,
2
,
5
,
6
,
6
,
6
,
7
,
11
,
12
,
11
,
12
,
10
,
14
,
13
,
13
,
12
,
12
,
12
,
11
,
11
,
11
7
,
9
,
9
,
4
,
6
,
6
,
6
,
7
,
8
,
9
,
11
,
12
,
5
,
7
,
},
7
,
7
,
9
,
9
,
10
,
11
,
12
,
5
,
7
,
7
,
7
,
7
,
9
,
9
,
{
10
,
12
,
5
,
8
,
8
,
8
,
8
,
8
,
9
,
10
,
10
,
6
,
9
,
8
,
4
,
4
,
5
,
5
,
6
,
7
,
8
,
9
,
2
,
5
,
6
,
6
,
6
,
7
,
7
,
9
,
8
,
8
,
8
,
9
,
9
,
11
,
6
,
10
,
10
,
9
,
9
,
9
,
9
,
10
,
9
,
4
,
6
,
6
,
6
,
7
,
8
,
9
,
11
,
12
,
5
,
7
,
7
,
7
,
9
,
9
,
10
,
7
,
11
,
10
,
9
,
9
,
10
,
9
,
10
,
11
,
7
,
10
,
11
,
10
,
10
,
11
,
12
,
5
,
7
,
7
,
7
,
7
,
9
,
9
,
10
,
12
,
5
,
8
,
8
,
8
,
10
,
10
,
9
,
10
,
11
,
8
,
12
,
11
,
11
,
10
,
11
,
11
,
10
,
10
,
8
,
8
,
9
,
10
,
10
,
6
,
9
,
8
,
8
,
8
,
8
,
9
,
9
,
11
,
6
,
10
,
8
,
12
,
12
,
11
,
11
,
11
,
11
,
10
,
11
,
8
,
13
,
12
,
12
,
11
,
10
,
9
,
9
,
9
,
9
,
10
,
10
,
7
,
11
,
10
,
9
,
9
,
10
,
9
,
10
,
11
,
11
,
11
,
11
,
10
,
9
,
13
,
12
,
12
,
12
,
11
,
11
,
10
,
10
,
10
},
7
,
10
,
11
,
10
,
10
,
10
,
9
,
10
,
11
,
8
,
12
,
11
,
11
,
10
,
11
,
11
,
{
3
,
4
,
6
,
7
,
7
,
9
,
11
,
11
,
2
,
5
,
5
,
6
,
8
,
9
,
10
,
10
,
8
,
12
,
12
,
11
,
11
,
11
,
11
,
10
,
11
,
8
,
13
,
12
,
12
,
11
,
10
,
11
,
13
,
3
,
5
,
5
,
7
,
8
,
9
,
12
,
14
,
13
,
4
,
6
,
11
,
11
,
11
,
10
,
9
,
13
,
12
,
12
,
12
,
11
,
11
,
10
,
10
,
10
6
,
7
,
9
,
11
,
13
,
14
,
14
,
5
,
7
,
7
,
8
,
9
,
9
,
13
,
},
15
,
13
,
6
,
8
,
8
,
8
,
9
,
10
,
12
,
14
,
13
,
7
,
10
,
9
,
{
9
,
9
,
9
,
12
,
13
,
14
,
7
,
11
,
10
,
10
,
10
,
10
,
11
,
12
,
3
,
4
,
6
,
7
,
7
,
9
,
11
,
11
,
2
,
5
,
5
,
6
,
8
,
9
,
10
,
11
,
13
,
8
,
11
,
12
,
12
,
12
,
11
,
12
,
14
,
15
,
9
,
11
,
12
,
11
,
13
,
3
,
5
,
5
,
7
,
8
,
9
,
12
,
14
,
13
,
4
,
6
,
6
,
7
,
9
,
11
,
12
,
11
,
11
,
12
,
13
,
9
,
12
,
13
,
13
,
12
,
12
,
13
,
14
,
14
,
13
,
14
,
14
,
5
,
7
,
7
,
8
,
9
,
9
,
13
,
15
,
13
,
6
,
8
,
8
,
8
,
9
,
12
,
13
,
13
,
13
,
12
,
13
,
12
,
14
,
10
,
13
,
13
,
14
,
13
,
9
,
10
,
12
,
14
,
13
,
7
,
10
,
9
,
9
,
9
,
9
,
12
,
13
,
14
,
7
,
11
,
11
,
13
,
14
,
15
,
10
,
12
,
13
,
15
,
14
,
13
,
13
,
13
,
14
,
14
},
10
,
10
,
10
,
10
,
11
,
12
,
13
,
8
,
11
,
12
,
12
,
12
,
11
,
12
,
14
,
15
,
{
4
,
5
,
5
,
5
,
6
,
7
,
8
,
8
,
2
,
6
,
6
,
6
,
6
,
6
,
9
,
11
,
12
,
11
,
12
,
11
,
11
,
12
,
13
,
9
,
12
,
13
,
13
,
12
,
12
,
13
,
8
,
9
,
10
,
4
,
6
,
6
,
6
,
6
,
7
,
9
,
10
,
11
,
4
,
7
,
14
,
14
,
9
,
12
,
13
,
13
,
13
,
12
,
13
,
12
,
14
,
10
,
13
,
13
,
14
,
13
,
7
,
7
,
7
,
7
,
9
,
10
,
12
,
5
,
7
,
7
,
7
,
7
,
7
,
9
,
11
,
13
,
14
,
15
,
10
,
12
,
13
,
15
,
14
,
13
,
13
,
13
,
14
,
14
10
,
11
,
6
,
8
,
8
,
7
,
7
,
7
,
8
,
9
,
10
,
6
,
9
,
8
,
},
8
,
7
,
8
,
10
,
10
,
11
,
7
,
9
,
9
,
8
,
8
,
8
,
9
,
9
,
{
10
,
8
,
10
,
10
,
9
,
9
,
9
,
11
,
11
,
11
,
8
,
11
,
10
,
10
,
4
,
5
,
5
,
5
,
6
,
7
,
8
,
8
,
2
,
6
,
6
,
6
,
6
,
6
,
8
,
9
,
9
,
9
,
10
,
11
,
10
,
10
,
12
,
12
,
11
,
11
,
10
,
11
,
12
,
11
,
10
,
4
,
6
,
6
,
6
,
6
,
7
,
9
,
10
,
11
,
4
,
7
,
7
,
7
,
7
,
7
,
10
,
13
,
12
,
11
,
11
,
10
,
10
,
11
,
11
,
11
,
15
,
13
,
13
,
13
,
9
,
10
,
12
,
5
,
7
,
7
,
7
,
7
,
7
,
9
,
10
,
11
,
6
,
8
,
8
,
7
,
12
,
12
,
12
,
12
,
10
,
15
,
14
,
13
,
12
,
12
,
11
,
11
,
11
,
11
},
7
,
7
,
8
,
9
,
10
,
6
,
9
,
8
,
8
,
7
,
8
,
10
,
10
,
11
,
7
,
9
,
{
4
,
5
,
6
,
6
,
6
,
7
,
8
,
8
,
2
,
4
,
5
,
6
,
6
,
7
,
9
,
8
,
8
,
8
,
9
,
9
,
10
,
8
,
10
,
10
,
9
,
9
,
9
,
11
,
11
,
11
,
8
,
8
,
9
,
4
,
6
,
7
,
7
,
8
,
8
,
9
,
10
,
11
,
5
,
6
,
8
,
11
,
10
,
10
,
9
,
9
,
10
,
11
,
10
,
10
,
12
,
12
,
11
,
11
,
10
,
11
,
7
,
7
,
8
,
8
,
9
,
10
,
12
,
5
,
7
,
8
,
8
,
8
,
9
,
10
,
12
,
11
,
10
,
13
,
12
,
11
,
11
,
10
,
10
,
11
,
11
,
11
,
15
,
13
,
13
,
13
,
11
,
12
,
5
,
7
,
8
,
8
,
8
,
8
,
9
,
10
,
11
,
6
,
8
,
9
,
12
,
12
,
12
,
12
,
10
,
15
,
14
,
13
,
12
,
12
,
11
,
11
,
11
,
11
8
,
8
,
9
,
10
,
11
,
13
,
5
,
8
,
9
,
8
,
8
,
9
,
9
,
10
,
},
11
,
6
,
10
,
10
,
9
,
9
,
10
,
10
,
12
,
13
,
6
,
10
,
10
,
9
,
{
9
,
10
,
10
,
11
,
13
,
7
,
11
,
11
,
11
,
11
,
11
,
12
,
12
,
13
,
4
,
5
,
6
,
6
,
6
,
7
,
8
,
8
,
2
,
4
,
5
,
6
,
6
,
7
,
8
,
8
,
7
,
11
,
11
,
11
,
11
,
11
,
11
,
12
,
12
,
9
,
13
,
13
,
13
,
13
,
9
,
4
,
6
,
7
,
7
,
8
,
8
,
9
,
10
,
11
,
5
,
6
,
7
,
7
,
8
,
8
,
12
,
12
,
13
,
12
,
9
,
12
,
13
,
12
,
12
,
12
,
13
,
13
,
12
,
12
},
9
,
10
,
12
,
5
,
7
,
8
,
8
,
8
,
9
,
10
,
11
,
12
,
5
,
7
,
8
,
8
,
{
3
,
5
,
6
,
8
,
9
,
10
,
12
,
12
,
1
,
5
,
6
,
7
,
8
,
9
,
8
,
8
,
9
,
10
,
11
,
6
,
8
,
9
,
8
,
8
,
9
,
10
,
11
,
13
,
5
,
8
,
12
,
12
,
12
,
4
,
6
,
7
,
8
,
9
,
12
,
12
,
14
,
21
,
4
,
6
,
9
,
8
,
8
,
9
,
9
,
10
,
11
,
6
,
10
,
10
,
9
,
9
,
10
,
10
,
12
,
13
,
8
,
9
,
9
,
12
,
13
,
13
,
14
,
6
,
9
,
8
,
8
,
9
,
13
,
14
,
6
,
10
,
10
,
9
,
9
,
10
,
10
,
11
,
13
,
7
,
11
,
11
,
11
,
11
,
11
,
12
,
13
,
21
,
6
,
9
,
9
,
8
,
9
,
10
,
11
,
12
,
13
,
8
,
10
,
10
,
12
,
13
,
7
,
11
,
11
,
11
,
11
,
11
,
11
,
12
,
12
,
9
,
13
,
13
,
13
,
13
,
11
,
11
,
12
,
12
,
21
,
21
,
8
,
11
,
10
,
11
,
11
,
12
,
13
,
14
,
12
,
12
,
13
,
12
,
9
,
12
,
13
,
12
,
12
,
12
,
13
,
13
,
12
,
12
21
,
9
,
13
,
10
,
11
,
13
,
13
,
12
,
21
,
21
,
9
,
12
,
10
,
11
,
},
12
,
12
,
13
,
14
,
21
,
11
,
15
,
21
,
13
,
14
,
15
,
21
,
15
,
21
,
{
10
,
14
,
14
,
13
,
13
,
21
,
13
,
13
,
21
,
13
,
21
,
21
,
21
,
20
,
3
,
5
,
6
,
8
,
9
,
10
,
12
,
12
,
1
,
5
,
6
,
7
,
8
,
9
,
12
,
12
,
20
,
14
,
20
,
20
,
11
,
14
,
14
,
20
,
20
,
13
,
20
,
20
,
14
,
16
},
12
,
4
,
6
,
7
,
8
,
9
,
12
,
12
,
14
,
21
,
4
,
6
,
8
,
9
,
9
,
12
,
{
2
,
5
,
6
,
8
,
9
,
10
,
13
,
13
,
2
,
4
,
5
,
6
,
8
,
9
,
13
,
13
,
14
,
6
,
9
,
8
,
8
,
9
,
13
,
14
,
13
,
21
,
6
,
9
,
9
,
8
,
10
,
13
,
14
,
3
,
5
,
7
,
8
,
10
,
12
,
15
,
20
,
16
,
4
,
6
,
9
,
10
,
11
,
12
,
13
,
8
,
10
,
10
,
11
,
11
,
12
,
12
,
21
,
21
,
8
,
11
,
8
,
8
,
10
,
12
,
13
,
20
,
20
,
7
,
8
,
8
,
9
,
10
,
11
,
12
,
10
,
11
,
11
,
12
,
13
,
14
,
21
,
9
,
13
,
10
,
11
,
13
,
13
,
12
,
21
,
21
,
16
,
20
,
7
,
8
,
8
,
8
,
10
,
11
,
13
,
20
,
20
,
8
,
10
,
10
,
9
,
12
,
10
,
11
,
12
,
12
,
13
,
14
,
21
,
11
,
15
,
21
,
13
,
14
,
15
,
21
,
10
,
10
,
11
,
12
,
15
,
14
,
8
,
9
,
9
,
9
,
10
,
10
,
13
,
13
,
15
,
21
,
10
,
14
,
14
,
13
,
13
,
21
,
13
,
13
,
21
,
13
,
21
,
21
,
21
,
20
,
20
,
11
,
12
,
11
,
11
,
11
,
13
,
12
,
13
,
20
,
11
,
12
,
11
,
11
,
20
,
14
,
20
,
20
,
11
,
14
,
14
,
20
,
20
,
13
,
20
,
20
,
14
,
16
12
,
12
,
13
,
13
,
20
,
10
,
14
,
11
,
11
,
12
,
12
,
13
,
20
,
20
,
},
11
,
13
,
12
,
11
,
12
,
13
,
14
,
14
,
20
,
11
,
19
,
19
,
13
,
13
,
{
15
,
15
,
16
,
16
,
11
,
13
,
14
,
11
,
13
,
12
,
13
,
16
,
16
,
16
}
2
,
5
,
6
,
8
,
9
,
10
,
13
,
13
,
2
,
4
,
5
,
6
,
8
,
9
,
10
,
13
,
};
14
,
3
,
5
,
7
,
8
,
10
,
12
,
15
,
20
,
16
,
4
,
6
,
8
,
8
,
10
,
12
,
13
,
20
,
20
,
7
,
8
,
8
,
9
,
10
,
11
,
12
,
16
,
20
,
7
,
8
,
8
,
8
,
const
uint8_t
wmv3_dc_scale_table
[
32
]
=
{
10
,
11
,
13
,
20
,
20
,
8
,
10
,
10
,
10
,
10
,
11
,
12
,
15
,
14
,
8
,
9
,
0
,
2
,
4
,
8
,
8
,
8
,
9
,
9
,
10
,
10
,
11
,
11
,
12
,
12
,
13
,
13
,
14
,
14
,
15
,
15
,
16
,
16
,
17
,
17
,
18
,
18
,
19
,
19
,
20
,
20
,
21
,
21
9
,
9
,
10
,
10
,
13
,
13
,
20
,
11
,
12
,
11
,
11
,
11
,
13
,
12
,
13
,
20
,
11
,
12
,
11
,
11
,
12
,
12
,
13
,
13
,
20
,
10
,
14
,
11
,
11
,
12
,
12
,
13
,
20
,
20
,
11
,
13
,
12
,
11
,
12
,
13
,
14
,
14
,
20
,
11
,
19
,
19
,
13
,
13
,
15
,
15
,
16
,
16
,
11
,
13
,
14
,
11
,
13
,
12
,
13
,
16
,
16
,
16
}
};
const
uint8_t
wmv3_dc_scale_table
[
32
]
=
{
0
,
2
,
4
,
8
,
8
,
8
,
9
,
9
,
10
,
10
,
11
,
11
,
12
,
12
,
13
,
13
,
14
,
14
,
15
,
15
,
16
,
16
,
17
,
17
,
18
,
18
,
19
,
19
,
20
,
20
,
21
,
21
};
};
/* P-Picture CBPCY VLC tables */
/* P-Picture CBPCY VLC tables */
...
@@ -584,108 +707,137 @@ const uint8_t ff_vc1_cbpcy_p_bits[4][64] = {
...
@@ -584,108 +707,137 @@ const uint8_t ff_vc1_cbpcy_p_bits[4][64] = {
};
};
/* Interlaced CBPCY VLC tables (Table 124 - Table 131) */
/* Interlaced CBPCY VLC tables (Table 124 - Table 131) */
const
uint16_t
ff_vc1_icbpcy_p_codes
[
8
][
63
]
=
{
const
uint16_t
ff_vc1_icbpcy_p_codes
[
8
][
63
]
=
{
{
{
12058
,
12059
,
6028
,
144
,
680
,
681
,
3015
,
145
,
682
,
683
,
1504
,
74
,
150
,
0x2F1A
,
0x2F1B
,
0x178C
,
0x0090
,
0x02A8
,
0x02A9
,
0x0BC7
,
0x0091
,
151
,
189
,
146
,
684
,
685
,
1505
,
152
,
306
,
307
,
377
,
308
,
618
,
619
,
764
,
0x02AA
,
0x02AB
,
0x05E0
,
0x004A
,
0x0096
,
0x0097
,
0x00BD
,
0x0092
,
78
,
64
,
65
,
43
,
147
,
686
,
687
,
1506
,
310
,
622
,
623
,
765
,
158
,
318
,
0x02AC
,
0x02AD
,
0x05E1
,
0x0098
,
0x0132
,
0x0133
,
0x0179
,
0x0134
,
319
,
383
,
80
,
66
,
67
,
44
,
81
,
164
,
165
,
190
,
83
,
68
,
69
,
45
,
0x026A
,
0x026B
,
0x02FC
,
0x004E
,
0x0040
,
0x0041
,
0x002B
,
0x0093
,
84
,
70
,
71
,
46
,
3
,
0
,
1
,
1
0x02AE
,
0x02AF
,
0x05E2
,
0x0136
,
0x026E
,
0x026F
,
0x02FD
,
0x009E
,
},
{
0x013E
,
0x013F
,
0x017F
,
0x0050
,
0x0042
,
0x0043
,
0x002C
,
0x0051
,
65
,
66
,
256
,
67
,
136
,
137
,
257
,
69
,
140
,
141
,
258
,
16
,
34
,
0x00A4
,
0x00A5
,
0x00BE
,
0x0053
,
0x0044
,
0x0045
,
0x002D
,
0x0054
,
35
,
36
,
71
,
16
,
17
,
259
,
37
,
88
,
89
,
90
,
91
,
90
,
91
,
92
,
0x0046
,
0x0047
,
0x002E
,
0x0003
,
0x0000
,
0x0001
,
0x0001
12
,
48
,
49
,
25
,
9
,
20
,
21
,
44
,
92
,
93
,
94
,
95
,
38
,
93
,
},
94
,
95
,
13
,
52
,
53
,
27
,
20
,
39
,
42
,
43
,
14
,
56
,
57
,
29
,
{
15
,
60
,
61
,
31
,
5
,
9
,
0
,
3
0x0041
,
0x0042
,
0x0100
,
0x0043
,
0x0088
,
0x0089
,
0x0101
,
0x0045
,
},
{
0x008C
,
0x008D
,
0x0102
,
0x0010
,
0x0022
,
0x0023
,
0x0024
,
0x0047
,
50
,
51
,
26
,
38
,
228
,
229
,
486
,
39
,
230
,
231
,
487
,
14
,
99
,
0x0010
,
0x0011
,
0x0103
,
0x0025
,
0x0058
,
0x0059
,
0x005A
,
0x005B
,
108
,
119
,
40
,
232
,
233
,
488
,
123
,
218
,
219
,
236
,
245
,
440
,
441
,
474
,
0x005A
,
0x005B
,
0x005C
,
0x000C
,
0x0030
,
0x0031
,
0x0019
,
0x0009
,
33
,
75
,
84
,
43
,
41
,
234
,
235
,
489
,
74
,
442
,
443
,
475
,
32
,
222
,
0x0014
,
0x0015
,
0x002C
,
0x005C
,
0x005D
,
0x005E
,
0x005F
,
0x0026
,
223
,
242
,
34
,
85
,
88
,
45
,
15
,
112
,
113
,
120
,
35
,
89
,
92
,
47
,
0x005D
,
0x005E
,
0x005F
,
0x000D
,
0x0034
,
0x0035
,
0x001B
,
0x0014
,
36
,
93
,
98
,
48
,
2
,
31
,
6
,
0
0x0027
,
0x002A
,
0x002B
,
0x000E
,
0x0038
,
0x0039
,
0x001D
,
0x000F
,
},
{
0x003C
,
0x003D
,
0x001F
,
0x0005
,
0x0009
,
0x0000
,
0x0003
40
,
41
,
157
,
0
,
490
,
491
,
492
,
1
,
493
,
494
,
495
,
5
,
240
,
},
241
,
59
,
2
,
496
,
497
,
498
,
63
,
348
,
349
,
153
,
16
,
976
,
977
,
304
,
{
15
,
158
,
159
,
251
,
3
,
499
,
500
,
501
,
17
,
978
,
979
,
305
,
9
,
350
,
0x0032
,
0x0033
,
0x001A
,
0x0026
,
0x00E4
,
0x00E5
,
0x01E6
,
0x0027
,
351
,
156
,
16
,
168
,
169
,
56
,
6
,
242
,
243
,
77
,
17
,
170
,
171
,
57
,
0x00E6
,
0x00E7
,
0x01E7
,
0x000E
,
0x0063
,
0x006C
,
0x0077
,
0x0028
,
18
,
172
,
173
,
58
,
6
,
22
,
23
,
14
0x00E8
,
0x00E9
,
0x01E8
,
0x007B
,
0x00DA
,
0x00DB
,
0x00EC
,
0x00F5
,
},
{
0x01B8
,
0x01B9
,
0x01DA
,
0x0021
,
0x004B
,
0x0054
,
0x002B
,
0x0029
,
60
,
61
,
31
,
10
,
97
,
98
,
2
,
11
,
99
,
100
,
3
,
7
,
3
,
0x00EA
,
0x00EB
,
0x01E9
,
0x004A
,
0x01BA
,
0x01BB
,
0x01DB
,
0x0020
,
4
,
11
,
12
,
101
,
102
,
4
,
18
,
10
,
11
,
20
,
27
,
24
,
25
,
52
,
0x00DE
,
0x00DF
,
0x00F2
,
0x0022
,
0x0055
,
0x0058
,
0x002D
,
0x000F
,
44
,
103
,
104
,
53
,
13
,
105
,
108
,
5
,
96
,
26
,
27
,
53
,
19
,
14
,
0x0070
,
0x0071
,
0x0078
,
0x0023
,
0x0059
,
0x005C
,
0x002F
,
0x0024
,
15
,
21
,
45
,
109
,
110
,
56
,
8
,
8
,
9
,
12
,
46
,
111
,
114
,
58
,
0x005D
,
0x0062
,
0x0030
,
0x0002
,
0x001F
,
0x0006
,
0x0000
47
,
115
,
0
,
59
,
7
,
20
,
21
,
4
},
},
{
{
56
,
57
,
157
,
10
,
145
,
146
,
147
,
11
,
148
,
149
,
150
,
3
,
238
,
0x0028
,
0x0029
,
0x009D
,
0x0000
,
0x01EA
,
0x01EB
,
0x01EC
,
0x0001
,
239
,
54
,
12
,
151
,
152
,
153
,
8
,
484
,
485
,
106
,
24
,
972
,
973
,
214
,
0x01ED
,
0x01EE
,
0x01EF
,
0x0005
,
0x00F0
,
0x00F1
,
0x003B
,
0x0002
,
14
,
158
,
159
,
245
,
13
,
154
,
155
,
156
,
25
,
974
,
975
,
215
,
9
,
488
,
0x01F0
,
0x01F1
,
0x01F2
,
0x003F
,
0x015C
,
0x015D
,
0x0099
,
0x0010
,
489
,
144
,
15
,
232
,
233
,
246
,
5
,
240
,
241
,
55
,
16
,
234
,
235
,
247
,
0x03D0
,
0x03D1
,
0x0130
,
0x000F
,
0x009E
,
0x009F
,
0x00FB
,
0x0003
,
17
,
236
,
237
,
52
,
0
,
62
,
63
,
2
0x01F3
,
0x01F4
,
0x01F5
,
0x0011
,
0x03D2
,
0x03D3
,
0x0131
,
0x0009
,
},
{
0x015E
,
0x015F
,
0x009C
,
0x0010
,
0x00A8
,
0x00A9
,
0x0038
,
0x0006
,
60
,
61
,
463
,
0
,
191
,
224
,
508
,
1
,
225
,
226
,
509
,
9
,
497
,
0x00F2
,
0x00F3
,
0x004D
,
0x0011
,
0x00AA
,
0x00AB
,
0x0039
,
0x0012
,
498
,
499
,
2
,
227
,
228
,
510
,
17
,
1006
,
1007
,
1008
,
33
,
2018
,
2019
,
2020
,
0x00AC
,
0x00AD
,
0x003A
,
0x0006
,
0x0016
,
0x0017
,
0x000E
24
,
1015
,
1022
,
1023
,
3
,
229
,
230
,
128
,
46
,
2021
,
2022
,
2023
,
22
,
1012
,
},
1013
,
1014
,
25
,
258
,
259
,
260
,
10
,
500
,
501
,
502
,
26
,
261
,
262
,
263
,
{
27
,
376
,
377
,
462
,
29
,
189
,
190
,
496
0x003C
,
0x003D
,
0x001F
,
0x000A
,
0x0061
,
0x0062
,
0x0002
,
0x000B
,
},
{
0x0063
,
0x0064
,
0x0003
,
0x0007
,
0x0003
,
0x0004
,
0x000B
,
0x000C
,
3
,
4
,
438
,
4
,
46
,
47
,
14
,
5
,
48
,
49
,
15
,
3
,
10
,
0x0065
,
0x0066
,
0x0004
,
0x0012
,
0x000A
,
0x000B
,
0x0014
,
0x001B
,
11
,
20
,
6
,
50
,
51
,
16
,
5
,
48
,
49
,
50
,
9
,
102
,
103
,
104
,
0x0018
,
0x0019
,
0x0034
,
0x002C
,
0x0067
,
0x0068
,
0x0035
,
0x000D
,
29
,
439
,
440
,
441
,
7
,
52
,
53
,
17
,
22
,
105
,
106
,
107
,
10
,
54
,
0x0069
,
0x006C
,
0x0005
,
0x0060
,
0x001A
,
0x001B
,
0x0035
,
0x0013
,
55
,
216
,
30
,
442
,
443
,
444
,
4
,
21
,
22
,
23
,
31
,
445
,
446
,
447
,
0x000E
,
0x000F
,
0x0015
,
0x002D
,
0x006D
,
0x006E
,
0x0038
,
0x0008
,
0
,
16
,
17
,
18
,
28
,
217
,
218
,
19
0x0008
,
0x0009
,
0x000C
,
0x002E
,
0x006F
,
0x0072
,
0x003A
,
0x002F
,
0x0073
,
0x0000
,
0x003B
,
0x0007
,
0x0014
,
0x0015
,
0x0004
},
{
0x0038
,
0x0039
,
0x009D
,
0x000A
,
0x0091
,
0x0092
,
0x0093
,
0x000B
,
0x0094
,
0x0095
,
0x0096
,
0x0003
,
0x00EE
,
0x00EF
,
0x0036
,
0x000C
,
0x0097
,
0x0098
,
0x0099
,
0x0008
,
0x01E4
,
0x01E5
,
0x006A
,
0x0018
,
0x03CC
,
0x03CD
,
0x00D6
,
0x000E
,
0x009E
,
0x009F
,
0x00F5
,
0x000D
,
0x009A
,
0x009B
,
0x009C
,
0x0019
,
0x03CE
,
0x03CF
,
0x00D7
,
0x0009
,
0x01E8
,
0x01E9
,
0x0090
,
0x000F
,
0x00E8
,
0x00E9
,
0x00F6
,
0x0005
,
0x00F0
,
0x00F1
,
0x0037
,
0x0010
,
0x00EA
,
0x00EB
,
0x00F7
,
0x0011
,
0x00EC
,
0x00ED
,
0x0034
,
0x0000
,
0x003E
,
0x003F
,
0x0002
},
{
0x003C
,
0x003D
,
0x01CF
,
0x0000
,
0x00BF
,
0x00E0
,
0x01FC
,
0x0001
,
0x00E1
,
0x00E2
,
0x01FD
,
0x0009
,
0x01F1
,
0x01F2
,
0x01F3
,
0x0002
,
0x00E3
,
0x00E4
,
0x01FE
,
0x0011
,
0x03EE
,
0x03EF
,
0x03F0
,
0x0021
,
0x07E2
,
0x07E3
,
0x07E4
,
0x0018
,
0x03F7
,
0x03FE
,
0x03FF
,
0x0003
,
0x00E5
,
0x00E6
,
0x0080
,
0x002E
,
0x07E5
,
0x07E6
,
0x07E7
,
0x0016
,
0x03F4
,
0x03F5
,
0x03F6
,
0x0019
,
0x0102
,
0x0103
,
0x0104
,
0x000A
,
0x01F4
,
0x01F5
,
0x01F6
,
0x001A
,
0x0105
,
0x0106
,
0x0107
,
0x001B
,
0x0178
,
0x0179
,
0x01CE
,
0x001D
,
0x00BD
,
0x00BE
,
0x01F0
},
{
0x0003
,
0x0004
,
0x01B6
,
0x0004
,
0x002E
,
0x002F
,
0x000E
,
0x0005
,
0x0030
,
0x0031
,
0x000F
,
0x0003
,
0x000A
,
0x000B
,
0x0014
,
0x0006
,
0x0032
,
0x0033
,
0x0010
,
0x0005
,
0x0030
,
0x0031
,
0x0032
,
0x0009
,
0x0066
,
0x0067
,
0x0068
,
0x001D
,
0x01B7
,
0x01B8
,
0x01B9
,
0x0007
,
0x0034
,
0x0035
,
0x0011
,
0x0016
,
0x0069
,
0x006A
,
0x006B
,
0x000A
,
0x0036
,
0x0037
,
0x00D8
,
0x001E
,
0x01BA
,
0x01BB
,
0x01BC
,
0x0004
,
0x0015
,
0x0016
,
0x0017
,
0x001F
,
0x01BD
,
0x01BE
,
0x01BF
,
0x0000
,
0x0010
,
0x0011
,
0x0012
,
0x001C
,
0x00D9
,
0x00DA
,
0x0013
}
}
};
};
const
uint8_t
ff_vc1_icbpcy_p_bits
[
8
][
63
]
=
{
const
uint8_t
ff_vc1_icbpcy_p_bits
[
8
][
63
]
=
{
{
{
15
,
15
,
14
,
9
,
11
,
11
,
13
,
9
,
11
,
11
,
12
,
8
,
9
,
15
,
15
,
14
,
9
,
11
,
11
,
13
,
9
,
11
,
11
,
12
,
8
,
9
,
9
,
9
,
9
,
9
,
9
,
9
,
11
,
11
,
12
,
9
,
10
,
10
,
10
,
10
,
11
,
11
,
11
,
11
,
11
,
12
,
9
,
10
,
10
,
10
,
10
,
11
,
11
,
11
,
8
,
8
,
8
,
7
,
9
,
8
,
8
,
8
,
7
,
9
,
11
,
11
,
12
,
10
,
11
,
11
,
11
,
9
,
10
,
11
,
11
,
12
,
10
,
11
,
11
,
11
,
9
,
10
,
10
,
10
,
8
,
8
,
8
,
7
,
8
,
10
,
10
,
8
,
8
,
8
,
7
,
8
,
9
,
9
,
9
,
8
,
8
,
8
,
7
,
9
,
9
,
9
,
8
,
8
,
8
,
7
,
8
,
8
,
8
,
7
,
3
,
3
,
3
,
1
8
,
8
,
8
,
7
,
3
,
3
,
3
,
1
},
},
{
{
7
,
7
,
9
,
7
,
8
,
8
,
9
,
7
,
8
,
8
,
9
,
6
,
7
,
7
,
7
,
9
,
7
,
8
,
8
,
9
,
7
,
8
,
8
,
9
,
6
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
7
,
9
,
7
,
8
,
8
,
8
,
8
,
9
,
9
,
9
,
7
,
7
,
9
,
7
,
8
,
8
,
8
,
8
,
9
,
9
,
9
,
6
,
7
,
7
,
6
,
6
,
6
,
7
,
7
,
6
,
6
,
7
,
7
,
8
,
8
,
9
,
9
,
9
,
7
,
8
,
7
,
7
,
8
,
8
,
9
,
9
,
9
,
7
,
8
,
8
,
8
,
6
,
7
,
7
,
6
,
6
,
8
,
8
,
6
,
7
,
7
,
6
,
6
,
7
,
7
,
7
,
6
,
7
,
7
,
6
,
7
,
7
,
7
,
6
,
7
,
7
,
6
,
6
,
7
,
7
,
6
,
3
,
4
,
3
,
2
6
,
7
,
7
,
6
,
3
,
4
,
3
,
2
},
},
{
{
6
,
6
,
5
,
6
,
8
,
8
,
9
,
6
,
8
,
8
,
9
,
5
,
7
,
6
,
6
,
5
,
6
,
8
,
8
,
9
,
6
,
8
,
8
,
9
,
5
,
7
,
7
,
7
,
6
,
7
,
7
,
6
,
8
,
8
,
9
,
7
,
8
,
8
,
8
,
8
,
9
,
9
,
9
,
8
,
8
,
9
,
7
,
8
,
8
,
8
,
8
,
9
,
9
,
9
,
6
,
7
,
7
,
6
,
6
,
6
,
7
,
7
,
6
,
6
,
8
,
8
,
9
,
7
,
9
,
9
,
9
,
6
,
8
,
8
,
8
,
9
,
7
,
9
,
9
,
9
,
6
,
8
,
8
,
8
,
6
,
7
,
7
,
6
,
5
,
8
,
8
,
6
,
7
,
7
,
6
,
5
,
7
,
7
,
7
,
6
,
7
,
7
,
6
,
7
,
7
,
7
,
6
,
7
,
7
,
6
,
6
,
7
,
7
,
6
,
3
,
5
,
4
,
2
6
,
7
,
7
,
6
,
3
,
5
,
4
,
2
},
},
{
{
6
,
6
,
8
,
4
,
9
,
9
,
9
,
4
,
9
,
9
,
9
,
4
,
8
,
6
,
6
,
8
,
4
,
9
,
9
,
9
,
4
,
9
,
9
,
9
,
4
,
8
,
8
,
7
,
4
,
8
,
7
,
4
,
9
,
9
,
9
,
6
,
9
,
9
,
8
,
6
,
10
,
10
,
9
,
9
,
9
,
9
,
6
,
9
,
9
,
8
,
6
,
10
,
10
,
9
,
5
,
8
,
8
,
8
,
4
,
5
,
8
,
8
,
8
,
4
,
9
,
9
,
9
,
6
,
10
,
10
,
9
,
5
,
9
,
9
,
9
,
9
,
6
,
10
,
10
,
9
,
5
,
9
,
9
,
8
,
5
,
8
,
8
,
7
,
4
,
9
,
8
,
5
,
8
,
8
,
7
,
4
,
8
,
8
,
7
,
5
,
8
,
8
,
7
,
8
,
8
,
7
,
5
,
8
,
8
,
7
,
5
,
8
,
8
,
7
,
3
,
5
,
5
,
4
5
,
8
,
8
,
7
,
3
,
5
,
5
,
4
},
},
{
{
6
,
6
,
5
,
5
,
7
,
7
,
7
,
5
,
7
,
7
,
7
,
5
,
6
,
6
,
6
,
5
,
5
,
7
,
7
,
7
,
5
,
7
,
7
,
7
,
5
,
6
,
6
,
6
,
5
,
6
,
6
,
5
,
7
,
7
,
7
,
6
,
7
,
7
,
7
,
7
,
8
,
8
,
8
,
7
,
7
,
7
,
6
,
7
,
7
,
7
,
7
,
8
,
8
,
8
,
6
,
7
,
7
,
6
,
5
,
6
,
7
,
7
,
6
,
5
,
7
,
7
,
7
,
7
,
8
,
8
,
8
,
6
,
7
,
7
,
7
,
7
,
7
,
8
,
8
,
8
,
6
,
7
,
7
,
7
,
6
,
7
,
7
,
6
,
5
,
7
,
7
,
6
,
7
,
7
,
6
,
5
,
6
,
6
,
6
,
6
,
7
,
7
,
6
,
6
,
6
,
6
,
6
,
7
,
7
,
6
,
6
,
7
,
6
,
6
,
4
,
5
,
5
,
3
6
,
7
,
6
,
6
,
4
,
5
,
5
,
3
},
},
{
{
6
,
6
,
8
,
4
,
8
,
8
,
8
,
4
,
8
,
8
,
8
,
4
,
8
,
6
,
6
,
8
,
4
,
8
,
8
,
8
,
4
,
8
,
8
,
8
,
4
,
8
,
8
,
7
,
4
,
8
,
7
,
4
,
8
,
8
,
8
,
5
,
9
,
9
,
8
,
6
,
10
,
10
,
9
,
8
,
8
,
8
,
5
,
9
,
9
,
8
,
6
,
10
,
10
,
9
,
5
,
8
,
8
,
8
,
4
,
5
,
8
,
8
,
8
,
4
,
8
,
8
,
8
,
6
,
10
,
10
,
9
,
5
,
9
,
8
,
8
,
8
,
6
,
10
,
10
,
9
,
5
,
9
,
9
,
8
,
5
,
8
,
8
,
8
,
4
,
9
,
8
,
5
,
8
,
8
,
8
,
4
,
8
,
8
,
7
,
5
,
8
,
8
,
8
,
8
,
8
,
7
,
5
,
8
,
8
,
8
,
5
,
8
,
8
,
7
,
3
,
6
,
6
,
4
5
,
8
,
8
,
7
,
3
,
6
,
6
,
4
},
},
{
{
6
,
6
,
9
,
3
,
8
,
8
,
9
,
3
,
8
,
8
,
9
,
4
,
9
,
6
,
6
,
9
,
3
,
8
,
8
,
9
,
3
,
8
,
8
,
9
,
4
,
9
,
9
,
9
,
3
,
9
,
9
,
3
,
8
,
8
,
9
,
5
,
10
,
10
,
10
,
6
,
11
,
11
,
11
,
8
,
8
,
9
,
5
,
10
,
10
,
10
,
6
,
11
,
11
,
11
,
5
,
10
,
10
,
10
,
3
,
5
,
10
,
10
,
10
,
3
,
8
,
8
,
8
,
6
,
11
,
11
,
11
,
5
,
10
,
8
,
8
,
8
,
6
,
11
,
11
,
11
,
5
,
10
,
10
,
10
,
5
,
9
,
9
,
9
,
4
,
10
,
10
,
5
,
9
,
9
,
9
,
4
,
9
,
9
,
9
,
5
,
9
,
9
,
9
,
9
,
9
,
9
,
5
,
9
,
9
,
9
,
5
,
9
,
9
,
9
,
5
,
8
,
8
,
9
5
,
9
,
9
,
9
,
5
,
8
,
8
,
9
},
},
{
{
6
,
6
,
10
,
3
,
7
,
7
,
7
,
3
,
7
,
7
,
7
,
4
,
8
,
6
,
6
,
10
,
3
,
7
,
7
,
7
,
3
,
7
,
7
,
7
,
4
,
8
,
8
,
8
,
3
,
8
,
8
,
3
,
7
,
7
,
7
,
5
,
9
,
9
,
9
,
6
,
10
,
10
,
10
,
7
,
7
,
7
,
5
,
9
,
9
,
9
,
6
,
10
,
10
,
10
,
6
,
10
,
10
,
10
,
3
,
6
,
10
,
10
,
10
,
3
,
7
,
7
,
7
,
6
,
10
,
10
,
10
,
5
,
9
,
7
,
7
,
7
,
6
,
10
,
10
,
10
,
5
,
9
,
9
,
9
,
6
,
10
,
10
,
10
,
4
,
9
,
9
,
6
,
10
,
10
,
10
,
4
,
8
,
8
,
8
,
6
,
10
,
10
,
10
,
8
,
8
,
8
,
6
,
10
,
10
,
10
,
5
,
9
,
9
,
9
,
6
,
9
,
9
,
9
5
,
9
,
9
,
9
,
6
,
9
,
9
,
9
}
}
};
};
...
@@ -759,26 +911,26 @@ const uint8_t ff_vc1_ttmb_bits[3][16] = {
...
@@ -759,26 +911,26 @@ const uint8_t ff_vc1_ttmb_bits[3][16] = {
/* TTBLK (Transform Type per Block) tables */
/* TTBLK (Transform Type per Block) tables */
const
uint8_t
ff_vc1_ttblk_codes
[
3
][
8
]
=
{
const
uint8_t
ff_vc1_ttblk_codes
[
3
][
8
]
=
{
{
0
,
1
,
3
,
5
,
16
,
17
,
18
,
19
},
{
0
,
1
,
3
,
5
,
16
,
17
,
18
,
19
},
{
3
,
0
,
1
,
2
,
3
,
5
,
8
,
9
},
{
3
,
0
,
1
,
2
,
3
,
5
,
8
,
9
},
{
1
,
0
,
1
,
4
,
6
,
7
,
10
,
11
}
{
1
,
0
,
1
,
4
,
6
,
7
,
10
,
11
}
};
};
const
uint8_t
ff_vc1_ttblk_bits
[
3
][
8
]
=
{
const
uint8_t
ff_vc1_ttblk_bits
[
3
][
8
]
=
{
{
2
,
2
,
2
,
3
,
5
,
5
,
5
,
5
},
{
2
,
2
,
2
,
3
,
5
,
5
,
5
,
5
},
{
2
,
3
,
3
,
3
,
3
,
3
,
4
,
4
},
{
2
,
3
,
3
,
3
,
3
,
3
,
4
,
4
},
{
2
,
3
,
3
,
3
,
3
,
3
,
4
,
4
}
{
2
,
3
,
3
,
3
,
3
,
3
,
4
,
4
}
};
};
/* SUBBLKPAT tables, p93-94, reordered */
/* SUBBLKPAT tables, p93-94, reordered */
const
uint8_t
ff_vc1_subblkpat_codes
[
3
][
15
]
=
{
const
uint8_t
ff_vc1_subblkpat_codes
[
3
][
15
]
=
{
{
14
,
12
,
7
,
11
,
9
,
26
,
2
,
10
,
27
,
8
,
0
,
6
,
1
,
15
,
1
},
{
14
,
12
,
7
,
11
,
9
,
26
,
2
,
10
,
27
,
8
,
0
,
6
,
1
,
15
,
1
},
{
14
,
0
,
8
,
15
,
10
,
4
,
23
,
13
,
5
,
9
,
25
,
3
,
24
,
22
,
1
},
{
14
,
0
,
8
,
15
,
10
,
4
,
23
,
13
,
5
,
9
,
25
,
3
,
24
,
22
,
1
},
{
5
,
6
,
2
,
2
,
8
,
0
,
28
,
3
,
1
,
3
,
29
,
1
,
19
,
18
,
15
}
{
5
,
6
,
2
,
2
,
8
,
0
,
28
,
3
,
1
,
3
,
29
,
1
,
19
,
18
,
15
}
};
};
const
uint8_t
ff_vc1_subblkpat_bits
[
3
][
15
]
=
{
const
uint8_t
ff_vc1_subblkpat_bits
[
3
][
15
]
=
{
{
5
,
5
,
5
,
5
,
5
,
6
,
4
,
5
,
6
,
5
,
4
,
5
,
4
,
5
,
1
},
{
5
,
5
,
5
,
5
,
5
,
6
,
4
,
5
,
6
,
5
,
4
,
5
,
4
,
5
,
1
},
{
4
,
3
,
4
,
4
,
4
,
5
,
5
,
4
,
5
,
4
,
5
,
4
,
5
,
5
,
2
},
{
4
,
3
,
4
,
4
,
4
,
5
,
5
,
4
,
5
,
4
,
5
,
4
,
5
,
5
,
2
},
{
3
,
3
,
4
,
3
,
4
,
5
,
5
,
3
,
5
,
4
,
5
,
4
,
5
,
5
,
4
}
{
3
,
3
,
4
,
3
,
4
,
5
,
5
,
3
,
5
,
4
,
5
,
4
,
5
,
5
,
4
}
};
};
/* MV differential tables, p265 */
/* MV differential tables, p265 */
...
@@ -867,118 +1019,113 @@ const uint8_t ff_vc1_mv_diff_bits[4][73] = {
...
@@ -867,118 +1019,113 @@ const uint8_t ff_vc1_mv_diff_bits[4][73] = {
/* DC differentials low+hi-mo, p217 are the same as in msmpeg4data .h */
/* DC differentials low+hi-mo, p217 are the same as in msmpeg4data .h */
/* Table 232 */
/* Table 232 */
const
int8_t
ff_vc1_simple_progressive_4x4_zz
[
16
]
=
const
int8_t
ff_vc1_simple_progressive_4x4_zz
[
16
]
=
{
{
0
,
8
,
16
,
1
,
0
,
8
,
16
,
1
,
9
,
24
,
17
,
2
,
9
,
24
,
17
,
2
,
10
,
18
,
25
,
3
,
10
,
18
,
25
,
3
,
11
,
26
,
19
,
27
11
,
26
,
19
,
27
};
};
const
int8_t
ff_vc1_adv_progressive_8x4_zz
[
32
]
=
{
/* Table 233 */
const
int8_t
ff_vc1_adv_progressive_8x4_zz
[
32
]
=
/* Table 233 */
0
,
8
,
1
,
16
,
2
,
9
,
10
,
3
,
{
24
,
17
,
4
,
11
,
18
,
12
,
5
,
19
,
0
,
8
,
1
,
16
,
2
,
9
,
10
,
3
,
25
,
13
,
20
,
26
,
27
,
6
,
21
,
28
,
24
,
17
,
4
,
11
,
18
,
12
,
5
,
19
,
14
,
22
,
29
,
7
,
30
,
15
,
23
,
31
25
,
13
,
20
,
26
,
27
,
6
,
21
,
28
,
};
14
,
22
,
29
,
7
,
30
,
15
,
23
,
31
};
const
int8_t
ff_vc1_adv_progressive_4x8_zz
[
32
]
=
{
/* Table 234 */
0
,
1
,
8
,
2
,
const
int8_t
ff_vc1_adv_progressive_4x8_zz
[
32
]
=
/* Table 234 */
9
,
16
,
17
,
24
,
{
10
,
32
,
25
,
18
,
0
,
1
,
8
,
2
,
40
,
3
,
33
,
26
,
9
,
16
,
17
,
24
,
48
,
11
,
56
,
41
,
10
,
32
,
25
,
18
,
34
,
49
,
57
,
42
,
40
,
3
,
33
,
26
,
19
,
50
,
27
,
58
,
48
,
11
,
56
,
41
,
35
,
43
,
51
,
59
34
,
49
,
57
,
42
,
};
19
,
50
,
27
,
58
,
35
,
43
,
51
,
59
const
int8_t
ff_vc1_adv_interlaced_8x8_zz
[
64
]
=
{
/* Table 235 */
};
0
,
8
,
1
,
16
,
24
,
9
,
2
,
32
,
40
,
48
,
56
,
17
,
10
,
3
,
25
,
18
,
const
int8_t
ff_vc1_adv_interlaced_8x8_zz
[
64
]
=
/* Table 235 */
11
,
4
,
33
,
41
,
49
,
57
,
26
,
34
,
{
42
,
50
,
58
,
19
,
12
,
5
,
27
,
20
,
0
,
8
,
1
,
16
,
24
,
9
,
2
,
32
,
13
,
6
,
35
,
28
,
21
,
14
,
7
,
15
,
40
,
48
,
56
,
17
,
10
,
3
,
25
,
18
,
22
,
29
,
36
,
43
,
51
,
59
,
60
,
52
,
11
,
4
,
33
,
41
,
49
,
57
,
26
,
34
,
44
,
37
,
30
,
23
,
31
,
38
,
45
,
53
,
42
,
50
,
58
,
19
,
12
,
5
,
27
,
20
,
61
,
62
,
54
,
46
,
39
,
47
,
55
,
63
13
,
6
,
35
,
28
,
21
,
14
,
7
,
15
,
};
22
,
29
,
36
,
43
,
51
,
59
,
60
,
52
,
44
,
37
,
30
,
23
,
31
,
38
,
45
,
53
,
const
int8_t
ff_vc1_adv_interlaced_8x4_zz
[
32
]
=
{
/* Table 236 */
61
,
62
,
54
,
46
,
39
,
47
,
55
,
63
0
,
8
,
16
,
24
,
1
,
9
,
2
,
17
,
};
25
,
10
,
3
,
18
,
26
,
4
,
11
,
19
,
12
,
5
,
13
,
20
,
27
,
6
,
21
,
28
,
const
int8_t
ff_vc1_adv_interlaced_8x4_zz
[
32
]
=
/* Table 236 */
14
,
22
,
29
,
7
,
30
,
15
,
23
,
31
{
};
0
,
8
,
16
,
24
,
1
,
9
,
2
,
17
,
25
,
10
,
3
,
18
,
26
,
4
,
11
,
19
,
const
int8_t
ff_vc1_adv_interlaced_4x8_zz
[
32
]
=
{
/* Table 237 */
12
,
5
,
13
,
20
,
27
,
6
,
21
,
28
,
0
,
1
,
2
,
8
,
14
,
22
,
29
,
7
,
30
,
15
,
23
,
31
16
,
9
,
24
,
17
,
};
10
,
3
,
32
,
40
,
48
,
56
,
25
,
18
,
const
int8_t
ff_vc1_adv_interlaced_4x8_zz
[
32
]
=
/* Table 237 */
33
,
26
,
41
,
34
,
{
49
,
57
,
11
,
42
,
0
,
1
,
2
,
8
,
19
,
50
,
27
,
58
,
16
,
9
,
24
,
17
,
35
,
43
,
51
,
59
10
,
3
,
32
,
40
,
};
48
,
56
,
25
,
18
,
33
,
26
,
41
,
34
,
const
int8_t
ff_vc1_adv_interlaced_4x4_zz
[
16
]
=
{
/* Table 238 */
49
,
57
,
11
,
42
,
0
,
8
,
16
,
24
,
19
,
50
,
27
,
58
,
1
,
9
,
17
,
2
,
35
,
43
,
51
,
59
25
,
10
,
18
,
3
,
};
26
,
11
,
19
,
27
const
int8_t
ff_vc1_adv_interlaced_4x4_zz
[
16
]
=
/* Table 238 */
{
0
,
8
,
16
,
24
,
1
,
9
,
17
,
2
,
25
,
10
,
18
,
3
,
26
,
11
,
19
,
27
};
};
/* DQScale as specified in 8.1.3.9 - almost identical to 0x40000/i */
/* DQScale as specified in 8.1.3.9 - almost identical to 0x40000/i */
const
int32_t
ff_vc1_dqscale
[
63
]
=
{
const
int32_t
ff_vc1_dqscale
[
63
]
=
{
0x40000
,
0x20000
,
0x15555
,
0x10000
,
0xCCCD
,
0xAAAB
,
0x9249
,
0x8000
,
0x40000
,
0x20000
,
0x15555
,
0x10000
,
0xCCCD
,
0xAAAB
,
0x9249
,
0x8000
,
0x71C7
,
0x6666
,
0x5D17
,
0x5555
,
0x4EC5
,
0x4925
,
0x4444
,
0x4000
,
0x71C7
,
0x6666
,
0x5D17
,
0x5555
,
0x4EC5
,
0x4925
,
0x4444
,
0x4000
,
0x3C3C
,
0x38E4
,
0x35E5
,
0x3333
,
0x30C3
,
0x2E8C
,
0x2C86
,
0x2AAB
,
0x3C3C
,
0x38E4
,
0x35E5
,
0x3333
,
0x30C3
,
0x2E8C
,
0x2C86
,
0x2AAB
,
0x28F6
,
0x2762
,
0x25ED
,
0x2492
,
0x234F
,
0x2222
,
0x2108
,
0x2000
,
0x28F6
,
0x2762
,
0x25ED
,
0x2492
,
0x234F
,
0x2222
,
0x2108
,
0x2000
,
0x1F08
,
0x1E1E
,
0x1D42
,
0x1C72
,
0x1BAD
,
0x1AF3
,
0x1A42
,
0x199A
,
0x1F08
,
0x1E1E
,
0x1D42
,
0x1C72
,
0x1BAD
,
0x1AF3
,
0x1A42
,
0x199A
,
0x18FA
,
0x1862
,
0x17D0
,
0x1746
,
0x16C1
,
0x1643
,
0x15CA
,
0x1555
,
0x18FA
,
0x1862
,
0x17D0
,
0x1746
,
0x16C1
,
0x1643
,
0x15CA
,
0x1555
,
0x14E6
,
0x147B
,
0x1414
,
0x13B1
,
0x1352
,
0x12F7
,
0x129E
,
0x1249
,
0x14E6
,
0x147B
,
0x1414
,
0x13B1
,
0x1352
,
0x12F7
,
0x129E
,
0x1249
,
0x11F7
,
0x11A8
,
0x115B
,
0x1111
,
0x10C9
,
0x1084
,
0x1000
0x11F7
,
0x11A8
,
0x115B
,
0x1111
,
0x10C9
,
0x1084
,
0x1000
};
};
/* P Interlaced field picture MV predictor scaling values (Table 114) */
/* P Interlaced field picture MV predictor scaling values (Table 114) */
const
uint16_t
vc1_field_mvpred_scales
[
2
][
7
][
4
]
=
{
const
uint16_t
vc1_field_mvpred_scales
[
2
][
7
][
4
]
=
{
// Refdist 0 1 2 3 or greater
// Refdist:
// 0 1 2 3 or greater
{
// current field is first
{
// current field is first
{
128
,
192
,
213
,
224
},
// SCALEOPP
{
128
,
192
,
213
,
224
},
// SCALEOPP
{
512
,
341
,
307
,
293
},
// SCALESAME1
{
512
,
341
,
307
,
293
},
// SCALESAME1
{
219
,
236
,
242
,
245
},
// SCALESAME2
{
219
,
236
,
242
,
245
},
// SCALESAME2
{
32
,
48
,
53
,
56
},
// SCALEZONE1_X
{
32
,
48
,
53
,
56
},
// SCALEZONE1_X
{
8
,
12
,
13
,
14
},
// SCALEZONE1_Y
{
8
,
12
,
13
,
14
},
// SCALEZONE1_Y
{
37
,
20
,
14
,
11
},
// ZONE1OFFSET_X
{
37
,
20
,
14
,
11
},
// ZONE1OFFSET_X
{
10
,
5
,
4
,
3
}
// ZONE1OFFSET_Y
{
10
,
5
,
4
,
3
}
// ZONE1OFFSET_Y
},
},
{
// current field is second
{
// current field is second
{
128
,
64
,
43
,
32
},
// SCALEOPP
{
128
,
64
,
43
,
32
},
// SCALEOPP
{
512
,
1024
,
1536
,
2048
},
// SCALESAME1
{
512
,
1024
,
1536
,
2048
},
// SCALESAME1
{
219
,
204
,
200
,
198
},
// SCALESAME2
{
219
,
204
,
200
,
198
},
// SCALESAME2
{
32
,
16
,
11
,
8
},
// SCALEZONE1_X
{
32
,
16
,
11
,
8
},
// SCALEZONE1_X
{
8
,
4
,
3
,
2
},
// SCALEZONE1_Y
{
8
,
4
,
3
,
2
},
// SCALEZONE1_Y
{
37
,
52
,
56
,
58
},
// ZONE1OFFSET_X
{
37
,
52
,
56
,
58
},
// ZONE1OFFSET_X
{
10
,
13
,
14
,
15
}
// ZONE1OFFSET_Y
{
10
,
13
,
14
,
15
}
// ZONE1OFFSET_Y
}
}
};
};
/* B Interlaced field picture backward MV predictor scaling values for first field (Table 115) */
/* B Interlaced field picture backward MV predictor scaling values for first field (Table 115) */
const
uint16_t
vc1_b_field_mvpred_scales
[
7
][
4
]
=
{
const
uint16_t
vc1_b_field_mvpred_scales
[
7
][
4
]
=
{
// BRFD 0 1 2 3 or greater
// BRFD:
{
171
,
205
,
219
,
228
},
// SCALESAME
// 0 1 2 3 or greater
{
384
,
320
,
299
,
288
},
// SCALEOPP1
{
171
,
205
,
219
,
228
},
// SCALESAME
{
230
,
239
,
244
,
246
},
// SCALEOPP2
{
384
,
320
,
299
,
288
},
// SCALEOPP1
{
43
,
51
,
55
,
57
},
// SCALEZONE1_X
{
230
,
239
,
244
,
246
},
// SCALEOPP2
{
11
,
13
,
14
,
14
},
// SCALEZONE1_Y
{
43
,
51
,
55
,
57
},
// SCALEZONE1_X
{
26
,
17
,
12
,
10
},
// ZONE1OFFSET_X
{
11
,
13
,
14
,
14
},
// SCALEZONE1_Y
{
7
,
4
,
3
,
3
}
// ZONE1OFFSET_Y
{
26
,
17
,
12
,
10
},
// ZONE1OFFSET_X
{
7
,
4
,
3
,
3
}
// ZONE1OFFSET_Y
};
};
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment