View Single Post
Old 19th September 2008, 10:40   #51  |  Link
Gavino
Avisynth language lover
 
Join Date: Dec 2007
Location: Spain
Posts: 3,431
Quote:
Originally Posted by halsboss View Post
Er, which was the "brute" one I could use and not notice the difference ? 10.3->12.7 is significant enough for me.
The 'brute' version is the one that was generally accepted before I discovered the error and proposed the 'pure' solution. This is the 'pure' version:
Code:
function IResize(clip Clip, int NewWidth, int NewHeight) {
  Clip
  SeparateFields() 
  Shift=(GetParity() ? -0.25 : 0.25) * (Height()/Float(NewHeight/2)-1.0)
  E  = SelectEven().Spline36resize(NewWidth, NewHeight/2, 0,    Shift)
  O  = SelectOdd( ).Spline36resize(NewWidth, NewHeight/2, 0,   -Shift)
  Ec = SelectEven().Spline36Resize(NewWidth, NewHeight/2, 0,  2*Shift)
  Oc = SelectOdd( ).Spline36Resize(NewWidth, NewHeight/2, 0, -2*shift)
  Interleave(E, O)
  IsYV12() ? MergeChroma(Interleave(Ec, Oc)) : Last
  Weave()
}
Removing the lines in blue gives the 'brute' solution.

Spline36Resize can be replaced by another resizer if you wish.
Gavino is offline   Reply With Quote