于 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

Reply via email to