From owner-freebsd-multimedia Thu May 14 22:43:17 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id WAA14502 for freebsd-multimedia-outgoing; Thu, 14 May 1998 22:43:17 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from labinfo.iet.unipi.it (labinfo.iet.unipi.it [131.114.9.5]) by hub.freebsd.org (8.8.8/8.8.8) with SMTP id WAA14473; Thu, 14 May 1998 22:43:13 -0700 (PDT) (envelope-from luigi@labinfo.iet.unipi.it) Received: from localhost (luigi@localhost) by labinfo.iet.unipi.it (8.6.5/8.6.5) id FAA01857; Fri, 15 May 1998 05:58:27 +0200 From: Luigi Rizzo Message-Id: <199805150358.FAA01857@labinfo.iet.unipi.it> Subject: Re: BT848 and VBI data To: rhh@ct.picker.com (Randall Hopper) Date: Fri, 15 May 1998 05:58:26 +0200 (MET DST) Cc: dnelson@slip.net, multimedia@FreeBSD.ORG, msh@FreeBSD.ORG, freebsd-multimedia@FreeBSD.ORG In-Reply-To: <19980514171530.B18554@ct.picker.com> from "Randall Hopper" at May 14, 98 05:15:11 pm X-Mailer: ELM [version 2.4 PL23] Content-Type: text Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org > I'd also be interested in this if it can be implemented generically. That > is, so the data stream (Intercast, Teletext, etc.) can be attributed so > apps can pick out the pieces (chunks) they understand and want, and can > easily skip over and toss the rest. Something like a simple RIFF stream. the frame grabber has no clue on what is inthe VBI lines, so it is the app that must do everything (it makes no sense to put decoding procedures into the kernel). > Probably want a circular buffer for this, which the client can poll at its > leasure. Need some file desc event to signal when the head has overwritten > the tail so the client knows when to reset its reading state. the meteor device driver does this very well. although, if you have a reasonably fast machine, and because VBI info is in a small portion of each field, you can do a data transfer as soon as you get the 'field complete' interrupt and you have about 12-15ms to fetch the data. What i did long ago was to define a new video format (both in the meteor and the bt848 drivers if i remember well) where i got raw samples of the Y component of the video, from each *field*, not interleaved, and from the very first lines (say 2..32) of each field. You have to disable the chroma filters because data carry high-frequency components. Then i just used the read() interface (i had to implement it on the bt848, but now it is probably there) to collect a number of blocks of data (like say 5-10sec.), and then did the decoding in software (losing data in the meantime, but who cares given the nature of the application...) The processing involved sample-rate conversion, a FIR filter to sync with the start of the stream, and then packing bits together and doing high-level decoding. > I don't know anything about either the Intercast of Teletext streams, and > what about those streams is public or proprietary, so I can't really > comment more than that. teletext is an ITU/CCITT standard but it is also documented in a variety of publicly available documents, even online. Intercast format appears to be proprietary. At www.intercast.com they advertise a hardware developer's kit, but price is unknown and the phone number is (503) 274-7240 -- if someone there wants to call and find out how much they ask for this, it would be interesting to know. BTW from the list showing what is in the documentation, there is no reference to the data format. They do have a "VBI decoder" which i suspect is a binary/library only, and is the same thing you get for free with your hauppauge card . The fact that they claim a Pentium-90 is a minimum requirement, and a Pentium2 is recommended, makes me think that the decoding is done in software without any hardware support. A bad thing, considering that had they embedded intercast data in the teletext format (which might well be what they do, and what others also do routinely since the 80's here in Europe) they'd have a nice, low speed stream of bytes from the teletext decoder (a $5 chip) that even a lowly 486 would be able to decode with minimal CPU usage. cheers luigi -----------------------------+-------------------------------------- Luigi Rizzo | Dip. di Ingegneria dell'Informazione email: luigi@iet.unipi.it | Universita' di Pisa tel: +39-50-568533 | via Diotisalvi 2, 56126 PISA (Italy) fax: +39-50-568522 | http://www.iet.unipi.it/~luigi/ _____________________________|______________________________________ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message