Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Apr 1998 18:48:04 -0400
From:      Randall Hopper <rhh@ct.picker.com>
To:        Jeremy Porter <jerry@freeside.fc.net>
Cc:        multimedia@FreeBSD.ORG
Subject:   Re: problem capturing video with BT848/Hauppauge Win/Tv
Message-ID:  <19980421184804.A21690@ct.picker.com>
In-Reply-To: <199804210118.UAA12850@freeside.fc.net>; from Jeremy Porter on Mon, Apr 20, 1998 at 08:18:18PM -0500
References:  <19980419140638.A7467@ct.picker.com> <199804210118.UAA12850@freeside.fc.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Jeremy Porter:
 |I've recompiled the kernel with OVERIDETUNER=9
 |And get the following in dmesg:
 |bktr0 <BrookTree 848> rev 18 int a irq 15 on pci0:17
 |Hauppauge WinCast/TV, Philips FR1236 NTSC FM tuner, dbx stereo.

Sounds good.

 |I've added the following into fxtv:
 |        printf( "Got a frame!\n" );            /*  <---  Add this line  */
 |
 |I've run this with -disableDirectV and got no video.
 |Without -disableDirectV, it never displays the "Got a Frame"
 |when I do freze frame or otherwise.

Missing the driver frame signal, right.

 |I'm going to try and add the printf to the driver and see, if I can't get
 |some debug output.
 |As I'm running out of suggestions with respect to what to try.
...

Here's a suggestion to play with.  Amancio probably needs to help you out
here as this is deep in his area of expertise.  But as a start point, grab
the latest driver (if you haven't), uncomment this printf:

         /*     printf( " STATUS %x %x %x \n",
                dstatus, bktr_status, bt848->risc_count );
                         */                             

and this printf:

    /**
            printf( "intr status %x %x %x\n",
                    bktr_status, dstatus, bt848->risc_count );
     */

in brooktree848.c.  Rebuilt and install kernel.  Mod /etc/syslog.conf to
direct kernel debug here:

*.err;kern.debug;auth.notice;mail.crit          /dev/console
*.notice;kern.debug;lpr.info;mail.crit;news.err /var/log/messages

(You may want to remove kern.debug from /var/log/messages so it just dumps
to the console and doesn't beat your disk logging.) Then reboot the new
kernel.  Start X, make sure you have an Xterm running grabbing the console
"xterm -C".  Then fire up fxtv.

With continuous-running direct video, you should see something like this
flying by in the console if your video window is >= 240 lines tall:

     intr status de000a0c c2 10005d0
      STATUS e0 df00020e 200001c 
      STATUS e2 df000a0c 20005d0 
     intr status df000a0c e2 20005d0
      STATUS c0 de00020e 100001c 
      STATUS c2 de000a0c 10005d0 
     intr status de000a0c c2 10005d0
      STATUS e2 df00020e 200001c 
      STATUS e2 df000a0c 20005d0 
     intr status df000a0c e2 20005d0
      STATUS c0 de00020e 100001c 
      STATUS c2 de000a0c 10005d0 
     intr status de000a0c c2 10005d0
      STATUS e0 df00020e 200001c 
      STATUS e2 df000a0c 20005d0 
     intr status df000a0c e2 20005d0
      STATUS c0 de00020e 100001c 
      STATUS c2 de000a0c 10005d0 
     intr status de000a0c c2 10005d0
      STATUS e0 df00020e 200001c 
      STATUS e2 df000a0c 20005d0 

and this if it's < 240 lines:

     intr status de000a0c c2 1000574
      STATUS e0 df00020e 100001c 
      STATUS c0 de000206 100001c 
      STATUS c2 de000a0c 1000574 
     intr status de000a0c c2 1000574
      STATUS e0 df00020e 100001c 
      STATUS c0 de000206 100001c 
      STATUS c0 de000a04 1000574 
     intr status de000a04 c0 1000574
      STATUS e0 df000206 100001c 
      STATUS c2 de00020e 100001c 
      STATUS c0 de000a0c 1000574 
     intr status de000a0c c0 1000574
      STATUS e0 df000206 100001c 
      STATUS c0 de000206 100001c 
      STATUS c2 de000a0c 1000574 


Now when you freeze the video, you should see something like this for >=
240 lines:

     STATUS c2 de00020e 100001c 
      STATUS c2 de000a0c 10005d0 
     intr status de000a0c c2 10005d0
      STATUS e0 df00020e 200001c 
      STATUS e2 df000a0c 20005d0 
     intr status df000a0c e2 20005d0

or this for < 240 lines:

     intr status de000a0c c2 1000574
      STATUS e0 df00020e 100001c 
      STATUS c0 de000206 100001c 
      STATUS c2 de000a0c 1000574 
     intr status de000a0c c2 1000574
      STATUS e0 df00020e 100001c 

The MAIN thing is that, when you hit the "Freeze" button, you only see one
or two more lines fly by, and then the console output stops!

Post your output.  Might provide some clues.  If you're curious what all
this is, grab:

     http://www.brooktree.com:80/pdf/graphics/DATASHTS/l848a_a.pdf

Last column is the RISC program address (ignore for now).  Main ones to
look at are the first two.  In the PDF, see "Memory Mapped Location 0x000 -
(DSTATUS)" and "Memory Mapped Location 0x100 - (INT_STAT)" in the back.

Looking for bit flag oddities and differences can be a pain, so post your
output (in a similar format to the above) and describe what you see in the
Fxtv window when you freeze the video.

Randall


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?19980421184804.A21690>