diff options
author | Christophe Gisquet <christophe.gisquet@gmail.com> | 2014-08-08 18:21:04 +0000 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2014-08-12 10:13:43 +0000 |
commit | 3187fa14a326908f9471a038e3b5b24c0eaf655e (patch) | |
tree | 1813c1f5301ccbb14dacdb066de48503aa703927 | |
parent | 14ca0aa69b5d954ce56d0826ab9f1f70e535c92a (diff) | |
download | ffmpeg-3187fa14a326908f9471a038e3b5b24c0eaf655e.tar.gz |
hevc_mvs: avoid deriving tmvp in amvp
Reduces the number of calls to tmvp derivation from 933685 to 586271 on
a sequence.
Reviewed-by: Mickaƫl Raulet <mraulet@insa-rennes.fr>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
-rw-r--r-- | libavcodec/hevc_mvs.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/hevc_mvs.c b/libavcodec/hevc_mvs.c index 4d0f3026da..cc5a16ce72 100644 --- a/libavcodec/hevc_mvs.c +++ b/libavcodec/hevc_mvs.c @@ -828,7 +828,8 @@ void ff_hevc_luma_mv_mvp_mode(HEVCContext *s, int x0, int y0, int nPbW, mvpcand_list[numMVPCandLX++] = mxB; //temporal motion vector prediction candidate - if (numMVPCandLX < 2 && s->sh.slice_temporal_mvp_enabled_flag) { + if (numMVPCandLX < 2 && s->sh.slice_temporal_mvp_enabled_flag && + mvp_lx_flag == numMVPCandLX) { Mv mv_col; int available_col = temporal_luma_motion_vector(s, x0, y0, nPbW, nPbH, ref_idx, |