On Mon, Dec 10, 2001 at 06:18:53AM -0800, Billy Biggs wrote: > Gerd Knorr (kraxel@xxxxxxxxxxx): > > > Please don't confuse *frame* rate and *field* rate. The frame rate is > > 30 fps only. > > But, you do understand that when watching TV, you don't see both > fields at the same time. [ ... ] Hmm, well, yes and no. The TV people play tricks there, using the fact that the human eyes are too slow to actually see what really happens ... > > Exactly. I have a pending patch for v4l.c which makes this switchable > > at runtime (both fields interlaced vs. one field scaled up). > > But both of these options are unacceptable. In each case you give up > too much quality. A third option, scale both fields but to the same > location, will have more flicker than optimal but will provide smooth > motion with no CPU cost. Scale both fields IMHO isn't acceptable too, because you'll get exactly the issue described below: The scanlines don't line up exactly and thus you get a annonying flickering because the image jumps up and down half a scanline all the time. Depending on the refresh rate of your CRT this might be very visible. > > By using one field only ... > > Well that doesn't explain it either. Since you're not > double-buffering, the bttv could be DMA'ing a field right on top of the > existing one. It doesn't (any more). Rationale: see above :-) > > No, the bt848 has no problems to deal with different memory locations > > for even/odd fields. > > Sure, but if you're scaling from a stream of 720x240 fields, you'd > need to have every second field start a half-scanline below the first > one, which you can't do with memory location tricks. Instead, you must > talk to the video card each time to tell it to change the scale > destination for each field. Doing this is close to impossible. The X-Server runs in userland and thus I can't easily make the irq handler handle this. Also the X-Server internal interfaces don't allow to setup overlays with sub-pixel resolution (which you would need to get the half-scanline issue right). > I've written an app to deinterlace to full-frame 59.94hz output. I'll > post a version tonight. Motion is much smoother, and quality is similar > to my TV. Sports broadcasts and smooth text crawls are now smooth, and > antialiased text still looks reasonable. However this does eat alot > more CPU than xawtv. With plenty of CPU time at the problem you can fix it of course :-) Gerd -- #define ENOCLUE 125 /* userland programmer induced race condition */