On Thursday 29 November 2007 03:08:42 Sam Logen wrote:
> Hi everyone. I've been communicating through the V4L
> mailing lists about getting VBI support through the
> hardware encoder of cx88 blackbird devices. I learned
> that there is no such support, and I'm wondering what
> the current status is for VBI support in the IVTV
> drivers.
>
> I've read from posts dated back to 2005 that there is
> unreliable support for VBI in hardware cards such as
> the pvr 350. I'm wondering if the process that you've
> used to get support would work for cx88 blackbird
> devices.
>
> I determined that support didn't exist for embedding
> VBI in the stream of cx88-blackbird devices with your
> v4l2-ctl program. When I used the same steps as was
> described here:
> http://www.gossamer-threads.com/lists/ivtv/devel/37060?page=last
> I learned that "stream_vbi_format" only accepts a
> value of "0"
Hi Sam,
Basically the current state of VBI support is 100% for raw VBI and
partial success for sliced VBI (I intend to try and fix that, but I
need to finish other projects first before I can continue with that.
It's not an easy job).
The problem is that to get VBI support working with MPEG cards you need
to have a close interaction between the video digitizer chip and the
MPEG encoding chip. And this is quite complicated to get right.
In order to get sliced VBI to work you need a digitizer that can decode
the VBI data from the input signal. I have already seen that the
cx23883 does not support that, so that means that it will never be
possible to embed VBI data into an MPEG stream unless you do it on the
application side. But while doable that is still a major project (get
and decode the raw VBI data, parsing the MPEG stream and splicing the
decoded VBI data into the stream).
Note that embedded VBI support is sort of a hack in ivtv as well.
Officially the cx23416 firmware is supposed to be able to handle that,
unfortunately the firmware delivers a corrupt MPEG stream if you try
that. It simply never worked. So instead I take the sliced VBI output
and splice it into the MPEG stream. It's in a custom format, so
standard MPEG playback devices will just ignore it.
Raw VBI is supported by the cx23883, but I really do not know if it is
possible to get out both a raw VBI stream and a compressed MPEG stream.
You need to talk to a blackbird expert (Mike Krufky comes to mind) to
see whether this is possible. With ivtv it is possible to get multiple
streams (e.g. MPEG, raw YUV, raw VBI) out of the cx23416, but I'm not
sure whether that is possible as well with the blackbird design. As an
alternative, raw VBI might come directly from the cx23883 and the raw
video is passed through the cx23416. Again, no idea what is feasible
without doing a lot more research.
Hope this helps,
Hans
>
> I'll include past emails below for review. I know
> it's a lot of reading. Sorry.
>
> Thank you very much,
> Sam Logen
>
> Sam Logen wrote:
> > I came across directions for querying all available
> > info from PVR cards with the utility 'v4l2-ctl' from
> > the ivtv driver package.
> >
> > (By the way, this is all NTSC, USA)
> >
> > So I downloaded the svn trunk, and built the
> > 'v4l2-ctl' utility. Please check the results below
> > (Note the VBI sections).
> >
> > For my DViCO FusionHDTV5 RT card - capable of
> > displaying Closed Captioning in Mythtv
> >
> > ./v4l2-ctl --all -d /dev/v4l/video0
> > Driver Info:
> > Driver name : cx8800
> > Card type : DViCO FusionHDTV 5 Gold
> > Bus info : PCI:0000:04:08.0
> > Driver version: 6
> > Capabilities : 0x05010011
> > Video Capture
> > VBI Capture << Note this
> > Tuner
> > Read/Write
> > Streaming
> > Format Video Capture:
> > Width/Height : 320/240
> > Pixel Format : BGR3
> > Field : Interlaced
> > Bytes per Line: 960
> > Size Image : 230400
> > Colorspace : Unknown (00000000)
> > Format VBI Capture:
> > Sampling Rate : 28636363 Hz
> > Offset : 244 samples (8.52064e-06
> > secs after leading edge)
> > Samples per Line: 2048
> > Sample Format : GREY
> > Start 1st Field : 10
> > Count 1st Field : 17
> > Start 2nd Field : 273
> > Count 2nd Field : 17
> > Video input : 0 (Television)
> > Frequency: 0 (0.000000 MHz)
> > Video Standard = 0x00001000
> > NTSC-M
> > Tuner:
> > Capabilities : 62.5 kHz
>
> multi-standard
>
> > Frequency range : 0.0 MHz - 268435455.9
> > MHz
> > Signal strength : 0%
> > Current audio mode : mono
> > Available subchannels:
> >
> >
> >
> > For my Avermedia M150-D card - unable to view
>
> Closed
>
> > Captioning while card is in Hardware encoder mode.
> >
> > ./v4l2-ctl --all -d /dev/v4l/video2
> > Driver Info:
> > Driver name : cx88_blackbird
> > Card type : ASUS PVR-416
> > Bus info : PCI:0000:04:0a.2
> > Driver version: 6
> > Capabilities : 0x05010001
> > Video Capture
> > Tuner
>
> \> Read/Write
>
> > Streaming
> > Format Video Capture:
> > Width/Height : 720/480
> > Pixel Format : MPEG
> > Field : Interlaced
> > Bytes per Line: 0
> > Size Image : 0
> > Colorspace : Unknown (00000000)
> > Video input : 0 (Television)
> > Frequency: 7796 (487.250000 MHz)
> > Video Standard = 0x00003000
> > NTSC-M/M-JP
> > Tuner:
> > Capabilities : 62.5 kHz
>
> multi-standard
>
> > Frequency range : 0.0 MHz - 268435455.9
> > MHz
> > Signal strength : 100%
> > Current audio mode : mono
> > Available subchannels:
> >
> >
> > This suggests that embedded VBI, and hence Closed
> > captioning streaming is not supported with this
> > device/driver.
>
> If you run the v4l2-ctl on the video device instead of
> the mpeg device
> (of the same card, probably /dev/v4l/video1 in your
> case), you will see
> a 'VBI' part for that same card.
>
> How would VBI pixels be 'embedded' in MPEG compressed
> video anyway? In
> compressed video, there are no pixels, lines, or
> samples for the VBI
> samples to be embedded in...
>
> Jelle.
>
> > plus, in the VIDIOC_S_EXT_CTRLS, stream_vbi_format
> > only accepts a value of 0 (off)
> >
> > It'd have been nice to have been told of this lack
>
> of
>
> > support a long time ago.
> >
> > Is this support being worked on currently?
> >
> > Much regards,
> > Sam
>
> Well, I'm no expert on this, but it seems that
> something in the driver tells the card to embed the
> vbi stream. I saw a post where people use a few
> commands to switch on/off this embedding for a pvr-350
> http://www.gossamer-threads.com/lists/ivtv/devel/37060?page=last
>
> As for /dev/v4l/video1, that has no reliance on the
> blackbird driver, and mythtv anyway doesn't make the
> connection that they are one and the same card.
>
> I think what is missing is sliced vbi support. See
> section 4.8 of this website
> http://www.linuxtv.org/downloads/video4linux/API/V4L2_API/spec-single
>/v4l2.html
>
> It states that V4L2 drivers are supposed to tell the
> hardware to demodulate the VBI, instead of doing it in
> software. I don't know, maybe I'm up a wrong tree
> with this.
>
> Sam
>
> Sam Logen wrote:
> > I do appreciate your help and input with this,
>
> Jelle.
>
> > I wish we could get more input on this topic from
>
> the
>
> > developers. That is kinda why I've been
>
> broadcasting
>
> > on the V4L lists. Maybe I'll check with the IVTV
> > developers. Devices couldn't possibly handle VBI
>
> too
>
> > differently, could they?
>
> I wouldn't be surprised if it's the same as in the
> ivtv driver, because
> the only relevant difference between ivtv and
> blackbird for the mpeg
> encoder is that in ivtv, the mpeg encoder is directly
> on the PCI bus,
> and in blackbird it's attached to a the cx23880x on
> the 'mpegport' bus
> and 'transportstream' interface. So if the encoder can
> be told to
> insert
> vbi data into the mpeg-stream, then the api calls to
> do so are the same
> for both configurations... However, if in ivtv the vbi
> is sent on a
> separate dma channel, then that won't be possible in
> the blackbird
> configuration (because the encoder can only output the
> 'transport
> stream'), so in that case the driver would probably
> have to somehow use
> the vbi capabilities of the cx23880x chip to provide
> vbi to the
> blackbird device...
>
> Jelle..
>
>
>
> _____________________________________________________________________
>_______________ Be a better sports nut! Let your teams follow you
> with Yahoo Mobile. Try it now.
> http://mobile.yahoo.com/sports;_ylt=At9_qDKvtAbMuh1G1SQtBI7ntAcJ
>
> _______________________________________________
> ivtv-devel mailing list
> [email protected]
> http://ivtvdriver.org/mailman/listinfo/ivtv-devel
_______________________________________________
ivtv-devel mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-devel