video: Fix NV12_16L32S video frame size

The size of a NV12_16L32S video frame is bigger than expected because
it uses the size of a Y tile to compute the interleaved UV plane
size. Get the right UV tile size instead.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6118>
This commit is contained in:
Loïc Molinari 2024-01-29 11:05:15 +01:00 committed by GStreamer Marge Bot
parent 03d7082657
commit fb02516b75

View file

@ -1146,7 +1146,7 @@ fill_planes (GstVideoInfo * info, gsize plane_size[GST_VIDEO_MAX_PLANES])
const gsize y_tile_size = const gsize y_tile_size =
GST_VIDEO_FORMAT_INFO_TILE_SIZE (info->finfo, 0); GST_VIDEO_FORMAT_INFO_TILE_SIZE (info->finfo, 0);
const gsize uv_tile_size = const gsize uv_tile_size =
GST_VIDEO_FORMAT_INFO_TILE_SIZE (info->finfo, 0); GST_VIDEO_FORMAT_INFO_TILE_SIZE (info->finfo, 1);
gint tile_width = GST_VIDEO_FORMAT_INFO_TILE_WIDTH (info->finfo, 0); gint tile_width = GST_VIDEO_FORMAT_INFO_TILE_WIDTH (info->finfo, 0);
gint tile_height = GST_VIDEO_FORMAT_INFO_TILE_HEIGHT (info->finfo, 0); gint tile_height = GST_VIDEO_FORMAT_INFO_TILE_HEIGHT (info->finfo, 0);
gint n_tile_x = GST_ROUND_UP_N (info->width, tile_width) / tile_width; gint n_tile_x = GST_ROUND_UP_N (info->width, tile_width) / tile_width;