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:在传感器驱动程序中启用嵌入式元数据、不允许更改为其他分辨率

Guru**** 2456130 points
Other Parts Discussed in Thread: UCD3138

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1470774/am62a7-enabling-embedded-meta-data-in-sensor-driver-that-don-t-allow-to-change-to-other-resolution

器件型号:AM62A7

工具与软件:

您好!  

SDK:09.01.00

EVM:AM62A SK EVM

我们将图像传感器与 AM62A EVM 集成、一切都可以正常运行(能够获取流、能够更改分辨率、位格式)。 之后、客户希望我们集成更改、以便传感器可以接收嵌入的元数据。 我们进行了以下更改以集成嵌入式元数据。

static void sensor_init_formats(struct v4l2_subdev_state *state)
{
    int i;
    struct v4l2_mbus_framefmt *format;

    for (i = 0; i < 2; ++i) {
        format = v4l2_subdev_state_get_stream_format(state, 0, i);
        format->width = 1920;
        if(i == 0) {
            format->height = 1200;
            format->code = MEDIA_BUS_FMT_SRGGB10_1X10;
        }
        else {
            format->height = 5;
            format->code = MEDIA_BUS_FMT_SGRBG10_1X10;
        }
        format->field = V4L2_FIELD_NONE;
        format->colorspace = V4L2_COLORSPACE_DEFAULT;
    }
    return;
}

static int _sensor_set_routing(struct v4l2_subdev *sd,
                               struct v4l2_subdev_state *state)
{
    int ret;
    struct v4l2_subdev_route routes[] = {
        {
            .source_pad = 0,
            .source_stream = 0,
            .flags = V4L2_SUBDEV_ROUTE_FL_ACTIVE,
        },
        {
            .source_pad = 0,
            .source_stream = 1,
            .flags = V4L2_SUBDEV_ROUTE_FL_ACTIVE,
        },
    };

    struct v4l2_subdev_krouting routing = {
        .num_routes = ARRAY_SIZE(routes),
        .routes = routes,
    };
    struct i2c_client *client = v4l2_get_subdevdata(sd);

    dev_info(&client->dev, "--------- In %s --------\n", __func__);

    ret = v4l2_subdev_set_routing(sd, state, &routing);
    if (ret < 0)
        return ret;

    sensor_init_formats(state);

    dev_info(&client->dev, "--------- Out %s --------\n", __func__);
    return ret;
}


static int sensor_get_frame_desc(struct v4l2_subdev *sd, unsigned int pad,
                                 struct v4l2_mbus_frame_desc *fd)
{
    u32 bpp;
    int ret = 0;
    unsigned int i;
    struct v4l2_subdev_state *state;
    struct v4l2_mbus_framefmt *fmt;
    struct i2c_client *client = v4l2_get_subdevdata(sd);

    dev_info(&client->dev, "--------- In %s --------\n", __func__);

    if (pad != 0)
        return -EINVAL;

    state = v4l2_subdev_lock_and_get_active_state(sd);

    memset(fd, 0, sizeof(*fd));

    fd->type = V4L2_MBUS_FRAME_DESC_TYPE_CSI2;

    /* pixel stream - 2 virtual channels */

    bpp = 16;

    for (i = 0; i < 2; ++i) {

        fmt = v4l2_subdev_state_get_stream_format(state, 0, i);
        if (!fmt) {
            ret = -EPIPE;
            v4l2_subdev_unlock_state(state);
            return ret;
        }

        fd->entry[fd->num_entries].stream = i;
        fd->entry[fd->num_entries].flags = V4L2_MBUS_FRAME_DESC_FL_LEN_MAX;
        fd->entry[fd->num_entries].pixelcode = fmt->code;
        fd->entry[fd->num_entries].bus.csi2.vc = 0;
        fd->entry[fd->num_entries].length = fmt->width * fmt->height * bpp / 8;

        if(i == 0) {
            fd->entry[fd->num_entries].bus.csi2.dt = 0x2b; /* RAW10 */
            dev_info(&client->dev, "width - %d, height - %d\n", fmt->width, fmt->height);
        }
        else {
            fd->entry[fd->num_entries].bus.csi2.dt = 0x12; /* RAW8 */
            dev_info(&client->dev, "width - %d, height - %d\n", fmt->width, fmt->height);
        }

        fd->num_entries++;
    }

    v4l2_subdev_unlock_state(state);
    dev_info(&client->dev, "--------- Out %s --------\n", __func__);
    return ret;
}

