[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