You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-04 22:03:09 +02:00
lavc/vvc: Fix slice map construction for small subpics
In the case pps_subpic_less_than_one_tile_slice is called, the subpicture is smaller than the tile and so there are multiple subpictures in the tile. Of course, then, not all the subpictures can start in the top-left corner as the code before the patch does. Patch fixes this, so each subpicture starts at the signalled location as is specified in section 6.5.1 of H.266(V3). Signed-off-by: Frank Plowman <post@frankplowman.com>
This commit is contained in:
@ -453,8 +453,8 @@ static void subpic_tiles(int *tile_x, int *tile_y, int *tile_x_end, int *tile_y_
|
|||||||
static void pps_subpic_less_than_one_tile_slice(VVCPPS *pps, const VVCSPS *sps, const int i, const int tx, const int ty, int *off)
|
static void pps_subpic_less_than_one_tile_slice(VVCPPS *pps, const VVCSPS *sps, const int i, const int tx, const int ty, int *off)
|
||||||
{
|
{
|
||||||
pps->num_ctus_in_slice[i] = pps_add_ctus(pps, off,
|
pps->num_ctus_in_slice[i] = pps_add_ctus(pps, off,
|
||||||
pps->col_bd[tx], pps->row_bd[ty],
|
sps->r->sps_subpic_ctu_top_left_x[i], sps->r->sps_subpic_ctu_top_left_y[i],
|
||||||
pps->r->col_width_val[tx], sps->r->sps_subpic_height_minus1[i] + 1);
|
sps->r->sps_subpic_width_minus1[i] + 1, sps->r->sps_subpic_height_minus1[i] + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void pps_subpic_one_or_more_tiles_slice(VVCPPS *pps, const int tile_x, const int tile_y, const int x_end, const int y_end, const int i, int *off)
|
static void pps_subpic_one_or_more_tiles_slice(VVCPPS *pps, const int tile_x, const int tile_y, const int x_end, const int y_end, const int i, int *off)
|
||||||
|
Reference in New Issue
Block a user