hevc/mvs: simplify derive_temporal_colocated_mvs
authorMickaël Raulet <mraulet@insa-rennes.fr>
Fri, 18 Jul 2014 22:51:42 +0000 (00:51 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 22 Jul 2014 12:11:43 +0000 (14:11 +0200)
cherry picked from commit def7db60966765f4687250d766b40dbcf0f7e503

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/hevc_mvs.c

index b1a1ffc..1cdc0bd 100644 (file)
@@ -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