For visual comparisons Interleave function is much better.
In Avisynth each function writes into a variable named "last" unless you explicitly assign it to another variable. For example my code is equal to
Code:
last = LWLibavVideoSource("Dji ext.mpg")
luma = last.SeparateFields().Trim(1, 0).Weave()
chroma = last.SeparateFields().SelectEvery(2, 1, 0).Trim(1, 0).Weave()
last = luma.MergeChroma(chroma)
return last
Now you can see that original video was lost, since last was rewritten. What you can do is just to write result to another variable.
Code:
LWLibavVideoSource("Dji ext.mpg")
luma = SeparateFields().Trim(1, 0).Weave()
chroma = SeparateFields().SelectEvery(2, 1, 0).Trim(1, 0).Weave()
v1 = luma.MergeChroma(chroma)
Interleave (v1, last)