The Khronos Group - a non-profit industry consortium to develop, publish and promote open standard, royalty-free media authoring and acceleration standards for desktop and handheld devices, combined with conformance qualification programs for platform and device interoperability.

If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

ML video processing

hello
some video devices have own properties that limit them.As an example, divo is a totally none-square pixel board. is there limitations for OpenML on these boards?Can we, as an example, capture square pixels on the 'divo'?

Re: ML video processing

Re: ML video processing

Hi Frank
The Information i have used is from the *Lurker's Guide to video*.so i think that it's the SGI divo I/O board .But actually i want to see that is OpenML individual from hardware?--divo was only an example.
In general, if the hardware doesn't support a capability, can openML support that capability in a software manner?

Re: ML video processing

OpenML is intendend for realtime applications. OpenML will not prevent you from supporting a computationally intensive operation/feature in SW but it's not recommended because the design will not scale.
You might be able to get away with one instance of the mlmodule with complex SW video processing (e.g. aspect ratio conv) but as soon as an application adds more devices the cpu will not be able to support the operations in realtime. You will have a better chance of processing lower bandwidth signals like audio with SW in a module.
Ideally a module should setup the HW device, transfer buffers and notify on errors.

Re: ML video processing

Hello Ehsan,

1) for exploratory work and preliminary testing purposes, you can use pretty much any capture card that works with Windows -- the ML SDK comes with a sample module that simply uses the Windows drivers.

Note however that you will not get real-time performance from this setup, since the ML module is not really a driver, it is simply an app-level emulation. So for final integration and performance tests, you need to find a card that has a native ML module. I know of DVS and SGI that have such cards, there may be others as well.

2) No, the ML spec does not have explicit HAL and HEL layers. Remember that ML is only an API, it isn't an implementation (as opposed to DirectX which is both an API *and* an implementation).

The ML reference implementation (ie: the ML SDK) does not use HAL and HEL either. Instead, it has a device-independent layer and a device-dependent layer. But in any case, this is not really relevant to programmers using the API (it *is* relevant to programmers wanting to develop new ML modules).

Re: ML video processing

Hi Fabrice
For 525-line analog signals, the picture should be produced in this manner: ( F1 has 243 active lines, F2 has 243 active lines = 486 active lines).
So if we want to show each field in the video monitor that has more than 486 lines, what should we do with the other lines of the video monitor?

Re: ML video processing

We're talking 'video monitor' here, not computer monitor. If your video monitor is NTSC (525-line), it will have 486 active lines, no more. If your video monitor is PAL (625-line), it will have 576 active lines, no more, no less.

Re: ML video processing

Hi Fabrice
1.Although i have studied the lurker book, but i'm a bit confused about the following terms:
-Interlaced signal
-Interleaved signal
-none-interleaved signal
-Interlaced image
-progressive buffers
-interleaved buffers
Can you please give me some small definitions about the above terms?

2.As i have seen in the book *A technical introduction to digital video*, NTSC has 483 lines and 644 actice pixels.Lurcker book says that there are many types of NTSC.OpenML uses from the parameter ML_TIMING_525 to set the 525 timing.So which 525 timing is supposed to be used in this timing?

3.Another question is about the horizontal blanking.Does it mean that the video monitors have some inactive pixels? Can we see these pixels in the video mointor--As an example, like a black part?