avcodec/vvcdec: ff_vvc_decode_neighbour, support subpicture
This commit is contained in:
parent
4e47847119
commit
260130aae8
@ -2493,6 +2493,10 @@ void ff_vvc_decode_neighbour(VVCLocalContext *lc, const int x_ctb, const int y_c
|
||||
lc->boundary_flags |= BOUNDARY_UPPER_TILE;
|
||||
if (ry > 0 && fc->tab.slice_idx[rs] != fc->tab.slice_idx[rs - fc->ps.pps->ctb_width])
|
||||
lc->boundary_flags |= BOUNDARY_UPPER_SLICE;
|
||||
if (fc->ps.sps->r->sps_subpic_ctu_top_left_x[lc->sc->sh.r->curr_subpic_idx] == rx)
|
||||
lc->boundary_flags |= BOUNDARY_LEFT_SUBPIC;
|
||||
if (fc->ps.sps->r->sps_subpic_ctu_top_left_y[lc->sc->sh.r->curr_subpic_idx] == ry)
|
||||
lc->boundary_flags |= BOUNDARY_UPPER_SUBPIC;
|
||||
lc->ctb_left_flag = rx > 0 && !(lc->boundary_flags & BOUNDARY_LEFT_TILE);
|
||||
lc->ctb_up_flag = ry > 0 && !(lc->boundary_flags & BOUNDARY_UPPER_TILE) && !(lc->boundary_flags & BOUNDARY_UPPER_SLICE);
|
||||
lc->ctb_up_right_flag = lc->ctb_up_flag && (fc->ps.pps->ctb_to_col_bd[rx] == fc->ps.pps->ctb_to_col_bd[rx + 1]) &&
|
||||
|
@ -421,8 +421,10 @@ typedef struct VVCLocalContext {
|
||||
|
||||
#define BOUNDARY_LEFT_SLICE (1 << 0)
|
||||
#define BOUNDARY_LEFT_TILE (1 << 1)
|
||||
#define BOUNDARY_UPPER_SLICE (1 << 2)
|
||||
#define BOUNDARY_UPPER_TILE (1 << 3)
|
||||
#define BOUNDARY_LEFT_SUBPIC (1 << 2)
|
||||
#define BOUNDARY_UPPER_SLICE (1 << 3)
|
||||
#define BOUNDARY_UPPER_TILE (1 << 4)
|
||||
#define BOUNDARY_UPPER_SUBPIC (1 << 5)
|
||||
/* properties of the boundary of the current CTB for the purposes
|
||||
* of the deblocking filter */
|
||||
int boundary_flags;
|
||||
|
Loading…
x
Reference in New Issue
Block a user