mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2026-02-04 14:30:55 +08:00
hevc/mvs: simplify derive_temporal_colocated_mvs
cherry picked from commit def7db60966765f4687250d766b40dbcf0f7e503 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
committed by
Michael Niedermayer
parent
062b9f2cdb
commit
560b0253ff
@@ -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++;
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
for (i = 0; i < refPicList[1].nb_refs; i++) {
|
||||
if (refPicList[1].list[i] > s->poc)
|
||||
check_diffpicount++;
|
||||
}
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user