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.

I am using ti8148 processor and tft LQ043T3Dx04 sharp LCD (480X272)

Hi,

             I am following below link to up the LCD (480X272 sharp)

http://processors.wiki.ti.com/index.php/TI81XX_PSP_VPSS_Video_Driver_User_Guide.

It is able to generate the clk, hsync, vsync and I am using the test application from the source

/TI81XX-LINUX-PSP-04.04.00.02/src/examples/video/saFbdevDisplay

log for the application run is

root@dm814x-evm:~/lcd# ./saFbdevDisplay

Fix Screen Info:
----------------
Line Length - 1440
Physical Address = 8ce00000
Buffer Length = 25165824

Var Screen Info:
----------------
Xres - 480
Yres - 272
Xres Virtual - 480
Yres Virtual - 272
Bits Per Pixel - 24
Pixel Clk - 111111
Rotation -0

but nothing is getting displayed on to the LCD screen.

please let me know if I am missing any thing.

Thanks,

Sudheer.

  • Hello,

    What are the steps that you are following before to execute the application?

    Best Regards,

    Margarita

  • Hi,

                  Now I am able to run the matrix-gui-e application and it is able to display ti matrix menu and its content.

    Please let me know the application to display image, play video on LCD using the fbo interface.

    Thanks,

    Sudheer.

  • Hello,

    You could check OMX decode_display demo.

    To get the graphics plane over the fbdev0, the command to be used is as follows:
    ./decode_display_a8host_debug.xv5T -i ./sample.h264 -w 1920 -h 1080 -f 60 –d 1 -g 1

    -d 1 for LCD display

    -g 1 for graphics enable.

    Best Regards,

    Margarita

  • Hi,

               I have tried the command but there was no display on the lcd.

    Do we have a application which uses the /dev/fb0 interface

    Command log:

    root@dm814x-evm:/usr/share/ti/ti-omx# ./decode_display_a8host_debug.xv5T -i /hom
    e/root/sample_1280_2.h264 -w 480 -h 272 -f 30 -g 0 -d 0 -c h264
    input file: /home/root/sample_1280_2.h264
    width: 480
    height: 272
    frame_rate: 30
    gfx: fbdev disable
    codec: h264
    display_id: 0
     Decoder-Display example
    ===============================
     OMX_Init completed
     UIAClient is ready to send a UIA configuration command
    UIAClient received UIA_CONFIGURE_ACK
    UIAClient is done sending requests
    UIAClient is ready to send a UIA configuration command
    UIAClient received UIA_CONFIGURE_ACK
    UIAClient is done sending requests
     opening file
     decoder compoenent is created
    PADX: 32 PADY: 24
     level set is 12
     scalar compoenent is created
    set input port params (width = 480, height = 272)
    set output port params (width = 480, height = 272)
    set number of channels
    set input resolution
    set output resolution
    enable scalar input port
    got eventEnable/Disable Event
    enable scalar output port
    got eventEnable/Disable Event
    found handle 0x131068 for component OMX.TI.VPSSM3.VFDC
     got display handle
    found handle 0x135070 for component OMX.TI.VPSSM3.CTRL.DC
    Buffer Size computed: 261120
    set input port params (width = 480, height = 272)
    setting input and output memory type to default
    enable input port
    got eventEnable/Disable Event
     connect call for decoder-scalar
      connect call for scalar-display
      decoder inport buffers allocated
      decoder outport buffers allocated
     got eventState changed to: OMX_StateIdle
     decoder state IDLE
      Scalar input port use buffer done
      scalar outport buffers allocated
     got eventState changed to: OMX_StateIdle
     scalar state IDLE
     got eventState changed to: OMX_StateIdle
     ctrl-dc state IDLE
     got eventState changed to: OMX_StateIdle
     display state IDLE
     got eventState changed to: OMX_StateExecuting
     display control state execute
     got eventState changed to: OMX_StateExecuting
     display state execute
     got eventState changed to: OMX_StateExecuting
     scalar state execute
     got eventState changed to: OMX_StateExecuting
     decoder state execute
      file read thread created
      decoder connect thread created
      scalar connect thread created
      display connect thread created
      executing the appliaction now!!!

    Thanks,

    Sudheer.
  • Hello,

    Try :

    -d 1 -g 1

    Best Regards,

    Margarita

  • Hi,

                                There was a segmentation error after running the command.

    Response to the command:

    root@dm814x-evm:/usr/share/ti/ti-omx# ./decode_display_a8host_debug.xv5T -i /hom                                                                                      
    e/root/lcd/sample_1280_2.h264 -w 480 -h 272 -f 30 -g 1 -d 1 h264                                                                                                      
    root@dm814x-evm:/usr/share/ti/ti-omx# ./decode_display_a8host_debug.xv5T -i /hom                                                                                      
    e/root/lcd/sample_1280_2.h264 -w 420 -h 272 -f 30 -g 1 -d 1 -c h264                                                                                                   
    input file: /home/root/lcd/sample_1280_2.h264                                                                                                                         
    width: 420                                                                                                                                                            
    height: 272                                                                                                                                                           
    frame_rate: 30                                                                                                                                                        
    gfx: fbdev enable                                                                                                                                                     
    codec: h264                                                                                                                                                           
    display_id: 1                                                                                                                                                         
     Decoder-Display example                                                                                                                                              
    ===============================                                                                                                                                       
    Assertion at Line no: 1239 in /swcoe/sdk/cm/netra/arago-tmp/work/dm814x-evm-none-linux-gnueabi/ti-syslink-2_20_02_20-r1j/syslink_2_20_02_20/packages/ti/syslink/ipc/hd
    Assertion at Line no: 695 in /swcoe/sdk/cm/netra/arago-tmp/work/dm814x-evm-none-linux-gnueabi/ti-syslink-2_20_02_20-r1j/syslink_2_20_02_20/packages/ti/syslink/ipc/hld
    ServiceMgr_prime: MessageQ_put failed: status = 0xfffffffe                                                                                                            
    Assertion at Line no: 1239 in /swcoe/sdk/cm/netra/arago-tmp/work/dm814x-evm-none-linux-gnueabi/ti-syslink-2_20_02_20-r1j/syslink_2_20_02_20/packages/ti/syslink/ipc/hd
    Assertion at Line no: 695 in /swcoe/sdk/cm/netra/arago-tmp/work/dm814x-evm-none-linux-gnueabi/ti-syslink-2_20_02_20-r1j/syslink_2_20_02_20/packages/ti/syslink/ipc/hld
    ServiceMgr_prime: MessageQ_put failed: status = 0xfffffffe                                                                                                            
    Assertion at Line no: 1239 in /swcoe/sdk/cm/netra/arago-tmp/work/dm814x-evm-none-linux-gnueabi/ti-syslink-2_20_02_20-r1j/syslink_2_20_02_20/packages/ti/syslink/ipc/hd
    Assertion at Line no: 695 in /swcoe/sdk/cm/netra/arago-tmp/work/dm814x-evm-none-linux-gnueabi/ti-syslink-2_20_02_20-r1j/syslink_2_20_02_20/packages/ti/syslink/ipc/hld
    ServiceMgr_prime: MessageQ_put failed: status = 0xfffffffe                                                                                                            
    Assertion at Line no: 1239 in /swcoe/sdk/cm/netra/arago-tmp/work/dm814x-evm-none-linux-gnueabi/ti-syslink-2_20_02_20-r1j/syslink_2_20_02_20/packages/ti/syslink/ipc/hd
    Assertion at Line no: 695 in /swcoe/sdk/cm/netra/arago-tmp/work/dm814x-evm-none-linux-gnueabi/ti-syslink-2_20_02_20-r1j/syslink_2_20_02_20/packages/ti/syslink/ipc/hld
    ServiceMgr_prime: MessageQ_put failed: status = 0xfffffffe                                                                                                            
    Assertion at Line no: 1239 in /swcoe/sdk/cm/netra/arago-tmp/work/dm814x-evm-none-linux-gnueabi/ti-syslink-2_20_02_20-r1j/syslink_2_20_02_20/packages/ti/syslink/ipc/hd
    Assertion at Line no: 695 in /swcoe/sdk/cm/netra/arago-tmp/work/dm814x-evm-none-linux-gnueabi/ti-syslink-2_20_02_20-r1j/syslink_2_20_02_20/packages/ti/syslink/ipc/hld
    ServiceMgr_prime: MessageQ_put failed: status = 0xfffffffe                                                                                                            
    Assertion at Line no: 1239 in /swcoe/sdk/cm/netra/arago-tmp/work/dm814x-evm-none-linux-gnueabi/ti-syslink-2_20_02_20-r1j/syslink_2_20_02_20/packages/ti/syslink/ipc/hd
    ServiceMgr_rxThreadFxn: bind() failed with errno = 98                                                                                                                 
    Assertion at Line no: 761 in /swcoe/sdk/cm/netra/arago-tmp/work/dm814x-evm-none-linux-gnueabi/ti-syslink-2_20_02_20-r1j/syslink_2_20_02_20/packages/ti/syslink/ipc/hld
    Segmentation fault                                                                                                                                                    
    root@dm814x-evm:/usr/share/ti/ti-omx#

  • Hello,

    Could you provide the steps that you are executing before to start the decode_display demo?

    By default this is the what is using when the -d 1 is set :

    /*LCD display specific configurations, these parameters come from */
    /*the LCD display datasheet */
    #define DISPLAY_WIDTH         (800)
    #define DISPLAY_HEIGHT        (480)
    #define LCD_PIXEL_CLOCK   (33500)
    #define LCD_H_FRONT_PORCH (164)
    #define LCD_H_BACK_PORCH  (89)
    #define LCD_H_SYNC_LENGTH (10)
    #define LCD_V_FRONT_PORCH (10)
    #define LCD_V_BACK_PORCH  (23)
    #define LCD_V_SYNC_LENGTH (10)

    Have you try to change this in /EZSDK/component-sources/omx_05_02_00_48/examples/ti/omx/demos/decode_display/src/dm814x

    platform_utils.h

    Best Regards,

    Margarita

  • when I am running the test application it is running fine and when I am trying to run some other video file it is not displaying any thing on the LCD


    pleas let me know about the gstreamer scripts which will take .mp4 input and display on the LCD screen.

    working log:

    gst-launch videotestsrc ! 'video/x-raw-yuv, format=(fourc
    c)NV12, width=480, height=272, framerate=(fraction)60/1' ! omx_scaler ! gstperf
    ! v4l2sink sync=false device=/dev/video2
    Setting pipeline to PAUSED ...

    ** (gst-launch-0.10:1191): CRITICAL **: gst_v4l2sink_sync_rotation: assertion `v4l2_ioctl (fd, VIDIOC_S_CTRL, &control) >= 0' failed

    ** (gst-launch-0.10:1191): CRITICAL **: gst_v4l2sink_sync_rotation: assertion `v4l2_ioctl (fd, VIDIOC_S_CTRL, &control) >= 0' failed

    ** (gst-launch-0.10:1191): CRITICAL **: gst_v4l2sink_sync_flip: assertion `v4l2_ioctl (fd, VIDIOC_S_CTRL, &control) >= 0' failed
    Pipeline is PREROLLING ...
    Pipeline is PREROLLED ...
    Setting pipeline to P
    Inside videobuf_reqbufs
    LAYING ...
    New clock: GstSystemClock
    perf0: frames: 58       current: 57.12   average: 57.12 arm-load: 3
    perf0: frames: 118      current: 59.94   average: 58.52 arm-load: 38
    perf0: frames: 178      current: 59.94   average: 58.99 arm-load: 46
    perf0: frames: 238      current: 59.94   average: 59.23 arm-load: 38
    perf0: frames: 298      current: 59.94   average: 59.37 arm-load: 32
    perf0: frames: 358      current: 59.94   average: 59.46 arm-load: 37
    perf0: frames: 418      current: 59.94   average: 59.53 arm-load: 48
    perf0: frames: 478      current: 59.94   average: 59.58 arm-load: 36
    Caught interrupt -- handling interrupt.
    Interrupt: Stopping pipeline ...
    Execution ended after 8492421600 ns.
    Setting pipeline to PAUSED ...
    Setting pipeline to READY ...

    !!!!!!!!!unrefert81xx_vidout t81xx_vidout: VIDOUT1: invalid dequeue
    ence all the remaining buffers!!!!!!!!!Setting pipeline to NULL ...
    Freeing pipeline ...

    Non working Log:

    root@dm814x-evm:~/lcd# gst-launch filesrc location=sample.mp4 ! qtdemux name=mux
     mux.Video_00 ! queue ! h264parse output-format=1 ! omx_h264dec ! omx_mdeiscaler
     name=d d.src_00 ! 'video/x-raw-yuv, width=(int)480, height=(int)272' ! omx_ctrl
      display-mode=OMX_CD_MODE_1080P_30 display-device=LCD ! omx_videosink display-d
    evice=LCD enable-last-buffer=false mux.audio_00 ! fakesink silent=true -v
    Setting pipeline to PAUSED ...
    Pipeline is PREROLLING ...
    /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, level=(string)2, bas1
    Caught interrupt -- handling interrupt.
    Interrupt: Stopping pipeline ...
    ERROR: pipeline doesn't want to preroll.
    Setting pipeline to NULL ...
    /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = NULL
    /GstPipeline:pipeline0/GstQTDemux:mux.GstPad:audio_00: caps = NULL
    /GstPipeline:pipeline0/GstQTDemux:mux.GstPad:video_00: caps = NULL
    Freeing pipeline ...

    Thanks,

    Sudheer.

  • Hello,

    Try first to decode_display  the video without the audio.

    The pipeline should be something like:

    gst-launch filesrc location=/..../  ! qtdemux ! h264parse ! omx_h264dec ! omx_scaler ! v4l2sink device=/dev/video2 userpointer=false  min-queued-bufs=2

    Best Regards,

    Margarita

  • Hi Margarita,

                                    I am trying the suggested script for displaying the video, there is some issue with the input source .h264 file and trying to down load a proper .h264 file.                               

                                    How can I change the LCD display channel to TV-out display. There is some script change_display.sh but there is no code in this script which will change the display to TV out. Please help to display the content on to TV out.

    Thanks,

    Sudheer.

    script content:

    #/bin/sh

    SCRIPT=/etc/init.d/load-hd-firmware.sh

    if [ $# -ne 1 ]
    then
            echo "Usage ./change_display.sh <lcd|hdmi>"
            exit 1;
    fi

    case $1 in
            lcd )
                    echo "==== Changing default display to LCD ===="
                    sed -i -e "s/#configure_lcd$/configure_lcd/g" \
                           $SCRIPT;;
            hdmi )
                    echo "==== Changing default display to HDMI ===="
                    sed -i -e "s/configure_lcd$/#configure_lcd/g" \
                           $SCRIPT;;
            * )
                    echo "Error: Unsupported Display"
                    echo "Usage ./change_display.sh <lcd|hdmi>"
                    exit -1;;
    esac

    # Force a VFS sync immediately
    sync

    echo "==== Please reboot your board NOW! ===="