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.

AM62A7: Gstreamer can not support 1920*1280 video frame

Part Number: AM62A7

Tool/software:

Using the am62a to light on the camera. Right now I can light on the Imx623 with config 1920*1536@60fps raw12 datatype.

But when i switch to other camera OV0X3C with  1920*1280@60fps raw12. Right now the video can not light.

to verify the problem i set the UB953 to let the 953 output with 1920*1280 raw colorbar. The Gsteramer can not work.

but when i using below script to turn on the application  here is the result:

media-ctl -V '"imx219 2-003c":0 [fmt:SRGGB12_1X12/1920x1536 field:none]'
media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0 [fmt:SRGGB12_1X12/1920x1536 field:none]'
media-ctl -V '"30102000.ticsi2rx":0 [fmt:SRGGB12_1X12/1920x1536 field:none]'
./bin/app_cms_imx219_1920_1280_raw12_Colorbar ./debug/imx219_cam_example_raw12_1920_1536.yaml


but due to the color is 1920*1280. the video show below: only half video is on the screen. that mean that the video can be send out correct. and the SOC setting not correct


can you help to analysis what the problem in Gsteramer and v4l2. Thanks very much 

  • Here is the color bar that i set in UB953:
    static const camera_i2c_reg_array Ds90up953_Setting[] = 
    {
        0xb2,0x01,// enable pattern generator
        0xb0,0x02,// # select PATGEN page for indirect register access. Auto increment register address after each read/write.
        0xb1,0x01,// # select register address 0x01 on the PATGEN register page
        0xb2,0x01,// PGEN_CTL # enable pattern generator
        0xb2,0x33,// PGEN_CFG
        0xb2,0x2C,// PGEN_CSI_DI : datatype  0x2A(RAW8)、0x2B(RAW10)、0x2C(RAW12)5;
        0xb2,0x07,// PGEN_LINE_SIZE1 : PGEN_LINE_SIZE[15:8]
        0xb2,0x80,// PGEN_LINE_SIZE0 : PGEN_LINE_SIZE[7:0] 0x780 = 1920
        0xb2,0x00,// PGEN_BAR_SIZE1
        0xb2,0xf0,// PGEN_BAR_SIZE0
        0xb2,0x05,// PGEN_ACT_LPF1
        0xb2,0x00,// PGEN_ACT_LPF0  0Heavy multiplication x600 = 1536   1080 + 33 + 10 + 2 = 1115
        0xb2,0x05,// PGEN_TOT_LPF1
        0xb2,0x2d,// PGEN_TOT_LPF0  0Heavy multiplication x62D = 1591  
        0xb2,0x0b,// PGEN_LINE_PD1
        0xb2,0x93,// PGEN_LINE_PD0  0Heavy multiplication xB93 = 2963 
        0xb2,0x21,// PGEN_VBP  0x21 = 33
        0xb2,0x0a,// PGEN_VFP
    };
    read the frame status in MB960. here is the log
    root@am62axx-evm:/opt/edgeai-gst-apps# i2ctransfer -y 2 w1@0x30 0x73 r4
    0x05 0x00 0x07 0x80
    root@am62axx-evm:/opt/edgeai-gst-apps# i2ctransfer -y 2 w1@0x30 0x90 r4
    0x04 0xbd 0x00 0x00

  • I can using the v4l2 to read the video. but the streamer can not start. here is the log
    v4l2-ctl -d /dev/video-imx219-cam0 --set-fmt-video=width=1920,height=1280,pixelformat=RG12 --stream-mmap --stream-count=1 --stream-to=1920_1280.raw
    v4l2-ctl -d /dev/video-imx219-cam0 --set-fmt-video=width=1920,height=1536,pixelformat=RG12 --stream-mmap --stream-count=1 --stream-to=1920_1536.raw
    root@am62axx-evm:/opt/edgeai-gst-apps/start# ls -lh 1920*                                                                                                                                                     
    -rw-r--r-- 1 root root 4.7M Jan  1 00:17 1920_1280.raw
    -rw-r--r-- 1 root root 5.7M Jan  1 00:18 1920_1536.raw

  • I have using gstreamer command to open the camera. below is the log

    gst-launch-1.0 v4l2src device=/dev/video-imx219-cam0 io-mode=dmabuf-import ! \
    video/x-bayer, width=1920, height=1280, framerate=30/1, format=rggb12 ! \
    tiovxisp sink_0::device=/dev/v4l-imx219-subdev0 \
    sensor-name="SENSOR_SONY_IMX219_RPI" \
    dcc-isp-file=/opt/edgeai-gst-apps/start/isp/dcc_viss_raw12_1920_1280.bin ee-mode=EE_MODE_Y8 \
    sink_0::dcc-2a-file=//opt/edgeai-gst-apps/start/isp/dcc_2a_raw12_1920_1280.bin format-msb=11 ! \
    video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! \
    kmssink driver-name=tidss sync=false



    Error Log:

    deKernelValidate:637] node kernel validate failed for kernel com[ 2561.013900] imx219 6-0010: Kemeng: imx219_power_off set imx219->reset_gpio 0
    .ti.hwa.vpac_viss at index 0
    2568.000590 s: VX_ZONE_ERROR: [ graph_96 ] Node kernel Validate failed
    2568.000601 s: VX_ZONE_ERROR: [ graph_96 ] Graph verify failed
    2568.001046 s: VX_ZONE_ERROR: [ownReleaseReferenceInt:747] Invalid reference
    ERROR: from element /GstPipeline:pipeline0/GstTIOVXISP:tiovxisp0: Unable to init TIOVX module
    Additional debug info:
    /usr/src/debug/edgeai-gst-plugins/1.0.0/gst-libs/gst/tiovx/gsttiovxmiso.c(1512): gst_tiovx_miso_negotiated_src_caps (): /GstPipeline:pipeline0/GstTIOVXISP:tiovxisp0
    Execution ended after 0:00:00.118224895

  • Hi Meng,

    I have routed this query to our expert. Please expect a response soon.

    Best Regards,

    Suren

  • Hello Mr. Meng,

    but when i using below script to turn on the application  here is the result:

    Why did you use 1920x1536 for OV0X3C which has 1920x1280 resolution?

    I can using the v4l2 to read the video. but the streamer can not start. here is the log

    Were both captures running with OV0X3C? Did the captured raw images look correct?

    I have using gstreamer command to open the camera. below is the log

    Can you share the log of "media-ctl -p"?

    Thank you.

    Jianzhong

  • Hello Mr Xu Jianzhong:

    The streaming  coming from camera is the same  resolution 1920*1280 and i have using the color bar to instead of the ov0X3c video to avoid that the problem coming form sensor.

    the reason that i change the SOC v4l2 to 1920*1536 is that with  1920*1536 config of v4l2 i can light on the screen(even that the screen  with huge black area in the screen ). with the setting of  1920*1280. the gstreamer can not start.

    here is the log for media-ctl -p

    Media device information
    ------------------------
    driver          j721e-csi2rx
    model           TI-CSI2RX
    serial          
    bus info        platform:30102000.ticsi2rx
    hw revision     0x1
    driver version  6.6.58

    Device topology
    - entity 1: 30102000.ticsi2rx (7 pads, 7 links, 1 route)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev0
            routes:
                    0/0 -> 1/0 [ACTIVE]
            pad0: Sink
                    [stream:0 fmt:SRGGB12_1X12/1920x1280 field:none]
                    <- "cdns_csi2rx.30101000.csi-bridge":1 [ENABLED,IMMUTABLE]
            pad1: Source
                    [stream:0 fmt:SRGGB12_1X12/1920x1280 field:none]
                    -> "30102000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE]
            pad2: Source
                    -> "30102000.ticsi2rx context 1":0 [ENABLED,IMMUTABLE]
            pad3: Source
                    -> "30102000.ticsi2rx context 2":0 [ENABLED,IMMUTABLE]
            pad4: Source
                    -> "30102000.ticsi2rx context 3":0 [ENABLED,IMMUTABLE]
            pad5: Source
                    -> "30102000.ticsi2rx context 4":0 [ENABLED,IMMUTABLE]
            pad6: Source
                    -> "30102000.ticsi2rx context 5":0 [ENABLED,IMMUTABLE]

    - entity 9: cdns_csi2rx.30101000.csi-bridge (5 pads, 2 links, 1 route)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev1
            routes:
                    0/0 -> 1/0 [ACTIVE]
            pad0: Sink
                    [stream:0 fmt:SRGGB12_1X12/1920x1280 field:none]
                    <- "imx219 2-003c":0 [ENABLED,IMMUTABLE]
            pad1: Source
                    [stream:0 fmt:SRGGB12_1X12/1920x1280 field:none]
                    -> "30102000.ticsi2rx":0 [ENABLED,IMMUTABLE]
            pad2: Source
            pad3: Source
            pad4: Source

    - entity 15: imx219 2-003c (1 pad, 1 link, 0 routes)
                 type V4L2 subdev subtype Sensor flags 0
                 device node name /dev/v4l-subdev2
            pad0: Source
                    [stream:0 fmt:SRGGB12_1X12/1920x1280 field:none colorspace:raw xfer:none quantization:full-range
                     crop.bounds:(8,8)/3280x2464
                     crop:(0,0)/1920x1280]
                    -> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE]

    - entity 21: 30102000.ticsi2rx context 0 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video3
            pad0: Sink
                    <- "30102000.ticsi2rx":1 [ENABLED,IMMUTABLE]

    - entity 27: 30102000.ticsi2rx context 1 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video4
            pad0: Sink
                    <- "30102000.ticsi2rx":2 [ENABLED,IMMUTABLE]

    - entity 33: 30102000.ticsi2rx context 2 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video5
            pad0: Sink
                    <- "30102000.ticsi2rx":3 [ENABLED,IMMUTABLE]

    - entity 39: 30102000.ticsi2rx context 3 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video6
            pad0: Sink
                    <- "30102000.ticsi2rx":4 [ENABLED,IMMUTABLE]

    - entity 45: 30102000.ticsi2rx context 4 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video7
            pad0: Sink
                    <- "30102000.ticsi2rx":5 [ENABLED,IMMUTABLE]

    - entity 51: 30102000.ticsi2rx context 5 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video8
            pad0: Sink
                    <- "30102000.ticsi2rx":6 [ENABLED,IMMUTABLE]

  • Can you try to bypass the ISP in your Gstreamer pipeline? For example,

    gst-launch-1.0 v4l2src device=/dev/video-imx219-cam0 io-mode=dmabuf ! \
    video/x-bayer, width=1920, height=1280, framerate=30/1, format=rggb12 ! \
    multifilesink location="raw-images-%d.bin"