Emulgator
10th January 2010, 19:45
I'd like to process noisy and interlaced PAL-DV footage through MC_Spuds and keep it interlaced while editing and encoding.
Source is 720x576x25i, MC_Spuds can operate only on progressive video.
So I do SeparateFields before MC_spuds and after MC_spuds I thought to use Weave.
In any case I am presented with a progressive (and unfortunately combed) 720x576x25p outcome.
A field order check using VirtualDub with AssumeBFF and SeparateFields lead me to think all would come out as desired,
I got to see two 720x288 fields that do advance properly.
But while checking that intermediate before editing and encoding I see that the usual deinterlacers like in MediaPlayerClaassic do not deinterlace anymore.
They see the intermediate as progressive.
I would rather like to see something like the good old fields of 720x288 that are to be presented in 20ms sequence
instead of the combed frames of 720x576 that are to be presented in 40ms sequence.
Any combination of AssumeFieldBased or AssumeBFF afterwards did not help.
Even if I just make an almost empty script, like only AviSource("<Path>.avi pointing to any interlaced source
and process this through VirtualDub, lets say into Huffyuff,
I get .avi that is seen as progressive by GSpot,MediaInfo and the like.
I am a bit puzzled here, Avisynth documentation tells me there is no such flag, but how do I achieve the "impossible"?
Currently (v2.5x and older versions), AviSynth has no interlaced flag which can be used for interlaced video. There is a field-based flag, but contrary to what you might expect, this flag is not related to interlaced video. In fact, all video (progressive or interlaced) is frame-based, unless you use AviSynth filters to change that. There are two filter who turn frame-based video into field-based video: SeparateFields and AssumeFieldBased.
#---------------------------------Standard-Plugin-Lade-Aufrufe-------------------------------------
LoadPlugin("C:\Programme\AviSynth 2.5\plugins\DGDecode.dll")
Load_Stdcall_plugin("C:\Programme\AviSynth 2.5\plugins\yadif.dll")
#---------------------------------Standard-Quellfilter-Aufrufe-------------------------------------
AviSource("N:\Wedel.avi")
#OpenDMLSource(".avi")
#DirectShowSource(".avi")
#MPEG2Source(".d2v")
#ImageSource("D:\Bilder\%d.bmp", 0, 1000, 23.976, RGB)
#------------------------Eingangs-Konverter/Trimmer/Definitionen---------------------------------
Trim(33900,34100)
#.............
#--------------Achtung ! MC_spuds kann nur Progressive !!! Direkt nach TGMC ist MC ok..---------
#-------Bei Interlaced entweder a) vorher SeparateFields, dann MC_spuds, danach Weave--------
#--oder b) vorher bobben mit TGMC, dann MC_spuds, danach Half-Height-Resize, danach Weave--
AssumeBFF()
SeparateFields
MC_spuds(frames=2,strength=3,blocksize=8,overlap=4,sharpp=1,ss_x=1.25,ss_y=1.25,lsfstr=80,colorbleed=true)
Weave
#DoubleWeave
AssumeFieldBased
#...........
#-------------------------------Kontrollabteilung 1: Field-Order korrekt ?--------------------------
#AssumeBFF()
#SeparateFields
#----------------------Bildhöhenverdopplungs-Resizer nach SeparateFields-------------------------
#----------------(nur 1 Resizer einkommentieren, dient zur Kontrollerleichterung)-----------------
#PointResize(720,576)#(...häßlich, aber positionsecht,zeigt die ehrliche Wahrheit durch Pixelverdopplung)
#Lanczos4Resize(720,576)
#Spline36Resize(720,576)#(...positionsecht...)
#eedi2(field=2)#(eedi2 kontrolliert wohl am schärfsten und besten, aber nicht positionsecht!...)
#nnedi2_rpow2(rfactor=2,cshift="Spline36resize", fwidth=width*1)#(nnedi2 ist zu gut im Erraten..)
#----------------------------------------Ende Field-Order-Test--------------------------------------
Source is 720x576x25i, MC_Spuds can operate only on progressive video.
So I do SeparateFields before MC_spuds and after MC_spuds I thought to use Weave.
In any case I am presented with a progressive (and unfortunately combed) 720x576x25p outcome.
A field order check using VirtualDub with AssumeBFF and SeparateFields lead me to think all would come out as desired,
I got to see two 720x288 fields that do advance properly.
But while checking that intermediate before editing and encoding I see that the usual deinterlacers like in MediaPlayerClaassic do not deinterlace anymore.
They see the intermediate as progressive.
I would rather like to see something like the good old fields of 720x288 that are to be presented in 20ms sequence
instead of the combed frames of 720x576 that are to be presented in 40ms sequence.
Any combination of AssumeFieldBased or AssumeBFF afterwards did not help.
Even if I just make an almost empty script, like only AviSource("<Path>.avi pointing to any interlaced source
and process this through VirtualDub, lets say into Huffyuff,
I get .avi that is seen as progressive by GSpot,MediaInfo and the like.
I am a bit puzzled here, Avisynth documentation tells me there is no such flag, but how do I achieve the "impossible"?
Currently (v2.5x and older versions), AviSynth has no interlaced flag which can be used for interlaced video. There is a field-based flag, but contrary to what you might expect, this flag is not related to interlaced video. In fact, all video (progressive or interlaced) is frame-based, unless you use AviSynth filters to change that. There are two filter who turn frame-based video into field-based video: SeparateFields and AssumeFieldBased.
#---------------------------------Standard-Plugin-Lade-Aufrufe-------------------------------------
LoadPlugin("C:\Programme\AviSynth 2.5\plugins\DGDecode.dll")
Load_Stdcall_plugin("C:\Programme\AviSynth 2.5\plugins\yadif.dll")
#---------------------------------Standard-Quellfilter-Aufrufe-------------------------------------
AviSource("N:\Wedel.avi")
#OpenDMLSource(".avi")
#DirectShowSource(".avi")
#MPEG2Source(".d2v")
#ImageSource("D:\Bilder\%d.bmp", 0, 1000, 23.976, RGB)
#------------------------Eingangs-Konverter/Trimmer/Definitionen---------------------------------
Trim(33900,34100)
#.............
#--------------Achtung ! MC_spuds kann nur Progressive !!! Direkt nach TGMC ist MC ok..---------
#-------Bei Interlaced entweder a) vorher SeparateFields, dann MC_spuds, danach Weave--------
#--oder b) vorher bobben mit TGMC, dann MC_spuds, danach Half-Height-Resize, danach Weave--
AssumeBFF()
SeparateFields
MC_spuds(frames=2,strength=3,blocksize=8,overlap=4,sharpp=1,ss_x=1.25,ss_y=1.25,lsfstr=80,colorbleed=true)
Weave
#DoubleWeave
AssumeFieldBased
#...........
#-------------------------------Kontrollabteilung 1: Field-Order korrekt ?--------------------------
#AssumeBFF()
#SeparateFields
#----------------------Bildhöhenverdopplungs-Resizer nach SeparateFields-------------------------
#----------------(nur 1 Resizer einkommentieren, dient zur Kontrollerleichterung)-----------------
#PointResize(720,576)#(...häßlich, aber positionsecht,zeigt die ehrliche Wahrheit durch Pixelverdopplung)
#Lanczos4Resize(720,576)
#Spline36Resize(720,576)#(...positionsecht...)
#eedi2(field=2)#(eedi2 kontrolliert wohl am schärfsten und besten, aber nicht positionsecht!...)
#nnedi2_rpow2(rfactor=2,cshift="Spline36resize", fwidth=width*1)#(nnedi2 ist zu gut im Erraten..)
#----------------------------------------Ende Field-Order-Test--------------------------------------