diff --git a/vp8/encoder/onyx_if.c b/vp8/encoder/onyx_if.c index 9007853643e6a5c217be1e69b3dc986ae07edb40..77cec737392ba358651de2b4807898c1eb990dcb 100644 --- a/vp8/encoder/onyx_if.c +++ b/vp8/encoder/onyx_if.c @@ -3127,6 +3127,10 @@ static void set_quantizer(VP8_COMP *cpi, int Q) cm->uvdc_delta_q = 0; cm->uvac_delta_q = 0; + if(Q<4) + { + cm->y2dc_delta_q = 4-Q; + } // Set Segment specific quatizers mbd->segment_feature_data[MB_LVL_ALT_Q][0] = cpi->segment_feature_data[MB_LVL_ALT_Q][0]; mbd->segment_feature_data[MB_LVL_ALT_Q][1] = cpi->segment_feature_data[MB_LVL_ALT_Q][1]; diff --git a/vp8/encoder/rdopt.c b/vp8/encoder/rdopt.c index 3b898f1b273e533242246a3c42bfe589d5e55e6a..36420aad137336232d89d17c32b8458f9700a7a8 100644 --- a/vp8/encoder/rdopt.c +++ b/vp8/encoder/rdopt.c @@ -243,10 +243,9 @@ void vp8_initialize_rd_consts(VP8_COMP *cpi, int Qvalue) cpi->RDMULT += (cpi->RDMULT * rd_iifactor[cpi->next_iiratio]) >> 4; } - if (cpi->RDMULT < 125) - cpi->RDMULT = 125; - cpi->mb.errorperbit = (cpi->RDMULT / 100); + cpi->mb.errorperbit += (cpi->mb.errorperbit==0); + vp8_set_speed_features(cpi); if (cpi->common.simpler_lpf)