Trev's Articles

Third Run of AVISynth Scripts

April 2009

Following all of the tests, it has been determined after careful viewing from a regular Television and DVD player that the best output was produced by Script 1.1.1.

Although there were several scripts that received top rating for quality, on close inspection there were some very minor artifacts (combing/blocky/jerky).

 

Final Results

 

Items highlighted in green were confirmation of excellent results.

 

Rank

Test Number

Visual Quality

1

1.1.1

No Combing

Smooth Movement

2

1.7

Virtually No Combing

Smooth Movement

3

1.1

Very Minor Combing

Smooth Movement

4

12.0.2

Very Minor Combing

Smooth Movement

 

 

1.1.1 Script Parameters

 

Here is the final script:

# PAL DV (50 fps) to NTSC DV (59.94 fps)
LoadPlugin("SmoothDeinterlacer.dll")
AVISource("PalDV2.avi")
ConvertToYUY2(interlaced=true)# Smoothdeinterlacer requires YUY2
SmoothDeinterlace(tff=false, doublerate=true)
Lanczos4Resize(720,480)
ConvertFPS(59.94)
SeparateFields()
SelectEvery(4, 0, 3)
weave()

 

Description of each line:

 

LoadPlugin("SmoothDeinterlacer.dll")

All of the scripts except for 12.0.2 used the SmoothDeinterlacer to Deinterlace the video for Processing.

12.0.2 used Kernelbob with probably accounts for the slow processing time, and is why this test came 4th.

 

AVISource("YouAVIFile.avi")

Obviously you have to specify the location and name of your AVI File.

 

ConvertToYUY2(interlaced=true)# Smoothdeinterlacer requires YUY2
 

Because the original AVI file is in RGB888 format, it must be converted to a different Color Format for Smoothdeinterlacer to work. YUY2 seemed to retain the color format from the original very well.

 

SmoothDeinterlace(tff=false, doublerate=true)

 

This executes the smoothDeinterlace plugin. tff=false is required for DV files as they are bottom field first. doublerate=true is required for interlaced output, specifying "false" introduced bad combing into the output (see test 1.1.1double)

 

Lanczos4Resize(720,480)

 

This executes the resize command to NTSC screen size. All other top tests used BilinearResize, so Lanczos4Resize may just have the edge on quality.

 

ConvertFPS(59.94)

 

This command converts the Fields Per Second to NTSC 59.94 from the original PAL setting of 50. ChangeFPS(59.94) caused the jerky movements.

 

SeparateFields()

 

This command is needed to separate fields on an interlaced video which is frame based

 

SelectEvery(4, 0, 3)

 

This command selects the correct Frames for conversion. Not sure I entirely understand how this works, but tried different settings which resulted in blocky picture.

 

Weave()

 

Puts pairs of fields back together to produce interlaced frames.

Close