Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Re: SAA7146_MAX_BUF limit
Peter Maersk-Moller writes:
> Hi Douglas
>
> Douglas Kosovic wrote:
> > Hi Peter,
> > >I'm having a bit of a problem with a Rev. 2.2 permium card trying
> > >to capture anything at a decent frame rate and a decent resolution.
> > >To me decent means 720x576@25fps, but I even tried 352x288@12
> > >which also fails. The best I can achive is 2-6fps.
> > Multicasting MPEG-4 realtime using mp4live with a Technotrend Rev 2.1 on
> > a dual PIII 1000, the best I can achieve is:
> > video - MPEG-4 Simple @ L3, 1651 kbps, 352x288 @ 24.90 fps
> > audio - MPEG-4 AAC, 128 kbps, 44100 Hz
>
> The best I get is this
> 1 video MPEG-4 Simple @ L3, 19.840 secs, 934 kbps, 352x288 @ 19.61 fps
> 2 audio MPEG-4, 16.783 secs, 125 kbps, 44100 Hz
>
> If I switch to MP3 I can get this
> 1 video MPEG-4 Simple @ L3, 19.840 secs, 1203 kbps, 352x288 @ 25.00 fps
> 2 audio MPEG-2 (MP3), 19.827 secs, 127 kbps, 44100 Hz
>
> In both cases BW for wideo was set to 1000kbps.
>
> AAC is a CPU hog. I'm running headless but X is running. Again
> my CPU is a single Athlon XP1800+. I haven't tried overclocking yet.
>
> So in the 352x288 case, the limiting factor is the CPU, not the DVB card.
>
> > But typically it's more closer to 19 or 20 fps, I'm fairly happy with the
> > quality being streamed to a Quicktime 6 client. Although when multicasting
> > with mp4live there is the occasional screen glitch with Quicktime 6 that
> > you don't see if you were playing back the same thing from a standalone
> > file produced by mp4live.
> > (note: I'm using 'mp4live --headless' and I don't have X11 running at the
> > time)
> > If I up the resolution to 720x576, the best I can achieve from mp4live is
> > 6 fps. In your other email you say you can now capture 720x576@14fps, is
> > that with mp4live (MPEG4IP) ?
>
> Yes. It is with mp4live. I also tried with xawtv. With mp4live
> I get
>
> 1 video MPEG-4 Simple @ L3, 19.760 secs, 860 kbps, 720x576 @ 16.35 fps
> 2 audio MPEG-2 (MP3), 19.852 secs, 126 kbps, 44100 Hz
>
> And at all times (until hinting afterwards) I have at least 10% idle
> capacity on the CPU. So here the limiting factor is not the CPU but
> rather the DVB card.
>
> If I use xawtv, I get into trouble trying to do more than 3-5 fps
> for 704x576.
>
The major problem is the loop in saa7146_v4l.c at around line 303:
/* all saa7146īs below chip-revision 3 are not capable of
doing byte-swaps with video-dma1. for rgb-grabbing this
does not matter, but yuv422-grabbing has the wrong
byte-order, so we have to swap in software */
if ( ( saa->revision<3) &&
(saa->grab_format[i] == YUV422_COMPOSED)) {
/* swap UYVY to YUYV */
count = saa->grab_height[i]*saa->grab_width[i]*2;
grabbfr = ((unsigned char*)(saa->grabbing))+i*GRABBING_MEM_SIZE;
for (k=0; k<count; k=k+2) {
y = grabbfr[k+1];
uv = grabbfr[k];
grabbfr[k] = y;
grabbfr[k+1] = uv;
}
}
This is not optimized and if your encoder request the wrong color
format you run into this loop. I have never seen a revision 3 chip, by
the way.
Marcus
--
/--------------------------------------------------------------------\
| Dr. Marcus O.C. Metzler | |
|--------------------------------|-----------------------------------|
| mocm@metzlerbros.de | http://www.metzlerbros.de/ |
\--------------------------------------------------------------------/
--
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index