Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Video output support for cards and STBs






Hi Denis and Folks,

__BACKGROUND__:
I have had some early discussions with Johannes and Michael about trying to
extend the Linux DVB V4 API to support DENC (digital encoder) on set-top
boxes (STBs) and integrated DTVs (iDTVs).  The DENC is used to take a
digital signal and encode it to an analogue video output in various forms
(e.g. PAL/NTSC/SECAM, YUV/RGB/YC/CVBS). The DENC typically takes its input
from the output of a video decoder/scaler (with/without OSD blended in) and
also optionally from an external REC-656 input.  The output comprises of a
number of DACs that transform the digital signal to the analogue domain in
various output modes/formats.

__OBSERVATIONS__:
More and more graphics cards are supporting TV/video output modes (e.g.
Matrox).  Also, the AMD/NSC SC1200 (STB chip) is included in the DirectFB
source and uses its own method of setting parameters such a video output
mode.

Now a DENC on a STB/iDTV can have some or all of these functions:

1) Ability to set the video standard for composite output (e.g. PAL
B/G/H/I/M/N, NTSC-M/J, PAL-CN, SECAM, etc.)
2) Ability to set the video output mode (e.g. RGB - with/without sync on
green, component video - YUV, S-VHS - Y/C and composite - CVBS).
3) Ability to set scan mode (e.g. progressive or interlaced output).
4) Ability to enable different test pattern modes (e.g. colour bar, pluge).
5) Ability to choose it source from output of video decoder/scaler, REC-656
input, OSD, OSD+video.
6) Ability to choose sync mode (master - it generates H/V signals, or slave
- it sync to incoming H/V signals).
7) Ability to insert Teletext data into the VBI (e.g. WST-625, WST-525)
8) Ability to insert WSS data into the VBI (e.g. line 23 wide-screen
signalling)
9) Ability to insert VPS data into the VBI (video programming signalling
for VCRs and/or TVs).
10) Ability to insert CC data into the VBI (close caption data for US and
European markets).
11) Ability to enable/disable Macrovision.
12) Ability to insert CGMS data into the VBI (copy generation management
system) to prevent unauthorised copying of source material.
13) Ability to convey EDS data in the VBI (extended data services such as
EPG).
14) Ability to filter luma and/or chroma paths.

__DISCUSSION POINTS__:
There seems to be similar requirements for both STBs and graphic cards with
no common API at the moment.  It would be silly to create an API solely for
one camp without vision of the other.  Also, it would be a waste of
time/resources if both camps duplicated the work to create a set of APIs to
handle these requirements for themselves.

There are a few points that need raising:

A.  Do current STB/iDTV Linux folk use the DirectFB approach with their own
hooks in for supporting DENCs?  If they don't use DirectFB, then do you
have your own API that sets up the DENCs?  Wouldn't it be better to have a
common API to provide this functionality?

B. Are the set of DENC requirements for STBs/iDTVs too specific to be of
any use for gfx card folks?  OTOH, do gfx card folk have specific video
output requirements that differ from STBs/iDTVs?

C.  Would it benefit the community to create an API that can be used by
both graphics card folk and STB/iDTV bods without duplication of code?  For
example, could we have a set of basic functions that the graphics card folk
can use and the STB people can extend into their own "denc.h" api?

D. Any other thoughts?

It would be good to hear your opinions and get more feedback from other
people.  Please feel free to forward this to other MLs to generate the
necessary feedback.

Cheers,

Rob : )





Home | Main Index | Thread Index