Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Jul 1997 20:40:01 -0400
From:      Randall Hopper <rhh@ct.picker.com>
To:        tomppa@fidata.fi
Cc:        multimedia@FreeBSD.ORG
Subject:   Re: New TV toy/Fxtv problems
Message-ID:  <19970709204001.59469@ct.picker.com>
In-Reply-To: <199707070908.MAA25114@zeta.fidata.fi>; from Tomi Vainio on Mon, Jul 07, 1997 at 12:08:09PM %2B0300
References:  <199707070908.MAA25114@zeta.fidata.fi>

next in thread | previous in thread | raw e-mail | index | archive | help

--UTqETQ0mS9luUI9z
Content-Type: text/plain; charset=us-ascii

Tomi Vainio:
 |I got bt848.970604.tgz and fxtv-0.43.tgz to play with.  I use
 |-inputFormat pal and -antennaFreqSet weurope options in Fxtv.  System
 |seems to work quite fine.  I haven't seen any real problems or lockups
 |that someone has mentioned here.  Though I have some minor problems.
 |
 |- No picture on startup size fxtv.  I have to zoom or resize window
 |first.  It's difficult to find working resolution when resizing
 |window.  Zoom button works fine but then window is too big.

Hmmm.  This could be either a SETGEO or SETVIDEO ioctl failing (my SETGEO
printf was wrong).  

I you run fxtv in an xterm, do you see something like:
         ioctl(METEORSVIDEO, -272641448) failed: Invalid argument

?  Also, please apply the patch below in your fxtv-0.43 directory.  It'll
dump in detail what capture parameters are being attempted each time the
window is resized.  Please note a few combinations that work and a few that
don't work.  This should help get a line on the problem.

As far as the driver/fxtv is concerned, you should be able to stretch to
any size up to 768x576 for PAL.  Internally, the width and height must be
multiples of 2, but fxtv takes care of this for you when you manually
resize the window by dropping a pixel of width/height if it needs to.  (It
doesn't do this for the startup window geometry I just noticed; it ought to
though--just added this to my "FIXME" list).

 |- Picture is more mpeg-like mosaic and fuzzier in Fxtv than in W95
 |software.

Interesting.  I don't remember noticing this with NTSC.  Wonder if the PAL
tuning isn't locked on.  Guido van Rooij mailed me his AFC patch to fxtv
(to use the Auto-Freq Tuning in the driver) which I'll put in 0.44.
Hopefully that'll help your picture clarity.  

For testing purposes, the attached patch also contains a hacked-in snip
that unconditionally enables AFC.  See if that makes a difference.

 |- I get bktr0: ioctl: tsleep error 35 1000d74 messages to syslog

You'll get this when a single-frame capture (aka CAP_SINGLE, or freeze
frame) fails.  This occurs when the driver timed-out waiting on 1 or 2
fields to complete capture, and so it couldn't assemble the frame.  Where
I've seen it happen is when the tuner isn't in complete sync with the video
(on weak channels the tuner can sometimes drift off frequency a little).

AFC will probably help you with this one as well.

 |- Zooming doesn't work at all with Xaccel.  I get immedimmediately:
 |pid 486 (fxtv), uid 0: exited on signal 11 (core dumped).  I haven't
 |seen any picture with Xaccel.

I think I remember reading that Xaccel doesn't support the XFree DGA and
VidMode extensions, which fxtv is linked with and uses.  Please try these
things on Xaccel and let me know how how each works out:

   1) fxtv -disableDirectV

   2) Try this:

           > gdb fxtv
           (gdb) run -synchronous
           Program received signal SIGSEGV
           (gdb) where

     I'm interested in whether there's something simple I can do for an 
     XFree-built fxtv binary running on Xaccel so it'll work or will at
     least print something meaningful.  Output of the above will help.

   3) I'm not sure fxtv will even build using the Xaccel includes and libs
      (i.e. no XFree includes/libs) because of the extensions.  Please 
      try it.

Thanks,

Randall

--UTqETQ0mS9luUI9z
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="fxtv-0.43.dbg.patch"

--- fxtv-0.43-dist/tvcapture.c  Fri Jun  6 20:52:29 1997
+++ tvcapture.c Wed Jul  9 20:33:38 1997
@@ -1470,16 +1470,25 @@
 
     c->addr = (TV_UINT32) video.addr;
 
+    printf( "VIDEO = { addr 0x%.8x, width %d, banksize %d, ramsize %d }\n",
+            video.addr, video.width, video.banksize, video.ramsize );
     if ( ioctl( c->fd, METEORSVIDEO, &video ) < 0 ) {
         DO_IOCTL_SERR( "METEORSVIDEO", &video );
         return;
     }
+    printf( "GEOM  = { %dx%d, frames %d, oformat 0x%.8x }\n",
+            geom.columns, geom.rows, geom.frames, geom.oformat );
     if ( ioctl( c->fd, METEORSETGEO, &geom ) < 0 ) {
-        DO_IOCTL_SERR( "METEORSVIDEO", &geom );
+        DO_IOCTL_SERR( "METEORSGEO", &geom );
         return;
     }
     if ( ioctl( c->fd, METEORSACTPIXFMT, &pix_geom.index ) < 0 ) {
         DO_IOCTL_SERR( "METEORSACTPIXFMT", &geom );
+        return;
+    }
+    larg = 1;
+    if ( ioctl( c->tfd, TVTUNER_SETAFC, &larg ) < 0 ) {
+        DO_IOCTL_SERR( "TVTUNER_SETAFC", larg );
         return;
     }

--UTqETQ0mS9luUI9z--



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