13915426184

13915426184

0个粉丝

15

问答

0

专栏

0

资料

13915426184  发布于  2017-08-14 10:48:47
采纳率 0%
15个问答
4184

hi 3516a+adv7180

 
  各位大神,有个问题请教一下,我用的adv7180+hi3516a,adv7180输出信号是8bit的bt656 422格式到hi3516a的mipi口,
sample里的vio修改信息如下
diff --git a/sample/common/sample_comm_vi.c b/sample/common/sample_comm_vi.c
index 1715a58..9b9fbd6 100755
--- a/sample/common/sample_comm_vi.c
+++ b/sample/common/sample_comm_vi.c
@@ -37,7 +37,7 @@ VI_DEV_ATTR_S DEV_ATTR_BT656D1_1MUX =
     /* multiplex mode */
     VI_WORK_MODE_1Multiplex,
     /* r_mask    g_mask    b_mask*/
-    {0xFF000000,    0x0},
+    {0xFF000000,    0x0},//matt-diffrence
     /* progessive or interleaving */
     VI_SCAN_INTERLACED,
     /*AdChnId*/
@@ -61,7 +61,9 @@ VI_DEV_ATTR_S DEV_ATTR_BT656D1_1MUX =
     /* ISP bypass */
     VI_PATH_BYPASS,
     /* input data type */
-    VI_DATA_TYPE_YUV
+    VI_DATA_TYPE_YUV,
+    HI_FALSE,
+    {0,0,720,576}
};

/* BT1120 1080I输入 */
@@ -1313,7 +1315,7 @@ VI_CHN_ATTR_S CHN_ATTR_1280x720_420 =
     /*enCapSel*/
     VI_CAPSEL_BOTH,
     /* channel  pixel format */
-    PIXEL_FORMAT_YUV_SEMIPLANAR_420,
+    PIXEL_FORMAT_YUV_SEMIPLANAR_422,
     /*bMirr  bFlip   bChromaResample*/
     0,      0,      0,
     /*s32SrcFrameRate   s32DstFrameRate*/
@@ -1346,7 +1348,7 @@ VI_CHN_ATTR_S CHN_ATTR_720x576_420 =
     /*enCapSel*/
     VI_CAPSEL_BOTH,
     /* channel  pixel format */
-    PIXEL_FORMAT_YUV_SEMIPLANAR_420,
+    PIXEL_FORMAT_YUV_SEMIPLANAR_422,
     /*bMirr  bFlip   bChromaResample*/
     0,      0,      0,
     /*s32SrcFrameRate   s32DstFrameRate*/
@@ -1378,7 +1380,7 @@ VI_CHN_ATTR_S CHN_ATTR_360x288_420 =
     /*enCapSel*/
     VI_CAPSEL_BOTH,
     /* channel  pixel format */
-    PIXEL_FORMAT_YUV_SEMIPLANAR_420,
+    PIXEL_FORMAT_YUV_SEMIPLANAR_422,
     /*bMirr  bFlip   bChromaResample*/
     0,      0,      0,
     /*s32SrcFrameRate   s32DstFrameRate*/
@@ -1677,6 +1679,7 @@ HI_S32 SAMPLE_COMM_VI_StartDev(VI_DEV ViDev, SAMPLE_VI_MODE_E enViMode)

     memset(&stViDevAttr, 0, sizeof(stViDevAttr));
     printf("matt-SAMPLE_COMM_VI_StartDev\n");
+        enViMode=SAMPLE_VI_MODE_1_D1;
     switch (enViMode)
     {
         case SAMPLE_VI_MODE_1_D1:
@@ -1826,6 +1829,8 @@ HI_S32 SAMPLE_COMM_VI_StartDev(VI_DEV ViDev, SAMPLE_VI_MODE_E enViMode)
             memcpy(&stViDevAttr, &DEV_ATTR_LVDS_BASE, sizeof(stViDevAttr));
     }