static int sensor_set_routing(struct v4l2_subdev *sd,
                  struct v4l2_subdev_state *state,
                  enum v4l2_subdev_format_whence which,
                  struct v4l2_subdev_krouting *routing)
{
    int ret;
    struct i2c_client *client = v4l2_get_subdevdata(sd);

    if (routing->num_routes == 0 || routing->num_routes > 2)
        return -EINVAL;

    dev_info(&client->dev, "--------- In %s --------\n", __func__);
    dev_info(&client->dev, "--------- Number of routes = %d --------\n", routing->num_routes);
    v4l2_subdev_lock_state(state);

    ret = _sensor_set_routing(sd, state);

    v4l2_subdev_unlock_state(state);

    dev_info(&client->dev, "--------- Out %s --------\n", __func__);
    return ret;
}

static int sensor_init_cfg(struct v4l2_subdev *sd,
               struct v4l2_subdev_state *state)
{
    int ret;
    struct i2c_client *client = v4l2_get_subdevdata(sd);

    dev_info(&client->dev, "--------- In %s --------\n", __func__);
    ret = _sensor_set_routing(sd, state);
    dev_info(&client->dev, "--------- Out %s --------\n", __func__);
    dev_info(&client->dev, "--------- ret %d --------\n", ret);

    return ret;
}

static const struct v4l2_subdev_pad_ops sensor_subdev_pad_ops = {
    .init_cfg = sensor_init_cfg,
    .enum_mbus_code = sensor_enum_mbus_code,
    .set_fmt = sensor_set_fmt,
    .get_fmt = sensor_get_fmt,
    .set_routing = sensor_set_routing,
    .get_frame_desc = sensor_get_frame_desc,
};

在创建了上面代码中提到的两个独立流后、我们能够在一个流上接收图像数据、在另一个流上接收嵌入数据设置不同的两个流的数据类型。 因此、使用上述方法接收嵌入式元数据和图像数据没有问题

我们的传感器支持1920x1200 (10位、8位)和960x600 (10位、8位)模式。 通过更改驱动程序中的嵌入式元数据、我无法设置其他分辨率(使用 media-ctl 命令、我可以设置分辨率、但当我尝试使用 GST-launch 命令以该分辨率进行流式传输时、它会提供流式传输错误)、并通过该分辨率接收图像数据。  

使用 驱动程序中完成的上述2个流式配置而不允许设置其他分辨率、是否可能会修复图像流格式?

此致、

