diff options
author | Paul Wilkins <paulwilkins@google.com> | 2013-04-19 11:10:16 +0100 |
---|---|---|
committer | Paul Wilkins <paulwilkins@google.com> | 2013-04-19 11:19:59 +0100 |
commit | 92e8a3f514a4b80fa340ba9c1ccb2af992334e24 (patch) | |
tree | e56f5ca682812a6e03809aeee750ba1d705770b2 /vp9/encoder | |
parent | 445a492fe4e1035e3940aadf38e1e532f1ce84be (diff) | |
download | libvpx-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.c | 2 |
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. |