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.

Video capture need help in PSP04.00.01.13_patch2

Hi there,

I was work on PSP04.00.01.13_patch2 and tried to see if the new v4l2 capture driver works.
Whenever I run ./saLoopBack app, I always saw a bunch of complain messages, which didn't
show up in the following runs. But no video came out at all. So I had no idea if video
data has been captured.

Could anyone shed some light in this?

Thanks,

-Perry



+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Video source = HD 1080i (BluRay player cannot do 1080P on component output)

root@dm816x-evm:~/TICode/capture/bin# ./saLoopBack
Driver Name: ti81xxvin
Driver bus info: TI81xx Platform
Driver is capable of doing capture
saLoopBack:
Mode set is 1080I60
Driver Name:
Driver bus info: \ufffd\u0423@@`
=============================================================
Capture Format:
=============================================================
fmt.type = 1
fmt.width = 1920
fmt.height = 1080
fmt.pixelformat = 1448695129
fmt.bytesperline = 3840
fmt.sizeimage = 4147200
=============================================================
=============================================================
Display Format:
=============================================================
fmt.type = 2
fmt.width = 1920
fmt.height = 1080
fmt.pixelformat = 1448695129
fmt.bytesperline = 3840
fmt.sizeimage = 4147200
=============================================================
------------[ cut here ]------------
WARNING: at kernel/softirq.c:159 local_bh_enable+0x54/0xc4()
Modules linked in: ti81xxhdmi tvp7002 ti81xxvin ti81xxvo ti81xxfb vpss syslink ipv6
Backtrace:
[<c0048b58>] (dump_backtrace+0x0/0x110) from [<c036b8d8>] (dump_stack+0x18/0x1c)
r7:00000000 r6:c00712d0 r5:c042e572 r4:0000009f
[<c036b8c0>] (dump_stack+0x0/0x1c) from [<c006bd54>] (warn_slowpath_common+0x54/0x6c)
[<c006bd00>] (warn_slowpath_common+0x0/0x6c) from [<c006bd90>] (warn_slowpath_null+0x24/0x2c)
r9:c04d94bc r8:d088c800 r7:0000000e r6:cca8fa00 r5:c04b330c
r4:c05047c0
[<c006bd6c>] (warn_slowpath_null+0x0/0x2c) from [<c00712d0>] (local_bh_enable+0x54/0xc4)
[<c007127c>] (local_bh_enable+0x0/0xc4) from [<c0065c58>] (omap_mbox_msg_send+0xcc/0xdc)
r5:c04b330c r4:00000000
[<c0065b8c>] (omap_mbox_msg_send+0x0/0xdc) from [<c02aca90>] (notify_shm_drv_send_event+0x1c8/0x208)
r5:00000001 r4:00000000
[<c02ac8c8>] (notify_shm_drv_send_event+0x0/0x208) from [<c02aa220>] (notify_send_event+0x114/0x26c)
[<c02aa10c>] (notify_send_event+0x0/0x26c) from [<bf18a610>] (vps_fvid2_queue+0x94/0x1cc [vpss])
[<bf18a57c>] (vps_fvid2_queue+0x0/0x1cc [vpss]) from [<bf1935b0>] (capture_queue+0x50/0x64 [vpss])
r8:bf1c3404 r7:60000013 r6:cac44480 r5:00000000 r4:cb7fc400
[<bf193560>] (capture_queue+0x0/0x64 [vpss]) from [<bf1c21c8>] (ti81xxvin_buffer_queue+0x9c/0xe8 [ti81xxvin])
r5:cb7b7000 r4:cb7fc400
[<bf1c212c>] (ti81xxvin_buffer_queue+0x0/0xe8 [ti81xxvin]) from [<c0283a78>] (videobuf_streamon+0x80/0xd0)
r7:60000013 r6:cb7b71c4 r5:cb7b7104 r4:cac44480
[<c02839f8>] (videobuf_streamon+0x0/0xd0) from [<bf1c1c40>] (vidioc_streamon+0x244/0x400 [ti81xxvin])
r7:cbc19c00 r6:00000001 r5:cb7b7000 r4:cb7b7104
[<bf1c19fc>] (vidioc_streamon+0x0/0x400 [ti81xxvin]) from [<c0279380>] (__video_do_ioctl+0x1618/0x3f34)
r6:40045612 r5:00000000 r4:00000001
[<c0277d68>] (__video_do_ioctl+0x0/0x3f34) from [<c0277b58>] (__video_usercopy+0x2e4/0x428)
[<c0277874>] (__video_usercopy+0x0/0x428) from [<c0277ccc>] (video_ioctl2+0x30/0x38)
[<c0277c9c>] (video_ioctl2+0x0/0x38) from [<c0276d0c>] (v4l2_ioctl+0xe8/0x11c)
r5:cbc19c00 r4:cac44980
[<c0276c24>] (v4l2_ioctl+0x0/0x11c) from [<c00d10e4>] (vfs_ioctl+0x28/0x44)
r9:ccbe6000 r8:bea74c74 r7:00000003 r6:00000003 r5:cac44980
r4:00000000
[<c00d10bc>] (vfs_ioctl+0x0/0x44) from [<c00d17f4>] (do_vfs_ioctl+0x500/0x540)
[<c00d12f4>] (do_vfs_ioctl+0x0/0x540) from [<c00d188c>] (sys_ioctl+0x58/0x7c)
[<c00d1834>] (sys_ioctl+0x0/0x7c) from [<c0044da0>] (ret_fast_syscall+0x0/0x30)
r8:c0044f48 r7:00000036 r6:000124d0 r5:0001215c r4:bea74c74
---[ end trace 973e4ec6a8b9f0fd ]---
Count=0
Frame rate = 31
Timing Info:
pixel_clk = 148500
x_res = 1920
y_res = 1080
hfp = 88
hsw = 44
hbp = 148
vfp = 4
vsw = 5
vbp = 36

<===Senconf run starts here=====================================

root@dm816x-evm:~/TICode/capture/bin# ./saLoopBack
Driver Name: ti81xxvin
Driver bus info: TI81xx Platform
Driver is capable of doing capture
saLoopBack:
Mode set is 1080I60
Driver Name:
@@`er bus info: \ufffds
=============================================================
Capture Format:
=============================================================
fmt.type = 1
fmt.width = 1920
fmt.height = 1080
fmt.pixelformat = 1448695129
fmt.bytesperline = 3840
fmt.sizeimage = 4147200
=============================================================
=============================================================
Display Format:
=============================================================
fmt.type = 2
fmt.width = 1920
fmt.height = 1080
fmt.pixelformat = 1448695129
fmt.bytesperline = 3840
fmt.sizeimage = 4147200
=============================================================
Count=0
Frame rate = 31
Timing Info:
pixel_clk = 148500
x_res = 1920
y_res = 1080
hfp = 88
hsw = 44
hbp = 148
vfp = 4
vsw = 5
vbp = 36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • Hi,

    Kernel dumps what you are seeing is a known issue. This you will see first time only. Further from your logs it looks like you are feeding 1080i60 input to V4L2 capture driver and with that saLoopBack configures display for 1080P30. Many monitors/displays dont display 1080P30. So you can either change saLoopBack.c code to adjust display for 1080P60 instead of 1080P30 or you can feed in 720P60 to capture and saLoopBack will select display resolution to 720P60.

    diff --git a/examples/video/saLoopBack.c b/examples/video/saLoopBack.c
    index 00ebf99..41d1eb3 100644
    --- a/examples/video/saLoopBack.c
    +++ b/examples/video/saLoopBack.c
    @@ -171,7 +171,7 @@ static int initCapture(void)
                    break;
            case V4L2_DV_1080I60:
                    printf("%s:\n Mode set is 1080I60\n", APP_NAME);
    -               system ("echo 1080p-30 > /sys/devices/platform/vpss/display0/mode");
    +               system ("echo 1080p-60 > /sys/devices/platform/vpss/display0/mode");
                    break;
            case V4L2_DV_1080P60:
                    printf("%s:\n Mode set is 1080P60\n", APP_NAME);

    Regards,

    Hardik Shah

  • Thanks a lot, Hardik.

    This workaround fixed the display problem.

    Happy Holidays.

    -Perry


    .