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.

blending

Hello, TI,

There is an application in DVSDK named "blend" . It is intended to blend video and osd windows. And it has only one argument.

Can you please explain how does it work? When I enter the command "./blend 5", for instance, I get only:

Var Info for OSD1
xres:480
yres:272
xres_virtual:480
yres_virtual:272
xoffset:0
yoffset:0
bits per pixel:4
grayscale:0
nonstd:1
activate:0
height in mm:0
width in mm:0

Can I observe the resulting mixed picture somewhere? 

  • Hi,

    FBIOGET_VSCREENINFO gets the variable screen information from the frame buffer, things like resolution, margins, color properties.

    FBIOGET_FSCREENINFO gets the fixed information about a frame buffer, such as the start and length of frame buffer memory, line length, and any hardware accelerator flags, though I am not sure if this particular IOCTL is fully supported in the newer drivers as it is not mentioned in SPRUEK9 (FBIOGET_VSCREENINFO is shown on page 27).

    The app is using these two IOCTLS, and is looking for if OSD1 window is in attribute mode (look OSDWIN1MD register),

    Blending can be done on the following condition:

    Table 31. Functional Description of the OSD Windows
    Function                Video0    Video1    Bitmap0                Bitmap1
    Pixel level blending    x         x         √ (with attribute mode of bitmap window 1)
    factor
    (Look Table 31 on page 74 on VPBE dm365).

    And finally application takes the blend value, and sets it for osd1 window. Look at OSDWIN1MD register and

    fields BLND1 and TE1 for info in dm365 VPBE.


    Look for Figure 62. Bitmap + Video Window Display Examples(in dm365 VPBE)

    In this is an the first image has blend value is 0, and in other there is some value x.

    Thx,

    --Prabhakar Lad




  • Hello,

    I also have noticed that some ioctls (including FBIOGET_VSCREENINFO and VIDIOC_CROPCAP) are not documented in LSP 2.10 (according to your link even in 1.20). My LSP is 3.x version. I wonder how these ioctls work on my LSP version?

    Still I didn't figure out the purpose of blend.c example - in fact it just fills the /dev/fb2 device with one value (that is counted from the value that we inputted as an argument) and we get just 15 different colors on the screen. Why it is said about blending?

  • Hi,

    I also have noticed that some ioctls (including FBIOGET_VSCREENINFO and VIDIOC_CROPCAP) are not documented in LSP 2.10 (according to your link even in 1.20). My LSP is 3.x version. I wonder how these ioctls work on my LSP version?

    I pointed to some older doc, I am not aware of the new version.

    Still I didn't figure out the purpose of blend.c example - in fact it just fills the /dev/fb2 device with one value (that is counted from the value that we inputted as an argument) and we get just 15 different colors on the screen. Why it is said about blending?

    Did you look at figure 62 in vpbe  doc ? That might give you a clear idea.


    Thx,

    --Prabhakar Lad

  • Prabhakar Lad, 

    Ok, the idea of windows' interarrangement is surely clear. All I mean is that application doesn't read video or osd information and so we can't observe the resulting mixture of video+osd on any output. It only sets necessary attribute for blend factor I guess we can include it into some other app to mix windows.

    Thank you! 

  • Hi Alyona,

    the idea of windows' interarrangement is surely clear. All I mean is that application doesn't read video or osd information and so we can't observe the resulting mixture of video+osd on any output. It only sets necessary attribute for blend factor I guess we can include it into some other app to mix windows.

    Exactly now you got things rite..

    Thx,

    --Prabhakar Lad