Mailing List archive

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

[linux-dvb] Re: Analog module



Hello Henrik,

There is no need to add OSD directly to the live analog TV picture. The analogTv plugin doesn't work like this. First the analog stream is captured from a V4L device (witch may come from the analog TV module). Then the audio and video is encoded in realtime with an MPEG1 encoder. And finally it's sent to the av7110 for decoding.
Ah, ok, thanks for the clarification. I don't use this plugin, so I wasn't aware how it works. But it makes sense the way you describe it. 8-)

So shouldn't it be possible to watch the decoded mpeg stream from the av7110 on the computer monitor while capturing video from the analog module even if it's not possible with the current driver?
No, not with the current driver. As I already said, the problem is the saa7146 bottleneck: if you want to capture and encode the analog video, the data flow is like this:

analog tuner -> saa7114 video decoder -> saa7146 video capture via video port b -> video4linux capture -> mpeg1 encoder

Now if you want to play back a DVB/MPEG video with your DVB card, the data flow is like this:
DVB / mpeg data -> saa7146 data upload to av7110 -> av7110 mpeg decoding to frames -> saa7146 video port a

This is for the vdr part. No problem until here. You could watch the decoded video frames on the tv-output of your DVB card.

But if you want to watch the video on your monitor, you need to additionally do:

saa7146 video capture via video port a -> video4linux capture / overlay -> xawtv / other tv application

And here's the problem: the saa7146 only has one so-called "high performance scaler" (hps) which processes data either from video port a or b. So capturing analog video from the analog part of the DVB card and getting the decoded mpeg video data from the av7110 at the same time does not work.

/Henrik
Ok, but in theory this problem can be solved: the saa7146 has a second video scaler, the so-called "binary ratio scaler" (brs). It's not as flexible as the hps, but it can do 768x576 or down-decimated (/2, /4) sizes and only a UYVY YUV422 video capture. This is ok, if you're going to encode it to mpeg video anyway.

So you could use the brs and video input port b to capture the video data and encode it to mpeg. Then the hps and the video input port a can be used to view the decoded stream of the av7110.

But this hasn't been implemented in the driver, and it's not likely to happen. Another thing is that the pci bandwidth usage would be quite high, depending on the resolution you want to capture from the analog part and the resolution you would use for the live view part.

The brs is currently used for vbi capturing with analog tv cards, so it basically works. It would be cool to have the stuff described above, but it's a lot of work and only usable for a very limited amount of persons.

CU
Michael.




--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index