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.

Trouble with capture_encode_a8host_debug.xv5T and saLoopBack

Other Parts Discussed in Thread: TLC59108, TVP7002

Hello, Dear experts!

I try to run capture_encode_a8host_debug.xv5T but all is without luck!

My actions is:

Firstly, I have ezsdk_dm814x-evm_5_05_02_00_setuplinux,
then I've created new bootable sd-card with linux and booted up from it.

After it I stop matrix gui and pvr as:

/etc/init.d/matrix-gui-e stop

/etc/init.d/pvr-init stop

and run app

./capture_encode_a8host_debug.xv5T -o my.h264 -m 1080p -f 60 -b 1000000 -d 1 -n 500
output file: my.h264
bit_rate: 1000000
frame_rate: 60
num_frames: 500
mode: 1080p
display_id: 1
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: 3110400
set input port params (width = 1920, height = 1080)enable capture output port
got eventEnable/Disable Event
dei compoenent is created
set input port params (width = 1920, height = 1080)
set output port params (width = 1920, height = 1080)set output port params (width = 1920, height = 1080)set number of channelsset input resolutionset output resolutionenable dei input port
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 0x1244f8 for component OMX.TI.VPSSM3.VFDC
got display handle
found handle 0x128500 for component OMX.TI.VPSSM3.CTRL.DC
Buffer Size computed: 1728000
set input port params (width = 1920, height = 1080)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 eventState changed to: OMX_StateIdle
Capture outport buffers allocated
got eventState changed to: OMX_StateIdle
Capture is in IDLE state
Dei input port use buffer done
DEI outport buffers allocated
got eventState changed to: OMX_StateIdle
DEI is in IDLE state
encoder input port use buffer done
encoder outport buffers allocated
got eventState changed to: OMX_StateIdle
Encoder state IDLE
got eventState changed to: OMX_StateIdle
ctrl-dc state IDLE
display buffers allocated
waiting for IDLEgot eventState changed to: OMX_StateIdle
display state IDLE
got eventState changed to: OMX_StateExecuting
display control state execute
got eventState changed to: OMX_StateExecuting
display state execute
got eventState changed to: OMX_StateExecuting
encoder state execute
got eventState changed to: OMX_StateExecuting
dei state execute
got eventState changed to: OMX_StateExecuting
capture state execute

But my LCD have just white screen!

Here is result of lsmod:

bufferclass_ti 4950 0
omaplfb 10794 0
pvrsrvkm 155618 2 bufferclass_ti,omaplfb
tlc59108 1545 0
ti81xxhdmi 17685 0
ti81xxfb 21979 2
vpss 74936 3 omaplfb,ti81xxhdmi,ti81xxfb
syslink 1133911 0
ipv6 214095 14

Of course, I check out my video source, camera is working!
I plug camera video out to composite in on board as depicted on pic:

Then I resolved to try one's luck with 4vl2 but I got error again!

My actions is:

1.
/etc/init.d/matrix-gui-e stop
/etc/init.d/pvr-init stop
cd /usr/share/ti/ti-media-controller-utils/
./load-hd-firmware.sh stop
./load-hd-v4l2-firmware.sh start

2.
root@dm814x-evm:~# lsmod
Module Size Used by
tlc59108 1545 0
ti81xxhdmi 17685 0
ti81xxvin 20591 0
tvp7002 6429 1
ti81xxvo 21210 0
ti81xxfb 21979 0
vpss 74936 4 ti81xxhdmi,ti81xxvin,ti81xxvo,ti81xxfb
syslink 1133911 0
ipv6 214095 14

3.
root@dm814x-evm:~# ./saLoopBack
Driver Name: ti81xxvin
Driver bus info: TI81xx Platform
Driver is capable of doing capture
sh: can't create /sys/devices/platform/vpss/display0/enabled: nonexistent directory
saLoopBack:
Mode set is 0
Setting DV Preset failed

