⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tmdlmbs.h

📁 PNX1500上做视频缩放MBS的源代码
💻 H
📖 第 1 页 / 共 5 页
字号:
//
// RETURN:      tmErrorCode_t = resulting error condition or TM_OK
//
// NOTES:       None
//-----------------------------------------------------------------------------
//
tmErrorCode_t
tmdlMbsGetCapabilities (
    ptmdlMbsCapabilities_t *ppCap       //  O: pointer to buffer pointer
    );

//-----------------------------------------------------------------------------
// FUNCTION:    tmdlMbsGetCapabilitiesM:
//
// DESCRIPTION: This function returns a pointer to the capabilities of the 
//              specified MBS unit.
//
// RETURN:      tmErrorCode_t = resulting error condition or TM_OK
//
// NOTES:       None
//-----------------------------------------------------------------------------
//
tmErrorCode_t
tmdlMbsGetCapabilitiesM (
    ptmdlMbsCapabilities_t  *ppCap,     //  O: pointer to buffer pointer
    tmUnitSelect_t          unitSelect  //  I: selected hardware unit
    );


//-----------------------------------------------------------------------------
// FUNCTION:    tmdlMbsOpen:
//
// DESCRIPTION: This function opens MBS Unit 0 for access.  To open other
//              MBS units in the system (if any), use tmdlMbsOpenM.  If the
//              function returns successfully, an MBS instance is returned.
//              The MBS instance is passed in as a parameter in subsequent
//              device library function calls.  Use the tmdlMbsClose function
//              to close the MBS instance and free system resources after all
//              MBS instance accesses have been completed.
//
// RETURN:      tmErrorCode_t = resulting error condition or TM_OK
//
// NOTES:       None
//-----------------------------------------------------------------------------
//
tmErrorCode_t
tmdlMbsOpen (
    tmInstance_t          *pInstance   //  O: instance pointer 
    );

//-----------------------------------------------------------------------------
// FUNCTION:    tmdlMbsOpenM:
//
// DESCRIPTION: This function opens the specified MBS Unit for access.  If the
//              function returns successfully, an MBS instance is returned.
//              The MBS instance is passed in as a parameter in subsequent
//              device library function calls.  Use the tmdlMbsClose function
//              to close the MBS instance and free system resources after all
//              MBS instance accesses are completed.
//
// RETURN:      tmErrorCode_t = resulting error condition or TM_OK
//
// NOTES:       None
//-----------------------------------------------------------------------------
//
tmErrorCode_t
tmdlMbsOpenM (
    tmInstance_t           *pInstance,  //  O: instance pointer 
    tmUnitSelect_t         unitSelect   //  I: selected hardware unit
    );

//-----------------------------------------------------------------------------
// FUNCTION:    tmdlMbsClose:
//
// DESCRIPTION: This function closes the specified MBS instance. After the 
//              MBS instance is closed, the instance is no longer valid and
//              cannot be used for device library function calls. All tasks
//              will be destroyed.
//
// RETURN:      tmErrorCode_t = resulting error condition or TM_OK
//
// NOTES:       None
//-----------------------------------------------------------------------------
//
tmErrorCode_t
tmdlMbsClose (
    tmInstance_t            instance     // I: instance to give up
    );

//-----------------------------------------------------------------------------
// FUNCTION:    tmdlMbsGetClockFreq:
//
// DESCRIPTION: Returns the clock frequency currently set for the MBS unit.//
// RETURN:      Resulting error condition
//
// NOTES:       None 
//-----------------------------------------------------------------------------
//
tmErrorCode_t
tmdlMbsGetClockFreq (
    tmInstance_t            instance,       //  I: instance  
    ptmdlMbs2_clockFreq_t   pClockFreq      //  O: buffer receiving frequency
    );

//-----------------------------------------------------------------------------
// FUNCTION:    tmdlMbsGetDefaultClockFreq://// DESCRIPTION: Returns the default clock frequency of the MBS//// RETURN:      Resulting error condition//// NOTES:       None//-----------------------------------------------------------------------------//tmErrorCode_ttmdlMbsUnitGetDefaultClockFreq (    tmUnitSelect_t          unit,       //  I: mbs unit     ptmdlMbs2_clockFreq_t   pClockFreq      //  O: buffer receiving frequency    );//-----------------------------------------------------------------------------// FUNCTION:    tmdlMbsSetClockFreq:
//
// DESCRIPTION: Sets the clock frequency of the MBS.
//
// RETURN:      Resulting error condition
//
// NOTES:       None 
//-----------------------------------------------------------------------------
//
tmErrorCode_t
tmdlMbsSetClockFreq (
    tmInstance_t            instance,       //  I: instance  
    tmdlMbs2_clockFreq_t    clockFreq       //  O: new clock frequency
    );

