
Hi,
From: Patrice CHOTARD patrice.chotard@st.com Sent: mercredi 20 novembre 2019 11:44
In case the panel_size is smaller than picture_size, we must insure that panel_picture_delta stores the absolute value of difference between panel_size and picture_size.
Signed-off-by: Patrice Chotard patrice.chotard@st.com CC: Yannick Fertré yannick.fertre@st.com
drivers/video/video_bmp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/video_bmp.c b/drivers/video/video_bmp.c index 193f37d275..dc6258ce78 100644 --- a/drivers/video/video_bmp.c +++ b/drivers/video/video_bmp.c @@ -157,7 +157,7 @@ __weak void fb_put_word(uchar **fb, uchar **from) static void video_splash_align_axis(int *axis, unsigned long panel_size, unsigned long picture_size) {
- unsigned long panel_picture_delta = panel_size - picture_size;
- unsigned long panel_picture_delta = abs(panel_size - picture_size);
I think this patch cause alignment issue if picture_size > panel_size. (not alligne a the left/up corner).
I think it is beeter to change type:
+ long panel_picture_delta = panel_size - picture_size;
As value is cropped to 0 in the next lines:
*axis = max(0, (int)axis_alignment);
unsigned long axis_alignment;
if (*axis == BMP_ALIGN_CENTER)
2.17.1
Regards
Patrick