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.

TDA4VM: What set is required to change and save input raw files in the process of changing the output format of the sensor

Part Number: TDA4VM


Hi, TI Experts

We want to save raw files that consist of 3x10b RAW (dual exposure HDR) on X1D, image sensor.

Now, we are using 12bit compressed RAW data for input of VISS. (1280x944)

What can we do for changing the set to save 3x10b RAW in app_single_cam?

Are there any similar cases? or Is it possible?

For resolving this problem, we attach some examples about 3x10b RAW, output of Image sensor.

Please note the attachments.

  • Hi Kim,

    Sorry, did not get it. Do you mean you are receiving input as 3864x968 frame size image, which contains two or three exposure inputs? If the virtual channel and datatype is same, then from the CSIRX point of view, it is just a single frame, which is being captured. You will need to just change the size in the CSIRX/capture node for capturing this input image. 

    Regards,

    Brijesh 

  • Hi Brijesh,

    Yes, that's right. Which part of the code should I change to change the size of the CSIRX/Capture node?

  • Hi Kim,

    The image size is typically specified in the imaging layer, in the sensor driver. Like for example, for imx390, sensor output size is specified in below highlighted portion of the sensor information structure in i-processor-sdk-rtos-j721e-evm-08_06_00_12\imaging\sensor_drv\src\imx390\iss_sensor_imx390.c file. 

    static IssSensor_CreateParams imx390CreatePrms = {
    SENSOR_SONY_IMX390_UB953_D3, /*sensor name*/
    0x6, /*i2cInstId*/
    {
    SENSOR_0_I2C_ALIAS, SENSOR_1_I2C_ALIAS, SENSOR_2_I2C_ALIAS, SENSOR_3_I2C_ALIAS,
    SENSOR_4_I2C_ALIAS, SENSOR_5_I2C_ALIAS, SENSOR_6_I2C_ALIAS, SENSOR_7_I2C_ALIAS,
    SENSOR_8_I2C_ALIAS, SENSOR_9_I2C_ALIAS, SENSOR_10_I2C_ALIAS, SENSOR_11_I2C_ALIAS
    },/*i2cAddrSensor*/
    {
    SER_0_I2C_ALIAS, SER_1_I2C_ALIAS, SER_2_I2C_ALIAS, SER_3_I2C_ALIAS,
    SER_4_I2C_ALIAS, SER_5_I2C_ALIAS, SER_6_I2C_ALIAS, SER_7_I2C_ALIAS,
    SER_8_I2C_ALIAS, SER_9_I2C_ALIAS, SER_10_I2C_ALIAS, SER_11_I2C_ALIAS
    },/*i2cAddrSer*/
    /*IssSensor_Info*/
    {
    {
    IMX390_OUT_WIDTH, /*width*/
    IMX390_OUT_HEIGHT-IMX390_META_HEIGHT_AFTER, /*height*/
    1, /*num_exposures*/
    vx_false_e, /*line_interleaved*/
    {
    {TIVX_RAW_IMAGE_16_BIT, 11}, /*dataFormat and MSB [0]*/
    },
    0, /*meta_height_before*/
    IMX390_META_HEIGHT_AFTER, /*meta_height_after*/
    },
    ISS_SENSOR_IMX390_FEATURES, /*features*/
    ALGORITHMS_ISS_AEWB_MODE_AEWB, /*aewbMode*/
    30, /*fps*/
    4, /*numDataLanes*/
    {1, 2, 3, 4}, /*dataLanesMap*/
    {0, 0, 0, 0}, /*dataLanesPolarity*/
    CSIRX_LANE_BAND_SPEED_1350_TO_1500_MBPS, /*csi_laneBandSpeed*/
    },
    12, /*numChan*/
    390, /*dccId*/
    };

    Regards,

    Brijesh

  • Hi Brijesh,

    Thank you for your answer.

    We want to use VC(Virtual Channel) to utilize the dual exposure coming from the image sensor.

    Is tda4vm supporting virtual channel? If possible, please tell me which part of the code I should modify.

    To add to the above question, we want to use two Virtual Channels(VC1, VC2) in TDA4VM with one camera.
    Now I use the settings like the picture below, but which one can I modify in the current state to activate two VCs while executing single_cam?

    Is there any more information you need to tell me how to solve it? If there is, please tell me anything.


    Thank you for your help.

  • Hi,

    Yes, TDA4 is complient to CSI/MIPI standard, so it does support multiple virtual channel. and virtual channel id is set in the main application. I think capture node instance parameter has vcChId variable, where we can set virtual channel id. 

    have these virtual channel ids different data type? A single instance of capture node can be used only if data type (and size) is same for all virtual channel ids. If they are different, you would have to create separate capture node instance. 

    Regards,

    Brijesh

  • Hi,

    Thank you for your reply.

    Previously, when using '12' as input bit width for TDA4VM, the knee point for compression was used.

    However, if '10' is used as input bit width to utilize VC, the knee point is no longer used because RAW 10 is linear data.

    In order to reflect this in DCC, where should I revise other than the 'input bit width' attached below?

    ((Should the THR X&Y position be null?))

    Regards,

    Kim

  • Hi Kim,

    This is different question, so can you please close this ticket and start a new ticket? because we need to get help from different expert here. 

    Regards,

    Brijesh