Browse Source

hevc/mvs: simplify derive_temporal_colocated_mvs

cherry picked from commit def7db6096

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.4
Mickaël Raulet Michael Niedermayer 11 years ago
parent
commit
560b0253ff
1 changed files with 14 additions and 13 deletions
  1. +14
    -13
      libavcodec/hevc_mvs.c

+ 14
- 13
libavcodec/hevc_mvs.c View 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


Loading…
Cancel
Save