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: csi-dsi

Part Number: TDA4VM

Hi TI experts,

My software version is:
  PDK-RTOS :processor-sdk-rtos-j721e-evm-08_06_00_12
  PDK-LINUX:processor-sdk-linux-08_06_00

date flow:
Single 1920x1536 YUV422_8 capture  -  DSI -  LCD(1280x800(RGB565))

Capture is normal when viewed offline. Judging from the phenomenon, the LCD display is updated in real time with the camera acquisition, but the display effect is abnormal.

I set /* Display initialization */ to 1280x800 in app_single_cam_main.c; what settings did I miss?

Looking forward for your reply, thank you

Regards,

Barry

  • Attached is my capture picture cap_0001.yuv and log:

    cap_0001.zip

    p i 288...
     i 289...
     i 290...
     i 291...
     i 292...
     i 293...
     i 294...
     i 295...
     i 296...
    
    
    
    Summary of CPU load,
    ====================
    
    CPU: mpu1_0: TOTAL LOAD =   0.59 % ( HWI =   0. 7 %, SWI =   0. 0 % )
    CPU: mcu2_0: TOTAL LOAD =   3. 0 % ( HWI =   0. 0 %, SWI =   0. 0 % )
    CPU: mcu2_1: TOTAL LOAD =   1. 0 % ( HWI =   0. 0 %, SWI =   0. 0 % )
    CPU:  c6x_1: TOTAL LOAD =   0. 0 % ( HWI =   0. 0 %, SWI =   0. 0 % )
    CPU:  c6x_2: TOTAL LOAD =   1. 0 % ( HWI =   0. 0 %, SWI =   0. 0 % )
    CPU:  c7x_1: TOTAL LOAD =   0. 0 % ( HWI =   0. 0 %, SWI =   0. 0 % )
    
    
    HWA performance statistics,
    ===========================
    
    
    
    DDR performance statistics,
    ===========================
    
    DDR: READ  BW: AVG =    187 MB/s, PEAK =   1122 MB/s
    DDR: WRITE BW: AVG =    178 MB/s, PEAK =    820 MB/s
    DDR: TOTAL BW: AVG =    365 MB/s, PEAK =   1942 MB/s
    
    
    Detailed CPU performance/memory statistics,
    ===========================================
    
    DDR_SHARED_MEM: Alloc's: 6 alloc's of 23593220 bytes 
    DDR_SHARED_MEM: Free's : 0 free's  of 0 bytes 
    DDR_SHARED_MEM: Open's : 6 allocs  of 23593220 bytes 
    DDR_SHARED_MEM: Total size: 536870912 bytes 
    
    CPU: mcu2_0: TASK:           IPC_RX:   0.21 %
    CPU: mcu2_0: TASK:       REMOTE_SRV:   0. 2 %
    CPU: mcu2_0: TASK:        LOAD_TEST:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CPU_0:   0. 0 %
    CPU: mcu2_0: TASK:        TIVX_V1NF:   0. 0 %
    CPU: mcu2_0: TASK:      TIVX_V1LDC1:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_V1SC1:   0. 0 %
    CPU: mcu2_0: TASK:      TIVX_V1MSC2:   0. 0 %
    CPU: mcu2_0: TASK:       TIVXVVISS1:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT1:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT2:   1.19 %
    CPU: mcu2_0: TASK:       TIVX_DISP1:   1.11 %
    CPU: mcu2_0: TASK:       TIVX_DISP2:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CSITX:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT3:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT4:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT5:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT6:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT7:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT8:   0. 0 %
    CPU: mcu2_0: TASK:      TIVX_DPM2M1:   0. 0 %
    CPU: mcu2_0: TASK:      TIVX_DPM2M2:   0. 0 %
    CPU: mcu2_0: TASK:      TIVX_DPM2M3:   0. 0 %
    CPU: mcu2_0: TASK:      TIVX_DPM2M4:   0. 0 %
    
    CPU: mcu2_0: HEAP:    DDR_LOCAL_MEM: size =   16777216 B, free =   16688896 B ( 99 % unused)
    CPU: mcu2_0: HEAP:           L3_MEM: size =     262144 B, free =     261888 B ( 99 % unused)
    
    CPU: mcu2_1: TASK:           IPC_RX:   0. 0 %
    CPU: mcu2_1: TASK:       REMOTE_SRV:   0. 2 %
    CPU: mcu2_1: TASK:        LOAD_TEST:   0. 0 %
    CPU: mcu2_1: TASK:       TIVX_CPU_1:   0. 0 %
    CPU: mcu2_1: TASK:         TIVX_SDE:   0. 0 %
    CPU: mcu2_1: TASK:         TIVX_DOF:   0. 0 %
    CPU: mcu2_1: TASK:      IPC_TEST_RX:   0. 0 %
    CPU: mcu2_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU: mcu2_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU: mcu2_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU: mcu2_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU: mcu2_1: TASK:      IPC_TEST_TX:   0. 0 %
    
    CPU: mcu2_1: HEAP:    DDR_LOCAL_MEM: size =   16777216 B, free =   16773376 B ( 99 % unused)
    CPU: mcu2_1: HEAP:           L3_MEM: size =     262144 B, free =     262144 B (100 % unused)
    
    CPU:  c6x_1: TASK:           IPC_RX:   0. 0 %
    CPU:  c6x_1: TASK:       REMOTE_SRV:   0. 0 %
    CPU:  c6x_1: TASK:        LOAD_TEST:   0. 0 %
    CPU:  c6x_1: TASK:         TIVX_CPU:   0. 0 %
    CPU:  c6x_1: TASK:      IPC_TEST_RX:   0. 0 %
    CPU:  c6x_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c6x_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c6x_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c6x_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c6x_1: TASK:      IPC_TEST_TX:   0. 0 %
    
    CPU:  c6x_1: HEAP:    DDR_LOCAL_MEM: size =   16777216 B, free =   16773376 B ( 99 % unused)
    CPU:  c6x_1: HEAP:           L2_MEM: size =     229376 B, free =     229376 B (100 % unused)
    CPU:  c6x_1: HEAP:  DDR_SCRATCH_MEM: size =   50331648 B, free =   50331648 B (100 % unused)
    
    CPU:  c6x_2: TASK:           IPC_RX:   0. 0 %
    CPU:  c6x_2: TASK:       REMOTE_SRV:   0. 0 %
    CPU:  c6x_2: TASK:        LOAD_TEST:   0. 0 %
    CPU:  c6x_2: TASK:         TIVX_CPU:   0. 0 %
    CPU:  c6x_2: TASK:      IPC_TEST_RX:   0. 0 %
    CPU:  c6x_2: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c6x_2: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c6x_2: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c6x_2: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c6x_2: TASK:      IPC_TEST_TX:   0. 0 %
    
     i 297...
    CPU:  c6x_2: HEAP:    DDR_LOCAL_MEM: size =   16777216 B, free =   16773376 B ( 99 % unused)
    CPU:  c6x_2: HEAP:           L2_MEM: size =     229376 B, free =     229376 B (100 % unused)
    CPU:  c6x_2: HEAP:  DDR_SCRATCH_MEM: size =   50331648 B, free =   50331648 B (100 % unused)
    
    CPU:  c7x_1: TASK:           IPC_RX:   0. 0 %
    CPU:  c7x_1: TASK:       REMOTE_SRV:   0. 0 %
    CPU:  c7x_1: TASK:        LOAD_TEST:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_C71_P1:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_C71_P2:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_C71_P3:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_C71_P4:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_C71_P5:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_C71_P6:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_C71_P7:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_C71_P8:   0. 0 %
    CPU:  c7x_1: TASK:      IPC_TEST_RX:   0. 0 %
    CPU:  c7x_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c7x_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c7x_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c7x_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c7x_1: TASK:      IPC_TEST_TX:   0. 0 %
    
    CPU:  c7x_1: HEAP:    DDR_LOCAL_MEM: size =  268435456 B, free =  268435200 B ( 99 % unused)
    CPU:  c7x_1: HEAP:           L3_MEM: size =    8159232 B, free =    8159232 B (100 % unused)
    CPU:  c7x_1: HEAP:           L2_MEM: size =     458752 B, free =     458752 B (100 % unused)
    CPU:  c7x_1: HEAP:           L1_MEM: size =      16384 B, free =      16384 B (100 % unused)
    CPU:  c7x_1: HEAP:  DDR_SCRATCH_MEM: size =  385875968 B, free =  385875968 B (100 % unused)
    
    
    GRAPH:         graph_85 (#nodes =   2, #executions =    299)
     NODE:       CAPTURE2:                  node_96: avg =   3466 usecs, min/max =     96 /  61002 usecs, #executions =        299
     NODE:       DISPLAY1:                  node_97: avg =  29919 usecs, min/max =     78 /  63227 usecs, #executions =        299
    
     PERF:            TOTAL: avg =  34983 usecs, min/max =   6175 / 345811 usecs, #executions =        193
    
     PERF:            TOTAL:   28.58 FPS
    
    
    
     ==========================
     Demo : Single Camera w/ 2A
     ==========================
    
     p: Print performance statistics
    
     s: Save Sensor RAW, VISS Output and H3A output images to File System
    
     e: Export performance statistics
    
     u: Update DCC from File System
    
    
     x: Exit
    
     Enter Choice: 
    Unsupported command 
    
    
    
     ==========================
     Demo : Single Camera w/ 2A
     ==========================
    
     p: Print performance statistics
    
     s: Save Sensor RAW, VISS Output and H3A output images to File System
    
     e: Export performance statistics
    
     u: Update DCC from File System
    
    
     x: Exit
    
     Enter Choice:  i 298...
     i 299...
     i 300...
     i 301...
     i 302...
     i 303...
     i 304...
     i 305...
     i 306...
     i 307...
     i 308...
     i 309...
     i 310...
     i 311...
     i 312...
     i 313...
     i 314...
     i 315...
     i 316...
     i 317...
     i 318...
     i 319...
     i 320...
     i 321...
     i 322...
     i 323...
     i 324...
     i 325...
     i 326...
    s i 327...
     i 328...
     i 329...
     i 330...
     i 331...
     i 332...
     i 333...
     i 334...
     i 335...
     i 336...
    
    
    YUV file name /opt/vision_apps/test_data/cap_0001.yuv 
    imgaddr_width = 1920 
    imgaddr_height = 1536 
    imgaddr_stride = 3840 
    width = 1920 
    height = 1536 
    Written 5898240 bytes 
    5898240 bytes written to /opt/vision_apps/test_data/cap_0001.yuv
    
    
     ==========================
     Demo : Single Camera w/ 2A
     ==========================
    
     p: Print performance statistics
    
     s: Save Sensor RAW, VISS Output and H3A output images to File System
    
     e: Export performance statistics
    
     u: Update DCC from File System
    
    
     x: Exit
    
     Enter Choice: 
    Unsupported command 
    
    
    
     ==========================
     Demo : Single Camera w/ 2A
     ==========================
    
     p: Print performance statistics
    
     s: Save Sensor RAW, VISS Output and H3A output images to File System
    
     e: Export performance statistics
    
     u: Update DCC from File System
    
    
     x: Exit
    
     Enter Choice:  i 337...
     i 338...
     i 339...
     i 340...
     i 341...
     i 342...
     i 343...
     i 344...
     i 345...
     i 346...
     i 347...
     i 348...
     i 349...
     i 350...
     i 351...
     i 352...
     i 353...
     i 354...
     i 355...
     i 356...
     i 357...
     i 358...
     i 359...
     i 360...
     i 361...
     i 362...
     i 363...
     i 364...
     i 365...
     i 366...
     i 367...
     i 368...
     i 369...
     i 370...
     i 371...
     i 372...
     i 373...
     i 374...
     i 375...
     i 376...
     i 377...
     i 378...
     i 379...
     i 380...
     i 381...
     i 382...
     i 383...
     i 384...
     i 385...
     i 386...
     i 387...
     i 388...
    x i 389...
     i 390...
     i 391...
     i 392...
     i 393...
     i 394...
     i 395...
     i 396...
     i 397...
     i 398...
     i 399...
     i 400...
     i 401...
    
    
     i 402...
       395.528935 s: ISS: Stopping sensor [GW_AR0233_UYVY] ... !!!
       395.529474 s: ISS: Stopping sensor [GW_AR0233_UYVY] ... Done !!!
    [MCU2_0]    395.529156 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_STREAM_OFF 
    [MCU2_0]    395.529241 s: IM_SENSOR_CMD_STREAM_ON:  channel_mask = 0x10
       395.573891 s: ISS: Stopping sensor [GW_AR0233_UYVY] ... !!!
       395.574449 s: ISS: Stopping sensor [GW_AR0233_UYVY] ... Done !!!
    app_run_graph done
    releasing capture node
    releasing displayNode
       395.574479 s:  VX_ZONE_ERROR:[ownReleaseReferenceInt:294] Invalid reference
    releasing raw image done
    releasing cap_frame # 0
    releasing cap_frame # 1
    releasing cap_frame # 2
    releasing cap_frame # 3
    releasing capt_yuv_image
    releasing Display Param Data Object
    releasing graph
    [MCU2_0]    395.574124 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_STREAM_OFF 
    [MCU2_0]    395.574201 s: IM_SENSOR_CMD_STREAM_ON:  channel_mask = 0x10
    [MCU2_0]    395.574252 s: UB960 config start 
    [MCU2_0]    395.574280 s: End of UB960 config 
    [MCU2_0]    395.577109 s: ==========================================================
    [MCU2_0]    395.577189 s:  Capture Status: Instance|0
    [MCU2_0]    395.577225 s: ==========================================================
    [MCU2_0]    395.577269 s:  overflowCount: 0
    [MCU2_0]    395.577302 s:  spuriousUdmaIntrCount: 0
    [MCU2_0]    395.577336 s:  frontFIFOOvflCount: 0
    [MCU2_0]    395.577367 s:  crcCount: 0
    [MCU2_0]    395.577395 s:  eccCount: 0
    [MCU2_0]    395.577426 s:  correctedEccCount: 0
    [MCU2_0]    395.577458 s:  dataIdErrorCount: 0
    [MCU2_0]    395.577491 s:  invalidAccessCount: 0
    [MCU2_0]    395.577523 s:  invalidSpCount: 0
    [MCU2_0]    395.577560 s:  strmFIFOOvflCount[0]: 0
    [MCU2_0]    395.577597 s:  strmFIFOOvflCount[1]: 0
    [MCU2_0]    395.577627 s:  Channel Num | Frame Queue Count | Frame De-queue Count | Frame Drop Count | Error Frame Count |
    [MCU2_0]    395.577881 s: ==========================================================
    [MCU2_0]    395.577961 s:  Capture Status: Instance|1
    [MCU2_0]    395.578008 s: ==========================================================
    [MCU2_0]    395.578056 s:  overflowCount: 0
    [MCU2_0]    395.578089 s:  spuriousUdmaIntrCount: 0
    [MCU2_0]    395.578123 s:  frontFIFOOvflCount: 0
    [MCU2_0]    395.578154 s:  crcCount: 0
    [MCU2_0]    395.578182 s:  eccCount: 0
    [MCU2_0]    395.578212 s:  correctedEccCount: 0
    [MCU2_0]    395.578245 s:  dataIdErrorCount: 0
    [MCU2_0]    395.578277 s:  invalidAccessCount: 0
    [MCU2_0]    395.578309 s:  invalidSpCount: 0
    [MCU2_0]    395.578346 s:  strmFIFOOvflCount[0]: 0
    [MCU2_0]    395.578384 s:  strmFIFOOvflCount[1]: 0
    [MCU2_0]    395.578412 s:  Channel Num | Frame Queue Count | Frame De-queue Count | Frame Drop Count | Error Frame Count |
    [MCU2_0]    395.578487 s:            0 |               407 |                  407 |               23 |                 0 |
    releasing graph done
    Error : app_delete_graph returned 0xfffffff4 
    tivxHwaUnLoadKernels done
    tivxImagingUnLoadKernels done
       395.595875 s:  VX_ZONE_WARNING:[vxReleaseContext:1055] Found a reference 0xffffa92a11a0 of type 0000080f at external count 2, intet
       395.595884 s:  VX_ZONE_WARNING:[vxReleaseContext:1057] Releasing reference (name=image_88) now as a part of garbage collection
    vxReleaseContext done
    app_deinit done
       395.596732 s: ISS: De-initializing sensor [GW_AR0233_UYVY] ... !!!
       395.597055 s: ISS: De-initializing sensor [GW_AR0233_UYVY] ... Done !!!
       395.597068 s:  VX_ZONE_INIT:[tivxHostDeInitLocal:107] De-Initialization Done for HOST !!!
       395.601446 s:  VX_ZONE_INIT:[tivxDeInitLocal:193] De-Initialization Done !!!
    APP: Deinit ... !!!
    REMOTE_SERVICE: Deinit ... !!!
    REMOTE_SERVICE: Deinit ... Done !!!
    IPC: Deinit ... !!!
    IPC: DeInit ... Done !!!
    MEM: Deinit ... !!!
    DDR_SHARED_MEM: Alloc's: 6 alloc's of 23593220 bytes 
    DDR_SHARED_MEM: Free's : 6 free's  of 23593220 bytes 
    DDR_SHARED_MEM: Open's : 0 allocs  of 0 bytes 
    DDR_SHARED_MEM: Total size: 536870912 bytes 
    MEM: Deinit ... Done !!!
    APP: Deinit ... Done !!!
    root@j7-evm:/opt/vision_apps# 
    CTRL-A Z for help | 115200 8N1 | NOR | Minicom 2.7.1 | VT102 | Offline | ttyUSB0    

    Regards,

    Barry

  • Hi Berry,

    Looking at the display, it seems there is issue in component ordering. like capture is outputting in uyuv format and display is in yuyv format. Can you try changing format for YUV422 and see if it helps?

    Regards,

    Brijesh

  • Hi Brijesh,

    Your replies are always useful.

    We have tried changing it, but the display still looks abnormal and there is not much change.

    Attached is the capture I saved after changing it to VX_DF_IMAGE_YUYV. The capture image is also abnormal:

    cap012.zip

    1.{VX_DF_IMAGE_YUYV, 7}, /*dataFormat and MSB [0]*/
    2.
    if(sensorParams.sensorInfo.raw_params.format[0].pixel_container == VX_DF_IMAGE_UYVY || sensorParams.sensorInfo.raw_params.format[0].pixel_container == VX_DF_IMAGE_YUYV)
    {
    yuv_cam_input = vx_true_e;
    printf("YUV Input selected. VISS and AEWB nodes will be bypassed. \n");
    }
    3.
    capt_yuv_image = vxCreateImage(
    obj->context,
    sensorParams.sensorInfo.raw_params.width,
    sensorParams.sensorInfo.raw_params.height,
    VX_DF_IMAGE_YUYV
    );
    Looking forward to your reply.

    Regards,

    Barry

  • Hi TI experts,

    Can you update this question for us? We are looking forward to your reply.

    Regards,

    Barry

  • Hi Barry,

    Looking at the image, it is definitely stored in YUYV format, where luma data is in the lower byte. But looking the above image again, it may not be just component ordering issue, it looks like some msb bits missing in the image. Are you sure that you are directly connect CSI output to directly. There is no other module in between them? Also please confirm that you are not using CSITX, it is DSI output, via DSS? 

    If this is the case, we can read back few register in DSS to check if the format is setup correctly in the DSS first. Which display pipeline are you using in DSS?  

    Regards,

    Brijesh

  • Hi Brijesh,

    thank you for your reply.

    1.What is confusing is that when the data type is {VX_DF_IMAGE_UYVY, 7}, the picture after our savaimage looks normal.

    The camera output format is confirmed to be:   1920*1536 yuv422_uyvy:

    2.The DSI data flow is: DSI-max96789-max96752-lcd

    Because our screen is 1280*800 (RGB565), the DSI output has been modified as follows:

    vision_apps/platform/j721e/rtos/common/app_cfg_mcu2_0.h
        #undef ENABLE_CSI2TX
        #define ENABLE_DSS_SINGLE
        #undef ENABLE_DSS_EDP
        #undef ENABLE_DSS_HDMI
        #define ENABLE_DSS_DSI
    
    vision_apps/platform/j721e/rtos/common/app_init.c
            #ifdef ENABLE_DSS_DSI
                prm.display_type = APP_DSS_DEFAULT_DISPLAY_TYPE_DSI;
    
                prm.timings.width        = 1280U;
                prm.timings.height       = 800U;
                prm.timings.hFrontPorch  = 132U;
                prm.timings.hBackPorch   = 88U;
                prm.timings.hSyncLen     = 30U;
                prm.timings.vFrontPorch  = 15U;
                prm.timings.vBackPorch   = 23U;
                prm.timings.vSyncLen     = 6U;
                prm.timings.pixelClock   = 77480000ULL;    
                
                // prm.timings.width        = 1280U;
                // prm.timings.height       = 800U;
                // prm.timings.hFrontPorch  = 132U;
                // prm.timings.hBackPorch   = 88U;
                // prm.timings.hSyncLen     = 30U;
                // prm.timings.vFrontPorch  = 15U;
                // prm.timings.vBackPorch   = 23U;
                // prm.timings.vSyncLen     = 6U;
                // prm.timings.pixelClock   = 38740000ULL;
                
    vision_apps/utils/dss/src/app_dctrl.c
            // dsi_params.numOfLanes = prms->num_lanes;
            dsi_params.numOfLanes = 4;
            // dsi_params.laneSpeedInKbps = 232440U;   //30FPS single
            dsi_params.laneSpeedInKbps = 464880U;   //60fps single
    
    vision_apps/utils/dss/src/app_dss_defaults.c
                /* Only four lanes output supported for AOU LCD */
                dsiParams.num_lanes = 4u;
                
    vision_apps/apps/basic_demos/app_single_cam/app_single_cam_main.c
        /* Display initialization */
        memset(&obj->display_params, 0, sizeof(tivx_display_params_t));
        obj->display_params.opMode = TIVX_KERNEL_DISPLAY_ZERO_BUFFER_COPY_MODE;
        obj->display_params.pipeId = 2;
        obj->display_params.outHeight = 800;
        obj->display_params.outWidth = 1280;
        obj->display_params.posX = 0;
        obj->display_params.posY = 0;
        
        obj->display_params.posX =0;    // (1920U - obj->display_params.outWidth)/2;
        obj->display_params.posY =0;    // (1080U - obj->display_params.outHeight)/2;
    
    

    3.We also confirmed the max96752 deserializer, 0x108 value is 62,detect OK

    Now the display is abnormal. Did we miss any modifications?

    Looking forward to the expert's reply, thanks

    Regards,

    Barry

  • Hi Barry,

    But who converts from RGB888 to RGB565? As per below macro in packages\ti\drv\dss\src\drv\dctrl\dss_dctrlDsi.c file, DSI output is fixed to RGB888 format. so wondering how it gets converted to RGB565. 

    #define DSITX_VID_DATA_TYPE (DSITX_VID_DATA_TYPE_RGB_24)
    #define DSITX_VID_PIX_MODE (DSITX_VID_PIXEL_MODE_RGB_24)

    Regards,

    Brijesh

  • Hi Brijesh,

    But do you think the reason for this problem is that DSI has not been converted to 565 output?

    Ignoring the problem that the screen only displays RGB565, I think if there is no problem with the modification, at least I can see a basically clear image, right? But now the picture I see is vague.

    1920X1536 UYVY acquisition is displayed on a 1280x800 RGB888 screen through DSI output. Is this supported?

    Looking forward to the expert's reply, thanks

    Regards,

    Barry

  • Hi TI experts,

    Can you update this question for us?Looking forward to your reply.

    Regards,

    Barry

  • Hi Barry,

    But do you think the reason for this problem is that DSI has not been converted to 565 output?

    Well, yes, if the msb bits are missing, it can look like the above image. 

    Ignoring the problem that the screen only displays RGB565, I think if there is no problem with the modification, at least I can see a basically clear image, right? But now the picture I see is vague.

    Yes, that's correct. Have you tried this display with any other application? just to rule out format differences. Lets say, can you try display only application and see if display is first working fine? 

    1920X1536 UYVY acquisition is displayed on a 1280x800 RGB888 screen through DSI output. Is this supported?

    Yes, this can be supported. Essentially, here, DSS will convert input YUV data into RGB888 format and output over DSI interface.

    Regards,

    Brijesh