History

Merge "set interp_filter to SWITCHABLE_FILTER for intra block"

Angie Chiang committed 10 years ago

Commit 424982b2 parents 5e9c5df d9c417c2 files · +12 −7Browse files

Unified · Split

2 files
  1. vp9/encoder/vp9_encodeframe.c +2 −5
  2. vp9/encoder/vp9_pickmode.c +10 −2
vp9/encoder/vp9_encodeframe.c+2−5
@@ -1299,11 +1299,8 @@ static void set_mode_info_seg_skip(MACROBLOCK *x, TX_MODE tx_mode, · 1298 unmodified lines
12991299 MODE_INFO *const mi = xd->mi[0];
13001300 INTERP_FILTER filter_ref;
13011301
1302− if (xd->above_mi)
1303− filter_ref = xd->above_mi->interp_filter;
1304− else if (xd->left_mi)
1305− filter_ref = xd->left_mi->interp_filter;
1306− else
1302+ filter_ref = vp9_get_pred_context_switchable_interp(xd);
1303+ if (filter_ref == SWITCHABLE_FILTERS)
13071304 filter_ref = EIGHTTAP;
13081305
13091306 mi->sb_type = bsize;
vp9/encoder/vp9_pickmode.c+10−2
@@ -1410,9 +1410,13 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, · 1409 unmodified lines
14101410 x->skip_encode = cpi->sf.skip_encode_frame && x->q_index < QIDX_SKIP_THRESH;
14111411 x->skip = 0;
14121412
1413− if (xd->above_mi)
1413+ // Instead of using vp9_get_pred_context_switchable_interp(xd) to assign
1414+ // filter_ref, we use a less strict condition on assigning filter_ref.
1415+ // This is to reduce the probabily of entering the flow of not assigning
1416+ // filter_ref and then skip filter search.
1417+ if (xd->above_mi && is_inter_block(xd->above_mi))
14141418 filter_ref = xd->above_mi->interp_filter;
1415− else if (xd->left_mi)
1419+ else if (xd->left_mi && is_inter_block(xd->left_mi))
14161420 filter_ref = xd->left_mi->interp_filter;
14171421 else
14181422 filter_ref = cm->interp_filter;
@@ -1977,6 +1981,10 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, · 558 unmodified lines
19771981 mi->ref_frame[0] = best_ref_frame;
19781982 x->skip_txfm[0] = best_mode_skip_txfm;
19791983
1984+ if (!is_inter_block(mi)) {
1985+ mi->interp_filter = SWITCHABLE_FILTERS;
1986+ }
1987+
19801988 if (reuse_inter_pred && best_pred != NULL) {
19811989 if (best_pred->data != orig_dst.buf && is_inter_mode(mi->mode)) {
19821990 #if CONFIG_VP9_HIGHBITDEPTH

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