History

Assign correct values for zcoeff_blk in sub8x8 RDO

This fixes a lossless encoding bug as reported in the issue tracker. Coding performance change is neutral. BUG=webm:1700

Hui Su committed 6 years ago

Commit bdbf8721 parent b358f901 file · +6 −0Browse files

Unified · Split

vp9/encoder/vp9_rdopt.c+6−0
@@ -4443,6 +4443,7 @@ void vp9_rd_pick_inter_mode_sub8x8(VP9_COMP *cpi, TileDataEnc *tile_data, · 4442 unmodified lines
4443 tmp_best_sse = total_sse;4443 tmp_best_sse = total_sse;
4444 tmp_best_skippable = skippable;4444 tmp_best_skippable = skippable;
4445 tmp_best_mbmode = *mi;4445 tmp_best_mbmode = *mi;
4446 x->sum_y_eobs[TX_4X4] = 0;
4446 for (i = 0; i < 4; i++) {4447 for (i = 0; i < 4; i++) {
4447 tmp_best_bmodes[i] = xd->mi[0]->bmi[i];4448 tmp_best_bmodes[i] = xd->mi[0]->bmi[i];
4448 x->zcoeff_blk[TX_4X4][i] = !x->plane[0].eobs[i];4449 x->zcoeff_blk[TX_4X4][i] = !x->plane[0].eobs[i];
@@ -4476,6 +4477,11 @@ void vp9_rd_pick_inter_mode_sub8x8(VP9_COMP *cpi, TileDataEnc *tile_data, · 27 unmodified lines
4476 &rate, &rate_y, &distortion, &skippable, &total_sse,4477 &rate, &rate_y, &distortion, &skippable, &total_sse,
4477 (int)this_rd_thresh, seg_mvs, bsi, 0, mi_row, mi_col);4478 (int)this_rd_thresh, seg_mvs, bsi, 0, mi_row, mi_col);
4478 if (tmp_rd == INT64_MAX) continue;4479 if (tmp_rd == INT64_MAX) continue;
4480 x->sum_y_eobs[TX_4X4] = 0;
4481 for (i = 0; i < 4; i++) {
4482 x->zcoeff_blk[TX_4X4][i] = !x->plane[0].eobs[i];
4483 x->sum_y_eobs[TX_4X4] += x->plane[0].eobs[i];
4484 }
4479 } else {4485 } else {
4480 total_sse = tmp_best_sse;4486 total_sse = tmp_best_sse;
4481 rate = tmp_best_rate;4487 rate = tmp_best_rate;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t