[mythtv] [experimental patch] vbi decoder for IVTV cards
Martin Barnasconi
mythtv at barnasconi.net
Tue Mar 1 21:47:58 UTC 2005
Here the first experimental patch for the vbi decoding for PVR cards using the
IVTV drivers. Although its far from perfect (that's why it's classified as
experimental;-) it gives you some idea how things are implemented and I
challenge you to contribute to fill in the missing gaps or to improve the
code.
What it does:
it relies on having embedded vbi in the MPEG stream as defined in the IVTV
doc's. The embedded vbi stream includes the magic cookies "itv0' and 'ITV0'
to mark the beginning of a vbi private stream. That's why some additional
lines are added to the avformatdecoder and ffmpeg decoder classes, to
recognize a vbi data steam. If detected, it will start decoding in the
vbidecoder class. An additional OSD overlay osdtypeteletext is used for
teletext and subtitles. Whole process is controlled from tv_play routines.
Pages are updated after receiving new content, so even subtitling pages (e.g.
888) do work!
What it does not do yet (TODO ;-)
- It overrules the 'T' key for teletext/CC for non-encoder cards
(bttv/saa7134) . The original vbi code (part of nuppelvideoplayer/recorder)
is still in, but I rather see this becoming part of this new vbidecoder
class. Like to see 'C' for CC/subtitles and 'T' for teletext. Problem: 'C'
function already in use...
As some people have a mixed PVR/bttv setup, we should detect which card is
operational and select the correct vbi decoder.
- CC is not working yet, as we do not have this here in Europe. Please test
the results in ccbuffer and in your stderr terminal and please report your
findings.
- Teletext is text-only. No mosaic or other fancy stuff like blanking, FLOF,
blicking, reveal functions yet. Uses current CC_font in OSD. Should be
teletext font in future. for the OSD overlay, we suffer from the color
mapping of YUV420 here. Use a font with sufficient width (eg bold fonts) to
be able to read the blue or red text.
- other embedded data like WSS/PIL/CNI/VPS/PDC captured but not used.
Framework in place, detection and corresponding actions (e.g. signals and
slots) to be defined.
- TT OSD overlay is now transparent. Future work is to have black,
transparent, or even left-TV/right-TT (for 16:9 screens) or TT-PIP
implemented (for big screens)
Give it a try and report your findings. Improvements are very welcome.
Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mythtv_vbi.tar.gz
Type: application/x-tgz
Size: 18281 bytes
Desc: not available
Url : http://mythtv.org/pipermail/mythtv-dev/attachments/20050301/60978330/mythtv_vbi.tar-0001.bin
More information about the mythtv-dev
mailing list