Re: Xv(ideo) and Video4Linux on i810, bttv

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



Michael,

> There should be no need to set the background to the colour key.
 >The drivers blit the colour key into the drawable, respecting whatever
> clipping needs to be done.

By "drivers", you mean the DDX graphics drivers, not the v4l driver, right?  I
should be still be able though to use the colour key to place graphics (such as
captions) over the video the video by:

 - specifying IncludeInferiors as subwindow mode set in the GC used for
XvPutVideo.
 - mapping a window with background colour = key over the video
 - drawing graphics in that window with non-key pixel values

Will that work?  If not, then it's a shame; the i810 hardware is then not being
used to full advantage.

The i810 does support an off-screen YUV surface; see the code in
/programs/Xserver/hw/xfree86/drivers/i810/i810_video.c.  Also, the testxv program
does detect and correctly blt YUV data to that surface, so that part does work.

Thanks for the pointer to xawtv's xvideo, which I can build :-)  It fails as
shown below; my test code doesn't fail this way, but doesn't work either :-)
Note that  "./xvideo -port 35" (specifying video port) fails the same way.

Peter Kaczowka

--------------------------------------------------
./xvideo -port 34
2 adaptors available.
  name:  video4linux
  type:  input video
  ports: 1
  first: 34
  format list
    depth=24, visual=33
  encoding list for port 34
    id=0, name=pal-television, size=768x576
    id=1, name=ntsc-television, size=640x480
    id=2, name=secam-television, size=768x576
    id=3, name=pal-composite1, size=768x576
    id=4, name=ntsc-composite1, size=640x480
    id=5, name=secam-composite1, size=768x576
    id=6, name=pal-svideo, size=768x576
    id=7, name=ntsc-svideo, size=640x480
    id=8, name=secam-svideo, size=768x576
    id=9, name=pal-composite3, size=768x576
    id=10, name=ntsc-composite3, size=640x480
    id=11, name=secam-composite3, size=768x576
  attribute list for port 34
    XV_ENCODING get set, -1000 -> 1000, val=0
    XV_BRIGHTNESS get set, -1000 -> 1000, val=0
    XV_CONTRAST get set, -1000 -> 1000, val=0
    XV_SATURATION get set, -1000 -> 1000, val=0
    XV_HUE get set, -1000 -> 1000, val=0
    XV_MUTE get set, 0 -> 1, val=0
    XV_FREQ get set, 0 -> 16000, val=61850
  image format list for port 34

  name:  I810 Video Overlay
  type:  input image
  ports: 1
  first: 35
  format list
    depth=24, visual=33
  encoding list for port 35
    id=0, name=XV_IMAGE, size=720x576
  attribute list for port 35
    XV_COLORKEY get set, 0 -> 16777215, val=66046
    XV_BRIGHTNESS get set, -128 -> 127, val=0
    XV_CONTRAST get set, 0 -> 255, val=64
  image format list for port 35
    0x32595559 (YUY2) packed
    0x32315659 (YV12) planar
    0x30323449 (I420) planar
    0x59565955 (UYVY) packed

got event: MapNotify (19)
X Error of failed request:  XvBadPort
  Major opcode of failed request:  142 (XVideo)
  Minor opcode of failed request:  11 ()
  Serial number of failed request:  59
  Current serial number in output stream:  61


Michael wrote:

> On Fri, Feb 16, 2001 at 02:23:35PM -0500, Peter Kaczowka wrote:
> > input card; in this case 34 (see below log output).  I specify encoding
> > (XV_ENCODING) 1 - note that it shows up as set in below log output.  I
> > set the background color of the window (and verified same with xwd and
> > gimp) to 0x101fe, which is the value of XV_COLOR_KEY, and I assume that
> > pixels with different values would block the video.
>
>  There should be no need to set the background to the colour key.
>  The drivers blit the colour key into the drawable, respecting whatever
>  clipping needs to be done.
>
> > I couldn't get xawtv to configure and recognize Xv so it would support
> > it.  Does anyone have a simpler program that tests XvPutVideo?
>
> xawtv does. It's called xvideo. ./xvideo --port 34 should do it given
> your config.
> I'm not sure if it's installed with the debian package, but apt-get
> source should get you a copy.
>
> The other thing to consider is that the v4l module needs support for
> something called 'offscreen surfaces' which are, AFAICT only supported by
> chips, mga, savage and siliconmotion at the moment (I've a patch for
> tdfx) Without that, v4l_drv.o falls back to RGB into the framebuffer, so it'll
> be no different from xawtv -noxv in that respect.
>
> Drivers which support PutImage will do a slower, scalable overlay using the
> 'grabdisplay' option of xawtv. Most should do that because that's the bit
> they did document ;o)
>
> --
> Michael.
>
> _______________________________________________
> Video4linux-list mailing list
> Video4linux-list@xxxxxxxxxx
> https://listman.redhat.com/mailman/listinfo/video4linux-list





[Index of Archives]     [Linux DVB]     [Video Disk Recorder]     [Asterisk]     [Photo]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Free Photo Albums]     [Fedora Users]     [Fedora Women]     [ALSA Users]     [ALSA Devel]     [Linux USB]

Powered by Linux