Skip to content
Snippets Groups Projects
Commit 2e8eaddd authored by Peng Bin's avatar Peng Bin Committed by Bin Peng
Browse files

Move if statement outside for loops

By avoiding break CPU's pipeline,
this patch achieves a small encoder
speedup at the range of 0.2%~0.71%.

Change-Id: I398cb09f8eb91695e3258091ff2f82f06ab74145
parent 85e8c797
No related branches found
No related tags found
No related merge requests found
......@@ -1050,18 +1050,17 @@ void aom_comp_mask_upsampled_pred_c(uint8_t *comp_pred, const uint8_t *pred,
int ref_stride, const uint8_t *mask,
int mask_stride, int invert_mask) {
int i, j;
const uint8_t *src0 = invert_mask ? pred : comp_pred;
const uint8_t *src1 = invert_mask ? comp_pred : pred;
aom_upsampled_pred(comp_pred, width, height, subpel_x_q3, subpel_y_q3, ref,
ref_stride);
for (i = 0; i < height; i++) {
for (j = 0; j < width; j++) {
if (!invert_mask)
comp_pred[j] = AOM_BLEND_A64(mask[j], comp_pred[j], pred[j]);
else
comp_pred[j] = AOM_BLEND_A64(mask[j], pred[j], comp_pred[j]);
comp_pred[j] = AOM_BLEND_A64(mask[j], src0[j], src1[j]);
}
comp_pred += width;
pred += width;
src0 += width;
src1 += width;
mask += mask_stride;
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment