δΊ 2011-7-8 8:05, Kevin O'Connor ει:
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<[email protected]>
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.
thanks, agree that -menu would be enough.
[...]
+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);
}
changed, now code become more simple.
[...]
@@ -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().
changed.
-Kevin
--
Best Regards
Wayne Xia
mail:[email protected]
tel:86-010-82450803
_______________________________________________
SeaBIOS mailing list
[email protected]
http://www.seabios.org/mailman/listinfo/seabios