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.

can move i2c control from m3 to a8(DM8168 DVRRDK)?

Other Parts Discussed in Thread: TVP7002, TVP5158

when i disable 'SYSTEM_USE_VIDEO_DECODER', the capture link can't work, the crush info:


SystemLink_copySlaveCoreExceptionContext:146
mmap of [0xbe9e0000:36864]
mmap virt addresss:0x2adf8000
munmap of [0x2adf8000:36864]
SystemLink_copySlaveCoreExceptionContext:153
[m3vpss ] 96541: Assertion @ Line: 139 in links_m3vpss/capture/captureLink_drv.c: pInst->videoDecoderHandle != NULL : failed !!!


does some document have informartion of this?

thanks.

  • SYSTEM_USE_VIDEO_DECODER is already disabled for 816x. Where did you disable this define ? It is enabled only for 8107.From the assert it looks like CaptureLink_drvCreateVideoDecoder is being invoked. THis function should never be invoked if this define is disabled. Incase you modified the define pls ensure you rebuild both A8 and M3 side.(make dvr_rdk)

  • hi, Badri.

    thanks for your reply, if the SYSTEM_USE_VIDEO_DECODER define, 

    FVID2_dequeue() can't get frame:

    FVID2_dequeue() ->Vps_captDequeue() ->VpsUtils_queGet()

    i print at VpsUtils_queGet(), there is no data in the list, where is the data actually capture(from tvp7002)?

    thanks

  • I dont understand. Have you enable #define SYSTEM_USE_VIDEO_DECODER or disabled #define SYSTEM_USE_VIDEO_DECODER

    You should keep this define disabled.

    You have to configure the external video decoder via i2c and only then VIP capture driver can receive frames.

    What is the external  video decoder .Is it TVP7002 ? Are you trying this on your board or TI EVM

  • hi, when i define SYSTEM_USE_VIDEO_DECODER, it works well of capture and encode.

    but if disable it, the capture link task can't get data, 

    i'm test on the evm 8168+daughterCard, the tvp7002 configured well already(i've test on ezsdk and dvrrdk).

    and where is the real capture thread?

    thanks

  • If you define SYSTEM_USE_DECODER the external video decoder configuration happens on VPSS M3.

    If you dont define SYSTEM_USE_DECODER the external video decoder configuration should be done by application on A8. You will have to write a TVP7002 i2c control similar to what is done for TVP5158.You can refer /dvr_rdk/mcfw/src_linux/devices/tvp5158. You will have to invoke different APIs like Vcap_configVideoDecoder, Vcap_deviceStart similar to what is done in /dvr_rdk/mcfw/src_linux/mcfw_api/usecases/ti816x/multich_progressive_vcap_venc_vdec_vdis.c

    Capture thread runs on VPSS M3.

    Can you let us know which release you are using.Is it DVR RDK or VC RDK or IPNC RDK.

     

  • hi, Badri, thanks for your reply. i'm using the 'DVRRDK_03.00.00.00'.

    there is only tvp5158 implement. is i need to implement the tvp7002?

  • I understand from this post http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/p/228594/803919.aspx#803919

    that you have i2c scripts that run on A8 that configures TVP7002.  I hope you have confirmed this configuration is correct.

    If it is the case pls do the following:

    1. Disable #define SYSTEM_USE_VIDEO_DECODER

    2. Set /dvr_rdk/mcfw/src_linux/mcfw_api/ti_vcap.c

         Vcap_params_init

     

         pContext->enableConfigExtVideoDecoder = FALSE;

    3. Configure VIP with the same configuration you used when you got TVP7002 working.

  • hi, int current source code, the three step already done.

    i've add the tvp7002 init at the boot script, does it need to add one 'dvr_rdk/mcfw/src_linux/devices/tvp7002'?

    very thanks.

  • It is not required to add dvr_rdk/mcfw/src_linux/devices/tvp7002 if you have already done the initialization by i2c.

    Pls share your usecase file and the exact difference between working and non-working case. What changes did you make in your application and in mcfw code between working and not working case.

    Also pls share log of Vsys_printDetailedStatistics()