Hi,
/**
\brief OSD channel - window parameters
Specifies OSD parameters that can be changed dynamically
on a per channel basis
See structure/field details for restrictions applicable for DM810x platform.
*/
typedef struct AlgLink_OsdChWinParams
{
UInt32 chId;
/**< OSD channel number.
Valid values: 0 .. \ref ALG_LINK_OSD_MAX_CH-1
*/
UInt32 numWindows;
/**< Number of OSD windows for this channel.
Valid values: 0.. \ref ALG_LINK_OSD_MAX_WINDOWS
*/
AlgLink_OsdWindowPrm winPrm[ALG_LINK_OSD_MAX_WINDOWS];
/**< OSD window parameters */
UInt32 colorKey[3];
/**< Color key for Y, U, V.
This is used when AlgLink_OsdWindowPrm.transperencyEnable = TRUE
colorKey[0] = Y,
colorKey[1] = U,
colorKey[2] = V,
*/
} AlgLink_OsdChWinParams;
Firstly, I am using DVRRDK3.0 with DM8168EVM.
At my usecase, it only has one video channel encode and i want to set two osd windows at this video channel before encoding.(Note: osd use yuv420sp)
With different from OSD Demo Usecase, i didn't use two wins parameters to achieve two osd windows, such as "chId = 0; win[0], win[1];" and i want to use two chId to achieve two osd windows, such as "chId = 0, win[0]; chId = 1, win[0]".
However, one can overlay sucessfully,the other is not useful. Following is OSD parameters of the detailed information:
the first osd parameter
==>0.chId[0]
==>0.numWindows[1]
==>0.color[255, 255, 255]
==>1.startX[20]
==>2.startY[20]
==>3.width[512]
==>4.height[256]
==>5.lineOffset[512]
==>6.globalAlpha[128]
==>7.transperencyEnable[1]
==>8.enableWin[1]
the second osd parameter
==>0.chId[1]
==>0.numWindows[1]
==>0.color[255, 255, 255]
==>1.startX[20]
==>2.startY[384]
==>3.width[1024]
==>4.height[128]
==>5.lineOffset[1024]
==>6.globalAlpha[128]
==>7.transperencyEnable[1]
==>8.enableWin[1]
So,
Why?Is it something wrong?
What does chId mean? doest it mean that one Osd channel equal to one video channel?