This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

自己做的EIO卡用v4l2可以采集到图像,但是用omx或者omtb就报错

Other Parts Discussed in Thread: TVP7002, THS7368

 Capture-Encode example 
===============================
 OMX_Init completed 
 UIAClient is ready to send a UIA configuration command
UIAClient received UIA_CONFIGURE_ACK
UIAClient is done sending requests
UIAClient is ready to send a UIA configuration command
UIAClient received UIA_CONFIGURE_ACK
UIAClient is done sending requests
 openeing file 
 capture compoenent is created 
 control TVP compoenent is created 
Buffer Size computed: 1382400
set input port params (width = 1280, height = 720)enable capture output port 
got eventEnable/Disable Event 
 dei compoenent is created 
set input port params (width = 1280, height = 720) 
set output port params (width = 1280, height = 720)set output port params (width = 1280, height = 720)set number of channelsset input resolutionset output resolutionenable dei  
got eventEnable/Disable Event 
enable dei output port 0 
got eventEnable/Disable Event 
enable dei output port 1 
got eventEnable/Disable Event 
 encoder compoenent is created 
found handle 0x11c2f0 for component OMX.TI.VPSSM3.VFDC 
 got display handle 
found handle 0x11fdf8 for component OMX.TI.VPSSM3.CTRL.DC
Buffer Size computed: 1843200
set input port params (width = 1280, height = 720)setting input and output memory type to defaultenable input port 
got eventEnable/Disable Event 
 connect call for capture-Dei 
  connect call for dei- encoder 
  connect call for dei-display 
 got event*** unrecoverable error: OMX_ErrorUndefined (0x80001001) 
Press a key to proceed

这个停在了

 ilclient.c, line 910

  semp_pend (pAppData->capILComp->done_sem);

使用omtb 报错:

OMTB> omx api sendcommand state tvp 0 waitforsem 
OMTB-In OMTB_ClientEventHandler: OMX_EventError - 80001001 
OMTB-FAIL: OMX_ErrorUndefined 
OK 
======================================================================

OMTB> omx api sendcommand state tvp 0 exec 
OMTB-Entering <Thread , instance #> : <OMTB_ClientApiTsk , 0> 
OMTB-FAIL: OMX_ErrorIncorrectStateTransition

但是用v4l2可以采集到图像,这个EIO卡只使用了一个TVP7002,只用了一个IIC1 IIC0没有做。请问是哪里可能出问题了?

谢谢!

