This protocol provides generic image decoder interfaces to various image formats.\r
\r
(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>\r
+ Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>\r
\r
This program and the accompanying materials are licensed and made available under\r
the terms and conditions of the BSD License that accompanies this distribution.\r
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
\r
**/\r
-#ifndef __EFI_IMAGE_DECODER_PROTOCOL_H__\r
-#define __EFI_IMAGE_DECODER_PROTOCOL_H__\r
+#ifndef __HII_IMAGE_DECODER_H__\r
+#define __HII_IMAGE_DECODER_H__\r
\r
#include <Protocol/HiiImage.h>\r
\r
-\r
-//\r
-// In UEFI 2.6 spec,this guid value is duplicate with\r
-// EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_GUID. Now update this guid value to\r
-// avoid the duplicate guid issue. So its value is not consistent with\r
-// UEFI spec definition now. We have proposed to update UEFI spec to\r
-// use this new guid. After new spec released, we will remove this\r
-// comments.\r
-//\r
#define EFI_HII_IMAGE_DECODER_PROTOCOL_GUID \\r
{0x9e66f251, 0x727c, 0x418c, { 0xbf, 0xd6, 0xc2, 0xb4, 0x25, 0x28, 0x18, 0xea }}\r
\r
UINT8 ColorDepthInBits;\r
} EFI_HII_IMAGE_DECODER_IMAGE_INFO_HEADER;\r
\r
+#define EFI_IMAGE_JPEG_SCANTYPE_PROGREESSIVE 0x01\r
+#define EFI_IMAGE_JPEG_SCANTYPE_INTERLACED 0x02\r
+\r
//\r
// EFI_HII_IMAGE_DECODER_JPEG_INFO\r
// Header The common header\r
//\r
typedef struct _EFI_HII_IMAGE_DECODER_JPEG_INFO {\r
EFI_HII_IMAGE_DECODER_IMAGE_INFO_HEADER Header;\r
-\r
-#define EFI_IMAGE_JPEG_SCANTYPE_PROGREESSIVE 0x01\r
-#define EFI_IMAGE_JPEG_SCANTYPE_INTERLACED 0x02\r
UINT16 ScanType;\r
UINT64 Reserved;\r
} EFI_HII_IMAGE_DECODER_JPEG_INFO;\r
UINT64 Reserved;\r
} EFI_HII_IMAGE_DECODER_PNG_INFO;\r
\r
+//\r
+// EFI_HII_IMAGE_DECODER_OTHER_INFO\r
+//\r
+typedef struct _EFI_HII_IMAGE_DECODER_OTHER_INFO {\r
+ EFI_HII_IMAGE_DECODER_IMAGE_INFO_HEADER Header;\r
+ CHAR16 ImageExtenion[1];\r
+ //\r
+ // Variable length of image file extension name.\r
+ //\r
+} EFI_HII_IMAGE_DECODER_OTHER_INFO;\r
+\r
/**\r
There could be more than one EFI_HII_IMAGE_DECODER_PROTOCOL instances installed\r
in the system for different image formats. This function returns the decoder\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_HII_IMAGE_DECODER_GET_DECODER_NAME)(\r
+(EFIAPI *EFI_HII_IMAGE_DECODER_GET_NAME)(\r
IN EFI_HII_IMAGE_DECODER_PROTOCOL *This,\r
IN OUT EFI_GUID **DecoderName,\r
- IN OUT UINT16 *NumberofDecoderName\r
+ IN OUT UINT16 *NumberOfDecoderName\r
);\r
\r
/**\r
@param This EFI_HII_IMAGE_DECODER_PROTOCOL instance.\r
@param Image Pointer to the image raw data.\r
@param SizeOfImage Size of the entire image raw data.\r
- @param ImageInfo Pointer to recieve EFI_HII_IMAGE_DECODER_IMAGE_INFO_HEADER.\r
+ @param ImageInfo Pointer to receive EFI_HII_IMAGE_DECODER_IMAGE_INFO_HEADER.\r
\r
@retval EFI_SUCCESS Get image info success.\r
@retval EFI_UNSUPPORTED Unsupported format of image.\r
IN EFI_HII_IMAGE_DECODER_PROTOCOL *This,\r
IN VOID *Image,\r
IN UINTN ImageRawDataSize,\r
- IN OUT EFI_IMAGE_OUTPUT **BitMap OPTIONAL,\r
+ IN OUT EFI_IMAGE_OUTPUT **Bitmap,\r
IN BOOLEAN Transparent\r
);\r
\r
struct _EFI_HII_IMAGE_DECODER_PROTOCOL {\r
- EFI_HII_IMAGE_DECODER_GET_DECODER_NAME GetImageDecoderName;\r
+ EFI_HII_IMAGE_DECODER_GET_NAME GetImageDecoderName;\r
EFI_HII_IMAGE_DECODER_GET_IMAGE_INFO GetImageInfo;\r
EFI_HII_IMAGE_DECODER_DECODE DecodeImage;\r
};\r