+
+   
     s32Ret = HI_MPI_VI_SetDevAttr(ViDev, &stViDevAttr);
     if (s32Ret != HI_SUCCESS)
     {
@@ -1893,7 +1898,7 @@ HI_S32 SAMPLE_COMM_VI_StartChn(VI_CHN ViChn, RECT_S* pstCapRect, SIZE_S* pstTarS
     /* to show scale. this is a sample only, we want to show dist_size = D1 only */
     stChnAttr.stDestSize.u32Width = pstTarSize->u32Width;
     stChnAttr.stDestSize.u32Height = pstTarSize->u32Height;
-    stChnAttr.enPixFormat = PIXEL_FORMAT_YUV_SEMIPLANAR_420;   /* sp420 or sp422 */
+    stChnAttr.enPixFormat = PIXEL_FORMAT_YUV_SEMIPLANAR_422;   /* sp420 or sp422 */

     stChnAttr.bMirror = HI_FALSE;
     stChnAttr.bFlip = HI_FALSE;
@@ -2012,11 +2017,13 @@ HI_S32 SAMPLE_COMM_VI_StartBT656(SAMPLE_VI_CONFIG_S* pstViConfig)
                 stCapRect.u32Height = 1080;
                 break;
             default:
-                stCapRect.u32Width  = 1920;
-                stCapRect.u32Height = 1080;
+                stCapRect.u32Width  = 720;
+                stCapRect.u32Height = 576;
                 break;
         }

+
+
         stTargetSize.u32Width = stCapRect.u32Width;
         stTargetSize.u32Height = stCapRect.u32Height;
                SAMPLE_PRT("matt-SAMPLE_COMM_VI_StartChn\n");
@@ -2205,6 +2212,7 @@ HI_S32 SAMPLE_COMM_VI_StartMIPI_BT1120(SAMPLE_VI_MODE_E enViMode)
     }
     else
     {
+                pstcomboDevAttr = &MIPI_BT1120_ATTR;

     }

@@ -2962,7 +2970,7 @@ HI_S32 SAMPLE_COMM_VI_GetVFrameFromYUV(FILE* pYUVFile, HI_U32 u32Width, HI_U32 u
     pstVFrameInfo->stVFrame.u32Stride[0] = u32LStride;
     pstVFrameInfo->stVFrame.u32Stride[1] = u32CStride;
     pstVFrameInfo->stVFrame.u32Stride[2] = u32CStride;
-    pstVFrameInfo->stVFrame.enPixelFormat = PIXEL_FORMAT_YUV_SEMIPLANAR_420;
+    pstVFrameInfo->stVFrame.enPixelFormat = PIXEL_FORMAT_YUV_SEMIPLANAR_422;
     pstVFrameInfo->stVFrame.u32Field = VIDEO_FIELD_INTERLACED;/* Intelaced D1,otherwise VIDEO_FIELD_FRAME */

     /* read Y U V data from file to the addr ----------------------------------------------*/
diff --git a/sample/common/sample_comm_vi.o b/sample/common/sample_comm_vi.o
index b59512a..9d0571b 100644
Binary files a/sample/common/sample_comm_vi.o and b/sample/common/sample_comm_vi.o differ
diff --git a/sample/vio/sample_vio b/sample/vio/sample_vio
index 3a9be4c..b6780be 100755
Binary files a/sample/vio/sample_vio and b/sample/vio/sample_vio differ
diff --git a/sample/vio/sample_vio.c b/sample/vio/sample_vio.c
index 1e974db..41d4daf 100755
--- a/sample/vio/sample_vio.c
+++ b/sample/vio/sample_vio.c
@@ -2157,7 +2157,7 @@ HI_S32 SAMPLE_VIO_BT1120_1080P_PreView(SAMPLE_VI_CONFIG_S* pstViConfig)

     stLayerAttr.bClusterMode = HI_FALSE;
     stLayerAttr.bDoubleFrame = HI_FALSE;
-    stLayerAttr.enPixFormat = PIXEL_FORMAT_YUV_SEMIPLANAR_420;
+    stLayerAttr.enPixFormat = PIXEL_FORMAT_YUV_SEMIPLANAR_422;

     stLayerAttr.stDispRect.s32X = 0;
     stLayerAttr.stDispRect.s32Y = 0;
@@ -2613,7 +2613,7 @@ HI_S32 SAMLE_VIO_ResolutionSwitch_Preview(SAMPLE_VI_CONFIG_S* pstViConfig)

     stLayerAttr.bClusterMode = HI_FALSE;
     stLayerAttr.bDoubleFrame = HI_FALSE;
-    stLayerAttr.enPixFormat = PIXEL_FORMAT_YUV_SEMIPLANAR_420;
+    stLayerAttr.enPixFormat = PIXEL_FORMAT_YUV_SEMIPLANAR_422;

     stLayerAttr.stDispRect.s32X = 0;
     stLayerAttr.stDispRect.s32Y = 0;
@@ -2825,6 +2825,9 @@ int main(int argc, char* argv[])
     }

     g_stViChnConfig.enViMode = SENSOR_TYPE;//SAMPLE_VI_MODE_1_D1
