On Thu, Jul 07, 2011 at 05:38:09PM +0800, Wayne Xia wrote:
added an option to let seabios show BMP file as a logo.
Signed-off-by: Wayne Xia xiawenc@linux.vnet.ibm.com
Thanks. As before, I'm okay with patch 1 and 2 and if there are no other comments I'll commit them.
I don't see the need for patch 3 - if someone wants to show a bootsplash they can pass in "menu=on" or QEmu can imply "menu=on" when a bootsplash is requested.
[...]
+static void raw_data_format_adjust_24bpp(u8 *src, u8 *dest, int width,
int height, int bytes_per_line_dest)
+{
- int cy = height;
- u8 *pd, *ps, *pd_valid, *ps_lastline;
- int bytes_per_line_src = 3 * width;
- while (cy > 0) {
ps = bytes_per_line_src*cy + src - 1;
/* verical line sequence reverse */
pd = bytes_per_line_dest * (height - cy + 1) + dest - 1;
ps_lastline = ps - bytes_per_line_src;
pd_valid = pd - (bytes_per_line_dest - bytes_per_line_src);
while (pd > pd_valid) {
*(pd--) = 0;
}
while (ps > ps_lastline) {
*(pd--) = *(ps--);
}
cy--;
- }
+}
Can't this be written as:
static void raw_data_format_adjust_24bpp(u8 *src, u8 *dest, int width, int height, int bytes_per_line_dest) { int bytes_per_line_src = 3 * width; int i; for (i=0; i<height; i++) memcpy(&dest[(height - i - 1) * bytes_per_line_dest] , &src[i * bytes_per_line_src] , bytes_per_line_src); }
[...]
@@ -241,7 +293,10 @@ done: free(picture); free(vesa_info); free(mode_info);
- free(jpeg);
- if (jpeg != NULL)
free(jpeg);
- if (bmp != NULL)
free(bmp);
Minor nit - free() is defined to check for NULL, so it is safe to just unconditionally call free().
-Kevin