|
|
@ -26,8 +26,8 @@ |
|
|
|
|
|
|
|
|
|
|
|
/* these coefficients dequantize intraframe Y plane coefficients
|
|
|
|
/* these coefficients dequantize intraframe Y plane coefficients
|
|
|
|
* (note: same as JPEG) */ |
|
|
|
* (note: same as JPEG) */ |
|
|
|
static const int16_t vp31_intra_y_dequant[64] = |
|
|
|
static const int16_t vp31_intra_y_dequant[64] = { |
|
|
|
{ 16, 11, 10, 16, 24, 40, 51, 61, |
|
|
|
16, 11, 10, 16, 24, 40, 51, 61, |
|
|
|
12, 12, 14, 19, 26, 58, 60, 55, |
|
|
|
12, 12, 14, 19, 26, 58, 60, 55, |
|
|
|
14, 13, 16, 24, 40, 57, 69, 56, |
|
|
|
14, 13, 16, 24, 40, 57, 69, 56, |
|
|
|
14, 17, 22, 29, 51, 87, 80, 62, |
|
|
|
14, 17, 22, 29, 51, 87, 80, 62, |
|
|
@ -39,8 +39,8 @@ static const int16_t vp31_intra_y_dequant[64] = |
|
|
|
|
|
|
|
|
|
|
|
/* these coefficients dequantize intraframe C plane coefficients
|
|
|
|
/* these coefficients dequantize intraframe C plane coefficients
|
|
|
|
* (note: same as JPEG) */ |
|
|
|
* (note: same as JPEG) */ |
|
|
|
static const int16_t vp31_intra_c_dequant[64] = |
|
|
|
static const int16_t vp31_intra_c_dequant[64] = { |
|
|
|
{ 17, 18, 24, 47, 99, 99, 99, 99, |
|
|
|
17, 18, 24, 47, 99, 99, 99, 99, |
|
|
|
18, 21, 26, 66, 99, 99, 99, 99, |
|
|
|
18, 21, 26, 66, 99, 99, 99, 99, |
|
|
|
24, 26, 56, 99, 99, 99, 99, 99, |
|
|
|
24, 26, 56, 99, 99, 99, 99, 99, |
|
|
|
47, 66, 99, 99, 99, 99, 99, 99, |
|
|
|
47, 66, 99, 99, 99, 99, 99, 99, |
|
|
@ -51,8 +51,8 @@ static const int16_t vp31_intra_c_dequant[64] = |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
/* these coefficients dequantize interframe coefficients (all planes) */ |
|
|
|
/* these coefficients dequantize interframe coefficients (all planes) */ |
|
|
|
static const int16_t vp31_inter_dequant[64] = |
|
|
|
static const int16_t vp31_inter_dequant[64] = { |
|
|
|
{ 16, 16, 16, 20, 24, 28, 32, 40, |
|
|
|
16, 16, 16, 20, 24, 28, 32, 40, |
|
|
|
16, 16, 20, 24, 28, 32, 40, 48, |
|
|
|
16, 16, 20, 24, 28, 32, 40, 48, |
|
|
|
16, 20, 24, 28, 32, 40, 48, 64, |
|
|
|
16, 20, 24, 28, 32, 40, 48, 64, |
|
|
|
20, 24, 28, 32, 40, 48, 64, 64, |
|
|
|
20, 24, 28, 32, 40, 48, 64, 64, |
|
|
@ -62,8 +62,8 @@ static const int16_t vp31_inter_dequant[64] = |
|
|
|
40, 48, 64, 64, 64, 96, 128, 128 |
|
|
|
40, 48, 64, 64, 64, 96, 128, 128 |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
static const int16_t vp31_dc_scale_factor[64] = |
|
|
|
static const int16_t vp31_dc_scale_factor[64] = { |
|
|
|
{ 220, 200, 190, 180, 170, 170, 160, 160, |
|
|
|
220, 200, 190, 180, 170, 170, 160, 160, |
|
|
|
150, 150, 140, 140, 130, 130, 120, 120, |
|
|
|
150, 150, 140, 140, 130, 130, 120, 120, |
|
|
|
110, 110, 100, 100, 90, 90, 90, 80, |
|
|
|
110, 110, 100, 100, 90, 90, 90, 80, |
|
|
|
80, 80, 70, 70, 70, 60, 60, 60, |
|
|
|
80, 80, 70, 70, 70, 60, 60, 60, |
|
|
@ -73,8 +73,8 @@ static const int16_t vp31_dc_scale_factor[64] = |
|
|
|
20, 10, 10, 10, 10, 10, 10, 10 |
|
|
|
20, 10, 10, 10, 10, 10, 10, 10 |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
static const uint32_t vp31_ac_scale_factor[64] = |
|
|
|
static const uint32_t vp31_ac_scale_factor[64] = { |
|
|
|
{ 500, 450, 400, 370, 340, 310, 285, 265, |
|
|
|
500, 450, 400, 370, 340, 310, 285, 265, |
|
|
|
245, 225, 210, 195, 185, 180, 170, 160, |
|
|
|
245, 225, 210, 195, 185, 180, 170, 160, |
|
|
|
150, 145, 135, 130, 125, 115, 110, 107, |
|
|
|
150, 145, 135, 130, 125, 115, 110, 107, |
|
|
|
100, 96, 93, 89, 85, 82, 75, 74, |
|
|
|
100, 96, 93, 89, 85, 82, 75, 74, |
|
|
@ -84,8 +84,8 @@ static const uint32_t vp31_ac_scale_factor[64] = |
|
|
|
21, 19, 18, 17, 15, 13, 12, 10 |
|
|
|
21, 19, 18, 17, 15, 13, 12, 10 |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
static const uint8_t vp31_filter_limit_values[64] = |
|
|
|
static const uint8_t vp31_filter_limit_values[64] = { |
|
|
|
{ 30, 25, 20, 20, 15, 15, 14, 14, |
|
|
|
30, 25, 20, 20, 15, 15, 14, 14, |
|
|
|
13, 13, 12, 12, 11, 11, 10, 10, |
|
|
|
13, 13, 12, 12, 11, 11, 10, 10, |
|
|
|
9, 9, 8, 8, 7, 7, 7, 7, |
|
|
|
9, 9, 8, 8, 7, 7, 7, 7, |
|
|
|
6, 6, 6, 6, 5, 5, 5, 5, |
|
|
|
6, 6, 6, 6, 5, 5, 5, 5, |
|
|
@ -113,7 +113,7 @@ static const uint16_t superblock_run_length_vlc_table[34][2] = { |
|
|
|
{ 0x3EC, 10 }, { 0x3ED, 10 }, { 0x3EE, 10 }, { 0x3EF, 10 }, |
|
|
|
{ 0x3EC, 10 }, { 0x3ED, 10 }, { 0x3EE, 10 }, { 0x3EF, 10 }, |
|
|
|
|
|
|
|
|
|
|
|
{ 0x3F, 6 } /* this last VLC is a special case for reading 12 more
|
|
|
|
{ 0x3F, 6 } /* this last VLC is a special case for reading 12 more
|
|
|
|
bits from stream and adding the value 34 */ |
|
|
|
* bits from stream and adding the value 34 */ |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
static const uint16_t fragment_run_length_vlc_table[30][2] = { |
|
|
|
static const uint16_t fragment_run_length_vlc_table[30][2] = { |
|
|
@ -224,7 +224,7 @@ static const int coeff_get_bits[32] = { |
|
|
|
0, 0, 0, 0, 0, 0, 0, /* 0..6 are never used */ |
|
|
|
0, 0, 0, 0, 0, 0, 0, /* 0..6 are never used */ |
|
|
|
0, 0, 0, 0, 0, 0, /* 7..12 use constant coeffs */ |
|
|
|
0, 0, 0, 0, 0, 0, /* 7..12 use constant coeffs */ |
|
|
|
1, 1, 1, 1, /* 13..16 are constants but still need sign bit */ |
|
|
|
1, 1, 1, 1, /* 13..16 are constants but still need sign bit */ |
|
|
|
2, 3, 4, 5, 6, 10, /* 17..22, for reading large coeffs */ |
|
|
|
2, 3, 4, 5, 6,10, /* 17..22, for reading large coeffs */ |
|
|
|
1, 1, 1, 1, 1, 1, 1, /* 23..29 are constants but still need sign bit */ |
|
|
|
1, 1, 1, 1, 1, 1, 1, /* 23..29 are constants but still need sign bit */ |
|
|
|
2, 2 /* 30..31 */ |
|
|
|
2, 2 /* 30..31 */ |
|
|
|
}; |
|
|
|
}; |
|
|
|