Merge "Eliminated prev_mip memsets/memcpys in encoder"
This commit is contained in:
commit
2fd20eb37d
@ -3460,15 +3460,24 @@ static void encode_frame_to_data_rate(VP9_COMP *cpi,
|
|||||||
cm->last_width = cm->width;
|
cm->last_width = cm->width;
|
||||||
cm->last_height = cm->height;
|
cm->last_height = cm->height;
|
||||||
|
|
||||||
// Don't increment frame counters if this was an altref buffer
|
// reset to normal state now that we are done.
|
||||||
// update not a real frame
|
|
||||||
cm->last_show_frame = cm->show_frame;
|
cm->last_show_frame = cm->show_frame;
|
||||||
if (cm->show_frame) {
|
if (cm->show_frame) {
|
||||||
|
// current mip will be the prev_mip for the next frame
|
||||||
|
MODE_INFO *temp = cm->prev_mip;
|
||||||
|
cm->prev_mip = cm->mip;
|
||||||
|
cm->mip = temp;
|
||||||
|
|
||||||
|
// update the upper left visible macroblock ptrs
|
||||||
|
cm->mi = cm->mip + cm->mode_info_stride + 1;
|
||||||
|
|
||||||
|
// Don't increment frame counters if this was an altref buffer
|
||||||
|
// update not a real frame
|
||||||
++cm->current_video_frame;
|
++cm->current_video_frame;
|
||||||
++cpi->frames_since_key;
|
++cpi->frames_since_key;
|
||||||
}
|
}
|
||||||
|
// restore prev_mi
|
||||||
// reset to normal state now that we are done.
|
cm->prev_mi = cm->prev_mip + cm->mode_info_stride + 1;
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
{
|
{
|
||||||
@ -3486,17 +3495,6 @@ static void encode_frame_to_data_rate(VP9_COMP *cpi,
|
|||||||
vp9_write_yuv_rec_frame(cm);
|
vp9_write_yuv_rec_frame(cm);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (cm->show_frame) {
|
|
||||||
vpx_memcpy(cm->prev_mip, cm->mip,
|
|
||||||
cm->mode_info_stride * (cm->mi_rows + MI_BLOCK_SIZE) *
|
|
||||||
sizeof(MODE_INFO));
|
|
||||||
} else {
|
|
||||||
vpx_memset(cm->prev_mip, 0,
|
|
||||||
cm->mode_info_stride * (cm->mi_rows + MI_BLOCK_SIZE) *
|
|
||||||
sizeof(MODE_INFO));
|
|
||||||
}
|
|
||||||
// restore prev_mi
|
|
||||||
cm->prev_mi = cm->prev_mip + cm->mode_info_stride + 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void Pass2Encode(VP9_COMP *cpi, unsigned long *size,
|
static void Pass2Encode(VP9_COMP *cpi, unsigned long *size,
|
||||||
|
Loading…
Reference in New Issue
Block a user