start_pos = cpi->stats_in;
+ vpx_memset(&next_frame, 0, sizeof(next_frame)); // assure clean
+
// Preload the stats for the next frame.
mod_frame_err = calculate_modified_err(cpi, this_frame);
double kf_group_coded_err = 0.0;
double two_pass_min_rate = (double)(cpi->oxcf.target_bandwidth * cpi->oxcf.two_pass_vbrmin_section / 100);
+ vpx_memset(&next_frame, 0, sizeof(next_frame)); // assure clean
+
vp8_clear_system_state(); //__asm emms;
start_position = cpi->stats_in;
sf->full_freq[1] = 31;
sf->search_method = NSTEP;
- if (!cpi->ref_frame_flags & VP8_LAST_FLAG)
+ if (!(cpi->ref_frame_flags & VP8_LAST_FLAG))
{
sf->thresh_mult[THR_NEWMV ] = INT_MAX;
sf->thresh_mult[THR_NEARESTMV] = INT_MAX;
sf->thresh_mult[THR_SPLITMV ] = INT_MAX;
}
- if (!cpi->ref_frame_flags & VP8_GOLD_FLAG)
+ if (!(cpi->ref_frame_flags & VP8_GOLD_FLAG))
{
sf->thresh_mult[THR_NEARESTG ] = INT_MAX;
sf->thresh_mult[THR_ZEROG ] = INT_MAX;
sf->thresh_mult[THR_SPLITG ] = INT_MAX;
}
- if (!cpi->ref_frame_flags & VP8_ALT_FLAG)
+ if (!(cpi->ref_frame_flags & VP8_ALT_FLAG))
{
sf->thresh_mult[THR_NEARESTA ] = INT_MAX;
sf->thresh_mult[THR_ZEROA ] = INT_MAX;
vpx_memset(mode_mv, 0, sizeof(mode_mv));
vpx_memset(nearest_mv, 0, sizeof(nearest_mv));
vpx_memset(near_mv, 0, sizeof(near_mv));
+ vpx_memset(&best_mbmode, 0, sizeof(best_mbmode));
// set up all the refframe dependent pointers.
MV bmvs[16];
int beobs[16];
+ vpx_memset(beobs, 0, sizeof(beobs));
+
+
for (segmentation = 0; segmentation < VP8_NUMMBSPLITS; segmentation++)
{
int label_count;
*returnintra = INT_MAX;
+ vpx_memset(&best_mbmode, 0, sizeof(best_mbmode)); // clean
+
cpi->mbs_tested_so_far++; // Count of the number of MBs tested so far this frame
x->skip = 0;
} while(0)
#define RANGE_CHECK(p,memb,lo,hi) do {\
- if(!((p)->memb >= (lo) && (p)->memb <= hi)) \
+ if(!(((p)->memb == lo || (p)->memb > (lo)) && (p)->memb <= hi)) \
ERROR(#memb " out of range ["#lo".."#hi"]");\
} while(0)