<html>
<head>
   <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
   OSD_V4_0
</title>
<link href="$DriverApiDocsCssPath" rel="stylesheet" type="text/css">
</head>
<h3 class="PageHeader">Xilinx Processor IP Library</h3>
<hl>Software Drivers</hl>
<hr class="whs1">
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
  <ul>
    <li id="current"><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="annotated.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
  </ul></div>
<h1>OSD_V4_0</h1>
<p>
This is main header file of the Xilinx On-Screen-Display (OSD) core.<p>
An OSD is an image superimposed on a screen picture, commonly used by modern televisions, VCRs, and DVD players to display information such as volume, channel, and time.<p>
Xilinx OSD core has the following main features:<p>
<ul>
<li>Read Video Data from one of three sources as<ul>
<li>VFBC/Frame Buffer,</li><li>VideoBus and</li><li>Graphics Controller.</li></ul>
</li><li>Alpha Compositing and Alpha Blending of up to 8 layers.</li><li>Up to 8 priorities, one for each of the layers.</li><li>Real-Time Graphics Controller.</li><li>Write Composited Video Data to either<ul>
<li>VFBC/Frame Buffer, or</li><li>VideoBus.</li></ul>
</li></ul>
<p>
For a full description of OSD features, please see the hardware spec.<p>
<b>Interrupt Service </b><p>
Three interrupt types are supported:<p>
<ul>
<li>Processing Start Interrupt</li><li>Frame Done Interrupt</li><li>Error Interrupt</li></ul>
<p>
<b>Software Initialization </b><p>
Please follow the example provided with this driver for the steps to use this driver.<p>
<b>Cache Coherency</b><p>
<b>Alignment</b><p>
<b>Limitations</b><p>
<b>BUS Interface</b><p>
<pre>
 MODIFICATION HISTORY:</pre><p>
<pre> Ver   Who    Date     Changes
 ----- ------ -------- -------------------------------------------------------
 1.00a xd     08/18/08 First release
 1.01a xd     07/30/10 Added device version support; Supported Doxygen; Fixed
                       CR #534952
 1.02a xd     12/21/10 Removed endian conversion for text bank loading
 1.03a cm     09/07/11 Updated <a class="el" href="xosd_8h.html#2a67a46ae0104fc4b535132712373af3">XOSD_GetLayerAlpha()</a>, <a class="el" href="xosd_8h.html#ef46b612cd386ed228c3c0a3e3bf6053">XOSD_SetLayerAlpha()</a>,
                       <a class="el" href="xosd_8h.html#b75648c4056fffb987ca7212b01b6283">XOSD_SetBackgroundColor()</a> and <a class="el" href="xosd_8h.html#8f3a37588eb6ed247c4f868917b8ac97">XOSD_GetBackgroundColor()</a>
                       to allow 10 and 12 bit alpha and background colors.
 2.00a cjm    12/18/12 Converted from xio.h to xil_io.h, translating
                       basic types, MB cache functions, exceptions and
                       assertions to xil_io format.
 3.0   adk    19/12/13 Updated as per the New Tcl API's.
 4.0   adk    02/18/14 Converted defined macros to enum types.
                       Removed interrupt types XOSD_HANDLER_VBISTART and
                       XOSD_HANDLER_VBIEND.
                       Added interrupt type: XOSD_HANDLER_PROCSTART.
                       Renamed the following function macros:
                       XOSD_Enable -&gt; XOsd_Enable,
                       XOSD_Disable -&gt; XOsd_Disable,
                       XOSD_RegUpdateEnable -&gt; XOsd_RegUpdateEnable,
                       XOSD_RegUpdateDisable -&gt; XOsd_RegUpdateDisable,
                       XOSD_Reset -&gt; XOsd_Reset,
                       XOSD_IntrEnable -&gt; XOsd_IntrEnable,
                       XOSD_IntrDisable -&gt; XOsd_IntrDisable,
                       XOSD_IntrGetPending -&gt; XOsd_IntrGetPending,
                       XOSD_IntrClear -&gt; XOsd_IntrClear.</pre><p>
<pre>                       Added the following function macros:
                       XOsd_SyncReset, XOsd_StatusGetPending, XOsd_FSyncReset.</pre><p>
<pre>                       Removed the following function macros:
                       XOSD_IntrEnableGlobal, XOSD_IntrDisableGlobal.</pre><p>
<pre>                       Renamed S_AXIS_VIDEO_DATA_WIDTH -&gt;
                                                      SlaveAxisVideoDataWidth.
                       Removed struct members from core structure:
                       VbiStartCallBack, VbiStartRef, VbiEndCallBack,
                       VbiEndRef.</pre><p>
<pre>                       Added struct members in core structure:
                       ProcStartCallBack, ProcStartRef.</pre><p>
<pre>                       Added the following function prototypes:
                       XOsd_SelfTest.</pre><p>
