summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_rdopt.c
diff options
context:
space:
mode:
authorJingning Han <jingning@google.com>2014-09-09 12:30:47 -0700
committerJingning Han <jingning@google.com>2014-09-09 12:30:47 -0700
commit33593d1f0331b1cffe94496c2df7628bccd8e5e8 (patch)
tree714d21635b13341aabe9fa5e83896d7b9b50380c /vp9/encoder/vp9_rdopt.c
parentd96228a07cc7002ba437b9598c5efdd73cae5b1e (diff)
downloadlibvpx-33593d1f0331b1cffe94496c2df7628bccd8e5e8.tar
libvpx-33593d1f0331b1cffe94496c2df7628bccd8e5e8.tar.gz
libvpx-33593d1f0331b1cffe94496c2df7628bccd8e5e8.tar.bz2
libvpx-33593d1f0331b1cffe94496c2df7628bccd8e5e8.zip
Remove dependency of intra mode search skip check on mode order
This commit refactors the vp9_rd_pick_inter_mode_sb function to remove the intra mode early termination dependency on the mode search order. Change-Id: If6ac49aa7c530c7b9a5bd31b0ab84db83e192bec
Diffstat (limited to 'vp9/encoder/vp9_rdopt.c')
-rw-r--r--vp9/encoder/vp9_rdopt.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c
index c718ccf47..22505fbfc 100644
--- a/vp9/encoder/vp9_rdopt.c
+++ b/vp9/encoder/vp9_rdopt.c
@@ -2674,14 +2674,6 @@ int64_t vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, MACROBLOCK *x,
}
}
- if (bsize > cpi->sf.max_intra_bsize) {
- const int all_intra_modes = (1 << THR_DC) | (1 << THR_TM) |
- (1 << THR_H_PRED) | (1 << THR_V_PRED) | (1 << THR_D135_PRED) |
- (1 << THR_D207_PRED) | (1 << THR_D153_PRED) | (1 << THR_D63_PRED) |
- (1 << THR_D117_PRED) | (1 << THR_D45_PRED);
- mode_skip_mask |= all_intra_modes;
- }
-
for (mode_index = 0; mode_index < MAX_MODES; ++mode_index) {
int mode_excluded = 0;
int64_t this_rd = INT64_MAX;
@@ -2730,6 +2722,10 @@ int64_t vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, MACROBLOCK *x,
continue;
}
+ if (bsize > cpi->sf.max_intra_bsize)
+ if (ref_frame == INTRA_FRAME)
+ continue;
+
if (mode_skip_mask & (1 << mode_index))
continue;