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>