_vport.h
上传用户:dahaojd
上传日期:2008-01-29
资源大小:14357k
文件大小:2k
源码类别:

DSP编程

开发平台:

C/C++

  1. /*
  2.  *  Copyright 2003 by Texas Instruments Incorporated.
  3.  *  All rights reserved. Property of Texas Instruments Incorporated.
  4.  *  Restricted rights to use, duplicate or disclose this code are
  5.  *  granted through contract.
  6.  *  
  7.  */
  8. /* "@(#) DDK 1.10.00.23 07-02-03 (ddk-b12)" */
  9. #ifndef __VPORT_H  /* change to _VPORT_H */
  10. #define __VPORT_H
  11. #ifdef __cplusplus
  12. extern "C" {
  13. #endif
  14. /* this header file defines common channel object and channel status code */
  15. /* for both capture and display                                           */
  16. #include <std.h>
  17. #include <csl_stdinc.h>
  18. #include <iom.h>
  19. #include <vport.h>      
  20. /* channel status */
  21. #define _VPORT_READY           4
  22. #define _VPORT_CFGED           2
  23. #define _VPORT_OPENED          1
  24. #define _VPORT_MASK_10BIT      1
  25. #define _VPORT_MASK_RAW        2
  26. #define _VPORT_NUM_EDMA_CHANS  3
  27. #define _VPORT_CHAN_CNT        2
  28. /* channel object */
  29. typedef struct {
  30.     Uns        status;
  31.     Uns        portNum;
  32.     Uns        chanNum;
  33.     Uns        base;
  34.     Uns        edmaChanNum[_VPORT_NUM_EDMA_CHANS];
  35.     Uns        edmaAddr[_VPORT_NUM_EDMA_CHANS];
  36.     Uns        vIntMask;
  37.     FVID_Frame          viops[VPORT_MAX_NUM_FRMBUFS];
  38.     QUE_Elem            qIn;
  39.     QUE_Elem            qOut;
  40.     EDMA_Handle         hEdma[_VPORT_NUM_EDMA_CHANS];
  41.     EDMA_Handle         hRld[_VPORT_NUM_EDMA_CHANS*4];
  42.     Int                 tcc[3]; 
  43.     Bool                mergeFlds;
  44.     IOM_TiomCallback    cbFxn;
  45.     Arg                 cbArg;
  46.     VPORT_IntCallBack   vIntFxn;
  47.     volatile Bool       queEmpty;
  48.     Bool                scale;
  49.     Bool                resmpl;
  50.     Uns        yPitch;
  51.     Uns        cPitch;
  52.     Uns        numLines;
  53.     Uns        numPixels;
  54.     Uns        numLinesFld1;
  55.     Uns        numFrms;
  56.     Uns        numEvents;
  57.     Uns        numEventsFld1;
  58.     Uns        yThrld;
  59.     Uns        cThrld;
  60.     FVID_Frame          *curViop;
  61.     FVID_Frame          *nextViop;   
  62.     FVID_Frame          *mrViop;      
  63.     Int                 mode;
  64.     EDC_Fxns           *edcFxns;
  65.     Ptr                 edcHandle;
  66.     IOM_Packet         *packetIOM;
  67.     Int                 vIntCbArg;   
  68.     Int                 segId;    
  69.     Int                 bufSz;       
  70.     Int                 lastLineNum;       
  71.     Int                 nextEDMARlds;
  72. } _VPORT_ChanObj;
  73. typedef struct _VPORT_EDCObj{
  74.     Int8* name;
  75.     EDC_Fxns* fxns;
  76. } _VPORT_EDCObj;
  77. #ifdef __cplusplus
  78. }
  79. #endif
  80. #endif /* __VPORT_H */