Hi,
I am trying to enable transparency on the FBDev graphics device modifying saLoopBackFbDev sample.
I am capturing my PC screen via component in IO card of EVM8168. And trying to make "red window" transparent so I could see movie running via OMX behind that
I have added and run following function and call it before doing actual display :
static void enable_transparency(int fbdev_fd)
{
struct ti81xxfb_region_params regp;
__u32 key_rgb888=((0xFF << 16) | (0x00 << 8) | (0x00)); /*RGB888 format*/
if (ioctl(fbdev_fd, TIFB_GET_PARAMS, ®p) < 0) { perror("TIFB_GET_PARAMS\n");
exit(1); }
/* Enable the Transparency Keying */
regp.transen = TI81XXFB_FEATURE_ENABLE;
regp.transcolor = key_rgb888;
regp.transtype= TI81XXFB_TRANSP_LSBMASK_NO;
if (ioctl(fbdev_fd,TIFB_SET_PARAMS, ®p) < 0) {
perror ("TIFB_SET_PARAMS.\n");
exit(1);
}
if (ioctl(fbdev_fd, TIFB_GET_PARAMS, ®p) < 0) { perror("TIFB_GET_PARAMS\n");};
printf("Transparency = %d %x %d\n", regp.transen,regp.transcolor,regp.transtype);
}
The problem is that seems like the transparency setting is not applied at all.
What should be value for transcolor to make "0xFF0000" transparent for example ?
Thank You,
Vladik