Date: Sun, 18 May 1997 18:04:09 -0700 From: Amancio Hasty <hasty@rah.star-gate.com> To: Brad Parker <brad@parker.boston.ma.us> Cc: multimedia@FreeBSD.ORG Subject: Re: questions about current bt848 code Message-ID: <199705190104.SAA00363@rah.star-gate.com> In-Reply-To: Your message of "Sun, 18 May 1997 20:33:32 EDT." <199705190033.AAA14175@compaq.parker.boston.ma.us>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi,
Just thinking about the devil 8)
Well, I am just going over the driver right now and I am working on the
yuv_422 section of the driver. I should have a patch for the driver
sometime this week.
>From The Desk Of Brad Parker :
>
> Amancio Hasty wrote:
> >I am still waiting for your system configuration --- take your time 8)
>
> Sorry - Gateway P5/120, 32mb (Intel Alladin motherboard w/Triton PIIX)
> PCI AHA-2940, 3c590, Diamond S3, Wintv
> ISA SB-16
>
> >Yes, vic works over here fine .
> ...
> >Hmmm... I wonder if you have the latest driver or something else is
> >wrong. Our vic uses METEOR_GEO_UNSIGNED | METEOR_GEO_YUV_422;
> ...
>
> Interesting. I was using a "hacked" version of vic which I got from a
> site claiming it would work with linux and a meteor (it did). I did
> not realize that they whacked the encode portion to use PACKED...
>
> I switched to a stock version of vic (which used the PLANAR mode) and
> it works... oh well. I should have guessed. No wonder it worked for
> you.
>
> >Looking a little bit more into the driver . Just fill out an entry
> >for YUV_422 and YUV_PACKED and make sure that the mode type is set to
> >to the respective video format: METEOR_GEO_YUV_422 and METEOR_YUV_PACKED.
> >Currently, yuv_422 and yuv_packed dont use any byte or word swapping on
> >the Bt848.
>
> Yes, it's all clear now. I did get "packed 4:2:2 mode working",
> finally, but only by turning on byte and word swapping and making some
> fixes.
>
> I think the dma program for packed 422 is slightly wrong:
> - it has some strange "b" offset write; I took this out
Hmm... care to send that section of the code cause I can find it
over here.
> - the odd field sync and the final sync looks for the wrong frame
> (the 'case 3' should look for an odd field and the final sync should look
> for an even I believe)
> - the fifo threshold setting ('capcontrol' looks wrong - the 5 should be 6)
Hmm....
static void
yuv422_prog( bktr_ptr_t bktr, char i_flag,
int cols, int rows, int interlace ){
int i;
volatile unsigned int inst;
volatile u_long target_buffer, t1, buffer;
bt848_ptr_t bt848;
volatile u_long *dma_prog;
bt848 = bktr->base;
dma_prog = (u_long *) bktr->dma_prog;
bktr->capcontrol = 1 << 6 | 1 << 4 | 3;
That looks okay to me...
Check your driver against:
ftp.freebsd.org:/pub/FreeBSD-current/src/sys/brooktree848.c
> - there's an extra jmp at the end of the code; I removed it
> - most of the dma code seems to generate 2-3 more interrupts than it needs
> to (for debugging?)
Yes, it was mostly for debugging.
> I'll try this again under freebsd tommorow. Thanks for all you help.
>
> -brad
Best Regards,
Amancio
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199705190104.SAA00363>
