(<aclass="code"href="xosd__hw_8h.html#a5d6b91c6ac72faf3a38044153f373d4">XOSD_CTL_OFFSET</a>))) & (~(<aclass="code"href="xosd__hw_8h.html#f80d798ea9734a4c56e7c03c1b2b3b01">XOSD_CTL_EN_MASK</a>))))
</pre></div>This function macro disables an OSD core.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on.</td></tr>
</pre></div>This function macro enables an OSD core.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on.</td></tr>
This macro resets the OSD core at the end of the frame being processed. It enables core automatically synchronizes to the SOF of the core to prevent image tearing. This function macro is differ from <aclass="el"href="xosd_8h.html#2ccc3d88129121707113a37dd1a7dea8">XOsd_Reset()</a>.<p>
On the next rising-edge of SOF following a call to <aclass="el"href="xosd_8h.html#3a758a90dded736022ab70e7c0be8796">XOsd_SyncReset()</a>, all of the core's configuration registers and outputs will be reset, then the reset flag will be immediately released, allowing the core to immediately resume default operation.
(<aclass="code"href="xosd__hw_8h.html#ee8b66db164a6929f9d75c1e75b6c4f7">XOSD_STATUS_OFFSET</a>), ((IntrType) & (<aclass="code"href="xosd__hw_8h.html#f0bcfced7a4f1a3f6069c73002ccb9aa">XOSD_IXR_ALLINTR_MASK</a>)))
</pre></div>This function macro clears/acknowledges pending interrupts of the OSD core.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>IntrType</em> </td><td>is the pending interrupts to clear/acknowledge. Use OR'ing of XOSD_IXR_*_MASK constants defined in <aclass="el"href="xosd__hw_8h.html">xosd_hw.h</a> to create this parameter value.</td></tr>
</pre></div>This function macro disables the given individual interrupt(s) on the OSD core.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>IntrType</em> </td><td>is the bit-mask of the interrupts to be enabled. Bit positions of 1 will be disabled. Bit positions of 0 will keep the previous setting.This mask is formed by OR'ing of XOSD_IXR_*_MASK bits defined in <aclass="el"href="xosd__hw_8h.html">xosd_hw.h</a>.</td></tr>
<dlcompact><dt><b>Note:</b></dt><dd>Any other interrupt not covered by parameter IntrType, if enabled before this macro is called, will remain enabled. C-style signature: void <aclass="el"href="xosd_8h.html#53d9596240b76f8887fd519518f21e82">XOsd_IntrDisable(XOsd *InstancePtr, u32 IntrType)</a></dd></dl>
</pre></div>This function macro enables the given individual interrupt(s) on the OSD core.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>IntrType</em> </td><td>is the bit-mask of the interrupts to be enabled. Bit positions of 1 will be enabled. Bit positions of 0 will keep the previous setting.This mask is formed by OR'ing of XOSD_IXR_*_MASK bits defined in <aclass="el"href="xosd__hw_8h.html">xosd_hw.h</a>.</td></tr>
<b>Value:</b><divclass="fragment"><preclass="fragment"><aclass="code"href="xosd__hw_8h.html#09c0fe42f0cb0fe4a84e84acb6d548f3">XOsd_ReadReg</a>((InstancePtr)->Config.BaseAddress, (<aclass="code"href="xosd__hw_8h.html#f99a287707b01d05bb7ad6aadbe7d328">XOSD_IER_OFFSET</a>)) & \
(<aclass="code"href="xosd__hw_8h.html#ee8b66db164a6929f9d75c1e75b6c4f7">XOSD_STATUS_OFFSET</a>))) & (<aclass="code"href="xosd__hw_8h.html#f0bcfced7a4f1a3f6069c73002ccb9aa">XOSD_IXR_ALLINTR_MASK</a>)
</pre></div>This function macro returns the pending interrupts of the OSD core.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on.</td></tr>
</table>
</dl>
<dlcompact><dt><b>Returns:</b></dt><dd>The pending interrupts of the OSD core. Use XOSD_IXR_*_MASK constants defined in <aclass="el"href="xosd__hw_8h.html">xosd_hw.h</a> to interpret this value.</dd></dl>
(<aclass="code"href="xosd__hw_8h.html#a5d6b91c6ac72faf3a38044153f373d4">XOSD_CTL_OFFSET</a>))) & (~(<aclass="code"href="xosd__hw_8h.html#75f6be92e492fb0a76e9f530939467af">XOSD_CTL_RUE_MASK</a>))))
</pre></div>This function macro prevents the OSD core from committing recent changes made so far by the software. When disabled, changes to other configuration registers are stored, but do not effect the behavior of the core.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on.</td></tr>
</pre></div>This function macro commits all the register value changes made so far by the software to the OSD core instance.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on.</td></tr>
</pre></div>This function macro resets an OSD core This effects the core immediately, and may cause image tearing.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on.</td></tr>
<dlcompact><dt><b>Note:</b></dt><dd>C-style signature: void <aclass="el"href="xosd_8h.html#2ccc3d88129121707113a37dd1a7dea8">XOsd_Reset(XOsd *InstancePtr)</a> This bit automatically clears when reset complete. </dd></dl>
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on.</td></tr>
(<aclass="code"href="xosd__hw_8h.html#ee8b66db164a6929f9d75c1e75b6c4f7">XOSD_STATUS_OFFSET</a>)) & (<aclass="code"href="xosd__hw_8h.html#f0bcfced7a4f1a3f6069c73002ccb9aa">XOSD_IXR_ALLINTR_MASK</a>)
</pre></div>This function macro returns the pending status of the OSD core.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on.</td></tr>
</table>
</dl>
<dlcompact><dt><b>Returns:</b></dt><dd>The pending interrupts of the OSD. Use XOSD_IXR_* constants defined in <aclass="el"href="xosd__hw_8h.html">xosd_hw.h</a> to interpret this value.</dd></dl>
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on.</td></tr>
</pre></div>This function macro resets a OSD core at the end of the frame being processed. It enables core automatically synchronizes to the SOF of the core to prevent image tearing. This function macro is differ from <aclass="el"href="xosd_8h.html#2ccc3d88129121707113a37dd1a7dea8">XOsd_Reset()</a>.<p>
On the next rising-edge of SOF following a call to <aclass="el"href="xosd_8h.html#3a758a90dded736022ab70e7c0be8796">XOsd_SyncReset()</a>, all of the core's configuration registers and outputs will be reset, then the reset flag will be immediately released, allowing the core to immediately resume default operation.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on.</td></tr>
<dlcompact><dt><b>Note:</b></dt><dd>C-style signature: void <aclass="el"href="xosd_8h.html#3a758a90dded736022ab70e7c0be8796">XOsd_SyncReset(XOsd *InstancePtr)</a> This bit automatically clears when reset complete. </dd></dl>
This function callback type for all interrupts except error interrupt.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>CallBackRef</em> </td><td>is a callback reference passed in by the upper layer when setting the callback functions and passed back to the upper layer when the callback is invoked.</td></tr>
This function callback type for error interrupt.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>CallBackRef</em> </td><td>is a callback reference passed in by the upper layer when setting the callback functions, and passed back to the upper layer when the callback is invoked. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>ErrorMask</em> </td><td>is a bit mask indicating the cause of the error. Its value equals 'OR'ing one or more XOSD_IXR_* values defined in <aclass="el"href="xosd__hw_8h.html">xosd_hw.h</a>.</td></tr>
This function initializes an OSD core. This function must be called prior to using an OSD core. Initialization of an OSD includes setting up the instance data and ensuring the hardware is in a quiescent state.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>CfgPtr</em> </td><td>points to the configuration structure associated with the OSD core. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>EffectiveAddr</em> </td><td>is the base address of the core. If address translation is being used, then this parameter must reflect the virtual base address. Otherwise, the physical address should be used.</td></tr>
</table>
</dl>
<dlcompact><dt><b>Returns:</b></dt><dd>- XST_SUCCESS if XOsd_CfgInitialize was successful.</dd></dl>
This function creates an instruction for the OSD core.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>InstructionPtr</em> </td><td>is a pointer to the instruction buffer to be populated with the instruction to be created. The upper level application is responsible for allocating this instruction buffer. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>GcIndex</em> </td><td>indicates the Graphics Controller that will consume the instruction. Valid value range is from 0 to (The Number of Layers) - 1. The layer's type must be set to XOSD_LAYER_TYPE_GPU (defined in <aclass="el"href="xosd__hw_8h.html">xosd_hw.h</a>) for this function to work properly. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>ObjType</em> </td><td>indicates the type of object to draw. Use one of XOSD_INS_OPCODE_* constants defined in <aclass="el"href="xosd__hw_8h.html">xosd_hw.h</a>. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>ObjSize</em> </td><td>indicates line width of boxes and lines and the text scale factor for text boxes. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>XStart</em> </td><td>indicates the horizontal start pixel of the Object. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>YStart</em> </td><td>indicates the vertical start line of the Object. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>XEnd</em> </td><td>indicates the horizontal end pixel of the Object. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>YEnd</em> </td><td>indicates the vertical end line of the Object. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>TextIndex</em> </td><td>indicates the string index. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>ColorIndex</em> </td><td>indicates the color index.</td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>LayerIndex</em> </td><td>indicates which layer to be worked on. Valid value range is from 0 to (the number of layers implemented in the core - 1).</td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>LayerIndex</em> </td><td>indicates which layer to be worked on. Valid value range is from 0 to (the number of layers implemented in the core - 1).</td></tr>
This function gets the screen size of the OSD Output.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>WidthPtr</em> </td><td>will point to the width of the OSD output after this function returns. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>HeightPtr</em> </td><td>will point to the height of the OSD output after this function returns.</td></tr>
This function gets the background color used by the OSD output.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>RedPtr</em> </td><td>will point to the red value used in the background color after this function returns. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>BluePtr</em> </td><td>will point to the blue value used in the background color after this function returns. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>GreenPtr</em> </td><td>will point to the green value used in the background color after this function returns.</td></tr>
This function gets the alpha value and mode of an OSD layer.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>LayerIndex</em> </td><td>indicates which layer to be worked on. Valid value range is from 0 to (the number of layers implemented in the core - 1). </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>GlobalAlphaEnablePtr</em> </td><td>will point to a flag indicating whether the global alpha is enabled on a layer after this function returns. Flag 1 indicates that the global alpha is enabled, 0 indicates that it is not. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>GlobalAlphaValuePtr</em> </td><td>will point to the transparent level after this function returns. 0 for 100% transparent, 255 (8bit) for 0% transparent (100% opaque).</td></tr>
This function gets the start position and size of an OSD layer.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>LayerIndex</em> </td><td>indicates which layer to be worked on. Valid value range is from 0 to (the number of layers implemented in the core - 1). </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>XStartPtr</em> </td><td>will point to the horizontal start pixel value of origin of the layer after this function returns. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>YStartPtr</em> </td><td>will point to the vertical start line of origin of the layer after this function returns. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>XSizePtr</em> </td><td>will point to the horizontal size value of the layer after this function returns. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>YSizePtr</em> </td><td>will point to the vertical size value of the layer after this function returns.</td></tr>
This function gets the priority of an OSD layer.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>LayerIndex</em> </td><td>indicates which layer to be worked on. Valid value range is from 0 to (the number of layers implemented in the core - 1). </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>PriorityPtr</em> </td><td>will point to the priority used on the layer after this function returns. Use one of XOSD_LAYER_PRIORITY_0 (the lowest priority) through XOSD_LAYER_PRIORITY_7 (the highest priority) defined in <aclass="el"href="xosd__hw_8h.html">xosd_hw.h</a> to interpret the value.</td></tr>
This function returns the Version of the OSD core.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on.</td></tr>
</table>
</dl>
<dlcompact><dt><b>Returns:</b></dt><dd>Contents of the Version register.</dd></dl>
This function is the interrupt handler for the On-Screen-Display driver.<p>
This handler reads the pending interrupt from the IER/ISR, determines the source of the interrupts, calls according callbacks, and finally clears the interrupts.<p>
The application is responsible for connecting this function to the interrupt system. Application beyond this driver is also responsible for providing callbacks to handle interrupts and installing the callbacks using <aclass="el"href="xosd_8h.html#3d389873d919422ef5f5d56592659481">XOsd_SetCallBack()</a> during initialization phase.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance that just interrupted.</td></tr>
This function loads character set data (font) into an OSD Graphics Controller bank.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>GcIndex</em> </td><td>indicates which Graphics Controller to work on. Valid value range is from 0 to (The Number of Layers) - 1. The layer's type must be set to XOSD_LAYER_TYPE_GPU (defined in <aclass="el"href="xosd__hw_8h.html">xosd_hw.h</a>) for this function to work properly. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>BankIndex</em> </td><td>indicates which GC bank to be worked on. Valid value range is from 0 to XOSD_GC_BANK_NUM - 1. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>CharSetData</em> </td><td>points to the character set data to be loaded.</td></tr>
This function loads color look up table data into an OSD Graphics Controller bank.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>GcIndex</em> </td><td>indicates which Graphics Controller to work on. Valid value range is from 0 to (The Number of Layers) - 1. The layer's type must be set to XOSD_LAYER_TYPE_GPU (defined in <aclass="el"href="xosd__hw_8h.html">xosd_hw.h</a>) for this function to work properly. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>BankIndex</em> </td><td>indicates which GC Bank to be worked on. Valid value range is from 0 to XOSD_GC_BANK_NUM - 1. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>ColorData</em> </td><td>points to the color LUT data to be loaded.</td></tr>
This function load an instruction list to be used by an Graphic Controller in the OSD core.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>GcIndex</em> </td><td>indicates which Graphics Controller to work on. Valid value range is from 0 to (The Number of Layers) - 1. The layer's type must be set to XOSD_LAYER_TYPE_GPU (defined in <aclass="el"href="xosd__hw_8h.html">xosd_hw.h</a>) for this function to work properly. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>BankIndex</em> </td><td>indicates which GC Bank to be worked on. Valid value range is from 0 to XOSD_GC_BANK_NUM. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>InstSetPtr</em> </td><td>is a pointer to the start of the instruction list to load into the OSD core. The last instruction in the list must has XOSD_INS_OPCODE_END type. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>InstNum</em> </td><td>indicates the number of the instructions in the list to load. Valid value range is from 1 to the half of the size of the instruction memory created for the Graphic Controller.</td></tr>
This function loads text data into an OSD Graphics Controller bank.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>GcIndex</em> </td><td>indicates which Graphics Controller to work on. Valid value range is from 0 to (The Number of Layers) - 1. The layer's type must be set to XOSD_LAYER_TYPE_GPU (defined in <aclass="el"href="xosd__hw_8h.html">xosd_hw.h</a>) for this function to work properly. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>BankIndex</em> </td><td>indicates which GC bank to be worked on. Valid value range is from 0 to XOSD_GC_BANK_NUM - 1. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>TextData</em> </td><td>points to the text data to be loaded.</td></tr>
This function gets a reference to an <aclass="el"href="struct_x_osd___config.html">XOsd_Config</a> structure based on the unique device id, <em>DeviceId</em>. The return value will refer to an entry in the core configuration table defined in the <aclass="el"href="xosd__g_8c.html">xosd_g.c</a> file.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>DeviceId</em> </td><td>is the unique core ID of the OSD core for the lookup operation.</td></tr>
</table>
</dl>
<dlcompact><dt><b>Returns:</b></dt><dd><aclass="el"href="struct_x_osd___config.html">XOsd_Config</a> is a reference to a config record in the configuration table (in <aclass="el"href="xosd__g_8c.html">xosd_g.c</a>) corresponding to <em>DeviceId</em> or NULL if no match is found.</dd></dl>
This function reads Version register of OSD core and compares with zero as part of self test.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance.</td></tr>
</table>
</dl>
<dlcompact><dt><b>Returns:</b></dt><dd>- XST_SUCCESS if the Version register read test was successful.<ul>
<li>XST_FAILURE if the Version register read test failed.</li></ul>
This function chooses active banks for a GC in the OSD core.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>GcIndex</em> </td><td>indicates which Graphics Controller to work on. Valid value range is from 0 to (The Number of Layers) - 1. The layer's type must be set to XOSD_LAYER_TYPE_GPU (defined in <aclass="el"href="xosd__hw_8h.html">xosd_hw.h</a>) for this function to work properly. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>ColorBankIndex</em> </td><td>indicates the color LUT bank to be choose as active. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>CharBankIndex</em> </td><td>indicates the character set bank to be chosen as active. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>TextBankIndex</em> </td><td>indicates the text data bank to be chosen as active. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>InstructionBankIndex</em> </td><td>indicates the instruction bank to be chosen as active.</td></tr>
This function sets the screen size of the OSD Output.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>Width</em> </td><td>defines the width of the OSD output. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>Height</em> </td><td>defines the height of the OSD output.</td></tr>
This function sets the background color used by the OSD output.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>Red</em> </td><td>indicates the red value to be used in the background color. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>Blue</em> </td><td>indicates the blue value to be used in the background color. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>Green</em> </td><td>indicates the green value to be used in the background color.</td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>HandlerType</em> </td><td>specifies which callback is to be attached. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>CallBackFunc</em> </td><td>is the address of the callback function. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>CallBackRef</em> </td><td>is a user data item that will be passed to the callback function when it is invoked.</td></tr>
</table>
</dl>
<dlcompact><dt><b>Returns:</b></dt><dd>- XST_SUCCESS when handler is installed.<ul>
<li>XST_INVALID_PARAM when HandlerType is invalid.</li></ul>
</dd></dl>
<dlcompact><dt><b>Note:</b></dt><dd>Invoking this function for a handler that already has been installed replaces it with the new handler. </dd></dl>
This function sets the alpha value and mode of an OSD layer.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>LayerIndex</em> </td><td>indicates which layer to be worked on. Valid value range is from 0 to (the number of layers implemented in the core - 1). </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>GlobalAlphaEnable</em> </td><td>indicates whether to enable the global alpha. Use any non-0 value to enable the global alpha, and 0 to disable it. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>GlobalAlphaValue</em> </td><td>indicates the transparent level. 0 for 100% transparent, 255 (8bit) for 0% transparent (100% opaque). This argument will be ignored if parameter GlobalAlphaEnble has value 0.</td></tr>
This function sets the start position and size of an OSD layer.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>LayerIndex</em> </td><td>indicates which layer to be worked on. Valid value range is from 0 to (the number of layers implemented in the core - 1). </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>XStart</em> </td><td>indicates the horizontal start pixel of origin of the layer. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>YStart</em> </td><td>indicates the vertical start line of origin of the layer. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>XSize</em> </td><td>indicates the horizontal size of the layer. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>YSize</em> </td><td>indicates the vertical size of the layer.</td></tr>
This function sets the priority of an OSD layer.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_osd.html">XOsd</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>LayerIndex</em> </td><td>indicates which layer to be worked on. Valid value range is from 0 to (the number of layers implemented in the core - 1). </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>Priority</em> </td><td>indicates the priority to be applied on the layer. Use one of XOSD_LAYER_PRIORITY_0 (the lowest priority) through XOSD_LAYER_PRIORITY_7 (the highest priority) defined in <aclass="el"href="xosd__hw_8h.html">xosd_hw.h</a>.</td></tr>