色彩调整
ArtInChip 平台显示引擎支持色彩调整,当前 Luban-LiteSDK 仅支持 Video 图层进行色彩调整。
通过调整亮度,对比度,饱和度,色调等属性,可以使同一张图片或一段视频呈现不同的显示效果。
配置
- ioctl
// bsp/artinchip/include/uapi/artinchip_fb.h /* * struct aicfb_disp_prop - aicfb display property * * @bright: bright in percent, range [0, 100], 50 means no effect * @contrast: contrast in percent, range [0, 100], 50 means no effect * @saturation: saturation in percent, range [0, 100], 50 means no effect * @hue: hue in percent, range [0, 100], 50 means no effect */ struct aicfb_disp_prop { unsigned int bright; unsigned int contrast; unsigned int saturation; unsigned int hue; }; /** set display property */ #define AICFB_SET_DISP_PROP _IOW(IOC_TYPE_FB, 0x60, struct aicfb_disp_prop) /** get display property */ #define AICFB_GET_DISP_PROP _IOR(IOC_TYPE_FB, 0x61, struct aicfb_disp_prop)
-
bright:显示亮度,[0, 100], 缺省等于 50,50 表示不调节亮度。
-
contrast:显示对比度,[0, 100], 缺省等于 50,50 表示不调节对比度。
-
saturation:显示饱和度,[0, 100], 缺省等于 50,50 表示不调节饱和度。
-
hue:显示色调,[0, 100], 缺省等于 50,50 表示不调节色调。
-
Video 图层调色
Video 图层的色彩调整较为简单,通过下放 ioctl AICFB_SET_DISP_PROP
和
AICFB_GET_DISP_PROP
即可调整 Video 图层的显示效果。
如果希望只使能 Video 图层调色,禁用 UI 图层调色,不需要配置 device tree,应用程序向底层下放 ioctl 即可。在 device tree 中配置色彩调整参数后,显示驱动会同时使能 UI 和 Video 图层的色彩调整功能。