Merge remote branch 'origin/master' into experimental
Change-Id: I231e4dd65adcf4f5c158e3749880a18b8c36cbe4
This commit is contained in:
@@ -1157,7 +1157,6 @@ int vp8cx_encode_intra_macro_block(VP8_COMP *cpi, MACROBLOCK *x, TOKENEXTRA **t)
|
|||||||
|
|
||||||
x->e_mbd.mode_info_context->mbmi.ref_frame = INTRA_FRAME;
|
x->e_mbd.mode_info_context->mbmi.ref_frame = INTRA_FRAME;
|
||||||
|
|
||||||
#if !(CONFIG_REALTIME_ONLY)
|
|
||||||
if (cpi->sf.RD && cpi->compressor_speed != 2)
|
if (cpi->sf.RD && cpi->compressor_speed != 2)
|
||||||
{
|
{
|
||||||
vp8_rd_pick_intra_mbuv_mode(cpi, x, &rateuv, &rateuv_tokenonly, &distuv);
|
vp8_rd_pick_intra_mbuv_mode(cpi, x, &rateuv, &rateuv_tokenonly, &distuv);
|
||||||
@@ -1170,7 +1169,6 @@ int vp8cx_encode_intra_macro_block(VP8_COMP *cpi, MACROBLOCK *x, TOKENEXTRA **t)
|
|||||||
rate += (Error4x4 < Error16x16) ? rate4x4 : rate16x16;
|
rate += (Error4x4 < Error16x16) ? rate4x4 : rate16x16;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif
|
|
||||||
{
|
{
|
||||||
int rate2, best_distortion;
|
int rate2, best_distortion;
|
||||||
MB_PREDICTION_MODE mode, best_mode = DC_PRED;
|
MB_PREDICTION_MODE mode, best_mode = DC_PRED;
|
||||||
@@ -1242,8 +1240,6 @@ int vp8cx_encode_inter_macroblock
|
|||||||
else
|
else
|
||||||
x->encode_breakout = cpi->oxcf.encode_breakout;
|
x->encode_breakout = cpi->oxcf.encode_breakout;
|
||||||
|
|
||||||
#if !(CONFIG_REALTIME_ONLY)
|
|
||||||
|
|
||||||
if (cpi->sf.RD)
|
if (cpi->sf.RD)
|
||||||
{
|
{
|
||||||
int zbin_mode_boost_enabled = cpi->zbin_mode_boost_enabled;
|
int zbin_mode_boost_enabled = cpi->zbin_mode_boost_enabled;
|
||||||
@@ -1270,7 +1266,6 @@ int vp8cx_encode_inter_macroblock
|
|||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif
|
|
||||||
vp8_pick_inter_mode(cpi, x, recon_yoffset, recon_uvoffset, &rate, &distortion, &intra_error);
|
vp8_pick_inter_mode(cpi, x, recon_yoffset, recon_uvoffset, &rate, &distortion, &intra_error);
|
||||||
|
|
||||||
cpi->prediction_error += distortion;
|
cpi->prediction_error += distortion;
|
||||||
|
@@ -75,14 +75,9 @@ void vp8_encode_intra16x16mby(const VP8_ENCODER_RTCD *rtcd, MACROBLOCK *x)
|
|||||||
|
|
||||||
vp8_quantize_mby(x);
|
vp8_quantize_mby(x);
|
||||||
|
|
||||||
#if !(CONFIG_REALTIME_ONLY)
|
|
||||||
#if 1
|
|
||||||
if (x->optimize)
|
if (x->optimize)
|
||||||
vp8_optimize_mby(x, rtcd);
|
vp8_optimize_mby(x, rtcd);
|
||||||
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
vp8_inverse_transform_mby(IF_RTCD(&rtcd->common->idct), &x->e_mbd);
|
vp8_inverse_transform_mby(IF_RTCD(&rtcd->common->idct), &x->e_mbd);
|
||||||
|
|
||||||
RECON_INVOKE(&rtcd->common->recon, recon_mby)
|
RECON_INVOKE(&rtcd->common->recon, recon_mby)
|
||||||
@@ -126,15 +121,9 @@ void vp8_encode_intra16x16mbuv(const VP8_ENCODER_RTCD *rtcd, MACROBLOCK *x)
|
|||||||
|
|
||||||
vp8_quantize_mbuv(x);
|
vp8_quantize_mbuv(x);
|
||||||
|
|
||||||
#if !(CONFIG_REALTIME_ONLY)
|
|
||||||
#if 1
|
|
||||||
|
|
||||||
if (x->optimize==2 ||(x->optimize && x->rddiv > 1))
|
if (x->optimize==2 ||(x->optimize && x->rddiv > 1))
|
||||||
vp8_optimize_mbuv(x, rtcd);
|
vp8_optimize_mbuv(x, rtcd);
|
||||||
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
vp8_inverse_transform_mbuv(IF_RTCD(&rtcd->common->idct), &x->e_mbd);
|
vp8_inverse_transform_mbuv(IF_RTCD(&rtcd->common->idct), &x->e_mbd);
|
||||||
|
|
||||||
vp8_recon_intra_mbuv(IF_RTCD(&rtcd->common->recon), &x->e_mbd);
|
vp8_recon_intra_mbuv(IF_RTCD(&rtcd->common->recon), &x->e_mbd);
|
||||||
|
@@ -230,7 +230,6 @@ void vp8_stuff_inter16x16(MACROBLOCK *x)
|
|||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !(CONFIG_REALTIME_ONLY)
|
|
||||||
#define RDTRUNC(RM,DM,R,D) ( (128+(R)*(RM)) & 0xFF )
|
#define RDTRUNC(RM,DM,R,D) ( (128+(R)*(RM)) & 0xFF )
|
||||||
|
|
||||||
typedef struct vp8_token_state vp8_token_state;
|
typedef struct vp8_token_state vp8_token_state;
|
||||||
@@ -612,7 +611,6 @@ void vp8_optimize_mbuv(MACROBLOCK *x, const VP8_ENCODER_RTCD *rtcd)
|
|||||||
ta + vp8_block2above[b], tl + vp8_block2left[b], rtcd);
|
ta + vp8_block2above[b], tl + vp8_block2left[b], rtcd);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
void vp8_encode_inter16x16(const VP8_ENCODER_RTCD *rtcd, MACROBLOCK *x)
|
void vp8_encode_inter16x16(const VP8_ENCODER_RTCD *rtcd, MACROBLOCK *x)
|
||||||
{
|
{
|
||||||
@@ -624,10 +622,8 @@ void vp8_encode_inter16x16(const VP8_ENCODER_RTCD *rtcd, MACROBLOCK *x)
|
|||||||
|
|
||||||
vp8_quantize_mb(x);
|
vp8_quantize_mb(x);
|
||||||
|
|
||||||
#if !(CONFIG_REALTIME_ONLY)
|
|
||||||
if (x->optimize)
|
if (x->optimize)
|
||||||
optimize_mb(x, rtcd);
|
optimize_mb(x, rtcd);
|
||||||
#endif
|
|
||||||
|
|
||||||
vp8_inverse_transform_mb(IF_RTCD(&rtcd->common->idct), &x->e_mbd);
|
vp8_inverse_transform_mb(IF_RTCD(&rtcd->common->idct), &x->e_mbd);
|
||||||
|
|
||||||
|
@@ -89,9 +89,7 @@ void vp8_cmachine_specific_config(VP8_COMP *cpi)
|
|||||||
|
|
||||||
cpi->rtcd.quantize.quantb = vp8_regular_quantize_b;
|
cpi->rtcd.quantize.quantb = vp8_regular_quantize_b;
|
||||||
cpi->rtcd.quantize.fastquantb = vp8_fast_quantize_b_c;
|
cpi->rtcd.quantize.fastquantb = vp8_fast_quantize_b_c;
|
||||||
#if !(CONFIG_REALTIME_ONLY)
|
|
||||||
cpi->rtcd.search.full_search = vp8_full_search_sad;
|
cpi->rtcd.search.full_search = vp8_full_search_sad;
|
||||||
#endif
|
|
||||||
cpi->rtcd.search.diamond_search = vp8_diamond_search_sad;
|
cpi->rtcd.search.diamond_search = vp8_diamond_search_sad;
|
||||||
#if !(CONFIG_REALTIME_ONLY)
|
#if !(CONFIG_REALTIME_ONLY)
|
||||||
cpi->rtcd.temporal.apply = vp8_temporal_filter_apply_c;
|
cpi->rtcd.temporal.apply = vp8_temporal_filter_apply_c;
|
||||||
|
@@ -1190,8 +1190,6 @@ int vp8_diamond_search_sadx4
|
|||||||
+ mv_err_cost(&this_mv, center_mv, mvcost, error_per_bit);
|
+ mv_err_cost(&this_mv, center_mv, mvcost, error_per_bit);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#if !(CONFIG_REALTIME_ONLY)
|
|
||||||
int vp8_full_search_sad(MACROBLOCK *x, BLOCK *b, BLOCKD *d, MV *ref_mv, int error_per_bit, int distance, vp8_variance_fn_ptr_t *fn_ptr, int *mvcost[2], MV *center_mv)
|
int vp8_full_search_sad(MACROBLOCK *x, BLOCK *b, BLOCKD *d, MV *ref_mv, int error_per_bit, int distance, vp8_variance_fn_ptr_t *fn_ptr, int *mvcost[2], MV *center_mv)
|
||||||
{
|
{
|
||||||
unsigned char *what = (*(b->base_src) + b->src);
|
unsigned char *what = (*(b->base_src) + b->src);
|
||||||
@@ -1571,7 +1569,6 @@ int vp8_full_search_sadx8(MACROBLOCK *x, BLOCK *b, BLOCKD *d, MV *ref_mv, int er
|
|||||||
else
|
else
|
||||||
return INT_MAX;
|
return INT_MAX;
|
||||||
}
|
}
|
||||||
#endif /* !(CONFIG_REALTIME_ONLY) */
|
|
||||||
|
|
||||||
#ifdef ENTROPY_STATS
|
#ifdef ENTROPY_STATS
|
||||||
void print_mode_context(void)
|
void print_mode_context(void)
|
||||||
|
@@ -1611,7 +1611,6 @@ void vp8_change_config(VP8_PTR ptr, VP8_CONFIG *oxcf)
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
#if !(CONFIG_REALTIME_ONLY)
|
|
||||||
case MODE_GOODQUALITY:
|
case MODE_GOODQUALITY:
|
||||||
cpi->pass = 0;
|
cpi->pass = 0;
|
||||||
cpi->compressor_speed = 1;
|
cpi->compressor_speed = 1;
|
||||||
@@ -1652,7 +1651,6 @@ void vp8_change_config(VP8_PTR ptr, VP8_CONFIG *oxcf)
|
|||||||
cpi->pass = 2;
|
cpi->pass = 2;
|
||||||
cpi->compressor_speed = 0;
|
cpi->compressor_speed = 0;
|
||||||
break;
|
break;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cpi->pass == 0)
|
if (cpi->pass == 0)
|
||||||
@@ -2186,9 +2184,7 @@ VP8_PTR vp8_create_compressor(VP8_CONFIG *oxcf)
|
|||||||
cpi->fn_ptr[BLOCK_4X4].sdx8f = VARIANCE_INVOKE(&cpi->rtcd.variance, sad4x4x8);
|
cpi->fn_ptr[BLOCK_4X4].sdx8f = VARIANCE_INVOKE(&cpi->rtcd.variance, sad4x4x8);
|
||||||
cpi->fn_ptr[BLOCK_4X4].sdx4df = VARIANCE_INVOKE(&cpi->rtcd.variance, sad4x4x4d);
|
cpi->fn_ptr[BLOCK_4X4].sdx4df = VARIANCE_INVOKE(&cpi->rtcd.variance, sad4x4x4d);
|
||||||
|
|
||||||
#if !(CONFIG_REALTIME_ONLY)
|
|
||||||
cpi->full_search_sad = SEARCH_INVOKE(&cpi->rtcd.search, full_search);
|
cpi->full_search_sad = SEARCH_INVOKE(&cpi->rtcd.search, full_search);
|
||||||
#endif
|
|
||||||
cpi->diamond_search_sad = SEARCH_INVOKE(&cpi->rtcd.search, diamond_search);
|
cpi->diamond_search_sad = SEARCH_INVOKE(&cpi->rtcd.search, diamond_search);
|
||||||
|
|
||||||
cpi->ready_for_new_frame = 1;
|
cpi->ready_for_new_frame = 1;
|
||||||
|
@@ -932,6 +932,7 @@ void vp8_pick_inter_mode(VP8_COMP *cpi, MACROBLOCK *x, int recon_yoffset, int re
|
|||||||
}
|
}
|
||||||
|
|
||||||
x->e_mbd.mode_info_context->mbmi.mv.as_int = 0;
|
x->e_mbd.mode_info_context->mbmi.mv.as_int = 0;
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -536,7 +536,6 @@ int VP8_UVSSE(MACROBLOCK *x, const vp8_variance_rtcd_vtable_t *rtcd)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !(CONFIG_REALTIME_ONLY)
|
|
||||||
static int cost_coeffs(MACROBLOCK *mb, BLOCKD *b, int type, ENTROPY_CONTEXT *a, ENTROPY_CONTEXT *l)
|
static int cost_coeffs(MACROBLOCK *mb, BLOCKD *b, int type, ENTROPY_CONTEXT *a, ENTROPY_CONTEXT *l)
|
||||||
{
|
{
|
||||||
int c = !type; /* start at coef 0, unless Y with Y2 */
|
int c = !type; /* start at coef 0, unless Y with Y2 */
|
||||||
@@ -903,7 +902,6 @@ void vp8_rd_pick_intra_mbuv_mode(VP8_COMP *cpi, MACROBLOCK *x, int *rate, int *r
|
|||||||
|
|
||||||
x->e_mbd.mode_info_context->mbmi.uv_mode = mode_selected;
|
x->e_mbd.mode_info_context->mbmi.uv_mode = mode_selected;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
int vp8_cost_mv_ref(MB_PREDICTION_MODE m, const int near_mv_ref_ct[4])
|
int vp8_cost_mv_ref(MB_PREDICTION_MODE m, const int near_mv_ref_ct[4])
|
||||||
{
|
{
|
||||||
@@ -931,7 +929,6 @@ void vp8_set_mbmode_and_mvs(MACROBLOCK *x, MB_PREDICTION_MODE mb, MV *mv)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !(CONFIG_REALTIME_ONLY)
|
|
||||||
static int labels2mode(
|
static int labels2mode(
|
||||||
MACROBLOCK *x,
|
MACROBLOCK *x,
|
||||||
int const *labelings, int which_label,
|
int const *labelings, int which_label,
|
||||||
@@ -1497,7 +1494,6 @@ static int vp8_rd_pick_best_mbsegmentation(VP8_COMP *cpi, MACROBLOCK *x,
|
|||||||
|
|
||||||
return bsi.segment_rd;
|
return bsi.segment_rd;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
static void swap(int *x,int *y)
|
static void swap(int *x,int *y)
|
||||||
{
|
{
|
||||||
@@ -1785,7 +1781,6 @@ void vp8_cal_sad(VP8_COMP *cpi, MACROBLOCKD *xd, MACROBLOCK *x, int recon_yoffse
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !(CONFIG_REALTIME_ONLY)
|
|
||||||
void vp8_rd_pick_inter_mode(VP8_COMP *cpi, MACROBLOCK *x, int recon_yoffset, int recon_uvoffset, int *returnrate, int *returndistortion, int *returnintra)
|
void vp8_rd_pick_inter_mode(VP8_COMP *cpi, MACROBLOCK *x, int recon_yoffset, int recon_uvoffset, int *returnrate, int *returndistortion, int *returnintra)
|
||||||
{
|
{
|
||||||
BLOCK *b = &x->block[0];
|
BLOCK *b = &x->block[0];
|
||||||
@@ -2290,8 +2285,6 @@ void vp8_rd_pick_inter_mode(VP8_COMP *cpi, MACROBLOCK *x, int recon_yoffset, int
|
|||||||
|
|
||||||
case ZEROMV:
|
case ZEROMV:
|
||||||
|
|
||||||
mv_selected:
|
|
||||||
|
|
||||||
// Trap vectors that reach beyond the UMV borders
|
// Trap vectors that reach beyond the UMV borders
|
||||||
// Note that ALL New MV, Nearest MV Near MV and Zero MV code drops through to this point
|
// Note that ALL New MV, Nearest MV Near MV and Zero MV code drops through to this point
|
||||||
// because of the lack of break statements in the previous two cases.
|
// because of the lack of break statements in the previous two cases.
|
||||||
@@ -2544,6 +2537,7 @@ void vp8_rd_pick_inter_mode(VP8_COMP *cpi, MACROBLOCK *x, int recon_yoffset, int
|
|||||||
}
|
}
|
||||||
|
|
||||||
x->e_mbd.mode_info_context->mbmi.mv.as_int = 0;
|
x->e_mbd.mode_info_context->mbmi.mv.as_int = 0;
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -2567,4 +2561,3 @@ void vp8_rd_pick_inter_mode(VP8_COMP *cpi, MACROBLOCK *x, int recon_yoffset, int
|
|||||||
|
|
||||||
x->e_mbd.mode_info_context->mbmi.mv.as_mv = x->e_mbd.block[15].bmi.mv.as_mv;
|
x->e_mbd.mode_info_context->mbmi.mv.as_mv = x->e_mbd.block[15].bmi.mv.as_mv;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
@@ -271,9 +271,7 @@ void vp8_arch_x86_encoder_init(VP8_COMP *cpi)
|
|||||||
cpi->rtcd.variance.sad8x16x3 = vp8_sad8x16x3_sse3;
|
cpi->rtcd.variance.sad8x16x3 = vp8_sad8x16x3_sse3;
|
||||||
cpi->rtcd.variance.sad8x8x3 = vp8_sad8x8x3_sse3;
|
cpi->rtcd.variance.sad8x8x3 = vp8_sad8x8x3_sse3;
|
||||||
cpi->rtcd.variance.sad4x4x3 = vp8_sad4x4x3_sse3;
|
cpi->rtcd.variance.sad4x4x3 = vp8_sad4x4x3_sse3;
|
||||||
#if !(CONFIG_REALTIME_ONLY)
|
|
||||||
cpi->rtcd.search.full_search = vp8_full_search_sadx3;
|
cpi->rtcd.search.full_search = vp8_full_search_sadx3;
|
||||||
#endif
|
|
||||||
cpi->rtcd.variance.sad16x16x4d = vp8_sad16x16x4d_sse3;
|
cpi->rtcd.variance.sad16x16x4d = vp8_sad16x16x4d_sse3;
|
||||||
cpi->rtcd.variance.sad16x8x4d = vp8_sad16x8x4d_sse3;
|
cpi->rtcd.variance.sad16x8x4d = vp8_sad16x8x4d_sse3;
|
||||||
cpi->rtcd.variance.sad8x16x4d = vp8_sad8x16x4d_sse3;
|
cpi->rtcd.variance.sad8x16x4d = vp8_sad8x16x4d_sse3;
|
||||||
@@ -314,9 +312,7 @@ void vp8_arch_x86_encoder_init(VP8_COMP *cpi)
|
|||||||
cpi->rtcd.variance.sad8x16x8 = vp8_sad8x16x8_sse4;
|
cpi->rtcd.variance.sad8x16x8 = vp8_sad8x16x8_sse4;
|
||||||
cpi->rtcd.variance.sad8x8x8 = vp8_sad8x8x8_sse4;
|
cpi->rtcd.variance.sad8x8x8 = vp8_sad8x8x8_sse4;
|
||||||
cpi->rtcd.variance.sad4x4x8 = vp8_sad4x4x8_sse4;
|
cpi->rtcd.variance.sad4x4x8 = vp8_sad4x4x8_sse4;
|
||||||
#if !(CONFIG_REALTIME_ONLY)
|
|
||||||
cpi->rtcd.search.full_search = vp8_full_search_sadx8;
|
cpi->rtcd.search.full_search = vp8_full_search_sadx8;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -139,8 +139,8 @@ static vpx_codec_err_t validate_config(vpx_codec_alg_priv_t *ctx,
|
|||||||
const vpx_codec_enc_cfg_t *cfg,
|
const vpx_codec_enc_cfg_t *cfg,
|
||||||
const struct vp8_extracfg *vp8_cfg)
|
const struct vp8_extracfg *vp8_cfg)
|
||||||
{
|
{
|
||||||
RANGE_CHECK(cfg, g_w, 1, 16384);
|
RANGE_CHECK(cfg, g_w, 1, 16383); /* 14 bits available */
|
||||||
RANGE_CHECK(cfg, g_h, 1, 16384);
|
RANGE_CHECK(cfg, g_h, 1, 16383); /* 14 bits available */
|
||||||
RANGE_CHECK(cfg, g_timebase.den, 1, 1000000000);
|
RANGE_CHECK(cfg, g_timebase.den, 1, 1000000000);
|
||||||
RANGE_CHECK(cfg, g_timebase.num, 1, cfg->g_timebase.den);
|
RANGE_CHECK(cfg, g_timebase.num, 1, cfg->g_timebase.den);
|
||||||
RANGE_CHECK_HI(cfg, g_profile, 3);
|
RANGE_CHECK_HI(cfg, g_profile, 3);
|
||||||
@@ -176,16 +176,13 @@ static vpx_codec_err_t validate_config(vpx_codec_alg_priv_t *ctx,
|
|||||||
"or kf_max_dist instead.");
|
"or kf_max_dist instead.");
|
||||||
|
|
||||||
RANGE_CHECK_BOOL(vp8_cfg, enable_auto_alt_ref);
|
RANGE_CHECK_BOOL(vp8_cfg, enable_auto_alt_ref);
|
||||||
|
RANGE_CHECK(vp8_cfg, cpu_used, -16, 16);
|
||||||
|
|
||||||
#if !(CONFIG_REALTIME_ONLY)
|
#if !(CONFIG_REALTIME_ONLY)
|
||||||
RANGE_CHECK(vp8_cfg, encoding_mode, VP8_BEST_QUALITY_ENCODING, VP8_REAL_TIME_ENCODING);
|
RANGE_CHECK(vp8_cfg, encoding_mode, VP8_BEST_QUALITY_ENCODING, VP8_REAL_TIME_ENCODING);
|
||||||
RANGE_CHECK(vp8_cfg, cpu_used, -16, 16);
|
|
||||||
RANGE_CHECK_HI(vp8_cfg, noise_sensitivity, 6);
|
RANGE_CHECK_HI(vp8_cfg, noise_sensitivity, 6);
|
||||||
#else
|
#else
|
||||||
RANGE_CHECK(vp8_cfg, encoding_mode, VP8_REAL_TIME_ENCODING, VP8_REAL_TIME_ENCODING);
|
RANGE_CHECK(vp8_cfg, encoding_mode, VP8_REAL_TIME_ENCODING, VP8_REAL_TIME_ENCODING);
|
||||||
|
|
||||||
if (!((vp8_cfg->cpu_used >= -16 && vp8_cfg->cpu_used <= -4) || (vp8_cfg->cpu_used >= 4 && vp8_cfg->cpu_used <= 16)))
|
|
||||||
ERROR("cpu_used out of range [-16..-4] or [4..16]");
|
|
||||||
|
|
||||||
RANGE_CHECK(vp8_cfg, noise_sensitivity, 0, 0);
|
RANGE_CHECK(vp8_cfg, noise_sensitivity, 0, 0);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -199,8 +196,6 @@ static vpx_codec_err_t validate_config(vpx_codec_alg_priv_t *ctx,
|
|||||||
#if !(CONFIG_REALTIME_ONLY)
|
#if !(CONFIG_REALTIME_ONLY)
|
||||||
if (cfg->g_pass == VPX_RC_LAST_PASS)
|
if (cfg->g_pass == VPX_RC_LAST_PASS)
|
||||||
{
|
{
|
||||||
int mb_r = (cfg->g_h + 15) / 16;
|
|
||||||
int mb_c = (cfg->g_w + 15) / 16;
|
|
||||||
size_t packet_sz = sizeof(FIRSTPASS_STATS);
|
size_t packet_sz = sizeof(FIRSTPASS_STATS);
|
||||||
int n_packets = cfg->rc_twopass_stats_in.sz / packet_sz;
|
int n_packets = cfg->rc_twopass_stats_in.sz / packet_sz;
|
||||||
FIRSTPASS_STATS *stats;
|
FIRSTPASS_STATS *stats;
|
||||||
|
@@ -148,7 +148,7 @@ enum vp8e_enc_control_id
|
|||||||
* onyx_if.c:vp8_set_speed_features().
|
* onyx_if.c:vp8_set_speed_features().
|
||||||
* \todo List highlights of the changes at various levels.
|
* \todo List highlights of the changes at various levels.
|
||||||
*
|
*
|
||||||
* \note Valid range: -16..16 or {-16..-4, 4..16} w/CONFIG_REALTIME_ONLY
|
* \note Valid range: -16..16
|
||||||
*/
|
*/
|
||||||
VP8E_SET_CPUUSED = 13,
|
VP8E_SET_CPUUSED = 13,
|
||||||
VP8E_SET_ENABLEAUTOALTREF, /**< control function to enable vp8 to automatic set and use altref frame */
|
VP8E_SET_ENABLEAUTOALTREF, /**< control function to enable vp8 to automatic set and use altref frame */
|
||||||
|
Reference in New Issue
Block a user