k m


  • 你好:

    从LOG信息看,是Capture模块没有采集到数据。而v4l2的程序可以正常工作,说明TVP7002和底层HDVPSS可以正常工作。

    那么就是OMX代码中的配置不正确,可能有两块:

    1. ilClient_utils.c中的IL_ClientSetCaptureParams中的配置;

    2. Capture模块中底层component对于TVP7002的配置有问题;

    可以通过打印TVP7002的寄存器信息来看TVP7002有没有被正确的配置。

    另外,请问你们使用的软件版本是多少,做了哪些修改;硬件上连接与EVM有哪些改动?

  • 您好! HDVPSS是不能正常工作的。

    开发工具是EZSDK5.03

    具体情况是 使用TI EVM8168板 自己设计的EIO采集卡,只使用了一片8575和一片TVP7002,一片THS7368,没有别的decoder,TVP7002输出到总线开关再输出至VIN0。找了份HDVPSS的源码,发现在vps_drv_tvp7002i2c.c中报错,提示THS programming failed。同时使用usr/share/ti/ti-uia目录下的loggerSDump来查看VPSS的log,确实是这个地方出错。今天下午使用了HDVPSS的源码,修改了相关的一些配置,生成的hdvpss_chains_m3vpss_debug.xem3,放到/usr/share/ti/ti-medie-*/ ,同时修改boot.src,设置notifyk.vpssm3.sva=0XBEE00000 ,加载过HDVICP firmware后不能成功加载hdvpss_chains_m3vpss_debug.xem3。应该是memorymap设置出错?

    HDVPSS是从DVRRDK4.0中copy出来,同时copy了cgt_m3 除此外对应的路径全部设置成EZSDK中的。

    DVRRDK配置过路径后,编译报错,提示缺少ti81xxhdmi.h,发现-I 的路径竟然是KERNEL/ARCH/ARM/INCLUDE 这个路径本身就不包含该头文件,手动添加 -I 到正确路径/KERNEL/INCLUDE/LINUX,又会在别处跳出重复引用的错误。这个是我的DVRRDK的问题么?

    谢谢您的回复,期待您的帮助,今天一下午忙着编译HDVPSS,中间还出了不少问题,没有及时回复

    K M

  • DVRRDK是昨天才拿到,之前一直是在使用EZSDK的OPENMAX开发,OMX中软件配置不存在问题,因为同样的程序在原装子卡就可以使用。DVRRDK中的HDVPSS源码如何结合到EZSDK,思路不是很清晰,那EZSDK种的DM816X_HDVPSS.xem3又是怎么来的呢?下午编译出来的HDVPSS.XEM3只有12+mb,自带的二进制xem3有15+mb,怎么样才能正确的得到dm816x_hdvpss.XEM3?

    谢谢

    K M

  • N:VPSS P:2 #:00735 T:0000001b6529839f S:Module<OMX.TI.VPSSM3.CTRL.TVP> Entering<OMX_BASE_CmdEventHandler> @line<434>
    N:VPSS P:2 #:00736 T:0000001b652a055d S:Module<OMX.TI.VPSSM3.CTRL.TVP> Entering<OMX_BASE_PROCESS_CmdEvent> @line<526>
    N:VPSS P:2 #:00737 T:0000001b652a5c65 S:Module<OMX.TI.VPSSM3.CTRL.TVP> @<OMX_BASE_PROCESS_CmdEvent> @line<538> msg<Processing OMX_CommandStateSet>
    N:VPSS P:2 #:00738 T:0000001b652ac021 S:Module<OMX.TI.VPSSM3.CTRL.TVP> Entering<_OMX_BASE_HandleStateTransition> @line<316>
    N:VPSS P:2 #:00739 T:0000001b652b1607 S:Module<OMX.TI.VPSSM3.CTRL.TVP> @<_OMX_BASE_HandleStateTransition> @line<338> msg<Loaded to Idle Transition>
    N:VPSS P:2 #:00740 T:0000001b652b8879 S:Entered _OMX_CTRLTvpDrvCreate: 569
    N:VPSS P:2 #:00741 T:0000001b7413e763 S:Created Driver Video DecoderId: 1025
    N:VPSS P:2 #:00742 T:0000001b7415b013 S:FVID Control GetChipId Success:
    N:VPSS P:2 #:00743 T:0000001b74166c91 S: OMXCTRL_TVP: VIP 0: VID DEC 0401 (0x5d): 7002:0002:0000
    N:VPSS P:2 #:00744 T:0000001b91e8c5ed S:tvp7002/src/vpsdrv_tvp7002I2c.c @ Line 88:
    N:VPSS P:2 #:00745 T:0000001b91e931f3 S:THS filter programming failed
    N:VPSS P:2 #:00746 T:0000001b91e994b7 S:tvp7002/src/vpsdrv_tvp7002I2c.c @ Line 565:
    N:VPSS P:2 #:00747 T:0000001b91e9e1a6 S:Setup video failed
    N:VPSS P:2 #:00748 T:0000001b91ea2009 S:FVID Control SetVideoMode Failed:
    N:VPSS P:2 #:00749 T:0000001b91ea5a53 S: OMX Error in Omx_Capture_createVideoDecoder :: line 1166
    N:VPSS P:2 #:00750 T:0000001b91ea9fbf S: OMX Error in _OMX_CTRLTvpDrvCreate :: line 591
    N:VPSS P:2 #:00751 T:0000001b91eae44d S: OMX Error in OMX_TI_CTRL_CommandNotify :: line 802
    N:VPSS P:2 #:00752 T:0000001b91eb2735 S: OMX Error in _OMX_BASE_HandleStateTransition :: line 343
    N:VPSS P:2 #:00753 T:0000001b91eb7751 S:Module<OMX.TI.VPSSM3.CTRL.TVP> Leaving<_OMX_BASE_HandleStateTransition> @line<482> with error<-2147479551:ErrorUnde>
    N:VPSS P:2 #:00754 T:0000001b91eefbef S:Module<OMX.TI.VPSSM3.CTRL.TVP> Leaving<OMX_BASE_PROCESS_CmdEvent> @line<784> with error<-2147479551:ErrorUndefined>
    N:VPSS P:2 #:00755 T:0000001b91ef7d97 S:Module<OMX.TI.VPSSM3.CTRL.TVP> Leaving<OMX_BASE_CmdEventHandler> @line<466> with error<-2147479551:ErrorUndefined>
    N:VPSS P:2 #:00756 T:0000001b91f00deb S:Module<OMX.TI.VPSSM3.CTRL.TVP> Entering<OMX_BASE_CmdEventHandler> @line<434>
    N:VPSS P:2 #:00757 T:0000001b91f06dbd S:Module<OMX.TI.VPSSM3.CTRL.TVP> Leaving<OMX_BASE_CmdEventHandler> @line<466> with error<0:ErrorNone>

    这是loggerSdump输出的vpss log。

    请问是不是在HDVPSS中对TVP7002进行配置的时候 分别对0x5d 和 0x5c 两片7002都进行了配置,由于自己做的子卡中只有一片7002和一片8575,所以配置失败,程序卡掉

    谢谢


  • 大侠 这个问题最后还搞定了?什么原因?