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.

DM365 DMAI Osd capabilities

Hello,

I am trying to understand the capabilities of the DM365 OSD driver.
I have every thing working OK as long as I use the DMAI functions with resolutions no larger then D1 (PAL / NTSC)
else the DMAI Display_Create function fails.

I want to use the OSD with 800x600 or 1024x768 LCD screen.
I looked in the HW FPBE data sheet and there is no HW limitation on OSD resoluitions so the ability for larger windows is there.

The problem:
when i create a new OSD display ("/dev/fb0"), i cant give it my own buffers since the DMAI Display_fbdev_create  function doesnot allow the user to allocate the buffers.
Is there some type of define for video standard : LCD_600*800 and LCD_1024*768
I Checked the DMAI defines and there are no defenitions for these resolutions.

My next thing was to change the Display_fbdev_create  function so that it will allways allocate buffers with 1024x768 size (RGB565)
But when i changed the Buffer size to a bigger size (for the buftab create function) the mmap fuction that maps the display file descriptor fails
It return [EINVAL]  error code.
As if the mmap funciton has some limitation on the len paramenter (it should be limited to the max file size of the fs)

Is there a better solution to controlloing the OSD of the DM365 when outputing to a 800*600 / 1024*768 LCD ??

Thank you.

 

  • I will try to explain your issue from the driver end:

     

    Hello,

    I am trying to understand the capabilities of the DM365 OSD driver.
    I have every thing working OK as long as I use the DMAI functions with resolutions no larger then D1 (PAL / NTSC)
    else the DMAI Display_Create function fails.

    [Manju] For it to succeed, one needs to add the support for the LCD in the driver already. Currently the driver has support for TV resolutions like NTSC/PAL etc.

    I want to use the OSD with 800x600 or 1024x768 LCD screen.
    I looked in the HW FPBE data sheet and there is no HW limitation on OSD resoluitions so the ability for larger windows is there.

    The problem:
    when i create a new OSD display ("/dev/fb0"), i cant give it my own buffers since the DMAI Display_fbdev_create  function doesnot allow the user to allocate the buffers.
    Is there some type of define for video standard : LCD_600*800 and LCD_1024*768
    I Checked the DMAI defines and there are no defenitions for these resolutions.
    [Manju] fbdev driver (/dev/fb0) does not allow users to exchange buffers. The buffers are owned by the fb device and one can only write on to them.

     

    My next thing was to change the Display_fbdev_create  function so that it will allways allocate buffers with 1024x768 size (RGB565)
    But when i changed the Buffer size to a bigger size (for the buftab create function) the mmap fuction that maps the display file descriptor fails
    It return [EINVAL]  error code.
    As if the mmap funciton has some limitation on the len paramenter (it should be limited to the max file size of the fs)

    Is there a better solution to controlloing the OSD of the DM365 when outputing to a 800*600 / 1024*768 LCD ??



    [Manju] The answer is that you have to implement the support for your LCD with the appropriate resolution. For this , the implementation is two-fold -

    1. Implement the appropriate timings for the LCD in the VENC digital interface

    2. Increase the buffer size to match the LCD size and program the OSD appropriately.

     Thank you.