IL hvs component.

New component that wraps the HVS hardware to allow for scaling, format
conversion, and alpha blending of source images.
This commit is contained in:
Dave Stevenson
2018-09-13 11:32:11 +01:00
committed by popcornmix
parent 9d5e5b56d2
commit 58f4b168d3
2 changed files with 18 additions and 1 deletions

View File

@@ -154,6 +154,14 @@ typedef enum MMAL_DISPLAYSET_T {
MMAL_DISPLAY_SET_DUMMY = 0x7FFFFFFF
} MMAL_DISPLAYSET_T;
typedef enum MMAL_DISPLAYASPECTFLAGS {
MMAL_DISPLAY_ALPHA_FLAGS_NONE = 0,
/**< Alpha values are already premultiplied */
MMAL_DISPLAY_ALPHA_FLAGS_PREMULT = 1<<30,
/**< Mix the per pixel alpha (if present) and the per plane alpha. */
MMAL_DISPLAY_ALPHA_FLAGS_MIX = 1<<31,
} MMAL_DISPLAYASPECTFLAGS_T;
/**
This config sets the output display device, as well as the region used
on the output display, any display transformation, and some flags to
@@ -214,8 +222,9 @@ typedef struct MMAL_DISPLAYREGION_T {
/** Set to non-zero to ensure copy protection is used on output.
*/
MMAL_BOOL_T copyprotect_required;
/** Level of opacity of the layer, where zero is fully transparent and
/** Bits 7-0: Level of opacity of the layer, where zero is fully transparent and
* 255 is fully opaque.
* Bits 31-8: Flags from \code MMAL_DISPLAYASPECTFLAGS_T for alpha mode selection.
*/
uint32_t alpha;
} MMAL_DISPLAYREGION_T;

View File

@@ -253,6 +253,14 @@ typedef enum OMX_DISPLAYSETTYPE {
OMX_DISPLAY_SET_DUMMY = 0x7FFFFFFF
} OMX_DISPLAYSETTYPE;
typedef enum OMX_DISPLAYASPECTFLAGSTYPE {
OMX_DISPLAY_ALPHA_FLAGS_NONE = 0,
// Alpha values are already premultiplied
OMX_DISPLAY_ALPHA_FLAGS_PREMULT = 1<<30,
// Mix the per pixel alpha (if present) and the per plane alpha.
OMX_DISPLAY_ALPHA_FLAGS_MIX = 1<<31,
} OMX_DISPLAYASPECTFLAGSTYPE;
typedef struct OMX_CONFIG_DISPLAYREGIONTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;