<pre>                       Removed the following function prototypes:
                       XOSD_SetBlankPolarity.</pre><p>
<pre>                       Changes in <a class="el" href="xosd__sinit_8c.html">xosd_sinit.c</a>:
                       Renamed the following functions:
                       XOSD_LookupConfig - &gt; XOsd_LookupConfig</pre><p>
<pre>                       Changes in <a class="el" href="xosd__selftest_8c.html">xosd_selftest.c</a>:
                       Implemented the following functions:
                       XOsd_SelfTest.</pre><p>
<pre>                       Changes in <a class="el" href="xosd__intr_8c.html">xosd_intr.c</a>:
                       Renamed the following functions:
                       XOSD_IntrHandler - &gt; XOsd_IntrHandler.
                       XOSD_SetCallBack -&gt; XOsd_SetCallBack.
                       Removed the following handlers:
                       XOSD_HANDLER_VBISTART, XOSD_HANDLER_VBIEND.
                       Added new handler XOSD_HANDLER_PROCSTART.
                       Added Doxygen support, adherence to Xilinx
                       coding guidelines.</pre><p>
<pre>                       Changes in <a class="el" href="xosd__hw_8h.html">xosd_hw.h</a>:
                       Suffixed "_OFFSET" to all register offset macros.
                       Added register offsets, bit masks for the registers and
                       added backward compatibility for macros.</pre><p>
<pre>                       Removed following macros:
                       XOSD_GIER_GIE_MASK, XOSD_IXR_GAO_MASK
                       XOSD_IXR_GIE_MASK, XOSD_IXR_OOE_MASK,
                       XOSD_IXR_IUE_MASK, XOSD_IXR_VBIE_MASK,
                       XOSD_IXR_VBIS_MASK, XOSD_IXR_FE_MASK, XOSD_IXR_FD_MASK,
                       XOSD_IXR_ALLIERR_MASK.</pre><p>
<pre>                       Changes from <a class="el" href="xosd_8c.html">xosd.c</a>:
                       Renamed S_AXIS_VIDEO_DATA_WIDTH -&gt;
                                                      SlaveAxisVideoDataWidth.
                       Removed from XOsd_CfgInitialize:
                       VbiStartCallBack, VbiStartRef, VbiEndCallBack,
                       VbiEndRef.</pre><p>
<pre>                       Added in XOsd_CfgInitialize:
                       ProcStartCallBack, ProcStartRef.</pre><p>
<pre>                       Renamed the following function prototypes:
                       XOSD_CfgInitialize -&gt; XOsd_CfgInitialize,
                       XOSD_SetScreenSize -&gt; XOsd_SetActiveSize,
                       XOSD_GetScreenSize -&gt; XOsd_GetActiveSize,
                       XOSD_SetBackgroundColor -&gt; XOsd_SetBackgroundColor,
                       XOSD_GetBackgroundColor -&gt; XOSD_GetBackgroundColor,
                       XOSD_SetLayerDimension -&gt; XOsd_SetLayerDimension,
                       XOSD_GetLayerDimension -&gt; XOsd_GetLayerDimension,
                       XOSD_SetLayerAlpha -&gt; XOsd_SetLayerAlpha,
                       XOSD_GetLayerAlpha -&gt; XOsd_GetLayerAlpha,
                       XOSD_SetLayerAlpha -&gt; XOsd_SetLayerAlpha,
                       XOSD_GetLayerAlpha -&gt; XOsd_GetLayerAlpha,
                       XOSD_SetLayerPriority -&gt; XOsd_SetLayerPriority,
                       XOSD_GetLayerPriority -&gt; XOsd_GetLayerPriority,
                       XOSD_EnableLayer -&gt; XOsd_EnableLayer,
                       XOSD_DisableLayer -&gt; XOsd_DisableLayer,
                       XOSD_LoadColorLUTBank - &gt; XOsd_LoadColorLUTBank,
                       XOSD_LoadCharacterSetBank -&gt; XOsd_LoadCharacterSetBank,
                       XOSD_LoadTextBank - &gt; XOsd_LoadTextBank,
                       XOSD_SetActiveBank -&gt; XOsd_SetActiveBank,
                       XOSD_CreateInstruction -&gt; XOsd_CreateInstruction,
                       XOSD_LoadInstructionList -&gt; XOsd_LoadInstructionList,
                       XOSD_LookupConfig -&gt; XOsd_LookupConfig,
                       XOSD_IntrHandler -&gt; XOsd_IntrHandler,
                       XOSD_SetCallBack -&gt; XOsd_SetCallBack.</pre><p>
<pre>                       Changed the prototype of XOSD_GetVersion and renamed it as
                       XOsd_GetVersion</pre><p>
<pre>                       Removed the following function implementation:
                       XOSD_SetBlankPolarity.
 </pre> Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.