+
+
+          g_stViChnConfig.enViMode =SAMPLE_VI_MODE_1_D1;
     SAMPLE_COMM_VI_GetSizeBySensor(&g_enPicSize);
     SAMPLE_PRT("main start+2*argv[1]=%d!\n",*argv[1]);
     switch (*argv[1])
diff --git a/sample/vio/sample_vio.o b/sample/vio/sample_vio.o
index cbee85b..b27f250 100644
Binary files a/sample/vio/sample_vio.o and b/sample/vio/sample_vio.o differ

运行samle_vio之前的vi信息如下
cat /proc/umap/vi

[VIU] Version: [Hi3516A_MPP_V1.0.5.0 B030 Release], Build Time: [Oct 29 2015, 20
:50:54]

VI-VPSS is offline.

-----MODULE PARAM--------------------------------------------------------------
detect_err_frame  drop_err_frame  stop_int_level
         10              0              0

-----VI DEV ATTR---------------------------------------------------------------
Dev   IntfM  WkM  ComMsk0  ComMsk1 ScanM AD0 AD1 AD2 AD3   Seq   DPath DType DR
ev CapX CapY  CapW  CapH
   0   BT656 1Mux ff000000        0     I  -1  -1  -1  -1  UYVY  ByPass   YUV
N    0    0   720   576

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

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

-----VI PHYCHN STATUS 1---------------------------------------------------------
-
PhyChn  Dev      IntCnt  VbFail  LosInt  TopLos  BotLos BufCnt  IntT  SendT  Fi
eld  Stride
      0    0       28670       0       1       0       1      2    31    181   i
ntl     720

-----VI PHYCHN STATUS 2---------------------------------------------------------

PhyChn MaxIntT   IntGapT   MaxGapT OverCnt LIntCnt  ThrCnt AutoDis CasAutD  Tmg
Err      ccErrN    IntRat
      0     245     20035     20046       0       0       1       0       0
  0           1        26

-----VI OTHER ATTR------------------------------------------------------------
    LDC   Mode  Ratio  COffX  COffY Enable
     --    All      0      0      0      0

  Flash   Mode StartTime  DuraTime  InterVal CapIdx Enable  FlashedNum
     --   Once         0         0         0      0      0           0

    CSC   Type HueVal  ContrVal   LumaVal  StatuVal
     --    709     50        50        50        50

    DCI     En BlackGain ContrGain LightGain
     --      0        60        60        60

    DIS     En
     --      0

-----VI WDR ATTR---------------------------------------------------------------
    Mode  BufNum    DstW    DstH  PoolId   VcNum  DesNum   State  bCompress
    NONE       0       0       0      -1       0       0    NONE      N

-----VI WDR DES STATUS----------------------------------------------------------

     Idx    IntGap    IntCnt  CcErrCnt

-----VI WDR SRC STATUS----------------------------------------------------------

     Idx    IntGap    IntCnt  CcErrCnt

-----VI WDR COMBINE STATUS------------------------------------------------------
--
    IntGap    IntCnt  CcErrCnt
         0         0         0

-----VI EXTCHN ATTR------------------------------------------------------------
ExtChn BindChn CropEn  CropX  CropY  CropW  CropH  DstW  DstH PixFom SrcRat Dst
Rat  Depth   Comp

-----VI CHN STATUS-------------------------------------------------------------
ViChn   bEnUsrP   FrmTime   FrmRate     SendCnt      SwLost    Rotate     Depth

     0         N     40002        25       28668           0      NONE         0


-----VI CHN CALL VGS STATUS 1-------------------------------------------------
ViChn   UsrBgnNOk   UsrCancel    UsrEndOk     UsrCbOk    CovBgnNOk   CovCancel
   CovEndOk    CovCbOk

