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.

AM57x VIP YUV444 capture

Hi experts,

Will 24-bit capture (RGB888 and YUV444) be enabled in AM57 VIP driver?

We plan to deliver quality video at 1080p60 under 165MHz clock constraint.

Thanks,

-Manu

  • Hi,

    I will ask the software team to comment. They will respond here.
  • The VIP driver has RGB888 capture support but the feature is untested as the EVMs from TI doesn't support RGB888 cameras. YUV444 is not supported by VIP driver. Also note that YUV444 is supported by the VIP IP as embedded sync capture only.

    RGB888 @1080p60 capture is possible with 165 MHz clock constraint provided 24 bit bus is used to interface with VIP.
  • Hi Manisha,

    Could you let me know sdk 3.0.0.4 VIP driver goes with Y_UP+UV_UP or Y_LO+UV_LO for RGB 24-bit capture? Setting format RGB doesn't look enabling dual DMA channel (32-bit sampling) from our observation. Do we need any modification?

    And thanks for the clarification of the YUV444 limitation.

    -Manu
  • Please share dmesg log after enabling the debug from vip using below command -
    echo 4 > /sys/module/ti_vip/parameters/debug
  • applying
    vip_set_slice_path(dev, ALL_FIELDS_DATA_SELECT, 0x8180);
    to get the followings. Thanks.
    --------------------------------------------------------------------------------
    [ 63.359456] vip1-s0: vip_init_port: g_mbus_fmt subdev mbus_code: 2008 fourc0
    [ 63.368376] vip1-s0: calc_format_size: fourcc:YUYV size: 1920x1080 bpl:38400
    [ 63.377008] vip1-s0: init_stream fourcc:YUYV size: 1920x1080 bpl:3840 img_s0
    [ 63.385054] vip1-s0: init_stream vpdma data type: 0x07
    [ 63.390281] vip1-s0: vip_init_stream: stream instance 0xd2c07d30d2b4c800
    [ 63.397038] vip1-s0: g_fmt fourcc:YUYV code: 2008 size: 1920x1080 bpl:3840 0
    [ 63.405471] vip1-s0: g_fmt vpdma data type: 0x07
    [ 63.405480] vip1-s0: s_fmt input fourcc:RGB3 size: 1920x1080
    [ 63.405483] vip1-s0: try_fmt fourcc:RGB3 size: 1920x1080
    [ 63.405486] vip1-s0: try_fmt best subdev size: 1920x1080
    [ 63.405496] vip1-s0: calc_format_size: fourcc:RGB3 size: 1920x1080 bpl:57600
    [ 63.405498] vip1-s0: s_fmt try_fmt fourcc:RGB3 size: 1920x1080
    [ 63.405501] vip1-s0: s_fmt using scaler
    [ 63.405504] vip1-s0: s_fmt pix_to_mbus mbus_code: 100A size: 1920x1080
    [ 63.488618] vip1-s0: s_fmt subdev fmt mbus_code: 100A size: 1920x1080
    [ 63.496274] vip1-s0: s_fmt vpdma data type: 0x06
    [ 63.545432] vip1-s0: vip_setup_parser: endpoint->bus.parallel.flags: 149
    [ 63.552345] vip1-s0: vip_setup_parser: sync type: 10, bus type: 0, iface: 0a
    [ 63.563594] vip1-s0: add_stream_dtds, stream id: 0, stream flags: 0
    [ 63.569948] vip1-s0: add_out_dtd, srce_type: 4, sinfo->base_channel: 107, p0
    [ 63.580202] vip1-s0: add_out_dtd, channel 107, flags: 0
  • It looks like your dts configuration is missing 24 bit interface settings. Can you add this line to the VIP configuration in dts file?

    bus-width = <24>

    Also, let me know what's the current behavior - you aren't getting anything captured or you see garbage/corrupted input data?