VideoHelp Forum




+ Reply to Thread
Results 1 to 22 of 22
  1. Member
    Join Date
    Sep 2009
    Location
    United Kingdom
    Search Comp PM
    Hi there

    I am doing some test encodes at the moment, and I've encoded part of a scene, and I encoded using CRF18 mp4 with Deinterlace, Bottom Field First, Yadif. I chose Interlaced BFF Yadif, as DGIndex showed that the Frame Type was Interlaced and that the Field Order was Bottom.

    However, after encoding, I watch the scene, and part of the clothing of the person is showing visible lines across it, which goes onto the background wall, I'm not noticing the interlacing elsewhere on the video, it just seems to focus around the back of the person's clothing. I've also had this happen in a different test encode where things such as parts of walls are showing interlaced as well, even after encoding using deinterlace.

    How can I stop this from happening? I thought that the DeInterlace process would eliminate all of it, but it seems not

    Am I missing something somewhere? could it be my player is fubarred (ie. screwed)?

    I'm using Media Player Classic Home Cinema to play the mp4 encode using the Haali Renderer

    I should mention that the dvd is 4:3 but this scene I've taken a snippet of to encode seems to be shot in 16:9, as on the dvd it had large black borders at the top & bottom (when I auto cropped it put 60 in avisynth script creator for the top & bottom values for cropping)

    Could it be because it's a 16:9 shot video put on the 4:3 source dvd?

    Hope I am making sense, I'm new with this stuff -.-

    Thanks
    Quote Quote  
  2. Yadif() isn't perfect. It often makes mistakes. Especially when there are lots of thin horizontal lines. You might get better results with QTGMC(), even with the faster presets.

    Are you sure your video is interlaced, not telecined film? For the latter use an inverse telecine like TFM().TDecimate(). If you use Yadif() on telecined film every 5th frame will be a duplicate.
    Quote Quote  
  3. Member
    Join Date
    Sep 2009
    Location
    United Kingdom
    Search Comp PM
    I am seeing interlacing in the scene in general from the source vob on the dvd, I'm a noob so I'm not sure what teleclined film is.

    Is there a way in AvsP that I can tell AvsP to look at the vob and deinterlace as if it were telecined film so I can see what the output results are like? If that makes sense?

    I havent heard of QTGMC before, will give that a try, is that what you'd recommend for general deinterlacing? MeGUI doesnt have that listed, is TDeint any good?

    Sorry for the noob questions

    How can I find out if the scene is telecined film?
    Last edited by Simcut; 24th Mar 2012 at 10:59.
    Quote Quote  
  4. QTGMC() is currently the best bob deinterlacer but it's slow. About 1/50 the speed of Yadif at it's default setting. It uses a lot of other filters so you'll need to install them all.

    http://avisynth.org/mediawiki/QTGMC

    Use a simple bob() to test for telecined film:

    Code:
    WhateverSource(...)
    AssumeBFF() # or AssumeTFF()
    Bob()
    Find a motion shot and step through the video frame by frame. If each frame is unique you have true interlaced video. If you see a pattern of 3 repeats and 2 repeats you have telecined film. Use TFM() and TDecimate() to inverse telecine:

    Code:
    WhateverSource(...)
     AssumeBFF() # or AssumeTFF()
    TFM()
    TDecimate()
    Oh, wait. You're in the UK so you probably have PAL video. If the frames appear interlaced they can be either true interlaced or out of phase progressive (each frame contains one fields from adjacent film frames). Use Bob() and look to see if each frame is unique (interlaced) or if every pair is the same (out of phase). If the latter use TFM() to recombine fields into the original progressive film frames.

    Code:
    WhateverSource(...)
     AssumeBFF() # or AssumeTFF()
    TFM()
    Last edited by jagabo; 24th Mar 2012 at 11:01.
    Quote Quote  
  5. Member
    Join Date
    Sep 2009
    Location
    United Kingdom
    Search Comp PM
    Hi there. No the source is NTSC not PAL I bought it from America, there is no PAL release of it.

    So, I put the:-

    WhateverSource(...)
    AssumeBFF() # or AssumeTFF()
    Bob()

    code in AvsP, and adjust from there.

    Am I able to open a vob file to test? If so, how? I can open the .vob file from the DVD, but I just need to know what Source I should use, DirectShow?
    Quote Quote  
  6. Member
    Join Date
    Sep 2009
    Location
    United Kingdom
    Search Comp PM
    Okay, I tried DirectShowSource and it works:-

    My Script in AvsP now looks like this:-

    LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\ffms2.dll")
    DirectShowSource("I:\VIDEO_TS\VTS_02_3.VOB")
    AssumeBFF() # or AssumeTFF()
    Bob()

    I've got the video open and I am going frame by frame, and I've noticed the video at the top & bottom next to the black borders is moving up & down as I scroll through frame by frame, it moves back & forth vertically...

    If you see a pattern of 3 repeats and 2 repeats you have telecined film.
    Could you explain to me about the 3 repeats & 2 repeats, is it where the frames are doubling up, so the motion is jerky when I am moving frame by frame, like a stutter motion? If that's the case, then the scene I did the test on is smooth moving frame by frame via the .vob file.
    Quote Quote  
  7. Member
    Join Date
    Sep 2009
    Location
    United Kingdom
    Search Comp PM
    Is it possible that the source can be both interlaced & telecined film? The reason I ask is that near the beginning of the scene, it seems to repeat, then it smooths out!?

    Also, AvsP doesnt seem to like these:-

    TFM()
    TDecimate()
    Quote Quote  
  8. Member
    Join Date
    Sep 2009
    Location
    United Kingdom
    Search Comp PM
    Nevermind, I've fixed the TFM & TDecimate problem by putting the TIVTC.dll file in the avisynth plugin folder

    If you could please answer the question about whether a source can be a mixture of Interlace & telecined film please
    Quote Quote  
  9. Yes, a source can be a mix of interlaced and telecined film. It's especially common in anime and some SciFi (where the live action is shot on film and interlaced effects are added later).
    Quote Quote  
  10. Member
    Join Date
    Sep 2009
    Location
    United Kingdom
    Search Comp PM
    By the way, do I put AssumeBFF() # or AssumeTFF() or do I put either:-

    AssumeBFF() #

    or

    AssumeTFF() #

    And test both one at a time?
    Quote Quote  
  11. Member
    Join Date
    Sep 2009
    Location
    United Kingdom
    Search Comp PM
    Originally Posted by jagabo View Post
    Yes, a source can be a mix of interlaced and telecined film. It's especially common in anime and some SciFi (where the live action is shot on film and interlaced effects are added later).
    Okay, in which case how should I handle it, in terms of avisynth?
    Quote Quote  
  12. Originally Posted by Simcut View Post
    Bob()

    I've got the video open and I am going frame by frame, and I've noticed the video at the top & bottom next to the black borders is moving up & down as I scroll through frame by frame, it moves back & forth vertically...
    Yes, that a side effect of Bob(). Ignore it for purposes of determining whether you have interlaced video or telecined film. Just watch for motion from frame to frame (really field to field).

    Originally Posted by Simcut View Post
    By the way, do I put AssumeBFF() # or AssumeTFF() or do I put either:-
    Put one or the other. If you get back-and-forth motions you have the wrong one.

    Originally Posted by Simcut View Post
    Okay, in which case how should I handle it, in terms of avisynth?
    The best way to handle mixed interlace/film is to use a smart bob. Like Yadif(mode=1) or QTGMC(). That will produce 50 fps progressive.
    Quote Quote  
  13. Member
    Join Date
    Sep 2009
    Location
    United Kingdom
    Search Comp PM
    Thanks, I'm trying to get Yadif working but it doesnt seem to work in AvsP, I've tried putting the Yadif.dll from the MeGUI tools folder into the avisynth plugins folder but it doesnt seem to like it.

    For QTGMC, do I need all of the tools?

    ie. QTGMC 32-Bit Plugins.zip
    RemoveGrain.rar
    RemoveGrain.zip
    mastktools-v2.0a48
    nnedi3

    or am I okay just getting the 32-Bit plugins zip file?

    Also, I have just opened a different vob, to get used to the functions of AvsP, and I have the following script:-

    LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\ffms2.dll")
    DirectShowSource("D:\Encode\VTS_12_1.VOB")
    AssumeTFF() #
    Bob()

    The movement seems to be 1 every 2 frames, so there's movement on 134, 136, 138 etc. If I flick between 136 & 137 I can see the door handle on a door in the scene seems to be changing, almost as if the door handle is going up & down, is that the Bob bug happening again, or because of the 1 movement per 2 frames does it actually mean something. With this vob file, because there is movement once every 2 frames, what does that mean in terms of the type of video it is?

    Thanks
    Quote Quote  
  14. Yadif requires a special import:

    Code:
    Load_Stdcall_plugin("C:\Program Files (x86)\AviSynth 2.5\plugins\yadif.dll")
    WhateverSource(...)
    Yadif()
    Be sure to adjust the path to yadif.dll if you have it in a different folder.

    Regarding QTGMC(), get the "Plugin package with all requirements". Unzip them to the appropriate folders. Note that 32 bit systems dlls go in Windows folders, not in AviSynth's plugins folders. The others go in AviSynth's plugins folder. Read the instructions, "Where to put these.txt".
    Quote Quote  
  15. Member
    Join Date
    Sep 2009
    Location
    United Kingdom
    Search Comp PM
    Thanks, I've done that all but I'm now getting an error when I try:-

    SetMTMode(3,4)
    DirectShowSource("D:\VTS_12_1.VOB")
    SetMTMode(2)
    QTGMC( Preset="Slow", EdiThreads=1 ) #
    AssumeTFF() #

    it says that mt_makediff: unsupported colorspace. Masktools only support planar YUV colorspaces (YV12, YV16, YV24)
    (QTGMC-3.32.avsi, line 776)
    (QTGMC-3.32.avsi, line 386)
    (preview.avs, line 4)

    Any idea?
    Quote Quote  
  16. Add ConvertToYV12(interlaced=true) before QTGMC(). I'd get rid of all the SetMtMode() commands until you get QTGMC() working.

    By the way, DirectShowSource() isn't great for opening VOB files. It's not always frame accurate. You should use DgIndex to build an index file and open that with Mpeg2Source("filename.d2v").
    Quote Quote  
  17. Member
    Join Date
    Sep 2009
    Location
    United Kingdom
    Search Comp PM
    Thanks, I'll make a .d2v and use Mpeg2Source to open from now on.

    Thanks, that ConvertTo line managed to get QTGMC working. How can I add the QTGMC to the drop down list in MeGUI for deinterlacers so I can use it as part of MeGUI's avisynth script creator?
    Quote Quote  
  18. I don't use MeGUI so I can't answer that.
    Quote Quote  
  19. Member
    Join Date
    Sep 2009
    Location
    United Kingdom
    Search Comp PM
    No problem I will look elsewhere to see if I can add it
    Quote Quote  
  20. Member
    Join Date
    Sep 2009
    Location
    United Kingdom
    Search Comp PM
    here's an .avs of something I am going to encode, through megui with avisynth script creator

    # Set DAR in encoder to 179 : 72. The following line is for automatic signalling
    global MeGUI_darx = 179
    global MeGUI_dary = 72
    LoadPlugin("C:\Program Files (x86)\MeGUI_2112_x86\tools\dgindex\DGDecode.dll")
    DGDecode_mpeg2source("D:\Sample 2.d2v", info=3)
    LoadPlugin("C:\Program Files (x86)\MeGUI_2112_x86\tools\avisynth_plugin\ColorMa trix.dll")
    ColorMatrix(hints=true, interlaced=true, threads=0)
    SetMTMode(3,4)
    LoadPlugin("C:\Program Files (x86)\MeGUI_2112_x86\tools\avisynth_plugin\TDeint. dll")
    TDeint(order=0)
    crop( 0, 64, 0, -64)

    #resize
    LoadPlugin("C:\Program Files (x86)\MeGUI_2112_x86\tools\avisynth_plugin\UnDot.d ll")
    Undot() # Minimal Noise
    As you can see its opening the TDeint.dll for Deinterlace. If I want to change the .avs so that it uses this QTGMC what dll do I point the .avs script to? Or do I just add in QTGMC( Preset="Slow", EdiThreads=1 ) # instead of the Loadplugin line for TDeint & the TDeint order line?

    Many Thanks
    Quote Quote  
  21. Has it actually been confirmed that this thing is interlaced? DGIndex only tells you if it's been encoded as interlaced, quite a different thing. Deinterlacing something that doesn't need it is one of the worst things you can do. For example:

    The movement seems to be 1 every 2 frames, so there's movement on 134, 136, 138 etc.
    is evidence of that source not being interlaced. My suggestion is to upload a small sample direct from the source VOB. Open one in DGIndex, scroll to a part where there's steady movement, use the [ and ] buttons to isolate a short 10 second section, and then File->Save Project and Demux Video. Upload the resulting M2V file, either here if under 30 MB or to some filesharing site such as Sendspace or MediaFire.
    Quote Quote  
  22. Member
    Join Date
    Sep 2009
    Location
    United Kingdom
    Search Comp PM
    manono, thanks for trying to help, this issue is now resolved
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!