VC-1 Tables
Jump to navigation
Jump to search
(Part of Understanding VC-1)
Block Transform Types
- 0: 8x8 transform
- 1: 8x4 transform
- 2: 4x8 transform
- 3: 4x4 transform
Scaling Modes
- 0: 1x1 = no scaling
- 1: 2x1 = horizontal scaling
- 2: 1x2 = vertical scaling
- 3: 2x2 = horizontal and vertical scaling
Motion Vector Ranges
- Range #0:
- x component range = -64..63
- y component range = -32..31
- Range #1:
- x component range = -128..127
- y component range = -64..63
- Range #2:
- x component range = -512..511
- y component range = -128..127
- Range #3:
- x component range = -1024..1023
- y component range = -256..255
Motion Vector Range VLC Table
code length VLC range # 1 0 0 2 2 1 3 6 2 3 7 3
B Fraction VLC Table
P-Frame Low Rate Motion Vector Mode Table
P-Frame High Rate Motion Vector Mode Table
Motion Vector Diff VLC Tables
Table 0
Table 1
Table 2
Table 3
Coded Block Pattern VLC Tables
Table 0
Table 1
Table 2
Table 3
Bitplane I-mode VLC Table
Norm-2 VLC Table
Norm-6 VLC Table
Transform Tables
These tables pertain to vc1ITRANS_InverseTransform_AnnexA1.
Transform Matrix 8x8
int transform_matrix_8x8[8][8] = { { 12, 12, 12, 12, 12, 12, 12, 12 }, { 16, 15, 9, 4, -4, -9, -15, -16 }, { 16, 6, -6, -16, -16, -6, 6, 16 }, { 15, -4, -16, -9, 9, 16, 4, -15 }, { 12, -12, -12, 12, 12, -12, -12, 12 }, { 9, -16, 4, 15, -15, -4, 16, -9 }, { 6, -16, 16, -6, -6, 16, -16, 6 }, { 4, -9, 15, -16, 16, -15, 9, -4 } };
Transform Matrix 8x8
int transform_matrix_4x4[4][4] = { { 17, 17, 17, 17 }, { 22, 10, -10, -22 }, { 17, -17, -17, 17 }, { 10, -22, 22, -10 } };
Constants 8
int constants_8 = { 0, 0, 0, 0, 1, 1, 1, 1 };
Constants 4
int constants_4 = { 0, 0, 0, 0 };