zhangfan46147

zhangfan46147

0个粉丝

2

问答

0

专栏

0

资料

zhangfan46147  发布于  2017-02-07 21:42:58
采纳率 0%
2个问答
3251

请问有人知道如何用修改nvp6114的驱动,支持960h的摄像头么

 
请问有人知道如何用修改nvp6114的驱动,支持960h的摄像头么,我现在改sample_vio了没什么效果,一直是黑屏,有四分割,不知道是不是还要修改驱动,驱动这块。我已经设定vdec_mode =1了。还有nvp6114_out_all_960h,目前用的还是海思的原厂驱动。有知道的大神请给点思路。调试好久了。
我来回答
回答9个
时间排序
认可量排序

zhangfan46147

0个粉丝

2

问答

0

专栏

0

资料

zhangfan46147 2017-02-07 21:54:10
认可0
# cat /proc/umap/vi

[VIU] Version: [Hi3520D_MPP_V1.0.4.0 ], Build Time: [Sep 29 2014, 18:04:34]

-----MODULE PARAM--------------------------------------------------------------
detect_err_frame drop_err_frame stop_int_level  max_cas_gap
               0              0              0        28000

-----VI DEV ATTR---------------------------------------------------------------
Dev   IntfM  WkM  ComMsk0  ComMsk1 ScanM AD0 AD1 AD2 AD3   Seq   DPath DType DRev
   0   BT656 2Mux ff000000        0     I  -1  -1  -1  -1  UYVY  ByPass   YUV    Y
   1   BT656 2Mux   ff0000        0     I  -1  -1  -1  -1  UYVY  ByPass   YUV    Y

-----VI HIGH DEV ATTR---------------------------------------------------------------
Dev  InputM  WkM  ComMsk0  ComMsk1 ScanM AD0 AD1 AD2 AD3   Seq CombM CompM ClkM  Fix FldP   DPath DType DRev

-----VI PHYCHN ATTR------------------------------------------------------------
PhyChn CapX CapY  CapW  CapH  DstW  DstH CapSel Mirror Flip IntEn PixFom SrcRat DstRat
      0    0    0   960   576   960   576   both      N    N     Y  sp420     -1     -1
      2    0    0   960   576   960   576   both      N    N     Y  sp420     -1     -1
      4    0    0   960   576   960   576   both      N    N     Y  sp420     -1     -1
      6    0    0   960   576   960   576   both      N    N     Y  sp420     -1     -1

-----VI PHYCHN MINOR ATTR------------------------------------------------------------
PhyChn CapX CapY  CapW  CapH  DstW  DstH CapSel Mirror   Flip PixFom MixCap DwScal

-----VI PHYCHN STATUS 1----------------------------------------------------------
PhyChn  Dev      IntCnt  VbFail  LosInt  TopLos  BotLos BufCnt  IntT  SendT  Field  Stride
      0    0        1071       0       2       0       2      2    19     21   intl     960
      2    0        1066       0       1       0       1      2     6     13   intl     960
      4    1        1060       0     447       0       2      2     6     49   intl     960
      6    1        1055       0       1       0       1      2    11     15   intl     960

-----VI PHYCHN STATUS 2---------------------------------------------------------
PhyChn MaxIntT IntGapT MaxGapT OverCnt LIntCnt  ThrCnt AutoDis CasAutD  TmgErr      ccErrN    IntRat
      0     107   10019   10109       0       0       1       0       0       0           2        50
      2      71   10011   10077       0       0       1       0       0       0           1        50
      4      77    9997   10144       0       0       1       0       0       0         448        50
      6      97   10017   10123       0       0       1       0       0       0           1        50

-----VI CHN STATUS-------------------------------------------------------------
ViChn   bEnUsrP   FrmTime   FrmRate     SendCnt      SwLost    Rotate  422to420
     0         N     20000        50        1069           0      NONE         Y
     2         N     19954        50        1064           0      NONE         Y
     4         N     39999        29         613           0      NONE         Y
     6         N     19962        50        1053           0      NONE         Y

