summaryrefslogtreecommitdiff
path: root/vp9/encoder
diff options
context:
space:
mode:
authorPaul Wilkins <paulwilkins@google.com>2013-04-19 11:10:16 +0100
committerPaul Wilkins <paulwilkins@google.com>2013-04-19 11:19:59 +0100
commit92e8a3f514a4b80fa340ba9c1ccb2af992334e24 (patch)
treee56f5ca682812a6e03809aeee750ba1d705770b2 /vp9/encoder
parent445a492fe4e1035e3940aadf38e1e532f1ce84be (diff)
downloadlibvpx-92e8a3f514a4b80fa340ba9c1ccb2af992334e24.tar
libvpx-92e8a3f514a4b80fa340ba9c1ccb2af992334e24.tar.gz
libvpx-92e8a3f514a4b80fa340ba9c1ccb2af992334e24.tar.bz2
libvpx-92e8a3f514a4b80fa340ba9c1ccb2af992334e24.zip
Simplification of MVref search.
As we are no longer able to sort the candidate mvrefs in both encoder and decode and given that the cost of explicit signalling has proved prohibitive, it no longer makes sense to find more than 2 candidates. This patch: Modifies and simplifies add_candidate_mv() Removes the forced addition of a 0 vector in the MAX_MV_REF_CANDIDATES-1 position (in preparation to reducing MAX_MV_REF_CANDIDATES to 2). Re-orders the addition of candidates slightly. This actually gives small gains (circa 0.2% on std-hd) A subsequent patch will remove NEW_MVREF experiment, reduce MAX_MV_REF_CANDIDATES to 2 and remove distance weights as these are implicit now in the order. Change-Id: I3dbe1a6f8a1a18b3c108257069c22a1141a207a4
Diffstat (limited to 'vp9/encoder')
-rw-r--r--vp9/encoder/vp9_rdopt.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c
index 900f889fc..7b4f06a84 100644
--- a/vp9/encoder/vp9_rdopt.c
+++ b/vp9/encoder/vp9_rdopt.c
@@ -2476,7 +2476,7 @@ static void mv_pred(VP9_COMP *cpi, MACROBLOCK *x,
int row_offset, col_offset;
// Get the sad for each candidate reference mv
- for (i = 0; i < 4; i++) {
+ for (i = 0; i < MAX_MV_REF_CANDIDATES; i++) {
this_mv.as_int = mbmi->ref_mvs[ref_frame][i].as_int;
// The list is at an end if we see 0 for a second time.