Unified · Split
| @@ -3133,7 +3133,7 @@ static void encode_without_recode_loop(VP9_COMP *cpi, size_t *size, · 3132 unmodified lines | ||
| 3133 | 3133 | if (cpi->oxcf.pass == 0 && cpi->oxcf.mode == REALTIME && |
| 3134 | 3134 | cpi->oxcf.speed >= 5 && cpi->resize_state == 0 && |
| 3135 | 3135 | (cpi->oxcf.content == VP9E_CONTENT_SCREEN || |
| 3136 | − cpi->oxcf.rc_mode == VPX_VBR) && | |
| 3136 | + cpi->oxcf.rc_mode == VPX_VBR || cpi->sf.copy_partition_flag) && | |
| 3137 | 3137 | cm->show_frame) |
| 3138 | 3138 | vp9_avg_source_sad(cpi); |
| 3139 | 3139 | |
| @@ -2251,10 +2251,12 @@ void vp9_avg_source_sad(VP9_COMP *cpi) { · 2250 unmodified lines | ||
| 2251 | 2251 | for (sbi_row = 0; sbi_row < sb_rows; ++sbi_row) { |
| 2252 | 2252 | for (sbi_col = 0; sbi_col < sb_cols; ++sbi_col) { |
| 2253 | 2253 | // Checker-board pattern, ignore boundary. |
| 2254 | − if ((sbi_row > 0 && sbi_col > 0) && | |
| 2255 | − (sbi_row < sb_rows - 1 && sbi_col < sb_cols - 1) && | |
| 2256 | − ((sbi_row % 2 == 0 && sbi_col % 2 == 0) || | |
| 2257 | − (sbi_row % 2 != 0 && sbi_col % 2 != 0))) { | |
| 2254 | + // If the partition copy is on, compute for every superblock. | |
| 2255 | + if (cpi->sf.copy_partition_flag || | |
| 2256 | + ((sbi_row > 0 && sbi_col > 0) && | |
| 2257 | + (sbi_row < sb_rows - 1 && sbi_col < sb_cols - 1) && | |
| 2258 | + ((sbi_row % 2 == 0 && sbi_col % 2 == 0) || | |
| 2259 | + (sbi_row % 2 != 0 && sbi_col % 2 != 0)))) { | |
| 2258 | 2260 | num_samples++; |
| 2259 | 2261 | avg_sad += cpi->fn_ptr[bsize].sdf(src_y, src_ystride, last_src_y, |
| 2260 | 2262 | last_src_ystride); |