Many thanks for considering my request.
With best regards, Max!

  • Hello,

    If you want to run the both application you shall connect the camera trough component input (J8, J9, J10). The applications takes input through TVP7002 decoder.

    FOr more information you could check the OMX user guide or  http://processors.wiki.ti.com/index.php/TI81XX_PSP_VIDEO_CAPTURE_Driver_User_Guide for v4l2 capture.

    If you want to use the composite input you should make some changes like adding the external decoder: 

    http://processors.wiki.ti.com/index.php/DM81xx_AM38xx_Adding_External_Decoders_to_V4L2_Capture_Driver

    If you need further details let me know.

    Best Regards,

    Margarita

  • Hi, Margarita!

    Thanks for your reply and link :

    http://processors.wiki.ti.com/index.php/DM81xx_AM38xx_Adding_External_Decoders_to_V4L2_Capture_Driver

    Yes, I need to use composite input and I have  in ./drivers/media/video tvp7002.ko .

    Could you get me explanation what to do next for capturing video from composite input!?

    With best regards, Max!

  • Hello,

    The tvp7002 is external decoder.

    To the composite input is connected the tvp 1547, you could check this on your board.

    You should add this external decoder. You could follow this user guide:

    http://processors.wiki.ti.com/index.php/DM81xx_AM38xx_Adding_External_Decoders_to_V4L2_Capture_Driver

    Also support for tvp154x is added in the kernel. 

    Device Drivers->Multimedia support-> Video capture adapters->Encoders/decoders and other helper chips ->Texas Instruments TVP514x video decoder 

    You should change the saLoopBack application of course as well.

    Best Regards,

    Margarita

  • Hi, Margarita !

    I rebuilt kernel with option "tvp514x" and changed "load-hd-v4l2-firmware.sh" as:

    case "$1" in
        start)
            echo "Loading HDVICP2 Firmware"
            prcm_config_app s
            modprobe syslink
            until [[ -e /dev/syslinkipc_ProcMgr && -e /dev/syslinkipc_ClientNotifyMgr ]]
            do                                                
                sleep 0.5
            done
            firmware_loader $HDVICP2_ID /usr/share/ti/ti-media-controller-utils/dm814x_hdvicp.xem3 start
            echo "Loading HDVPSS (V4L2) Firmware "
            firmware_loader $HDVPSS_ID /usr/share/ti/ti-media-controller-utils/dm814x_hdvpss_v4l2.xem3 start -i2c 0
            modprobe vpss sbufaddr=0xBFB00000 mode=hdmi:1080p-60 i2c_mode=0
            modprobe ti81xxfb vram=0:40M,1:1M,2:1M
            configure_lcd
            modprobe ti81xxvo

            modprobe tvp514x
            modprobe tvp7002
            modprobe ti81xxvin
            fbset -depth 32 -rgba 8/16,8/8,8/0,0/0
            modprobe ti81xxhdmi
            modprobe tlc59108

    Then I do following :

    /etc/init.d/matrix-gui-e stop
    /etc/init.d/pvr-init stop
    cd /usr/share/ti/ti-media-controller-utils/
    ./load-hd-firmware.sh stop
    ./load-hd-v4l2-firmware.sh start

    and result of lsmod is:

    Module                  Size  Used by
    tlc59108                1545  0
    ti81xxhdmi             17685  0
    ti81xxvin              20591  0
    tvp7002                 6429  1
    tvp514x                10284  0
    ti81xxvo               21210  0
    ti81xxfb               21979  0
    vpss                   74936  4 ti81xxhdmi,ti81xxvin,ti81xxvo,ti81xxfb
    syslink              1133911  0
    ipv6                  214095  14

    Is it correct?

    If I exec ls /dev/video* I get:

    /dev/video0  /dev/video2  /dev/video4  /dev/video6
    /dev/video1  /dev/video3  /dev/video5

    How can I know what file presents composite input? Because, presence of tvp514 in system haven't an influence on amount of this files. What I need to pass as first param in "open" function for capturing?

    I will be grateful if you can help me!

    With best regards, Max

  • Is there anybody here?