Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 17 Nov 2002 11:37:28 +0100
From:      Steve O'Hara-Smith <steve@sohara.org>
To:        Stephen Roome <stephen_SPAM_roome@pepcross.com>
Cc:        freebsd-multimedia@freebsd.org
Subject:   Re: BT848 docs
Message-ID:  <20021117113728.266d3243.steve@sohara.org>
In-Reply-To: <20020927214316.C183@dylan.home>
References:  <20020927214316.C183@dylan.home>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 27 Sep 2002 21:43:16 +0100
Stephen Roome <stephen_SPAM_roome@pepcross.com> wrote:

	It looks like nobody else has anything to say on this, I'll
see what I can do.

SR> I'm guessing that the lack of docs is because the very few people that
SR> write much code to use the bt848+tuner have been reading this mailing
SR> list since long before the meteor driver even existed.

	man meteor is about as good as it gets. I have a PDF of the
BT848 documentation too, but it's real chip documentation.

SR> How to get signal strength out of my tuner, the TVTUNER_GETSTATUS only
SR> ever seems to return 120->124 but this doesn't seem to reliably be
SR> concerned with whether it's actually tuned in or not. METEORGSIGNAL
SR> (which looked like I hopeful case) doesn't work for me. (ioctl returns
SR> -1)

	That's for frame sync signalling :) TVTUNER_GETSTATUS is supposed
to do what you want (it's also what the scan code in fxtv uses). Probably
the tuner hardware isn't giving much feedback, sadly this is common.

SR> Also is it possible to obtain some sort of raw access to the data, I
SR> think I mean to bypass the dma stuff in the driver (or tell the driver
SR> to ignore syncs and vbi and just pass me unadulterated bits from the
SR> tuner), but I wouldn't want to have to do the dma myself (I don't
SR> think so anyway, I just don't know how one would go about it.)

	Hmm you can put it in continuous capture mode and either mmap
the buffer or read the frame from /dev/bktr0 whenever you like (see
sample code in man meteor). You can't get unadulterated bits from the
tuner, there aren't any, but this will get you the video in as good (or
bad) a state as the decoder got it.

	The tuner is connected directly to the BT848 which has all the
video decode, colour burst handling and so forth, it's basically a single
chip TV with a PCI bus interface. You can't bypass the DMA because the
chip only has a couple of line buffers and *must* dump the data into the
main memory frame buffer or lose it. The transfer is controlled by a
programmable DMA controller (it really puts the R in RISC) so you just
have to select the format you would like to see. The actual video decode
is in YUV so any of the YUV formats is close to the original data. To
get any closer would take a rewrite of the driver.

	The driver will try and sort out syncs and VBI but you don't
get bothered by it unless you go looking for it. If it can't sync the
signals probably garbage anyway :)

SR> I think really what I'm aiming for is the ability to tune the tuner to
SR> xMHz then to have an ioctl to tell me what strength signal the card
SR> thinks it's got and then some device that I could just read() in the
SR> style of say /dev/dsp.

	That's there, but it seems that your tuner isn't being very
informative about the signal quality.

-- 
C:>WIN                                      |     Directable Mirrors
The computer obeys and wins.                |A Better Way To Focus The Sun
You lose and Bill collects.                 |  licenses available - see:
                                            |   http://www.sohara.org/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-multimedia" in the body of the message




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