-----VI CHN CALL DSU STATUS 1-------------------------------------------------
ViChn   UsrBgnNOk   UsrCancel    UsrEndOk     UsrCbOk     CvrBgnNOk   CvrCancel    CvrEndOk     CvrCbOk

zhangfan46147

0个粉丝

2

问答

0

专栏

0

资料

zhangfan46147 2017-02-07 21:55:23
认可0
# cat /proc/umap/vo

[VOU] Version: [Hi3520D_MPP_V1.0.4.0 ], Build Time[Sep 29 2014, 18:04:34]

-----MODULE PARAM--------------------------------------------------------------
detectCycle
-----DEV CONFIG----------------------------------------------------------------
DevId   DevEn    Mux1    Mux2    Mux3       InfSync   BkClr  DevFrt DispFrt DoubFrm Toleration  Vtth
     0       Y     VGA    HDMI           1024x768@60      ff      60      25       Y   10000000   240
     1       Y    CVBS                           PAL      ff      25      25       N   10000000   100
     2       Y    CVBS                           PAL      ff      25      25       N   10000000   100

-----DEV VDAC STATUS----------------------------------------------------------
DevId    VDAC
     0       -
     1       -
     2       -

-----DEV VIDEO STATUS----------------------------------------------------------
DevId VideoEn     PiP  PixFmt    ImgW    ImgH   DispW   DispH   bTdeBypass
     0       Y       N     420    1024     768    1024     768       0
     1       Y       N     420     720     576     720     576       0
     2       Y       N     420     720     576     720     576       0

-----DEV VIDEO STATUS 2--------------------------------------------------------
DevId VideoEn     PiP EnChNum  Matrix    Luma    Cont     Hue    Satu
     0       Y       N       4       1      50      50      50      59
     1       Y       N       1       0      50      50      50      50
     2       Y       N       4       0      50      50      50      50

-----DEV VIDEO STATUS 3--------------------------------------------------------
DevId  SetBeg  SetEnd   WBCEn bCasCfg  bCasEn bCasSlv  CasRgn CasMode CasPatn
     0       N       N       Y       N       N       N                       0
     1       N       N       N       N       N       N                       0
     2       N       N       N       N       N       N                       0

-----GRP STATUS----------------------------------------------------------------
GrpId OnDev ChNum FulFr TgtFr Start Resrv   GrpGap              BasePts
-----CHN BASE INFO-------------------------------------------------------------
DevId ChnId ChnEn  Prio DeFlk  ChnX  ChnY  ChnW  ChnH DispX DispY bSnap Field DoubFrm  bCas CcPos bRcvMatch
     0     0     Y     0     N     0     0   512   384    -1    -1     N  both       Y     N     0       0
     0     1     Y     0     N   512     0   512   384    -1    -1     N  both       Y     N     0       0
     0     2     Y     0     N     0   384   512   384    -1    -1     N  both       Y     N     0       0
     0     3     Y     0     N   512   384   512   384    -1    -1     N  both       Y     N     0       0
     1     0     Y     0     N     0     0   720   576    -1    -1     N  both       N     N     0       0
     2     0     Y     0     N     0     0   360   288    -1    -1     N  both       N     N     0       0
     2     1     Y     0     N   360     0   360   288    -1    -1     N  both       N     N     0       0
     2     2     Y     0     N     0   288   360   288    -1    -1     N  both       N     N     0       0
     2     3     Y     0     N   360   288   360   288    -1    -1     N  both       N     N     0       0

-----CHN PLAY INFO-------------------------------------------------------------
DevId ChnId Batch  Show Pause  Step Revrs Refsh Thrshd ChnFrt ChnGap
     0     0     N     Y     N     N     N     N      3     25  40000
     0     1     N     Y     N     N     N     N      3     25  40000
     0     2     N     Y     N     N     N     N      3     25  40000
     0     3     N     Y     N     N     N     N      3     25  40000
     1     0     N     Y     N     N     N     N      2     25  40000
     2     0     N     Y     N     N     N     N      2     25  40000
     2     1     N     Y     N     N     N     N      2     25  40000
     2     2     N     Y     N     N     N     N      2     25  40000
     2     3     N     Y     N     N     N     N      2     25  40000

