compositor: variables in clamp_rectangle() should be signed

x/y/w/h are signed integers. As can be seen in GstCompositorPad.
The prototype for clamp_rectangle was wrong. This commit reverts the change
and fixes the prototype.

This reverts commit bca444ea4a.
This commit is contained in:
Nirbheek Chauhan 2015-08-29 16:51:08 +05:30 committed by Luis de Bethencourt
parent 536e3742aa
commit db49716c70

View file

@ -351,21 +351,21 @@ is_rectangle_contained (GstVideoRectangle rect1, GstVideoRectangle rect2)
}
static GstVideoRectangle
clamp_rectangle (guint x, guint y, guint w, guint h, guint outer_width,
clamp_rectangle (gint x, gint y, gint w, gint h, guint outer_width,
guint outer_height)
{
guint x2 = x + w;
guint y2 = y + h;
gint x2 = x + w;
gint y2 = y + h;
GstVideoRectangle clamped;
/* Clamp the x/y coordinates of this frame to the output boundaries to cover
* the case where (say, with negative xpos/ypos or w/h greater than the output
* size) the non-obscured portion of the frame could be outside the bounds of
* the video itself and hence not visible at all */
clamped.x = MIN (x, outer_width);
clamped.y = MIN (y, outer_height);
clamped.w = MIN (x2, outer_width) - clamped.x;
clamped.h = MIN (y2, outer_height) - clamped.y;
clamped.x = CLAMP (x, 0, outer_width);
clamped.y = CLAMP (y, 0, outer_height);
clamped.w = CLAMP (x2, 0, outer_width) - clamped.x;
clamped.h = CLAMP (y2, 0, outer_height) - clamped.y;
return clamped;
}