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.

Changing the output to 720p/23.98 or 720p/24 fails

We are developing a product using DM816x and DM814x EVMs that needs to support a variety of output resolutions.  Running either of the following procedures to change the output rate from 1080p to 720p/23.98 or 720p/24 results in no video output on ti-ezsdk_dm816x-evm_5_04_00_11.

# Change output to 720p/23.98
/etc/init.d/matrix-gui-e stop
echo 0 > /sys/devices/platform/vpss/graphics0/enabled
echo 0 > /sys/devices/platform/vpss/display0/enabled
echo 74176,1280/2585/220/40,720/5/20/5,1 > /sys/devices/platform/vpss/display0/timings
fbset -xres 1280 -yres 720 -vxres 1280 -vyres 2160
echo 1 > /sys/devices/platform/vpss/display0/enabled
echo 1 > /sys/devices/platform/vpss/graphics0/enabled
/etc/init.d/matrix-gui-e start

# Change output to 720p/24
/etc/init.d/matrix-gui-e stop
echo 0 > /sys/devices/platform/vpss/graphics0/enabled
echo 0 > /sys/devices/platform/vpss/display0/enabled
echo 74250,1280/2585/220/40,720/5/20/5,1 > /sys/devices/platform/vpss/display0/timings
fbset -xres 1280 -yres 720 -vxres 1280 -vyres 2160
echo 1 > /sys/devices/platform/vpss/display0/enabled
echo 1 > /sys/devices/platform/vpss/graphics0/enabled
/etc/init.d/matrix-gui-e start

After either of these, attempting to change back to 1080p doesn't work either. The system begins to emit messages like:

VPSS_FVID2: contrl event 0x6 timeout
VPSS_FVID2: contrl event 0x1004001a timeout
VPSS_DCTRL: failed to get venc info.
VPSS_DCTRL: faild to get venc info.
VPSS_DCTRL: failed to disable hdmi venc
VPSS_FVID2: contrl event 0x1004001a timeout
(etc.)

Why don't these rates work?

Is there any way to reset the broken modules so that changing back to 1080p will work, without rebooting the whole system?

  • Hi,

    Can you please try running at 720P60 and make sure that it works. 720P24 and 720P23.98 are not supported resolutions. Also try connecting it to monitor (DVI Sink) instead of TV for 720P24 and 720P23.98.

    Regards,

    Hardik Shah

  • Just to clarify the statement "720P24 and 720P23.98 are not supported resolutions"...

    The 816x can happily output 720P24 or any other resolution desired, but there are a few things you need to consider.

    First, very few monitors are able to display these resolutions so make sure that your monitor supports the resolution.

    Second, the timing information you provided to the /timings entry is not the correct way to achieve 720p24. You are trying to decrease the frame rate by extending the blanking period. A better way is to reduce the pixel clock.

    What display are you trying to connect to? 720p24/23.98 is neither a CEA nor VESA standard so virtually no consumer display will accept a signal of this resolution/frame rate.

    What actually is your objective?

    BR,

    Steve

  • Hardik,

    > Can you please try running at 720P60 and make sure that it works

    Yes, the following all work:

    • 720p60       ("74250,1280/110/220/40,720/5/20/5,1")
    • 720p59.94 ("74176,1280/110/220/40,720/5/20/5,1")
    • 720p50       ("74250,1280/440/220/40,720/5/20/5,1")
    • 720p30       ("74250,1280/1760/220/40,720/5/20/5,1")
    • 720p29.97 ("74176,1280/1760/220/40,720/5/20/5,1")

    > Also try connecting it to monitor (DVI Sink) instead of TV for 720P24 and 720P23.98.

    I have two devices that I'm plugging into that are known to support these rates - one made by our company and a Sony TV.  For example, they have no problem playing them from a QuauntumData QD780.

    Dan -

  • Steve,

    > The 816x can happily output 720P24 or any other resolution desired

    Thanks for the clarification - will stand down from panic mode.


    > First, very few monitors are able to display these resolutions so make
    > sure that your monitor supports the resolution.

    I have two devices that can display these resolutions.


    > the /timings entry is not the correct way to achieve 720p24. You are trying
    > to decrease the frame rate by extending the blanking period.

    True. This is how we set up our previous products, based on the definition in
    SMPTE 296M, where the luma sample periods per line is 4125, and the total lines
    per frame is 750.


    > 720p24/23.98 is neither a CEA nor VESA standard

    Not true. They are originally defined in SMPTE 296M, but are also listed in
    CEA-861E as VIC 60 (page 28 and 44). But, as it turns out, the entry on page 44
    has a foot note where it says that CEA will use the 720p30 timing with reduced
    pixel clock, as you suggest. Using the CEA timings appears to work:

    • 720p/23.98:    59281,1280/1760/220/40,720/5/20/5,1
    • 720p/24:          59400,1280/1760/220/40,720/5/20/5,1

    The SMPTE timing is good for compatibility with the SDI outputs, which need the
    74.25 ot 74.25*1000/1001 pixel clock. But this setup may be good enough for us.


    > What actually is your objective?

    Our product has to support a number of HDMI output resolutions, including these two.
    My plan was to ignore the pre-built sysfs "/mode" controls, and stick exclusively to
    defining the "/timings". So far, this has worked out without too much issue, except
    for TI's bad VIC code lookup, and the HDMI audio support.  (Both reported separately.)

    Anyway, thanks for the reply,

    Dan -

  • Dan,

    I have a feeling that the issue might be that the 720p24 specified front porch times greater than 2048 (2585). I would not initially expect this to be an issue since the registers are 12 bit, but given that the 60 & 30 fps modes work with extended blanking times it is a possibility.

    I will check in to this to see if there is either a hardware or software limitation.

    BR,

    Steve