//-----------------------------------------------------------------------------
// FUNCTION:    tmdlMbsEnableStreamMode:
//
// DESCRIPTION: This function enables the streaming mode for the specified
//              instance.  The intent of this mode is for use in Viper2 where
//              video data will be streamed directly between the hardware
//              modules without going to memory.
//
// RETURN:      TM_OK   streaming mode enabled
//              TMDL_ERR_MBS_INIT_FAILED   another instance already has this 
//                      unit opened in normal (interrupt) mode, OR 
//                      tmdlMbsInstanceSetup has already been called.
//
// NOTES:       Only one instance per unit is allowed in streaming mode.
//
//              This function must be called after tmdlMbsOpen(M) AND before 
//              tmdlMbsInstanceSetup.
//
//              The instance runs with interrupts disabled; therfore, the 
//              following functions are not supported in streaming mode:
//
//                  tmdlMbsRegisterCallback
//                  tmdlMbsSetEventMask
//                  tmdlMbsTaskGetStatus
//                  tmdlMbsTaskAbort
//
//              With task status not supported, the instance owner is 
//              responsible for making sure the task's task list is not
//              updated (overwritten), or the task is destroyed 
//              (tmdlQvcpTaskDestroy) before the hardware has executed the
//              task.  The following functions update the task list when
//              called:
//
//                  tmdlMbsTaskUpdateMsa3Control
//                  tmdlMbsTaskUpdateSrcPosition
//                  tmdlMbsTaskUpdateDei
//                  tmdlMbsTaskUpdateEddi
//                  tmdlMbsTaskUpdateEddiLevel
//                  tmdlMbsTaskUpdateHorzCoeffs
//                  tmdlMbsTaskUpdateVertCoeffs
//
//              The following functions set update flags and update the task
//              list when tmdlMbsTaskUpdate or tmdlMbsTaskDispatch is called:
//
//                  tmdlMbsTaskUpdateRects
//                  tmdlMbsTaskUpdateFilterSetup
//                  tmdlMbsTaskUpdateDynZoom
//                  tmdlMbsTaskUpdateHorzOutputShift
//                  tmdlMbsTaskUpdateVertOutputShift
//                  tmdlMbsTaskUpdateDeiBufferFlag//
//              No task queuing is supported.  tmdlMbsTaskDispatch places the
//              task directly into the hardware FIFO.  The instance owner is 
//              responsible for preventing FIFO overflow.
//
//              Video Measurement is not supported in streaming mode; therefore
//              the following functions are not supported in streaming mode:
//
//                  tmdlMbsTaskUpdateMeas
//                  tmdlMbsTaskUpdateMeasBuffer
//-----------------------------------------------------------------------------
//
tmErrorCode_t
tmdlMbsEnableStreamMode (
    tmInstance_t            instance     // I: instance
    );

//-----------------------------------------------------------------------------
// FUNCTION:    tmdlMbsGetInstanceSetup:
//
// DESCRIPTION: Get current MBS setup, or default setup if not setup yet.
//
// RETURN:      tmErrorCode_t = resulting error condition or TM_OK
//
// NOTES:       None 
//-----------------------------------------------------------------------------
//
tmErrorCode_t
tmdlMbsGetInstanceSetup (
    tmInstance_t             instance,   //  I: instance  
    ptmdlMbsInstanceSetup_t  pSetup      //  O: buffer receiving pars
    );


//-----------------------------------------------------------------------------
// FUNCTION:    tmdlMbsInstanceSetup:
//
// DESCRIPTION: Setup default settings for this MBS instance.
//
// RETURN:      tmErrorCode_t = resulting error condition or TM_OK
//                  TMDL_ERR_MBS_INIT_FAILED - Setup called more than once
//
// NOTES:       The MBS is ready to accept tasks after successful completion
//              of tmdlMbsInstanceSetup.
//
//              tmdlMbsInstanceSetup CAN ONLY BE CALLED ONCE PER INSTANCE
//-----------------------------------------------------------------------------
//
tmErrorCode_t
tmdlMbsInstanceSetup (
    tmInstance_t             instance,   //  I: instance  
    ptmdlMbsInstanceSetup_t  pSetup      //  I: ptr to new setup structure
    );


//-----------------------------------------------------------------------------
// FUNCTION:    tmdlMbsRegisterCallback:
//
// DESCRIPTION: Allows device library users to install a callback function
//              which will be called when specified events occur.
//
// RETURN:      tmErrorCode_t = resulting error condition or TM_OK
//
// NOTES:       The event mask for the callback is initialized to none.
//
//              The userData parameter is returned as an input parameter to the
//              callback function when it is called.
//-----------------------------------------------------------------------------
//
tmErrorCode_t
tmdlMbsRegisterCallback (
    tmInstance_t            instance,   //  I: instance  
    tmCallback_t            pCallBack,  //  I: pointer to callback function
    UInt32                  userData    //  I: user data (context)
    );


//-----------------------------------------------------------------------------
// FUNCTION:    tmdlMbsSetEventMask:
//
// DESCRIPTION: Allows the device library user to indicate which events generate
//              a call to the callback function.
//
// RETURN:      tmErrorCode_t = resulting error condition or TM_OK
//
// NOTES:       Must be called after tmdlMbsRegisterCallback.
//-----------------------------------------------------------------------------
//
tmErrorCode_t
tmdlMbsSetEventMask (
    tmInstance_t    instance,   //  I: instance  
    UInt32          eventMask   //  I: bitwise OR of tmdlMbsEvent_t events
    );


//-----------------------------------------------------------------------------
// FUNCTION:    tmdlMbsInstanceConfig:
//
// DESCRIPTION: The MBS DevLib is task based, and therefore provides no per
//              instance configuration that can be changed.  This function
//              will always return an error.
//
// RETURN:      TMDL_ERR_MBS_NOT_SUPPORTED
//
// NOTES:       None
//-----------------------------------------------------------------------------
//
tmErrorCode_t 
tmdlMbsInstanceConfig (
    tmInstance_t            instance,    //  I: instance
    UInt32                  commandID,   //  I: command ID
    pVoid                   parameter    // IO: ptr to parameter
    );


//-----------------------------------------------------------------------------
// FUNCTION:    tmdlMbsGetPowerState:
//
// DESCRIPTION: get power state (on, standby, suspend, or off)
//              
// RETURN:      tmErrorCode_t = resulting error condition or TM_OK
//
// NOTES:       None
//-----------------------------------------------------------------------------
//
tmErrorCode_t 
tmdlMbsGetPowerState (
    tmInstance_t            instance,    //  I: instance 
    ptmPowerState_t         pPowerState  //  O: buffer receiving power state 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -