1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00

avcodec/rv60: loosen fill_mv_skip_cand top right and bottom left criteria

Fixes ticket #11293.
This commit is contained in:
Peter Ross 2024-11-16 19:08:39 +11:00
parent 7332b1700e
commit 566b737a7a

View File

@ -881,12 +881,12 @@ static void fill_mv_skip_cand(RV60Context * s, const CUContext * cu, unique_list
if (mvinfo_valid(mv)) if (mvinfo_valid(mv))
unique_list_mvinfo_add(skip_cand, *mv); unique_list_mvinfo_add(skip_cand, *mv);
} }
if (has_top_right_block(s, cu->xpos, cu->ypos, 0, 0, size)) { if (cu->ypos > 0 && cu->xpos + size < s->awidth) {
const MVInfo * mv = &s->blk_info[cu->blk_pos - s->blk_stride + mv_size].mv; const MVInfo * mv = &s->blk_info[cu->blk_pos - s->blk_stride + mv_size].mv;
if (mvinfo_valid(mv)) if (mvinfo_valid(mv))
unique_list_mvinfo_add(skip_cand, *mv); unique_list_mvinfo_add(skip_cand, *mv);
} }
if (has_left_down_block(s, cu->xpos, cu->ypos, 0, 0, size)) { if (cu->xpos > 0 && cu->ypos + size < s->aheight) {
const MVInfo * mv = &s->blk_info[cu->blk_pos + s->blk_stride * mv_size - 1].mv; const MVInfo * mv = &s->blk_info[cu->blk_pos + s->blk_stride * mv_size - 1].mv;
if (mvinfo_valid(mv)) if (mvinfo_valid(mv))
unique_list_mvinfo_add(skip_cand, *mv); unique_list_mvinfo_add(skip_cand, *mv);