diff options
author | Mickaƫl Raulet <mraulet@insa-rennes.fr> | 2014-07-19 00:51:42 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-07-22 14:11:43 +0200 |
commit | 560b0253ff2b1a040a2e688bf5c81265a61c1c2d (patch) | |
tree | bb5abf73eee96a7f87f40a1073a5ea92bbec2e90 /libavcodec | |
parent | 062b9f2cdb895e64a7085b30539aea94da901011 (diff) | |
download | ffmpeg-560b0253ff2b1a040a2e688bf5c81265a61c1c2d.tar.gz |
hevc/mvs: simplify derive_temporal_colocated_mvs
cherry picked from commit def7db60966765f4687250d766b40dbcf0f7e503
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/hevc_mvs.c | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/libavcodec/hevc_mvs.c b/libavcodec/hevc_mvs.c index b1a1ffc243..1cdc0bdc8d 100644 --- a/libavcodec/hevc_mvs.c +++ b/libavcodec/hevc_mvs.c @@ -209,20 +209,21 @@ static int derive_temporal_colocated_mvs(HEVCContext *s, MvField temp_col, return CHECK_MVSET(0); else if (temp_col.pred_flag == PF_BI) { int check_diffpicount = 0; - int i = 0; - for (i = 0; i < refPicList[0].nb_refs; i++) { - if (refPicList[0].list[i] > s->poc) - check_diffpicount++; - } - for (i = 0; i < refPicList[1].nb_refs; i++) { - if (refPicList[1].list[i] > s->poc) - check_diffpicount++; + int i, j; + for (j = 0; j < 2; j++) { + for (i = 0; i < refPicList[j].nb_refs; i++) { + if (refPicList[j].list[i] > s->poc) { + check_diffpicount++; + break; + } + } } - if (check_diffpicount == 0 && X == 0) - return CHECK_MVSET(0); - else if (check_diffpicount == 0 && X == 1) - return CHECK_MVSET(1); - else { + if (!check_diffpicount) { + if (X==0) + return CHECK_MVSET(0); + else + return CHECK_MVSET(1); + } else { if (s->sh.collocated_list == L1) return CHECK_MVSET(0); else |