I have a new DVD source for the same series, this time imported from Japan--the highest quality release of this version of the series (by King Records)--but to my surprise, it appears to me to be suffering from the same problems as my previous source. Am I missing something, or should I be handling this the same as my previous source--unblending, encoding as progressive 23.976fps with 3:2 pulldown added, using Srestore, QTGMC, etc.?
I used DVDFab. DGIndex found this DVD to be "100.00% VIDEO."
+ Reply to Thread
Results 61 to 71 of 71
Looks telecine to me and I can see no blending when applying IVTC on the file you posted.
Doesn't look like 100% video to me => heuristics can be wrongusers currently on my ignore list: deadrats, Stears555
I just tried using IVTC, but I'm still seeing translucent frames overlapping on regular frames. Does my script look okay?
MPEG2Source("C:\DVD\01\VTS_01_1.d2v") tfm(d2v="C:\DVD\01\VTS_01_1.d2v") tdecimate(mode=1)
This is not typical field blending - The fields are spatially warped differently top and bottom, so that manifests as combing on many frames, because the fields do not align properly - that's why you're seeing the "translucent" issues after normal IVTC. Only a handful of fields are "good" and aligned to become "good" frames
You can deinterlace or apply vinverse to take care of residual combing, but they slightly degrade the quality
You could interpolate between the "good" frames using RIFE or similar for a pan, but that might not necessarily work well for other types of scenes
If that's the "highest quality release", it's very sad
Yes, try vinverse() between TFM and TDecimate. Or maybe after.
Thanks! So if I want to create the highest quality video possible for the source I have to work with, does everything in this script look ideal?
LoadPlugin("C:\DVD\DGDecode.dll") MPEG2Source("C:\DVD\01\VTS_01_1.d2v") tfm(d2v="C:\DVD\01\VTS_01_1.d2v") Vinverse(sstr=2.7, amnt=255, uv=3, scl=0.25) tdecimate(mode=1)
What do the other scenes look like? Similar problems ?
"Highest quality automatic script" ? or how much time would you be willing to put into it ?
For that script, the warping problem shows up as blurry bottom half every few frames, it's like a strobing effect. Near the middle and end, the tree and building windows wobble - it's from the field warping. Go frame by frame to see the problem clearly. There is not much you can do about it using an IVTC approach, there are too many warped bad fields
Highest quality normally for these types of bad transfer issues would be to analyse and apply a custom fix each scene ; perhaps with some manual work assisted with scripts. I suspect you'd have to write a different script per scene. If you post some other scenes someone will examine and provide feedback
eg, Normally, an anime pan would be reconstructed with a clean plate (you stitch a few good frames together, to make a big frame, then pan that). But your sample is not a pure x-axis linear pan, there is some translation in the z-direction - the camera is moving forward slightly, the scene cannot be placed on a "flat" 2D plane. This means you cannot re-do the pan using a single stitched cleanplate . But you could interpolate between the "good" frames using RIFE or similar, or the pan can be reconstruction in 3D software with camera projection techniques (complicated)
For your pan scene, there is a pattern - every 5 fields is a good field. So you can reconstruct the pan using a non temporal deinterlacer like BWDIF, select the good fields, then interpolate with RIFE. Non temporal, because you don't want the "bad" fields contaminating the "good" ones.
This is mostly an avs script fix for the pan scene, except for the last frame uses DMVFN
This is a side by side comparison of the pan scene, slowed down to 1/4 speed ("stack_6fps.mp4" attached below). Left is the IVTC with vinverse, Right is the RIFE reconstruction. Watch the tree "wobble" near the middle and end, and the frame go in and out of blurriness because of the warped fields in the IVTC script
pan scene reconstruction
d=ImageSource("DMVFN_city.png").trim(0,-1).ConvertToYV12().AssumeFPS(24000,1001) MPEG2Source("VTS_01_2.d2v") Bwdif(field=3) Trim(20,0) SelectEvery(5,0) RIFEwrap Trim(0,214) + d
The trailing edge (left side) uses the DMVFN city model, the leading edge is a composite of a previous frame (since it's real data. Basically overlay with x=4 of the previous frame)
Unfortunately there is no vapoursynth or avisynth port yet
You can see more examples of DMVFN in this thread
This can be a useful tool for "bad scene changes" (e.g. bad splices/edits) , instead of placing duplicates, and/or extending a scene
For "full marks", I'd clone/paint out the few dirt spots before interpolation (in general you want to fix problems before interpolation, otherwise they will propogate the errors). There is also a small color shift in the few first frames, I'd adjust them
Last edited by poisondeathray; 24th Jul 2023 at 22:00.
That is a very interesting example you've made. I'd like to test it out myself. I'm currently attempting to use BDIF and RIFE as implemented in your script but I'm getting an error: there is no function named "Bwdif."
I get the same result after a fresh install of AviSynthPlus 3.7.3 and adding BWDIF.dll to the plugins64+ folder. What is it I'm missing?
avspmod x64 or vdub2 x64 ?
Even if the pattern/problem was the same for entire series, you have to trim to the proper frames and select the good ones per scene. They might be offset by 1 frame in one scene, but 3 in another. You don't want to select a bad scene cut frame to interpolate from, otherwise you propogate the errors
It's an annoying artifact but you can't really address the underlying issue with standard IVTC or filters - there are too many "warped" fields. Anything you try to do to reduce the issue (temporal smoothing), will cause other problems, loss of details, blurring