-----CHN PLAY INFO-------------------------------------------------------------
DevId ChnId          DisplayPts              PrePts             CurrPts            ScalePts              SetPts
     0     0           321982849           322042849           322062848                   0                  -1
     0     1           321982915           322042926           322062874                   0                  -1
     0     2           322022897           322062895           322062895                   0                  -1
     0     3           321983047           322043010           322062968                   0                  -1
     1     0           322014086           322064101           322064101                   0                  -1
     2     0           322002850           322042849           322062848                   0                  -1
     2     1                   0                   0                   0                   0                  -1
     2     2                   0                   0                   0                   0                  -1
     2     3                   0                   0                   0                   0                  -1

-----HD CHN STATUS1------------------------------------------------------------
DevId ChnId       QCnt      NewDo      OldDo       LCnt       SCnt      ChRpt BusyN ShouD Dsped  Area AreaT
     0     0      36604       5231          0       5227       5230          0     1     1     1     0     0
     0     1      31393       5231          0       5227       5230          0     1     1     1     2     2
     0     2      29173       5230          0        790       5229          0     1     1     1     1     1
     0     3      31398       5230          0       5227       5229          0     1     1     1     3     3

-----HD CHN STATUS2------------------------------------------------------------
DevId ChnId  Buf1  Buf2  Buf3  Buf4  DBuf Stat1 Stat2 QNodeAddr SNodeAddr  DispAddr
     0     0  UseF  UseF  UseF     F     3   end   end  87267000  87267000  876e7000
     0     1  UseF  UseF  UseF     F     3   end   end  87267200  87267200  876e7200
     0     2  UseF  UseF  UseF     F     3   end   end  872c7000  872c7000  87747000
     0     3  UseF  UseF  UseF     F     3   end   end  872c7200  872c7200  87747200

-----SD CHN STATUS-------------------------------------------------------------
DevId ChnId   Job     Task     LCnt     SCnt    ChRpt     DRpt CBusy DBusy ShouD Dsped b2Scl  ChnAddr DispAddr
     1     0     0     5227        0     5227        1        1     1     1     1     1     N 850f0000 87bfee00
     2     0     0     5229        0     5230        0        1     1     1     1     1     N 85351000 87136e00
     2     1     0        0        0        0        0        1     0     1    -1    -1     N        0 87136e00
     2     2     0        0        0        0        0        1     0     1    -1    -1     N        0 87136e00
     2     3     0        0        0        0        0        1     0     1    -1    -1     N        0 87136e00

-----CHN OTHER INFO------------------------------------------------------------
DevId ChnId bZoom ZmTyp ZoomX ZoomY ZoomW ZoomH  SrcW  SrcH FltTp  HFlt VlFlt VcFlt
     0     0     N     0     0     0     0     0     0     0     0     0     0     0
     0     1     N     0     0     0     0     0     0     0     0     0     0     0
     0     2     N     0     0     0     0     0     0     0     0     0     0     0
     0     3     N     0     0     0     0     0     0     0     0     0     0     0
     1     0     N     0     0     0     0     0   720   576     0     0     0     0
     2     0     N     0     0     0     0     0   960   576     0     0     0     0
     2     1     N     0     0     0     0     0     0     0     0     0     0     0
     2     2     N     0     0     0     0     0     0     0     0     0     0     0
     2     3     N     0     0     0     0     0     0     0     0     0     0     0

-----WBC INFO------------------------------------------------------------------
DevId  WbcW  WbcH PixFmt FrmRat RealRat    Mode  DataSrc  Depth  NotFin
     0   720   576    420     25      25  Normal    Mixer      0       1

-----GRAPHICS LAYER------------------------------------------------------------
Layer BindDev
   HC0       0

-----LAYER CSC PARAM-----------------------------------------------------------------
LAYERID  Matrix    Luma    Cont     Hue    Satu
     0       6      50      50      50      50
     1       5      50      50      50      50
     2       5      50      50      50      50
     3       6      50      50      50      50

