TianoCore EDK2 master
|
#include <PiDxe.h>
#include <Library/DebugLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/SafeIntLib.h>
#include <IndustryStandard/Bmp.h>
#include <Library/BmpSupportLib.h>
Go to the source code of this file.
Functions | |
RETURN_STATUS EFIAPI | TranslateBmpToGopBlt (IN VOID *BmpImage, IN UINTN BmpImageSize, IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL **GopBlt, IN OUT UINTN *GopBltSize, OUT UINTN *PixelHeight, OUT UINTN *PixelWidth) |
RETURN_STATUS EFIAPI | TranslateGopBltToBmp (IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *GopBlt, IN UINT32 PixelHeight, IN UINT32 PixelWidth, IN OUT VOID **BmpImage, IN OUT UINT32 *BmpImageSize) |
Variables | |
const BMP_IMAGE_HEADER | mBmpImageHeaderTemplate |
Provides services to convert a BMP graphics image to a GOP BLT buffer and from a GOP BLT buffer to a BMP graphics image.
Caution: This module requires additional review when modified. This module processes external input - BMP image. This external input must be validated carefully to avoid security issue such as buffer overflow, integer overflow.
TranslateBmpToGopBlt() receives untrusted input and performs basic validation.
Copyright (c) 2016-2017, Microsoft Corporation Copyright (c) 2018, Intel Corporation. All rights reserved.
All rights reserved. SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file BmpSupportLib.c.
RETURN_STATUS EFIAPI TranslateBmpToGopBlt | ( | IN VOID * | BmpImage, |
IN UINTN | BmpImageSize, | ||
IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL ** | GopBlt, | ||
IN OUT UINTN * | GopBltSize, | ||
OUT UINTN * | PixelHeight, | ||
OUT UINTN * | PixelWidth | ||
) |
Translate a *.BMP graphics image to a GOP blt buffer. If a NULL Blt buffer is passed in a GopBlt buffer will be allocated by this routine using EFI_BOOT_SERVICES.AllocatePool(). If a GopBlt buffer is passed in it will be used if it is big enough.
[in] | BmpImage | Pointer to BMP file. |
[in] | BmpImageSize | Number of bytes in BmpImage. |
[in,out] | GopBlt | Buffer containing GOP version of BmpImage. |
[in,out] | GopBltSize | Size of GopBlt in bytes. |
[out] | PixelHeight | Height of GopBlt/BmpImage in pixels. |
[out] | PixelWidth | Width of GopBlt/BmpImage in pixels. |
RETURN_SUCCESS | GopBlt and GopBltSize are returned. |
RETURN_INVALID_PARAMETER | BmpImage is NULL. |
RETURN_INVALID_PARAMETER | GopBlt is NULL. |
RETURN_INVALID_PARAMETER | GopBltSize is NULL. |
RETURN_INVALID_PARAMETER | PixelHeight is NULL. |
RETURN_INVALID_PARAMETER | PixelWidth is NULL. |
RETURN_UNSUPPORTED | BmpImage is not a valid *.BMP image. |
RETURN_BUFFER_TOO_SMALL | The passed in GopBlt buffer is not big enough. The required size is returned in GopBltSize. |
RETURN_OUT_OF_RESOURCES | The GopBlt buffer could not be allocated. |
Definition at line 80 of file BmpSupportLib.c.
RETURN_STATUS EFIAPI TranslateGopBltToBmp | ( | IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL * | GopBlt, |
IN UINT32 | PixelHeight, | ||
IN UINT32 | PixelWidth, | ||
IN OUT VOID ** | BmpImage, | ||
IN OUT UINT32 * | BmpImageSize | ||
) |
Translate a GOP blt buffer to an uncompressed 24-bit per pixel BMP graphics image. If a NULL BmpImage is passed in a BmpImage buffer will be allocated by this routine using EFI_BOOT_SERVICES.AllocatePool(). If a BmpImage buffer is passed in it will be used if it is big enough.
[in] | GopBlt | Pointer to GOP blt buffer. |
[in] | PixelHeight | Height of GopBlt/BmpImage in pixels. |
[in] | PixelWidth | Width of GopBlt/BmpImage in pixels. |
[in,out] | BmpImage | Buffer containing BMP version of GopBlt. |
[in,out] | BmpImageSize | Size of BmpImage in bytes. |
RETURN_SUCCESS | BmpImage and BmpImageSize are returned. |
RETURN_INVALID_PARAMETER | GopBlt is NULL. |
RETURN_INVALID_PARAMETER | BmpImage is NULL. |
RETURN_INVALID_PARAMETER | BmpImageSize is NULL. |
RETURN_UNSUPPORTED | GopBlt cannot be converted to a *.BMP image. |
RETURN_BUFFER_TOO_SMALL | The passed in BmpImage buffer is not big enough. The required size is returned in BmpImageSize. |
RETURN_OUT_OF_RESOURCES | The BmpImage buffer could not be allocated. |
Definition at line 461 of file BmpSupportLib.c.
const BMP_IMAGE_HEADER mBmpImageHeaderTemplate |
Definition at line 33 of file BmpSupportLib.c.