Here is a patch from Ian to fix the yuv scaling issues. This mostly now
enables a filter to improve the quality.
I'm still working on the tearing problem and don't expect to have anything
for that until the end of the week.

Comments from Ian are :-

Both horizontal & vertical filters are calculated & set correctly. They are
also restored on exit. The filter settings cannot be overridden by the user,
though it wouldn't be too difficult to add later.

Reg2964 is now used correctly... sort of... The correct value is worked out,
but it affects vertical alignment with the display window, so the result is
manipulated to maintain alignment. Also, it induces flicker with lower res
video so I've deviated from the firmware to try and reduce flicker, meaning
video down to 288 (240-NTSC) high now can be watched full-screen without
nausea inducing flicker.

Reg2970 no longer used to disable vertical filter as it had other
side-effects, but it's set to 0 to ensure we get the right results
elsewhere. 
I've never yet seen it change from 0, but you never know.

Video less than one field high is now handled differently which greatly
reduces flicker. Downside is that it renders the current vertical filter
settings useless, so they get switched off in this mode which then causes
the vertical pixelation to become visible. Choose your poison.

It wouldn't be difficult to allow the user to select which scaling method
they prefer for the low-res material. At the moment it's simply a check on
the source & destination height to enable to new 'lo-res' mode
(y_lores_mode). 
The low-res material can still be scaled using the normal method, which
matches the way the firmware works. In fact if you try to shrink the image
too much it has to switch back to the normal scaling mode anyway.

Attachment: ivtv-0.3.7a.patch.bz2
Description: Binary data

Reply via email to