Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 Nov 1997 18:24:29 +0100 (MET)
From:      Luigi Rizzo <luigi@labinfo.iet.unipi.it>
To:        arg@arg1.demon.co.uk (Andrew Gordon)
Cc:        multimedia@FreeBSD.ORG
Subject:   Re: Teletext decoding with the Hauppauge...
Message-ID:  <199711071724.SAA27226@labinfo.iet.unipi.it>
In-Reply-To: <Pine.BSF.3.91.971107174531.15717A-100000@server.arg.sj.co.uk> from "Andrew Gordon" at Nov 7, 97 06:21:42 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> Well, I looked at using the SAA5246, but the I2C is just too slow to
> grab all of the pages that way.  I had also seen your 'brute force'
> approach using the BT848, but that seemed to me to need too much CPU

oh, that was really just meant to show that it could be done, i had
no intention to put one such thing on a production machine :)

BTW from the hauppauge documentation, it almost seems that Intercast
decoding is done in that way !

> for a practical solution (and in any case, the difference in cost between
> a 486 and a P200 easily pays for the better hardware).  I also considered
> unsoldering the SAA5246 and replacing it with a SAA5249 - this would give
> rapid access to normal pages, but does nothing for rolling pages.
> 
> The hardware I am now using is the Unitext2 ( http://www.pelican.com.au/ )
> which simply gives you a 50Hz interrupt and you get to read out the
> raw teletext lines for that frame from a buffer on the card.  The 
> manufacturers have been helpful in supplying data on how to program the
> proprietary parts of it (tuning etc.) - the actual teletext decode is
> handled by an SAA5250.
> 
> I think this will allow me to grab all of the pages with fairly low
> overhead - give me a couple more days to get the driver going and
> I will have some numbers.
> 
> > > in RAM/on disk rather than waiting for individual pages).  My plan for
> > > user interface is to make a CGI that serves web pages.
> > 
> > Yes, this was something we hacked up a few years ago. Unfortunately
> > the code for teletext->gif conversion was a complete mess.
> 
> Well, mine probably uses more CPU than it ideally should, but it seems to 
> produce good images.
> 
> > The SAA5246 can capture up to 8 pages simultaneously,
> 
> Actually, only 4 pages if you want the Fastext links and page CRC.

Right. In fact, since you seem to know more than me on this, do
you know exactly how big is the RAM on the hauppauge card ? From
the name, it really seems a 32K or 64K chip, and I was curious if
the additional memory was used in some way.

> Well, you can't grab all of the pages via a wildcard entry - if there
> are 16 rows per frame transmitted, that means 16*40*50 = 32000 bytes/sec,
> and since a byte read on I2C takes about 20 clocks at 100KHz max,
> you can only read 5000 bytes/sec.

good point. Luckily may of the pages are fairly static and change
rarely, so it is not much of a problem to miss some of them.
Otherwise it would also be a problem to save to disk 20-30 pages
per second (since those are potentially in random order...).

In any case, I suppose that if you really plan to do capture and
all the processing in real time you are going to generare a bit of
overhead on the system.

Probably it will be necessary to keep the raw data in (virtual)
memory, doing only the minimum amount of work which is necessary
to identify the pages, and do the conversion to GIF only on demand.
Also it might be necessary to implement something like a log-structure
for holding pages so as to avoid random accesses to the memory
space..

I started thinking at this teletext problem like a simple thing,
but it is really tricky if you want to do it with high efficiency!

	Cheers
	Luigi



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199711071724.SAA27226>