osd: Main Page

| osd Xilinx SDK Drivers API Documentation

- Overview
- Data Structures
- APIs
- File List
- Examples

osd Documentation

This is main header file of the Xilinx On-Screen-Display (OSD) core.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.

Xilinx OSD core has the following main features:

- Read Video Data from one of three sources as
  - VFBC/Frame Buffer,
  - VideoBus and
  - Graphics Controller.
- Alpha Compositing and Alpha Blending of up to 8 layers.
- Up to 8 priorities, one for each of the layers.
- Real-Time Graphics Controller.
- Write Composited Video Data to either
  - VFBC/Frame Buffer, or
  - VideoBus.

For a full description of OSD features, please see the hardware spec.

Interrupt Service

Three interrupt types are supported:

- Processing Start Interrupt
- Frame Done Interrupt
- Error Interrupt

Software Initialization

Please follow the example provided with this driver for the steps to use this driver.

Cache Coherency

Alignment

Limitations

BUS Interface

    MODIFICATION HISTORY:

    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 XOSD_GetLayerAlpha(), XOSD_SetLayerAlpha(),
                          XOSD_SetBackgroundColor() and XOSD_GetBackgroundColor()
                          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 -> XOsd_Enable,
                          XOSD_Disable -> XOsd_Disable,
                          XOSD_RegUpdateEnable -> XOsd_RegUpdateEnable,
                          XOSD_RegUpdateDisable -> XOsd_RegUpdateDisable,
                          XOSD_Reset -> XOsd_Reset,
                          XOSD_IntrEnable -> XOsd_IntrEnable,
                          XOSD_IntrDisable -> XOsd_IntrDisable,
                          XOSD_IntrGetPending -> XOsd_IntrGetPending,
                          XOSD_IntrClear -> XOsd_IntrClear.

                          Added the following function macros:
                          XOsd_SyncReset, XOsd_StatusGetPending, XOsd_FSyncReset.

                          Removed the following function macros:
                          XOSD_IntrEnableGlobal, XOSD_IntrDisableGlobal.

                          Renamed S_AXIS_VIDEO_DATA_WIDTH ->
                                                         SlaveAxisVideoDataWidth.
                          Removed struct members from core structure:
                          VbiStartCallBack, VbiStartRef, VbiEndCallBack,
                          VbiEndRef.

                          Added struct members in core structure:
                          ProcStartCallBack, ProcStartRef.

                          Added the following function prototypes:
                          XOsd_SelfTest.

                          Removed the following function prototypes:
                          XOSD_SetBlankPolarity.

                          Changes in xosd_sinit.c:
                          Renamed the following functions:
                          XOSD_LookupConfig - > XOsd_LookupConfig

                          Changes in xosd_selftest.c:
                          Implemented the following functions:
                          XOsd_SelfTest.

                          Changes in xosd_intr.c:
                          Renamed the following functions:
                          XOSD_IntrHandler - > XOsd_IntrHandler.
                          XOSD_SetCallBack -> 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.

                          Changes in xosd_hw.h:
                          Suffixed "_OFFSET" to all register offset macros.
                          Added register offsets, bit masks for the registers and
                          added backward compatibility for macros.

                          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.

                          Changes from xosd.c:
                          Renamed S_AXIS_VIDEO_DATA_WIDTH ->
                                                         SlaveAxisVideoDataWidth.
                          Removed from XOsd_CfgInitialize:
                          VbiStartCallBack, VbiStartRef, VbiEndCallBack,
                          VbiEndRef.

                          Added in XOsd_CfgInitialize:
                          ProcStartCallBack, ProcStartRef.

                          Renamed the following function prototypes:
                          XOSD_CfgInitialize -> XOsd_CfgInitialize,
                          XOSD_SetScreenSize -> XOsd_SetActiveSize,
                          XOSD_GetScreenSize -> XOsd_GetActiveSize,
                          XOSD_SetBackgroundColor -> XOsd_SetBackgroundColor,
                          XOSD_GetBackgroundColor -> XOSD_GetBackgroundColor,
                          XOSD_SetLayerDimension -> XOsd_SetLayerDimension,
                          XOSD_GetLayerDimension -> XOsd_GetLayerDimension,
                          XOSD_SetLayerAlpha -> XOsd_SetLayerAlpha,
                          XOSD_GetLayerAlpha -> XOsd_GetLayerAlpha,
                          XOSD_SetLayerAlpha -> XOsd_SetLayerAlpha,
                          XOSD_GetLayerAlpha -> XOsd_GetLayerAlpha,
                          XOSD_SetLayerPriority -> XOsd_SetLayerPriority,
                          XOSD_GetLayerPriority -> XOsd_GetLayerPriority,
                          XOSD_EnableLayer -> XOsd_EnableLayer,
                          XOSD_DisableLayer -> XOsd_DisableLayer,
                          XOSD_LoadColorLUTBank - > XOsd_LoadColorLUTBank,
                          XOSD_LoadCharacterSetBank -> XOsd_LoadCharacterSetBank,
                          XOSD_LoadTextBank - > XOsd_LoadTextBank,
                          XOSD_SetActiveBank -> XOsd_SetActiveBank,
                          XOSD_CreateInstruction -> XOsd_CreateInstruction,
                          XOSD_LoadInstructionList -> XOsd_LoadInstructionList,
                          XOSD_LookupConfig -> XOsd_LookupConfig,
                          XOSD_IntrHandler -> XOsd_IntrHandler,
                          XOSD_SetCallBack -> XOsd_SetCallBack.

                          Changed the prototype of XOSD_GetVersion and renamed it as
                          XOsd_GetVersion

                          Removed the following function implementation:
                          XOSD_SetBlankPolarity.
          ms     03/17/17 Added readme.txt file in examples folder for doxygen
                          generation.