QINDEX_RANGE fixed tables.
Removed a couple more fixed tables for the extended quantizer experiment that depend on QINDEX_RANGE. Change-Id: I2c15ffc7488c2a2b8d6504e2c4b6b2339799d117
This commit is contained in:
@@ -63,21 +63,28 @@ extern void vp8_alloc_compressor_data(VP8_COMP *cpi);
|
|||||||
static int vscale_lookup[7] = {0, 1, 1, 2, 2, 3, 3};
|
static int vscale_lookup[7] = {0, 1, 1, 2, 2, 3, 3};
|
||||||
static int hscale_lookup[7] = {0, 0, 1, 1, 2, 2, 3};
|
static int hscale_lookup[7] = {0, 0, 1, 1, 2, 2, 3};
|
||||||
|
|
||||||
// TODO #if CONFIG_EXTEND_QRANGE
|
|
||||||
static const int cq_level[QINDEX_RANGE] =
|
|
||||||
{
|
|
||||||
0,0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,
|
|
||||||
9,10,11,11,12,13,13,14,15,15,16,17,17,18,19,20,
|
|
||||||
20,21,22,22,23,24,24,25,26,27,27,28,29,30,30,31,
|
|
||||||
32,33,33,34,35,36,36,37,38,39,39,40,41,42,42,43,
|
|
||||||
44,45,46,46,47,48,49,50,50,51,52,53,54,55,55,56,
|
|
||||||
57,58,59,60,60,61,62,63,64,65,66,67,67,68,69,70,
|
|
||||||
71,72,73,74,75,75,76,77,78,79,80,81,82,83,84,85,
|
|
||||||
86,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100
|
|
||||||
};
|
|
||||||
|
|
||||||
static void find_next_key_frame(VP8_COMP *cpi, FIRSTPASS_STATS *this_frame);
|
static void find_next_key_frame(VP8_COMP *cpi, FIRSTPASS_STATS *this_frame);
|
||||||
|
|
||||||
|
static int select_cq_level( int qindex )
|
||||||
|
{
|
||||||
|
int ret_val = QINDEX_RANGE - 1;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
double target_q = ( vp8_convert_qindex_to_q( qindex ) * 0.5847 ) + 1.0;
|
||||||
|
|
||||||
|
for ( i = 0; i < QINDEX_RANGE; i++ )
|
||||||
|
{
|
||||||
|
if ( target_q <= vp8_convert_qindex_to_q( i ) )
|
||||||
|
{
|
||||||
|
ret_val = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret_val;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Resets the first pass file to the given position using a relative seek from the current position
|
// Resets the first pass file to the given position using a relative seek from the current position
|
||||||
static void reset_fpf_position(VP8_COMP *cpi, FIRSTPASS_STATS *Position)
|
static void reset_fpf_position(VP8_COMP *cpi, FIRSTPASS_STATS *Position)
|
||||||
{
|
{
|
||||||
@@ -1143,7 +1150,7 @@ static int estimate_cq( VP8_COMP *cpi,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Clip value to range "best allowed to (worst allowed - 1)"
|
// Clip value to range "best allowed to (worst allowed - 1)"
|
||||||
Q = cq_level[Q];
|
Q = select_cq_level( Q );
|
||||||
if ( Q >= cpi->worst_quality )
|
if ( Q >= cpi->worst_quality )
|
||||||
Q = cpi->worst_quality - 1;
|
Q = cpi->worst_quality - 1;
|
||||||
if ( Q < cpi->best_quality )
|
if ( Q < cpi->best_quality )
|
||||||
|
@@ -45,6 +45,7 @@ extern int inter_b_modes[B_MODE_COUNT];
|
|||||||
// Bits Per MB at different Q (Multiplied by 512)
|
// Bits Per MB at different Q (Multiplied by 512)
|
||||||
#define BPER_MB_NORMBITS 9
|
#define BPER_MB_NORMBITS 9
|
||||||
|
|
||||||
|
#if !CONFIG_EXTEND_QRANGE
|
||||||
static const int kf_gf_boost_qlimits[QINDEX_RANGE] =
|
static const int kf_gf_boost_qlimits[QINDEX_RANGE] =
|
||||||
{
|
{
|
||||||
150, 155, 160, 165, 170, 175, 180, 185,
|
150, 155, 160, 165, 170, 175, 180, 185,
|
||||||
@@ -64,6 +65,7 @@ static const int kf_gf_boost_qlimits[QINDEX_RANGE] =
|
|||||||
600, 600, 600, 600, 600, 600, 600, 600,
|
600, 600, 600, 600, 600, 600, 600, 600,
|
||||||
600, 600, 600, 600, 600, 600, 600, 600,
|
600, 600, 600, 600, 600, 600, 600, 600,
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
// % adjustment to target kf size based on seperation from previous frame
|
// % adjustment to target kf size based on seperation from previous frame
|
||||||
static const int kf_boost_seperation_adjustment[16] =
|
static const int kf_boost_seperation_adjustment[16] =
|
||||||
@@ -499,8 +501,17 @@ static void calc_gf_params(VP8_COMP *cpi)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Apply an upper limit based on Q for 1 pass encodes
|
// Apply an upper limit based on Q for 1 pass encodes
|
||||||
|
#if !CONFIG_EXTEND_QRANGE
|
||||||
if (Boost > kf_gf_boost_qlimits[Q] && (cpi->pass == 0))
|
if (Boost > kf_gf_boost_qlimits[Q] && (cpi->pass == 0))
|
||||||
Boost = kf_gf_boost_qlimits[Q];
|
Boost = kf_gf_boost_qlimits[Q];
|
||||||
|
#else
|
||||||
|
// TODO.
|
||||||
|
// This is a temporay measure oas one pass not really supported yet in
|
||||||
|
// the experimental branch
|
||||||
|
if (Boost > 600 && (cpi->pass == 0))
|
||||||
|
Boost = 600;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
// Apply lower limits to boost.
|
// Apply lower limits to boost.
|
||||||
else if (Boost < 110)
|
else if (Boost < 110)
|
||||||
|
Reference in New Issue
Block a user