Jay

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jay:

    [quote userid="603086" url="~/support/processors-group/processors/f/processors-forum/1470774/am62a7-enabling-embedded-meta-data-in-sensor-driver-that-don-t-allow-to-change-to-other-resolution 通过更改驱动程序中的嵌入式元数据、我无法设置其他分辨率

    您在这里具体是指什么?

    [报价 userid="603086" url="~/support/processors-group/processors/f/processors-forum/1470774/am62a7-enabling-embedded-meta-data-in-sensor-driver-that-don-t-allow-to-change-to-other-resolution "](使用 media-ctl 命令、我可以设置分辨率、但当我尝试使用 GST-LAUNCH 命令获得该分辨率的流式传输时、它给出了流式传输错误)并通过该分辨率接收图像数据。  [报价]

    您能否共享"media-ctl -p"的输出以及用于更改分辨率和 GST 流水线的命令?

    谢谢!

    建中

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jay:

    抱歉、我今天没能看到。 我会在下周早些时候回复您。

    谢谢!

    建中

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 建中:

    感谢您的答复。 如果您对此有任何发现、请告知我们。

    此致、

    Jay

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jay:

    您的"media-ctl -V"命令未按预期配置格式。 这可能就是它不起作用的原因。

    此致、

    建中

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的建中:

    您的"media-ctl -V"命令未按预期配置格式。 这可能就是它无法正常工作的原因。

    那么、当我将"media-ctl -V"命令用于960x600分辨率时、可能会出现什么问题。

    在1920x1200分辨率的"media-ctl"命令下(运行良好)、我在一个节点上获得图像流、在另一个流上获得嵌入式数据。

    media-ctl -R '"cdns_csi2rx.30101000.csi-bridge" [0/0 -> 1/0 [1], 0/1 -> 1/1 [1]]'
    media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0/0 [fmt:SRGGB10_1X10/1920x1200]'
    media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0/1 [fmt:SGRBG10_1X10/1920x5]'
    
    # Set j721e-csi2rx routes
    media-ctl -R '"30102000.ticsi2rx" [0/0 -> 1/0 [1], 0/1 -> 2/0 [1]]'
    media-ctl -V '"30102000.ticsi2rx":0/0 [fmt:SRGGB10_1X10/1920x1200]'
    media-ctl -V '"30102000.ticsi2rx":0/1 [fmt:SGRBG10_1X10/1920x5]'
    
    media-ctl -V '"ar0235 2-0036":0/0 [fmt:SRGGB10_1X10/1920x1200 field:none]'
    media-ctl -V '"ar0235 2-0036":0/1 [fmt:SGRBG10_1X10/1920x5 field:none]'

    现在、我想将分辨率更改为960x600、我将使用以下"media-ctl"命令。 注:传感器驱动程序还支持960x600分辨率的嵌入式数据。

    media-ctl -R '"cdns_csi2rx.30101000.csi-bridge" [0/0 -> 1/0 [1], 0/1 -> 1/1 [1]]'
    media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0/0 [fmt:SRGGB10_1X10/960x600]'
    media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0/1 [fmt:SGRBG10_1X10/960x5]'
    
    # Set j721e-csi2rx routes
    media-ctl -R '"30102000.ticsi2rx" [0/0 -> 1/0 [1], 0/1 -> 2/0 [1]]'
    media-ctl -V '"30102000.ticsi2rx":0/0 [fmt:SRGGB10_1X10/960x600]'
    media-ctl -V '"30102000.ticsi2rx":0/1 [fmt:SGRBG10_1X10/960x5]'
    
    media-ctl -V '"ar0235 2-0036":0/0 [fmt:SRGGB10_1X10/960x600 field:none]'
    media-ctl -V '"ar0235 2-0036":0/1 [fmt:SGRBG10_1X10/960x5 field:none]'

    上述命令中的 Amy 不返回失败并成功执行、但甚至无法从视频中获取图像数据流。 如果我尝试流式传输图像数据、它返回以下错误:

    root@SICK:~# gst-launch-1.0 -v v4l2src device=/dev/video-rpi-cam0 ! video/x-bayer, width=960, height=600, framerate=120/1, format=rggb10  ! fakesink
    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-bayer, width=(int)960, height=(int)600, framerate=(fraction)120/1, format=(string)rggb10, interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-bayer, width=(int)960, height=(int)600, framerate=(fraction)120/1, format=(string)rggb10, interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
    /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-bayer, width=(int)960, height=(int)600, framerate=(fraction)120/1, format=(string)rggb10, interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-bayer, width=(int)960, height=(int)600, framerate=(fraction)120/1, format=(string)rggb10, interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Failed to allocate required memory.
    Additional debug info:
    ../gst-plugins-good-1.20.7/sys/v4l2/gstv4l2src.c(777): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    Buffer pool activation failed
    Execution ended after 0:00:00.056258565
    Setting pipeline to NULL ...
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
    Additional debug info:
    ../gstreamer-1.20.7/libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming stopped, reason not-negotiated (-4)
    Freeing pipeline ...

    因此、我怀疑图像传感器驱动程序正在修复由驱动程序创建的流的分辨率。 这是真的吗?

    此致、

    Jay

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    上述命令的 Amy 未返回失败并成功执行但无法从视频获取甚至图像数据流 not

    运行这些命令后、"media-ctl -p"输出是什么?

    有关配置  视频节点格式的信息、请参阅此脚本: https://github.com/TexasInstruments/edgeai-gst-apps/blob/main/scripts/setup_camera_ox05b.sh

    此致、

    建中

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的建中:

    我已尝试 media-ctl 命令并能够成功执行命令。 命令如下所示。

    media-ctl -R '"cdns_csi2rx.30101000.csi-bridge" [0/0 -> 1/0 [1], 0/1 -> 1/1 [1]]'
    media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0/0 [fmt:SRGGB10_1X10/960x600 field:none colorspace:srgb]'
    media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0/1 [fmt:SGRBG10_1X10/960x5 field:none colorspace:srgb]'
    
    # Set j721e-csi2rx routes
    media-ctl -R '"30102000.ticsi2rx" [0/0 -> 1/0 [1], 0/1 -> 2/0 [1]]'
    media-ctl -V '"30102000.ticsi2rx":0/0 [fmt:SRGGB10_1X10/960x600 field:none colorspace:srgb]'
    media-ctl -V '"30102000.ticsi2rx":0/1 [fmt:SGRBG10_1X10/960x5 field:none colorspace:srgb]'
    
    # Set video node formats
    v4l2-ctl -z platform:30102000.ticsi2rx -d "30102000.ticsi2rx context 0" -v width=960,height=600,pixelformat=RG10
    v4l2-ctl -z platform:30102000.ticsi2rx -d "30102000.ticsi2rx context 1" -v width=960,height=5,pixelformat=RG10

    执行以下命令后、无法在 stream0上流式传输图像数据。 以下是流式化 commamd 中的错误。

    root@am62axx-evm:~# gst-launch-1.0 -v v4l2src device=/dev/video3 ! video/x-bayer, width=960, height=600, framerate=120/1, format=rggb10  ! fakes
    ink
    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-bayer, width=(int)960, height=(int)600, framerate=(fraction)120/1, format=(string)rggb10, interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-bayer, width=(int)960, height=(int)600, framerate=(fraction)120/1, format=(string)rggb10, interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
    /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-bayer, width=(int)960, height=(int)600, framerate=(fraction)120/1, format=(string)rggb10, interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-bayer, width=(int)960, height=(int)600, framerate=(fraction)120/1, format=(string)rggb10, interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Failed to allocate required memory.
    Additional debug info:
    ../gst-plugins-good-1.20.7/sys/v4l2/gstv4l2src.c(777): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    Buffer pool activation failed
    Execution ended after 0:00:00.052742579
    Setting pipeline to NULL ...
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
    Additional debug info:
    ../gstreamer-1.20.7/libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming stopped, reason not-negotiated (-4)
    Freeing pipeline ...

    下面是使用"media-ctl -V"命令设置流后"media-ctl -p"命令的输出。

    root@am62axx-evm:~# media-ctl -p
    Media controller API version 6.1.46
    
    Media device information
    ------------------------
    driver          j721e-csi2rx
    model           TI-CSI2RX
    serial
    bus info        platform:30102000.ticsi2rx
    hw revision     0x1
    driver version  6.1.46
    
    Device topology
    - entity 1: 30102000.ticsi2rx (7 pads, 7 links, 2 routes)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev0
            routes:
                    0/0 -> 1/0 [ACTIVE]
                    0/1 -> 2/0 [ACTIVE]
            pad0: Sink
                    [stream:0 fmt:SRGGB10_1X10/960x600 field:none colorspace:srgb]
                    [stream:1 fmt:SGRBG10_1X10/960x5 field:none colorspace:srgb]
                    <- "cdns_csi2rx.30101000.csi-bridge":1 [ENABLED,IMMUTABLE]
            pad1: Source
                    [stream:0 fmt:SRGGB10_1X10/960x600 field:none colorspace:srgb]
                    -> "30102000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE]
            pad2: Source
                    [stream:0 fmt:SGRBG10_1X10/960x5 field:none colorspace:srgb]
                    -> "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, 2 routes)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev1
            routes:
                    0/0 -> 1/0 [ACTIVE]
                    0/1 -> 1/1 [ACTIVE]
            pad0: Sink
                    [stream:0 fmt:SRGGB10_1X10/960x600 field:none colorspace:srgb]
                    [stream:1 fmt:SGRBG10_1X10/960x5 field:none colorspace:srgb]
                    <- "ar0235 2-0036":0 [ENABLED,IMMUTABLE]
            pad1: Source
                    [stream:0 fmt:SRGGB10_1X10/960x600 field:none colorspace:srgb]
                    [stream:1 fmt:SGRBG10_1X10/960x5 field:none colorspace:srgb]
                    -> "30102000.ticsi2rx":0 [ENABLED,IMMUTABLE]
            pad2: Source
            pad3: Source
            pad4: Source
    
    - entity 15: ar0235 2-0036 (1 pad, 1 link, 2 routes)
                 type V4L2 subdev subtype Sensor flags 0
                 device node name /dev/v4l-subdev2
            routes:
                    0/0 -> 0/0 [ACTIVE]
                    0/0 -> 0/1 [ACTIVE]
            pad0: Source
                    [stream:0 fmt:SRGGB10_1X10/1920x1200 field:none colorspace:raw xfer:none
                     crop.bounds:(8,8)/1920x1200
                     crop:(0,0)/0x0]
                    [stream:1 fmt:SRGGB10_1X10/1920x1200 field:none colorspace:raw xfer:none
                     crop.bounds:(8,8)/1920x1200
                     crop:(0,0)/0x0]
                    -> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE]
    
    - entity 21: 30102000.ticsi2rx context 0 (1 pad, 1 link, 0 route)
                 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, 0 route)
                 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, 0 route)
                 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, 0 route)
                 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, 0 route)
                 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, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video8
            pad0: Sink
                    <- "30102000.ticsi2rx":6 [ENABLED,IMMUTABLE]

    如果我还需要其他信息、请告诉我们。

    此致、

    Jay

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jay:

    您的传感器显示的格式不正确:

    - entity 15: ar0235 2-0036 (1 pad, 1 link, 2 routes)
                 type V4L2 subdev subtype Sensor flags 0
                 device node name /dev/v4l-subdev2
            routes:
                    0/0 -> 0/0 [ACTIVE]
                    0/0 -> 0/1 [ACTIVE]
            pad0: Source
                    [stream:0 fmt:SRGGB10_1X10/1920x1200 field:none colorspace:raw xfer:none
                     crop.bounds:(8,8)/1920x1200
                     crop:(0,0)/0x0]
                    [stream:1 fmt:SRGGB10_1X10/1920x1200 field:none colorspace:raw xfer:none
                     crop.bounds:(8,8)/1920x1200
                     crop:(0,0)/0x0]
                    -> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE]
    

    传感器是否支持 SRGGB10_1x10/960x600和 SRGGB10_1x10/960x5? 您仍需要运行以下命令:

    media-ctl -V ""ar0235 2-0036":0/0 [Fmt:SRGGB10_1x10/960x600字段:无]"
    media-ctl -V "ar0235 2-0036":0/1 [fmt:SGRBG10_1x10/960x5字段:none]"

    此致、

    建中

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 建中:

    很抱歉我迟到了该主题的回复。

    您的传感器未显示正确的格式

    您能告诉我们在设置流数据格式时可能会出现什么问题吗?

    传感器是否支持 SRGGB10_1x10/960x600和 SRGGB10_1x10/960x5 ? 您仍需要运行以下命令:

    是的、传感器确实支持用于图像/视频的 SRGGB10_1x10/960x600、而 SRGGB10_1x10/960x5用于元数据。 5行是960x5分辨率内嵌元数据。

    media-ctl -v ""ar0235 2-0036":0/0 [fmt:SRGGB10_1x10/960x600字段:none]"
    media-ctl -V "ar0235 2-0036":0/1 [fmt:SGRBG10_1x10/960x5字段:none]"[/报价]

    是的、我也在执行这些命令、但当分辨率设置为 SRGGB10_1x10/960x600和 SRGGB10_1x10/960x5时、仍然没有流 。

    我在驱动程序中观察到了一件事 、其中使用.init_cfg、 .set_routing 和 .get_FRAME_DESC subdev 回调创建了2个流、这些驱动程序仅支持单个分辨率。  

    那么、在从传感器驱动程序创建节点时、分辨率是否会受到任何限制、并且在运行时不能更改? 我不知道这一点,我有这个问题。

    此致、

    Jay

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您在最初的帖子中说:

    [报价用户 id="603086" url="~/support/processors-group/processors/f/processors-forum/1470774/am62a7-enabling-embedded-meta-data-in-sensor-driver-that-don-t-allow-to-change-to-other-resolution "]

    在创建了上面代码中提到的两个独立流后、我们能够在一个流上接收图像数据、在另一个流上接收嵌入数据设置不同的两个流的数据类型。 因此、使用上述方法接收嵌入式元数据和图像数据没有问题

    [报价]

    这两个流具有不同的分辨率、1920x1200和1920x5。 是这样吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的建中:

    这两个流具有不同的分辨率、分别为1920x1200和1920x5。 正确吗?

    是的、两个数据流具有不同的分辨率。  1920x1200分辨率用于图像/视频数据、 1920x5用于嵌入式元数据。  


    对于960x600分辨率、我将使用以下 media-ctl -V 命令、  

    media-ctl -R '"cdns_csi2rx.30101000.csi-bridge" [0/0 -> 1/0 [1], 0/1 -> 1/1 [1]]'
    media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0/0 [fmt:SRGGB10_1X10/960x600]'
    media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0/1 [fmt:SGRBG10_1X10/960x5]'
    
    # Set j721e-csi2rx routes
    media-ctl -R '"30102000.ticsi2rx" [0/0 -> 1/0 [1], 0/1 -> 2/0 [1]]'
    media-ctl -V '"30102000.ticsi2rx":0/0 [fmt:SRGGB10_1X10/960x600]'
    media-ctl -V '"30102000.ticsi2rx":0/1 [fmt:SGRBG10_1X10/960x5]'
    
    # Set video node formats
    v4l2-ctl -z platform:30102000.ticsi2rx -d "30102000.ticsi2rx context 0" -v width=960,height=600,pixelformat=RG10
    v4l2-ctl -z platform:30102000.ticsi2rx -d "30102000.ticsi2rx context 1" -v width=960,height=5,pixelformat=RG10
    
    media-ctl -V '"ar0235 2-0036":0/0 [fmt:SRGGB10_1X10/960x600 field:none]'
    media-ctl -V '"ar0235 2-0036":0/1 [fmt:SGRBG10_1X10/960x5 field:none]'

    执行此命令后、我猜现在"media-ctl -p"命令会显示正确的格式。

    root@am62axx-evm:~# media-ctl -p
    Media controller API version 6.1.46
    
    Media device information
    ------------------------
    driver          j721e-csi2rx
    model           TI-CSI2RX
    serial
    bus info        platform:30102000.ticsi2rx
    hw revision     0x1
    driver version  6.1.46
    
    Device topology
    - entity 1: 30102000.ticsi2rx (7 pads, 7 links, 2 routes)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev0
            routes:
                    0/0 -> 1/0 [ACTIVE]
                    0/1 -> 2/0 [ACTIVE]
            pad0: Sink
                    [stream:0 fmt:SRGGB10_1X10/960x600]
                    [stream:1 fmt:SGRBG10_1X10/960x5]
                    <- "cdns_csi2rx.30101000.csi-bridge":1 [ENABLED,IMMUTABLE]
            pad1: Source
                    [stream:0 fmt:SRGGB10_1X10/960x600]
                    -> "30102000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE]
            pad2: Source
                    [stream:0 fmt:SGRBG10_1X10/960x5]
                    -> "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, 2 routes)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev1
            routes:
                    0/0 -> 1/0 [ACTIVE]
                    0/1 -> 1/1 [ACTIVE]
            pad0: Sink
                    [stream:0 fmt:SRGGB10_1X10/960x600]
                    [stream:1 fmt:SGRBG10_1X10/960x5]
                    <- "ar0235 2-0036":0 [ENABLED,IMMUTABLE]
            pad1: Source
                    [stream:0 fmt:SRGGB10_1X10/960x600]
                    [stream:1 fmt:SGRBG10_1X10/960x5]
                    -> "30102000.ticsi2rx":0 [ENABLED,IMMUTABLE]
            pad2: Source
            pad3: Source
            pad4: Source
    
    - entity 15: ar0235 2-0036 (1 pad, 1 link, 2 routes)
                 type V4L2 subdev subtype Sensor flags 0
                 device node name /dev/v4l-subdev2
            routes:
                    0/0 -> 0/0 [ACTIVE]
                    0/0 -> 0/1 [ACTIVE]
            pad0: Source
                    [stream:0 fmt:SRGGB10_1X10/960x600 field:none colorspace:raw xfer:none]
                    [stream:1 fmt:SRGGB10_1X10/960x600 field:none colorspace:raw xfer:none]
                    -> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE]
    
    - entity 21: 30102000.ticsi2rx context 0 (1 pad, 1 link, 0 route)
                 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, 0 route)
                 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, 0 route)
                 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, 0 route)
                 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, 0 route)
                 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, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video8
            pad0: Sink
                    <- "30102000.ticsi2rx":6 [ENABLED,IMMUTABLE]
    

    检查"media-ctl -p"命令输出(所有实体的格式均正确)后、以960x600分辨率流式传输也不起作用。  

    GST 流水线命令、

    gst-launch-1.0 -v v4l2src device=/dev/video3 ! video/x-bayer, width=960, height=600, framerate=120/1, format=rggb10  ! fakesink

    使用上述流水线时收到错误

    root@am62axx-evm:~# gst-launch-1.0 -v v4l2src device=/dev/video3 ! video/x-bayer, width=960, height=600, framerate=120/1, format=rggb10  ! fakesink
    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-bayer, width=(int)960, height=(int)600, framerate=(fraction)120/1, format=(string)rggb10, interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-bayer, width=(int)960, height=(int)600, framerate=(fraction)120/1, format=(string)rggb10, interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
    /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-bayer, width=(int)960, height=(int)600, framerate=(fraction)120/1, format=(string)rggb10, interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-bayer, width=(int)960, height=(int)600, framerate=(fraction)120/1, format=(string)rggb10, interlace-mode=(string)progressive, colorimetry=(string)2:4:7:1
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Failed to allocate required memory.
    Additional debug info:
    ../gst-plugins-good-1.20.7/sys/v4l2/gstv4l2src.c(777): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    Buffer pool activation failed
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
    Additional debug info:
    ../gstreamer-1.20.7/libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming stopped, reason not-negotiated (-4)
    Execution ended after 0:00:00.050064391
    Setting pipeline to NULL ...
    Freeing pipeline ...

    问题:

    1)"media-ctl -V"命令是否有任何错误? 如果是、请告知我们。 这样我们就可以纠正命令。

    我们进行了以下更改以集成嵌入式元数据。

    2) 2)向传感器驱动程序添加了用于嵌入式元数据集成的代码是否正确? 让我们知道我们是否需要进行任何更改才能接收分辨率均为1920x1200和960x600的元数据。

    此致、

    Jay

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jay:

    请你给我几天的时间来看看这个更深的地方。

    谢谢!

    建中

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    2)为嵌入式元数据集成向传感器驱动程序添加了正确的代码吗? 让我们知道我们是否必须在中进行任何更改才能接收分辨率均为1920x1200和960x600的元数据。

    您需要在传感器驱动程序中实施 API 以允许更改分辨率。 请参阅 IMX219驱动程序: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/media/i2c/imx219.c?h=ti-linux-6.6.y#n1087。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的建中:

    感谢您的答复。  

    因为您提到我需要实现它 "" .set_fmt UCD3138引导加载程序。 我已经在驱动程序中实现了.set_fmt 和.get_fmt、能够在实现嵌入式元数据更改之前更改为不同分辨率。 在驱动程序中添加嵌入的元数据更改之前、切换到其他分辨率是可以正常工作的。

    在驱动程序中添加元数据更改后、除了1920x1200@10位分辨率外、我无法流式传输数据。

    因此、在驱动程序中实施元数据更改后、我面临更改格式的问题。 那么、嵌入式元数据更改如何影响分辨率更改? 这里可能会出什么问题?

    此致、

    Jay  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jay:

    抱歉、但我感到困惑。 我认为驱动程序在1920x1200的图像和元数据都在工作,正如你在原来的文章说:

    [quote userid="603086" url="~/support/processors-group/processors/f/processors-forum/1470774/am62a7-enabling-embedded-meta-data-in-sensor-driver-that-don-t-allow-to-change-to-other-resolution 通过创建上述代码中提到的两个独立流、我们能够接收一个流上的图像数据、并在另一个流上嵌入数据设置不同的两个流的数据类型。 因此、使用上述方法接收嵌入元数据和图像数据时不会出现问题[/QUOT]

    此致、

    建中

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 建中:

    抱歉、但我感到困惑。 我认为驱动程序在1920x1200的图像和元数据都在工作,正如你在原来的文章中所说:[/报价]

    是的、图像数据和嵌入式数据支持1920x1200分辨率。 但图像传感器还支持960x600分辨率。 使用960x600分辨率时、在更改驱动程序中的嵌入式数据后、我无法获取图像数据或元数据。 在更改驱动程序中的嵌入式数据之前、分辨率为1920x1200和960x600。  

    如果您对此有任何疑问、请告诉我。

    您能告诉我们调试此问题的步骤或方法吗? 因此、我可以与您并行调试这一点。 现在、这已经成为我们需要解决的关键问题。 我们希望尽快解决这个问题。 如果我们可以安排调用来调试此问题、这对我们来说没有问题。

    此致、

    Jay

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jay:

    感谢您的澄清。 所以、

    1.无需添加嵌入式数据支持,1920x1200 和960x600分辨率均可用于图像数据

    2.对于1920x1200、图像数据(1920x1200)和嵌入式数据(1920x5)均适用

    3.添加960x600时、图像数据或嵌入式数据均不工作

    在案例3中、我看到介质设备拓扑格式不正确。 您是否可以尝试将1920x1200更改为960x600、而不是添加960x600、看看它是否起作用?

    此致、

    建中

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 建中:

    1. 无需添加嵌入式数据支持、 1920x1200和960x600分辨率都适用于图像数据

    是的、正确。

    2. 对于1920x1200、图像数据(1920x1200)和嵌入式数据(1920x5)均可使用

    是的、正确。

    3. 添加960x600时、图像数据和嵌入式数据均不工作

    驱动器中同时存在分辨率。 在驱动程序中为嵌入式数据添加代码后、嵌入式数据和图像数据的分辨率将为1920x1200。 但图像数据或嵌入式数据都不是960x600分辨率。

    对于案例#3、我看到媒体设备拓扑格式不正确。 您是否可以尝试将1920x1200更改为960x600、而不是添加960x600、看看它是否起作用?

    驱动器中的寄存器设置为1920x1200和960x600分辨率不同。 因此、如果我不在驱动程序中添加960x600分辨率、这将不起作用。

    对于案例#3、我看到了不正确的媒体设备拓扑格式。

    在纠正介质设备拓扑后、出现同样的问题。 请检查 media-ctl -p 命令输出是否具有960x600分辨率。

    root@am62axx-evm:~# media-ctl -p
    Media controller API version 6.1.46
    
    Media device information
    ------------------------
    driver          j721e-csi2rx
    model           TI-CSI2RX
    serial
    bus info        platform:30102000.ticsi2rx
    hw revision     0x1
    driver version  6.1.46
    
    Device topology
    - entity 1: 30102000.ticsi2rx (7 pads, 7 links, 2 routes)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev0
            routes:
                    0/0 -> 1/0 [ACTIVE]
                    0/1 -> 2/0 [ACTIVE]
            pad0: Sink
                    [stream:0 fmt:SRGGB10_1X10/960x600]
                    [stream:1 fmt:SGRBG10_1X10/960x5]
                    <- "cdns_csi2rx.30101000.csi-bridge":1 [ENABLED,IMMUTABLE]
            pad1: Source
                    [stream:0 fmt:SRGGB10_1X10/960x600]
                    -> "30102000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE]
            pad2: Source
                    [stream:0 fmt:SGRBG10_1X10/960x5]
                    -> "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, 2 routes)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev1
            routes:
                    0/0 -> 1/0 [ACTIVE]
                    0/1 -> 1/1 [ACTIVE]
            pad0: Sink
                    [stream:0 fmt:SRGGB10_1X10/960x600 field:none]
                    [stream:1 fmt:SGRBG10_1X10/960x5]
                    <- "ar0235 2-0036":0 [ENABLED,IMMUTABLE]
            pad1: Source
                    [stream:0 fmt:SRGGB10_1X10/960x600 field:none]
                    [stream:1 fmt:SGRBG10_1X10/960x5]
                    -> "30102000.ticsi2rx":0 [ENABLED,IMMUTABLE]
            pad2: Source
            pad3: Source
            pad4: Source
    
    - entity 15: ar0235 2-0036 (1 pad, 1 link, 2 routes)
                 type V4L2 subdev subtype Sensor flags 0
                 device node name /dev/v4l-subdev2
            routes:
                    0/0 -> 0/0 [ACTIVE]
                    0/0 -> 0/1 [ACTIVE]
            pad0: Source
                    [stream:0 fmt:SRGGB10_1X10/960x600 field:none colorspace:raw xfer:none]
                    [stream:1 fmt:SRGGB10_1X10/960x600 field:none colorspace:raw xfer:none]
                    -> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE]
    
    - entity 21: 30102000.ticsi2rx context 0 (1 pad, 1 link, 0 route)
                 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, 0 route)
                 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, 0 route)
                 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, 0 route)
                 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, 0 route)
                 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, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video8
            pad0: Sink
                    <- "30102000.ticsi2rx":6 [ENABLED,IMMUTABLE]
    

    除了这一点、我还有其他需要注意的事项吗?

    另一个观察结果:

    设置960x600分辨率时、甚至不会调用".get_FRAME_DESC = sensor_get_FRAME_DESC"回调。 因此、由于这".s_stream = sensor_set_stream、"未被调用、因此不调用 start_stream ()函数、不写入传感器寄存器、最终将流化错误。

    此致、

    Jay

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    设置960x600分辨率时、".get_FRAME_DESC = SENSOR_GET_FRAME_DESC、"回调甚至没有被调用。

    此函数应在此处调用: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c?h=ti-linux-6.6.y#n948。

    请调试未调用此函数的原因以及执行卡在该函数中的位置:

    https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c?h=ti-linux-6.6.y#n964

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的建中:  

    感谢您的答复。  

    最后、我能够以1920x1200和960x600分辨率流式传输图像数据和元数据。 设置格式的 media-ctl 命令出现问题。 更正 media-ctl 命令后、一切正常。 可以关闭此问题。

    此致、

    Jay

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jay:

    感谢您的更新。 很高兴您解决了这个问题。

    此致、

    建中