mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-02-04 06:08:26 +02:00
lavc/vvc: Don't check motion estimation region for IBC
The final parameter of check_available determines whether the motion estimation region constraints imposed in section 8.5.2.3 of H.266 (V3) on MVP candidates apply to the current candidate or not. In the case of IBC spatial merge candidates they do not, as their availability is dependent only on the criteria described in sections 8.6.2.3 and 6.4.4, which do not include this constraint on the motion estimation region. Signed-off-by: Frank Plowman <post@frankplowman.com>
This commit is contained in:
parent
9221cb0443
commit
7399d9f374
@ -1627,12 +1627,12 @@ static int ibc_spatial_candidates(const VVCLocalContext *lc, const int merge_idx
|
||||
|
||||
init_neighbour_context(&nctx, lc);
|
||||
|
||||
if (check_available(a1, lc, 1)) {
|
||||
if (check_available(a1, lc, 0)) {
|
||||
cand_list[num_cands++] = TAB_MVF(a1->x, a1->y).mv[L0];
|
||||
if (num_cands > merge_idx)
|
||||
return 1;
|
||||
}
|
||||
if (check_available(b1, lc, 1)) {
|
||||
if (check_available(b1, lc, 0)) {
|
||||
const MvField *mvf = &TAB_MVF(b1->x, b1->y);
|
||||
if (!num_cands || !IS_SAME_MV(&cand_list[0], mvf->mv)) {
|
||||
cand_list[num_cands++] = mvf->mv[L0];
|
||||
|
Loading…
x
Reference in New Issue
Block a user