-----VI CHN CALL VGS STATUS 2-------------------------------------------------
ViChn   OsdBgnNOk   OsdCancel    OsdEndOk     OsdCbOk      ScaleNOk   SclCancel
    SclEndOk     SclCbOk

-----VI CHN CALL VGS STATUS 3-------------------------------------------------
ViChn   RotateNOk   RotCancel    RotEndOk     RotCbOk        LDCNOk   LDCCancel
    LDCEndOk     LDCCbOk
~ #
运行之后的vi信息如下/usr # ./sample_vio 8
[main]-2810: main start++!
[main]-2820: main start+1!
[main]-2832: main start+2*argv[1]=56!
[SAMPLE_COMM_VI_StartVi]-2549: matt-SAMPLE_COMM_VI_StartVi
[SAMPLE_COMM_VI_StartVi]-2559: matt-SAMPLE_COMM_VI_StartBT656
[SAMPLE_COMM_VI_StartBT656]-1969: matt-SAMPLE_COMM_VI_StartBT656+1
matt-SAMPLE_COMM_VI_StartDev
[SAMPLE_COMM_VI_StartDev]-1837: HI_MPI_VI_SetDevAttr failed with 0xa0108010!
[SAMPLE_COMM_VI_StartBT656]-1994: SAMPLE_COMM_VI_StartBT656: start vi dev[0] fai
led!
[SAMPLE_VIO_BT1120_1080P_PreView]-2123: start vi failed!
[main]-2900: program exit abnormally!

/usr # cat /proc/umap/vi

[VIU] Version: [Hi3516A_MPP_V1.0.5.0 B030 Release], Build Time: [Oct 29 2015, 20
:50:54]

VI-VPSS is offline.

-----MODULE PARAM--------------------------------------------------------------
detect_err_frame  drop_err_frame  stop_int_level
         10              0              0

-----VI DEV ATTR---------------------------------------------------------------
Dev   IntfM  WkM  ComMsk0  ComMsk1 ScanM AD0 AD1 AD2 AD3   Seq   DPath DType DR
ev CapX CapY  CapW  CapH

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

-----VI PHYCHN ATTR------------------------------------------------------------
PhyChn CapX CapY  CapW  CapH  DstW  DstH CapSel Mirror Flip IntEn PixFom SrcRat
DstRat   Comp

-----VI PHYCHN STATUS 1---------------------------------------------------------
-
PhyChn  Dev      IntCnt  VbFail  LosInt  TopLos  BotLos BufCnt  IntT  SendT  Fi
eld  Stride

-----VI PHYCHN STATUS 2---------------------------------------------------------

PhyChn MaxIntT   IntGapT   MaxGapT OverCnt LIntCnt  ThrCnt AutoDis CasAutD  Tmg
Err      ccErrN    IntRat

-----VI EXTCHN ATTR------------------------------------------------------------
ExtChn BindChn CropEn  CropX  CropY  CropW  CropH  DstW  DstH PixFom SrcRat Dst
Rat  Depth   Comp

-----VI CHN STATUS-------------------------------------------------------------
ViChn   bEnUsrP   FrmTime   FrmRate     SendCnt      SwLost    Rotate     Depth


-----VI CHN CALL VGS STATUS 1-------------------------------------------------
ViChn   UsrBgnNOk   UsrCancel    UsrEndOk     UsrCbOk    CovBgnNOk   CovCancel
   CovEndOk    CovCbOk

-----VI CHN CALL VGS STATUS 2-------------------------------------------------
ViChn   OsdBgnNOk   OsdCancel    OsdEndOk     OsdCbOk      ScaleNOk   SclCancel
    SclEndOk     SclCbOk

-----VI CHN CALL VGS STATUS 3-------------------------------------------------
ViChn   RotateNOk   RotCancel    RotEndOk     RotCbOk        LDCNOk   LDCCancel
    LDCEndOk     LDCCbOk
/usr #

非常奇怪,vi里什么信息都没有了,所以请教一下各位大神这是怎么回事,谢谢

我来回答
回答1个
时间排序
认可量排序

yangcanx

0个粉丝

8

问答

0

专栏

0

资料

yangcanx 2017-08-14 10:56:13
认可0
初始化报错了啊
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区