-----VGA PARAM-----------------------------------------------------------------
DevId  Matrix    Luma    Cont     Hue    Satu    Gain
     0       4      50      50      50      59      10

-----DEV Int Status----------------------------------------------------------------
DevId IntRate IntTime MaxIntT TimePrM  IntGapT  MaxGapT
     0   60.0       68      82    2695    16666    16803
     1   25.0       32     209    2000    40001    40052
     2   25.0       36      96    1291    40000    40043

zhangfan46147

0个粉丝

2

问答

0

专栏

0

资料

zhangfan46147 2017-02-07 21:56:53
认可0
# cat /proc/umap/vb

[VB] Version: [Hi3520D_MPP_V1.0.4.0 ], Build Time[Sep 29 2014, 18:04:32]

-----VB PUB CONFIG-------------------------------------------------------------
Max Count of Pools:        256

-----COMMON POOL CONFIG--------------------------------------------------------
PoolId       0       1       2       3       4       5       6       7       8       9      10      11      12      13      14      15
Size    831488       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0
Count       32       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0

----- anony--------------------------------------------------------------------
PoolId    PhysAddr    VirtAddr    IsComm     BlkSz    BlkCnt      Free       MinFree
     0  0x84dc4000  0xc6000000         1    831488        32        15(15)        12
BLK   VIU   VOU   DSU  VENC  VDEC   VDA H264E JPEGE MPEGE H264D JPEGD MPEGD  VPSS   GRP   MPI  PCIV    AI  AENC    RC
  23     0     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
   3     0     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
  25     0     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
  30     0     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
  11     0     1     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0
  26     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0
   4     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0
  16     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0
   1     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
   7     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
   0     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
  21     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
  14     0     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
  27     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
  18     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
   9     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
  17     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
Sum      8     6     0     0     0     0     0     0     0     0     0     0     4     0     0     0     0     0     0

----- anony--------------------------------------------------------------------
PoolId    PhysAddr    VirtAddr    IsComm     BlkSz    BlkCnt      Free       MinFree
     1  0x8709f000  0xc5a00000         0    622080         3         1(1)         1
BLK   VIU   VOU   DSU  VENC  VDEC   VDA H264E JPEGE MPEGE H264D JPEGD MPEGD  VPSS   GRP   MPI  PCIV    AI  AENC    RC
   2     0     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
   0     0     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
Sum      0     2     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0

----- anony--------------------------------------------------------------------
PoolId    PhysAddr    VirtAddr    IsComm     BlkSz    BlkCnt      Free       MinFree
     2  0x87267000  0xc8000000         0   1179648         8         0(0)         0
BLK   VIU   VOU   DSU  VENC  VDEC   VDA H264E JPEGE MPEGE H264D JPEGD MPEGD  VPSS   GRP   MPI  PCIV    AI  AENC    RC
   0     0     8     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
   1     0     8     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
   2     0     9     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
   3     0     9     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
   4     0     6     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
   5     0     6     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
   6     0     9     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
   7     0     9     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
Sum      0     8     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0

----- anony--------------------------------------------------------------------
PoolId    PhysAddr    VirtAddr    IsComm     BlkSz    BlkCnt      Free       MinFree
     3  0x87b67000  0xc5c00000         0    622080         3         1(1)         1
BLK   VIU   VOU   DSU  VENC  VDEC   VDA H264E JPEGE MPEGE H264D JPEGD MPEGD  VPSS   GRP   MPI  PCIV    AI  AENC    RC
   2     0     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
   0     0     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
Sum      0     2     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0

zhangfan46147

0个粉丝

2

问答

0

专栏

0

资料

zhangfan46147 2017-02-07 22:19:09
认可0
就是这个摄像头

zhangfan46147

0个粉丝

2

问答

0

专栏

0

资料

zhangfan46147 2017-02-07 22:20:15
认可0
这里做了修改

zhangfan46147

0个粉丝

2

问答

0

专栏

0

资料

zhangfan46147 2017-02-07 22:27:51
认可0
启动之后的信息

