mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-19 06:46:38 +00:00
codecparser: h265: Calculate crop rectangle dimensions
This commit is contained in:
parent
877e69c9ec
commit
af7ff2bd95
2 changed files with 18 additions and 1 deletions
|
@ -1564,6 +1564,8 @@ gst_h265_parse_sps (GstH265Parser * parser, GstH265NalUnit * nalu,
|
||||||
GstH265VPS *vps;
|
GstH265VPS *vps;
|
||||||
guint8 vps_id;
|
guint8 vps_id;
|
||||||
guint i;
|
guint i;
|
||||||
|
guint subwc[] = { 1, 2, 2, 1, 1 };
|
||||||
|
guint subhc[] = { 1, 2, 1, 1, 1 };
|
||||||
GstH265VUIParams *vui = NULL;
|
GstH265VUIParams *vui = NULL;
|
||||||
|
|
||||||
INITIALIZE_DEBUG_CATEGORY;
|
INITIALIZE_DEBUG_CATEGORY;
|
||||||
|
@ -1713,7 +1715,20 @@ gst_h265_parse_sps (GstH265Parser * parser, GstH265NalUnit * nalu,
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ToDo: Add crop_rectangle dimensions */
|
if (sps->conformance_window_flag) {
|
||||||
|
const guint crop_unit_x = subwc[sps->chroma_format_idc];
|
||||||
|
const guint crop_unit_y = subhc[sps->chroma_format_idc];
|
||||||
|
|
||||||
|
sps->crop_rect_width = sps->width -
|
||||||
|
(sps->conf_win_left_offset + sps->conf_win_right_offset) * crop_unit_x;
|
||||||
|
sps->crop_rect_height = sps->height -
|
||||||
|
(sps->conf_win_top_offset + sps->conf_win_bottom_offset) * crop_unit_y;
|
||||||
|
sps->crop_rect_x = sps->conf_win_left_offset * crop_unit_x;
|
||||||
|
sps->crop_rect_y = sps->conf_win_top_offset * crop_unit_y;
|
||||||
|
|
||||||
|
GST_LOG ("crop_rectangle x=%u y=%u width=%u, height=%u", sps->crop_rect_x,
|
||||||
|
sps->crop_rect_y, sps->crop_rect_width, sps->crop_rect_height);
|
||||||
|
}
|
||||||
|
|
||||||
sps->fps_num = 0;
|
sps->fps_num = 0;
|
||||||
sps->fps_den = 1;
|
sps->fps_den = 1;
|
||||||
|
|
|
@ -763,6 +763,8 @@ struct _GstH265SPS
|
||||||
/* calculated values */
|
/* calculated values */
|
||||||
guint8 chroma_array_type;
|
guint8 chroma_array_type;
|
||||||
gint width, height;
|
gint width, height;
|
||||||
|
gint crop_rect_width, crop_rect_height;
|
||||||
|
gint crop_rect_x, crop_rect_y;
|
||||||
gint fps_num, fps_den;
|
gint fps_num, fps_den;
|
||||||
gboolean valid;
|
gboolean valid;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue