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.

Issue with DVI output

All,

I am working with the Mistral EVM board, and the DVSDK (Beta). What we want to demo is connecting the OMAP to a HD television so I'm trying to run the 'decode' demo as part of the DVSDK having configured the display to use the DVI connector

# echo "DVI" > /sys/class/display_control/omap_disp_control/ch0_output
# echo "720P" > /sys/class/display_control/omap_disp_control/ch0_mode

For an initial test run (the television is attached to the wall of our boardroom), the EVM is connected via DVI to a TFT monitor

when I run the 'interface' application, the menu appears on the monitor (but rotated on the left hand side)... but working otherwise (solid picture etc.) But as soon as I start to play the 'Davinci' demo, the screen goes blank and the monitor believes the display has been disconnected - all seems to be well from the console prompt and the audio is still being decoded.

 Is this a configuration issue on my part, or are there still issues with the playback?

Any help / advice would be gratefully recieved - part of the reason for this test is to do a presentation to my board of directors about the capabilities of the OMAP for our targetted products -- one is strangely including driving a large TV proportion screen... I would love to show this kit works and not have to make use of a mini PC!!

Thanks

Richard

 

  • Have you made the changes suggested in the following post

     https://community.ti.com/forums/p/339/942.aspx#942

     

     

  • Juan,

     Thanks for the reply.

     Yes - the resistor changes had been made (as detailed in the documents that came with the EVM) We also took solice in that the display was up for the 'basic' stuff until the video playback started... unless you know that R18 effects the rotation of the display in which we are having problems then!

     Any further help / advice gratefully received.

    Richard

  • Currently the DVI output is not supported by the DVSDK (though it is supported by plain SDK), that should come in the next revision of the DVSDK package (release notes say beta 2.0 release should have DVI). I have heard that the video only demo may work but the audio/video demo outputs nothing to the DVI (though I have not tried it personally), though since it is not supported with the DVSDK I would not rely on either.

     The resistor mod is only for the original early adopter boards and is probably not necessary if you bought your board recently, this would only cause noise anyway, the rotation and video failure is a software level issue.

  • Richard,

    I do not believe this resistor is related to the rotation issue at all but I just wanted to make sure you were aware of this required change as well.

    When it comes to DVI displays, the best way to ensure compatibility is to read the EDID data and configure video output for the native display resolution (or at least one of the resolutions the DVI display supports).  I am not familiar with the OMAP display driver yet to know if it is reading the EDID data.  But IMHO, anytime the user wants to set a desired video resolution/frame rate to be displayed. EDID should be checked to ensure compatibility; otherwise, operation should fail with an error message.

    Anyway, just my two cents from having developed DVI software in the past.  DVI display compatibility was a nightmare in the early days :)

  • Thanks Bernie and Juan for your further replies.

     Do either of you know if this is a limitation of the DSP/Arm-link side of things, or the 'sample' application that is part of the DVSDK? I'm currently trying to build gstreamer and it's various support libraries (I say trying, since I'm encountering all those wonderful cross-compilation blues!). The idea being that I could then run a more feature rich media player/environment...

     Regards

    Richard

     

  • I believe it is primarily the sample application but I could not say for sure if the other pieces are having any effect on DVI since the sample application is what brings it together and allows a display at all, either way in the upcoming release the DVSDK demos should no longer interfere with DVI display.

  • Hi,

     

    Can tell me how you are enabling rotation?

    For FBDEV, we can enable it through boot time arguments. Following gives an example of enabling/setting rotation angle to 90 on FBDEV.

    setenv bootargs 'mem=128M console=ttyS0,115200n8 noinitrd root=/dev/mtdblock4 rw rootfstype=jffs2 video=omap24xxfb:rotation=90'

    For V4L2, we can enable rotation using the IOCTL, VIDIOC_S_OMAP2_ROTATION. Just pass angle of rotation with this ioctl as an argument.

     

    Thanks,

    Brijesh Jadav

  • Hi Brijesh,

     

    I am trying to use the "VIDIO_S_OMAP2_ROTATION" ioctl in my application. However, if I try to compile my application, I am getting an error saying the un-identified ioctl. Am I missing something here.  I am using arm-2007q1 cross compiler from code sourcery for building. Also, in the code I saw that, this particular Ioctl was defined as non standard ioctl. So how to use non standard ioctls in the applications? Any help in this regard would be greatly appreciated.

     

    Warm Regards,

    Naveen.

  • Hi Naveen,

     

    You need to include header file omap24xxvout.h and keep this header file in the same directory where your source files are present. For the example, please see sample application folder in the release package.

     

    Thanks,

    Brijesh Jadav

  • Hi Naveen

    This works in my case

           rotation = 90;
            ret = ioctl(display_fd, VIDIOC_S_OMAP2_ROTATION, &rotation);
            if (ret < 0) {
              perror("VIDIOC_S_OMAP2_ROTATION");
           
    For compiling successfully u need to include

     

    #include </opt/omap3evm/toolchain/arm-2007q3/arm-none-linux-gnueabi/libc/usr/include/linux/videodev.h>
    #include "/opt/omap3evm/toolchain/arm-2007q3/arm-none-linux-gnueabi/libc/usr/include/linux/fb.h"

    #include "omap24xxvout.h"

     

     

  • Hi,

     

    This is correct. It requires local copy of the header file omap24xxvout.h. You can get the header file from Sample application folder from the package. The other, not recommended, solution is to add following line in the source file.

     

    #define VIDIOC_S_OMAP2_ROTATION         _IOW ('V', 3,  int)

     

    Thanks,

    Brijesh Jadav