zhangfan46147

0个粉丝

2

问答

0

专栏

0

资料

zhangfan46147 2017-02-07 22:30:20
认可0
cat /proc/umap/vi

zhangfan46147

0个粉丝

2

问答

0

专栏

0

资料

zhangfan46147 2017-02-07 22:40:32
认可0

HI_S32 SAMPLE_VIO_4_D1(HI_VOID)
{
        SAMPLE_VI_MODE_E enViMode = SAMPLE_VI_MODE_4_D1;

        HI_U32 u32ViChnCnt = 4;
        HI_S32 s32VpssGrpCnt = 4;
       
        VB_CONF_S stVbConf;
        VI_CHN ViChn;
        VPSS_GRP VpssGrp;
        VPSS_GRP_ATTR_S stGrpAttr;
        VPSS_CHN VpssChn_VoHD0 = VPSS_PRE0_CHN;
        VO_DEV VoDev;
        VO_CHN VoChn;
        VO_PUB_ATTR_S stVoPubAttr,stVoPubAttrSD;
        SAMPLE_VO_MODE_E enVoMode, enPreVoMode;
       
        HI_S32 i;
        HI_S32 s32Ret = HI_SUCCESS;
        HI_U32 u32BlkSize;
        HI_CHAR ch;
        SIZE_S stSize;
        HI_U32 u32WndNum;
       
        VO_WBC_ATTR_S stWbcAttr;

        /******************************************
         step  1: init variable
        ******************************************/
        gs_u32ViFrmRate = (VIDEO_ENCODING_MODE_PAL== gs_enNorm)?25:30;
       
        memset(&stVbConf,0,sizeof(VB_CONF_S));

        u32BlkSize = SAMPLE_COMM_SYS_CalcPicVbBlkSize(gs_enNorm,\
                                PIC_D1, SAMPLE_PIXEL_FORMAT, SAMPLE_SYS_ALIGN_WIDTH);
        stVbConf.u32MaxPoolCnt = 128;

        /* video buffer*/
        //todo: vb=15
        stVbConf.astCommPool[0].u32BlkSize = u32BlkSize;
        stVbConf.astCommPool[0].u32BlkCnt = u32ViChnCnt * 8;

        /******************************************
         step 2: mpp system init.
        ******************************************/
        s32Ret = SAMPLE_COMM_SYS_Init(&stVbConf);
        if (HI_SUCCESS != s32Ret)
        {
                SAMPLE_PRT("system init failed with %d!\n", s32Ret);
                goto END_8D1_0;
        }

        /******************************************
         step 3: start vi dev & chn
        ******************************************/
        s32Ret = SAMPLE_COMM_VI_Start(enViMode, gs_enNorm);
        if (HI_SUCCESS != s32Ret)
        {
                SAMPLE_PRT("start vi failed!\n");
                goto END_8D1_0;
        }

        /******************************************
         step 4: start vpss and vi bind vpss
        ******************************************/
        s32Ret = SAMPLE_COMM_SYS_GetPicSize(gs_enNorm, PIC_D1, &stSize);
        if (HI_SUCCESS != s32Ret)
        {
                SAMPLE_PRT("SAMPLE_COMM_SYS_GetPicSize failed!\n");
                goto END_8D1_0;
        }
       
        stGrpAttr.u32MaxW = stSize.u32Width;
        stGrpAttr.u32MaxH = stSize.u32Height;
        stGrpAttr.bDrEn = HI_FALSE;
        stGrpAttr.bDbEn = HI_FALSE;
        stGrpAttr.bIeEn = HI_TRUE;
        stGrpAttr.bNrEn = HI_TRUE;
        stGrpAttr.bHistEn = HI_FALSE;
        stGrpAttr.enDieMode = VPSS_DIE_MODE_AUTO;
        stGrpAttr.enPixFmt = SAMPLE_PIXEL_FORMAT;

        s32Ret = SAMPLE_COMM_VPSS_Start(s32VpssGrpCnt, &stSize, VPSS_MAX_CHN_NUM,NULL);
        if (HI_SUCCESS != s32Ret)
        {
                SAMPLE_PRT("Start Vpss failed!\n");
                goto END_8D1_1;
        }

        s32Ret = SAMPLE_COMM_VI_BindVpss(enViMode);
        if (HI_SUCCESS != s32Ret)
        {
                SAMPLE_PRT("Vi bind Vpss failed!\n");
                goto END_8D1_2;
        }
        /******************************************
        step 5: start vo SD1(CVBS)
        ******************************************/

        printf("start vo SD1.\n");
        VoDev = SAMPLE_VO_DEV_DSD1;
        u32WndNum = 4;
        enVoMode = VO_MODE_4MUX;

        stVoPubAttr.enIntfSync = VO_OUTPUT_PAL;
        stVoPubAttr.enIntfType = VO_INTF_CVBS;
        stVoPubAttr.u32BgColor = 0x000000ff;
        stVoPubAttr.bDoubleFrame = HI_FALSE;
        s32Ret = SAMPLE_COMM_VO_StartDevLayer(VoDev, &stVoPubAttr, gs_u32ViFrmRate);
        if (HI_SUCCESS != s32Ret)
        {
                 SAMPLE_PRT("SAMPLE_COMM_VO_StartDevLayer failed!\n");
                 goto END_8D1_3;
        }

        s32Ret = SAMPLE_COMM_VO_StartChn(VoDev, &stVoPubAttr, enVoMode);
        if (HI_SUCCESS != s32Ret)
        {
                 SAMPLE_PRT("SAMPLE_COMM_VO_StartChn failed!\n");
                 goto END_8D1_4;
        }

        VoChn = 0;
        ViChn = 0;
        s32Ret = SAMPLE_COMM_VO_BindVi(VoDev,VoChn, ViChn);
        if (HI_SUCCESS != s32Ret)
        {
                 SAMPLE_PRT("SAMPLE_COMM_VO_BindVpss failed!\n");
                 goto END_8D1_4;
        }
       
        /******************************************
         step 6: start vo HD0 (HDMI+VGA), multi-screen, you can switch mode
        ******************************************/
        printf("start vo HD0.\n");
        VoDev = SAMPLE_VO_DEV_DHD0;
        u32WndNum = 4;
        enVoMode = VO_MODE_4MUX;
       
        if(VIDEO_ENCODING_MODE_PAL == gs_enNorm)
        {
                stVoPubAttr.enIntfSync = VO_OUTPUT_1024x768_60;
        }
        else
        {
                stVoPubAttr.enIntfSync = VO_OUTPUT_1024x768_60;
        }
#ifdef HI_FPGA
        stVoPubAttr.enIntfType = VO_INTF_HDMI|VO_INTF_VGA|VO_INTF_BT1120;
#else
        stVoPubAttr.enIntfType = VO_INTF_HDMI|VO_INTF_VGA;
#endif

        stVoPubAttr.u32BgColor = 0x000000ff;
        stVoPubAttr.bDoubleFrame = HI_TRUE;
       
        s32Ret = SAMPLE_COMM_VO_StartDevLayer(VoDev, &stVoPubAttr, gs_u32ViFrmRate);
        if (HI_SUCCESS != s32Ret)
        {
                SAMPLE_PRT("Start SAMPLE_COMM_VO_StartDevLayer failed!\n");
                goto END_8D1_4;
        }
       
        s32Ret = SAMPLE_COMM_VO_StartChn(VoDev, &stVoPubAttr, enVoMode);
        if (HI_SUCCESS != s32Ret)
        {
                SAMPLE_PRT("Start SAMPLE_COMM_VO_StartChn failed!\n");
                goto END_8D1_5;
        }

        /* if it's displayed on HDMI, we should start HDMI */
        if (stVoPubAttr.enIntfType & VO_INTF_HDMI)
        {
                if (HI_SUCCESS != SAMPLE_COMM_VO_HdmiStart(stVoPubAttr.enIntfSync))
                {
                        SAMPLE_PRT("Start SAMPLE_COMM_VO_HdmiStart failed!\n");
                        goto END_8D1_5;
                }
        }
       
        for(i=0;i         {
                VoChn = i;
                VpssGrp = i;
               
                s32Ret = SAMPLE_COMM_VO_BindVpss(VoDev,VoChn,VpssGrp,VpssChn_VoHD0);
                if (HI_SUCCESS != s32Ret)
                {
                        SAMPLE_PRT("Start VO failed!\n");
                        goto END_8D1_5;
                }
        }

        /******************************************
        step 7: start vo SD0 (CVBS) (WBC target)
        ******************************************/
        printf("start vo SD0: wbc from hd0\n");
        VoDev = SAMPLE_VO_DEV_DSD0;
        u32WndNum = 4;
        enVoMode = VO_MODE_1MUX;

        stVoPubAttrSD.enIntfSync = VO_OUTPUT_PAL;
        stVoPubAttrSD.enIntfType = VO_INTF_CVBS;
        stVoPubAttrSD.u32BgColor = 0x000000ff;
        stVoPubAttrSD.bDoubleFrame = HI_FALSE;
        s32Ret = SAMPLE_COMM_VO_StartDevLayer(VoDev, &stVoPubAttrSD, gs_u32ViFrmRate);
        if (HI_SUCCESS != s32Ret)
        {
                  SAMPLE_PRT("SAMPLE_COMM_VO_StartDevLayer failed!\n");
                  goto END_8D1_5;
        }

        s32Ret = SAMPLE_COMM_VO_StartChn(VoDev, &stVoPubAttrSD, enVoMode);
        if (HI_SUCCESS != s32Ret)
        {
                  SAMPLE_PRT("SAMPLE_COMM_VO_StartChn failed!\n");
                  goto END_8D1_6;
        }
          
        s32Ret = SAMPLE_COMM_VO_GetWH(VO_OUTPUT_PAL, \
                                          &stWbcAttr.stTargetSize.u32Width, \
                                          &stWbcAttr.stTargetSize.u32Height, \
                                          &stWbcAttr.u32FrameRate);
        if (HI_SUCCESS != s32Ret)
        {
                SAMPLE_PRT("SAMPLE_COMM_VO_GetWH failed!\n");
                goto END_8D1_6;
        }
        stWbcAttr.enPixelFormat = SAMPLE_PIXEL_FORMAT;
        stWbcAttr.enDataSource = VO_WBC_DATASOURCE_MIXER;

        s32Ret = HI_MPI_VO_SetWbcAttr(SAMPLE_VO_DEV_DHD0, &stWbcAttr);
        if (HI_SUCCESS != s32Ret)
        {
                SAMPLE_PRT("HI_MPI_VO_SetWbcAttr failed!\n");
                goto END_8D1_6;
        }

        s32Ret = HI_MPI_VO_EnableWbc(SAMPLE_VO_DEV_DHD0);
        if (HI_SUCCESS != s32Ret)
        {
                SAMPLE_PRT("HI_MPI_VO_SetWbcAttr failed!\n");
                goto END_8D1_7;
        }

        s32Ret = SAMPLE_COMM_VO_BindVoWbc(SAMPLE_VO_DEV_DHD0, SAMPLE_VO_DEV_DSD0, 0);
        if (HI_SUCCESS != s32Ret)
        {
                SAMPLE_PRT("HI_MPI_VO_SetWbcAttr failed!\n");
                goto END_8D1_7;
        }
       
        /******************************************
        step 8: HD0 switch mode
        ******************************************/
        VoDev = SAMPLE_VO_DEV_DHD0;
        enVoMode = VO_MODE_1MUX;
        while(1)
        {
                enPreVoMode = enVoMode;
       
                printf("please choose preview mode, press 'q' to exit this sample.\n");
                printf("\t0) 1 preview\n");
                printf("\t1) 4 preview\n");
                printf("\t2) 8 preview\n");
                printf("\tq) quit\n");

                ch = getchar();
                getchar();
                if ('0' == ch)
                {
                        u32WndNum = 1;
                        enVoMode = VO_MODE_1MUX;
                }
                else if ('1' == ch)
                {
                        u32WndNum = 4;
                        enVoMode = VO_MODE_4MUX;
                }
                /*Indeed only 8 chns show*/
                else if ('2' == ch)
                {
                        u32WndNum = 9;
                        enVoMode = VO_MODE_9MUX;
                }
                else if ('q' == ch)
                {
                        break;
                }
                else
                {
                        SAMPLE_PRT("preview mode invaild! please try again.\n");
                        continue;
                }
                SAMPLE_PRT("vo(%d) switch to %d mode\n", VoDev, u32WndNum);

                s32Ret= HI_MPI_VO_SetAttrBegin(VoDev);
                if (HI_SUCCESS != s32Ret)
                {
                        SAMPLE_PRT("Start VO failed!\n");
                        goto END_8D1_7;
                }
               
                s32Ret = SAMPLE_COMM_VO_StopChn(VoDev, enPreVoMode);
                if (HI_SUCCESS != s32Ret)
                {
                        SAMPLE_PRT("Start VO failed!\n");
                        goto END_8D1_7;
                }

                s32Ret = SAMPLE_COMM_VO_StartChn(VoDev, &stVoPubAttr, enVoMode);
                if (HI_SUCCESS != s32Ret)
                {
                        SAMPLE_PRT("Start VO failed!\n");
                        goto END_8D1_7;
                }
                s32Ret= HI_MPI_VO_SetAttrEnd(VoDev);
                if (HI_SUCCESS != s32Ret)
                {
                        SAMPLE_PRT("Start VO failed!\n");
                        goto END_8D1_7;
                }
        }

        /******************************************
         step 8: exit process
        ******************************************/

END_8D1_7:
        SAMPLE_COMM_VO_UnBindVoWbc(SAMPLE_VO_DEV_DSD0, 0);
        HI_MPI_VO_DisableWbc(SAMPLE_VO_DEV_DHD0);

END_8D1_6:
        VoDev = SAMPLE_VO_DEV_DSD0;
        VoChn = 0;
        enVoMode = VO_MODE_1MUX;
        SAMPLE_COMM_VO_StopChn(VoDev, enVoMode);
        SAMPLE_COMM_VO_StopDevLayer(VoDev);

END_8D1_5:
        if (stVoPubAttr.enIntfType & VO_INTF_HDMI)
        {
                SAMPLE_COMM_VO_HdmiStop();
        }
        VoDev = SAMPLE_VO_DEV_DHD0;
        u32WndNum = 16;
        enVoMode = VO_MODE_16MUX;
        /*disableChn ,?*/
        SAMPLE_COMM_VO_StopChn(VoDev, enVoMode);
        for(i=0;i         {
                VoChn = i;
                VpssGrp = i;
                SAMPLE_COMM_VO_UnBindVpss(VoDev,VoChn,VpssGrp,VpssChn_VoHD0);
        }
        SAMPLE_COMM_VO_StopDevLayer(VoDev);

END_8D1_4:
#if HICHIP == HI3521_V100
        VoDev = SAMPLE_VO_DEV_DSD1;
        VoChn = 0;
        enVoMode = VO_MODE_1MUX;
        SAMPLE_COMM_VO_UnBindVi(VoDev,VoChn);
        SAMPLE_COMM_VO_StopChn(VoDev, enVoMode);
        SAMPLE_COMM_VO_StopDevLayer(VoDev);
#endif
END_8D1_3:        //vi unbind vpss
        SAMPLE_COMM_VI_UnBindVpss(enViMode);
END_8D1_2:        //vpss stop
        SAMPLE_COMM_VPSS_Stop(s32VpssGrpCnt, VPSS_MAX_CHN_NUM);
END_8D1_1:        //vi stop
        SAMPLE_COMM_VI_Stop(enViMode);
END_8D1_0:        //system exit
        SAMPLE_COMM_SYS_Exit();
       
        return s32Ret;
}

zhangfan46147

0个粉丝

2

问答

0

专栏

0

资料

zhangfan46147 2017-02-08 08:16:42
认可0
等待。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区