VideoHelp Forum
+ Reply to Thread
Page 2 of 3
FirstFirst 1 2 3 LastLast
Results 31 to 60 of 67
Thread
  1. Originally Posted by ericf View Post
    Is this an avsi or a dll: https://pastebin.com/raw/JYBjMBvx
    avsi
    Quote Quote  
  2. If it's plain text and you can read it in Notepad/Wordpad or a web browser it's an AVS or AVSI script.

    dll's look like garbage in Notepad etc:
    Image
    [Attachment 60528 - Click to enlarge]
    Quote Quote  
  3. Member
    Join Date
    Oct 2005
    Location
    Sweden
    Search Comp PM
    Once again, thank you both.

    I put all the avsi and dll files in the Avisynth+ 64-bit directory.
    I get the same message as the last one I posted when I load the poisondeathray script:

    I get:
    Avisynth Open Failure:
    System exception - access violation
    AnimeIVTC line 303
    That line is:
    fmdecim = mode==1 ? chrfix_b ? (palf && Ofrate==2) ? debprep.tdecimate(1,13,25) : (o3025cfr) ? debprep.tdecimate(1,3,6) : debprep.tdecimate(1,3,5) : (palf && Ofrate==2) ? fm.tdecimate(1,1,25) : (o3025cfr) ? fm : (autoAssuf) ?
    *.avs line 16 (referrs to line 16 in my avs script which looks like this
    a1 = o.animeivtc(mode=1, chrfix=true)

    So what could the System exception - access violation be? It's not asking for a specific dll or avsi from what I can tell.
    Quote Quote  
  4. Are you using AnimeIVTC 2.2 in post #2
    https://forum.doom9.org/showthread.php?p=1673928
    Quote Quote  
  5. Originally Posted by ericf View Post
    I get:
    Avisynth Open Failure:
    System exception - access violation
    AnimeIVTC line 303
    That line is:
    Code:
    fmdecim = mode==1 ? chrfix_b ? (palf && Ofrate==2) ? debprep.tdecimate(1,13,25) : (o3025cfr) ? debprep.tdecimate(1,3,6) : debprep.tdecimate(1,3,5) : (palf && Ofrate==2) ? fm.tdecimate(1,1,25) : (o3025cfr) ? fm : (autoAssuf) ?
    That line is incomplete. Maybe it's just an error in your quote. I have this on that line (notice the extra stuff at the end):
    Code:
    fmdecim = mode==1 ? chrfix_b ? (palf && Ofrate==2) ? debprep.tdecimate(1,13,25) : (o3025cfr) ? debprep.tdecimate(1,3,6) : debprep.tdecimate(1,3,5) : (palf && Ofrate==2) ? fm.tdecimate(1,1,25) : (o3025cfr) ? fm : (autoAssuf) ? fm.tdecimate(1) : fm.tdecimate() : nop()
    That may not be the source of your problem though.

    By the way, using code blocks really helps with this type of quoting. The forum software messes with some of the text otherwise.
    Quote Quote  
  6. Member
    Join Date
    Oct 2005
    Location
    Sweden
    Search Comp PM
    I'm using AnimeIVTC 2.2, yes, poisondeathray. At least I thought I did. I pasted my 2.2 file over the existing one and the error message says line 306 now, and it refers to line 5 in the avs:
    a1 = o.animeivtc(mode=1, chrfix=true)

    The line is as you pasted jagabo:
    Code:
    fmdecim = mode==1 ? chrfix_b ? (palf && Ofrate==2) ? debprep.tdecimate(1,13,25) : (o3025cfr) ? debprep.tdecimate(1,3,6) : debprep.tdecimate(1,3,5) : (palf && Ofrate==2) ? fm.tdecimate(1,1,25) : (o3025cfr) ? fm : (autoAssuf) ? fm.tdecimate(1) : fm.tdecimate() : nop()
    So I don't know what the reason for the error message is.
    Quote Quote  
  7. Both lines 303 and 306 call srestore. Maybe there's something wring with your Srestore.avsi. Try using AvsInfoTool to check your AviSynth setup.

    https://www.videohelp.com/software/Avisynth-Info-Tool
    Quote Quote  
  8. Member
    Join Date
    Oct 2005
    Location
    Sweden
    Search Comp PM
    The only thing the program comments on is the fftw3.dll/libfftw3f-3.dll. The first file (name) is nowhere to be seen so I just copied the 64bit file libfftw3f-3.dll and put it in SysWOW64. Same error message.
    Avisynth Info Tool says it's buffer overflow. It's mvtools2.dll that needs the file.
    I also tried an older version of Srestore.avsi.
    Last edited by ericf; 2nd Sep 2021 at 00:40.
    Quote Quote  
  9. SysWOW64 is for 32 bit Windows dlls. 64 bit Windows dlls go in System32.

    I'm using SRestore.avsi v2.796.

    Exactly what AviSynth are you using? AviSynth 2.5? 2.6? Plus? 32 bit or 64 bit? Create a script with just Version(). What does it show?
    Last edited by jagabo; 2nd Sep 2021 at 09:15.
    Quote Quote  
  10. Member
    Join Date
    Oct 2005
    Location
    Sweden
    Search Comp PM
    Avisynth+ 3.6.1 (r3300, 3.6, x86_64).
    I installed Avisynth 2.6 but I guess that really is Avisynth+ because I don't have a directory called Avisynth 2.6.
    I have Avisynth 2.5 installed, too.
    After switching the libfftw3f-3.dll versions I still get the same error.
    I'm using SRestore.avsi v2.796.
    Last edited by ericf; 2nd Sep 2021 at 10:39.
    Quote Quote  
  11. My guess is a mixed up , older .dll

    Post the results of avsinfotool . It will list versions and dates
    Quote Quote  
  12. Member
    Join Date
    Oct 2005
    Location
    Sweden
    Search Comp PM
    Attached.
    I tried to correct the 64bit problem but to no avail. Don't know what the 32bit info means. Are there two dlls doing the same thing? Also, I had HDRtools.dll in the folder but had to remove it because I kept getting error messages talking about 32bit and 64bit.
    Image Attached Files
    Quote Quote  
  13. Start by cleaning up your VirtualDub2_44282\plugins64\ folder - those are for vdub plugins, not avisynth plugins, and you have many doubled up

    For example you have mvtools2.dll in the C:\Program Files (x86)\AviSynth+\plugins64+\mvtools2.dll location which is the correct location for autoloading, but then you have

    LoadPlugin("D:\Encodes\VirtualDub2_44282\plugins64 \mvtools2.dll") . Which one gets loaded ? I don't know.

    Is that version the same or different? Just move everything in the vdub plugins folder(s) that shouldn't be there
    Quote Quote  
  14. Member
    Join Date
    Oct 2005
    Location
    Sweden
    Search Comp PM
    I deleted the folder and unzipped it again.
    With the script that removed the load filters I can open your avs now, jagabo.

    HTML Code:
    Mpeg2Source("D:\Encodes\To Heart\Vol 2\VTS_02_1.[0].d2v", Info=3) 
    AnimeIVTC(mode=2, chrfix=true)
    
    src = last # the source video
    prev = Loop(2,0,0) # the previous frame, used to replace blended frames
    
    blend = Merge(Trim(1,0), Loop(2,0,0)) # a video where every frame is replaced with a 50:50 blend of the previous and next frame
    diff = AbsSubtractY(src, blend) # the absolute value of the source frame minus the intentionally blended frame
    
    # If the current frame is significantly different than the previous frame, AND there's little difference between
    # the current frame and the intentionally blended frame, replace it with the previous frame:
    ConditionalFilter(diff, prev.Subtitle("Substituted"), src, "(YDifferenceFromPrevious(src) > 10) && (AverageLuma(diff) < 5.0)")
    
    StackHorizontal(src, last)
    return(last)
    
    ##########################################################################
    #
    # Absolute value of v1-v2, luma only
    #
    ##########################################################################
    
    function AbsSubtractY(clip v1, clip v2)
    {
        Subtract(v1.GreyScale(), v2.GreyScale()).ColorYUV(off_y=2)
        Overlay(last.ColorYUV(off_y=-128), last.Invert().ColorYUV(off_y=-127), mode="add")
    }
    
    ##########################################################################
    The other script, poisondeathray:

    HTML Code:
    MPEG2Source("D:\Encodes\To Heart\Vol 2\VTS_02_1.[0].d2v")
    o=last
    
    ivtc = o.tfm().tdecimate()
    a1 = o.animeivtc(mode=1, chrfix=true)
    a2 = o.animeivtc(mode=2, chrfix=true).trim(1,0)
    
    sourceY = ivtc.ExtractY
    sourceU = a2.ExtractU
    sourceV = a2.ExtractV
    
    CombinePlanes(sourceY, sourceU, sourceV, source_planes="YYY", planes="YUV", sample_clip=ivtc)
    still generates the error message about line 303 in AnimeIVTC.
    Last edited by ericf; 3rd Sep 2021 at 00:28.
    Quote Quote  
  15. Member
    Join Date
    Oct 2005
    Location
    Sweden
    Search Comp PM
    Now, if you have 2D and 3D animation combined, how do you go about making it 23.976 frames a second?
    Check out the sample.
    LINK

    I've tried TIVTC TFM(). TDecimate(mode=1), AnimeIVTC AnimeIVTC(mode=1, omode=1) and also forcing film with DGIndex and just encoding it as 23.976 frames a second and the result is the same for all three. Too much staircasing. I see no differences between the three. It could well be that the animation looks like that, but I wouldn't know. Also, some of the CG looks really bad when there are diagonal lines.
    Quote Quote  
  16. Originally Posted by ericf View Post

    The other script, still generates the error message about line 303 in AnimeIVTC.
    Just "access violation" ? It's not much to go on. Not sure what the issue is, but a common cause is some incompatible .dll version


    Originally Posted by ericf View Post
    Now, if you have 2D and 3D animation combined, how do you go about making it 23.976 frames a second?
    Check out the sample.
    LINK
    Ideally you don't . Because that source has mixed cadence, with different FPS sections, including some 29.97p sections, some other FPS too . You wouldn't want to decimate to 23.976p because those other 29.97 sections will have dropped frames and be "jerky". Ideally you'd make it VFR

    I've tried TIVTC TFM(). TDecimate(mode=1), AnimeIVTC AnimeIVTC(mode=1, omode=1) and also forcing film with DGIndex and just encoding it as 23.976 frames a second and the result is the same for all three. Too much staircasing. I see no differences between the three. It could well be that the animation looks like that, but I wouldn't know. Also, some of the CG looks really bad when there are diagonal lines.
    I just looked quickly , but many(most) of the aliased frames are already in the source to begin with; not a problem with bad matching, or PP . e.g. ~ 00:07:00 , ~00:07:46

    AA filters can be very damaging, and you can severely degrade "good" frames. It's something you'd want to apply selectively
    Quote Quote  
  17. That video appears to be 30p except for some of the fades. Just Santiag(1,0) appears to work fine for the fades. The aliasing is a separate issue. Santiag(1,1) will help with that.

    Try:
    Code:
    Mpeg2Source("Mixed\VTS_01_1.[0].d2v", CPU2="xxxxxx", Info=3) 
    ConditionalFilter(last, Santiag(1,0).Subtitle("santiag"), last, "IsCombedTIVTC(cthresh=4)")
    That will catch most of the crossfades with very few false positives. It misses most of the small white title fades though. You can lower the cthresh value to 1 or 0 to catch most of those but then it will start falsely antialiasing some other frames.
    Last edited by jagabo; 2nd Sep 2021 at 19:18.
    Quote Quote  
  18. Member
    Join Date
    Oct 2005
    Location
    Sweden
    Search Comp PM
    I'm starting the full episode encode of the anime I first asked about with the jagabo script today. I'll get back to you about how it went.
    I'll try the other episode this weekend.

    So if I'd want to deal with the aliasing issue, I would change Santiag(1,0) to Santiag(1,1) in the script?
    Last edited by ericf; 3rd Sep 2021 at 00:54.
    Quote Quote  
  19. Member
    Join Date
    Oct 2005
    Location
    Sweden
    Search Comp PM
    Sorry, I didn't download the video you posted using your script, jagabo, so I didn't think it would use stacked horizontal in it.
    If I want to encode it normally, what do I do?
    I have the general script I used to remove some chroma errors and have used that on several episodes, but your script eliminates the other problems, too. Like ghost images of the boys' legs when they're running.
    Also, with the script as is, the first few minutes encodes properly, but then the video is just broken up black and color spaces.
    Last edited by ericf; 3rd Sep 2021 at 01:06.
    Quote Quote  
  20. Originally Posted by ericf View Post
    I'm starting the full episode encode of the anime I first asked about with the jagabo script today. I'll get back to you about how it went.
    I'll try the other episode this weekend.

    So if I'd want to deal with the aliasing issue, I would change Santiag(1,0) to Santiag(1,1) in the script?
    The script in post #47 only applies Santiag to frames with comb artifacts. And it is for use with the video in post #45. It blurs away the combing in the fades and crossfades. If you run it as-is it marks those frames with "santiag" in the top left corner -- so it's obvious which frames have been changed. In production you would remove the ".Subtitle("santiag")".

    Santiag(1,1) is weak enough that you can probably use it globally (in which case you don't need my ConditionalFilter). But for frames 12574 to 12604 you need something stronger. And that stronger processing will damage other parts of the video so you would want to limit it to just those frames. You could use Santiag(2,2,halfres=true) and limit it to just those frames:

    Code:
    # assuming "last" is the video at this point
    strongaa = Santiag(2,2,halfres=true)
    ReplaceFramesSimple(last, strongaa, mappings="[12574 12604]")
    That replaces frames 12574 through 12604 of last with those frames from from strongaa.

    ReplaceFramesSimple is included with RemapFrames: http://avisynth.nl/index.php/RemapFrames

    Originally Posted by ericf View Post
    Sorry, I didn't download the video you posted using your script, jagabo, so I didn't think it would use stacked horizontal in it.
    If I want to encode it normally, what do I do?
    I used StackHorizontal so you could easily see the difference between the original video and the filtered video. Just remove the StackHorizontal line if you want just the filtered output.

    Originally Posted by ericf View Post
    I have the general script I used to remove some chroma errors and have used that on several episodes, but your script eliminates the other problems, too. Like ghost images of the boys' legs when they're running.
    The script uses AnimeIVTC(mode=2, chrfix=true) to IVTC and reduce the chroma blending artifacts. The rest only deals with the 50:50 blended frames at shot changes (and a few others). As-is it marks those frames with "subtituted" in the top left corner. You can eliminate that by removing the ".Subtitle("Substituted")" on the ConditionalFilter line.

    Originally Posted by ericf View Post
    Also, with the script as is, the first few minutes encodes properly, but then the video is just broken up black and color spaces.
    My guess is that's AnimeIVTC's fault. Try increasing the "cache" value from the default 10 to something more:

    Code:
    AnimeIVTC(mode=2, chrfix=true, cache=20)
    This increases the amount of memory used by the filter. That can be a problem with 32 bit AviSynth but it's rarely an issue with 64 bit AviSynth.

    One thing I found that helped AnimeIVTC work better was to use the deblocking and deringing filters of Mpeg2Source:

    Code:
    Mpeg2Source("VTS_02_1.[0].d2v", CPU2="xxxxxx", Info=3) 
    AnimeIVTC(mode=2, chrfix=true)
    But the 64 bit version of that filter doesn't implement those features. You have to use the 32 bit version. An alternative is to use KNLMeasCL:

    Code:
    Mpeg2Source("VTS_02_1.[0].d2v", Info=3) 
    SeparateFields().KNLMeansCL(d=0, a=3, h=5, channels="UV").Weave()
    AnimeIVTC(mode=2, chrfix=true)
    I may have used one of those with the video I uploaded.
    Quote Quote  
  21. Member
    Join Date
    Oct 2005
    Location
    Sweden
    Search Comp PM
    The script:

    HTML Code:
    Mpeg2Source("VTS_02_1.[0].d2v", Info=3) 
    SeparateFields().KNLMeansCL(d=0, a=3, h=5, channels="UV").Weave()
    AnimeIVTC(mode=2, chrfix=true)
    tends to create a lot of aliasing.
    Straight AnimeIVTC(mode=1, omode=1) works best here.
    I can't see any improvement in the animation that has lots of aliasing, like hair and clothes, no matter what version of filters I use, so I guess it's inherent in the original animation.
    I tried changing it to AnimeIVTC(mode=1, omode=1, chrfix=true)
    but got error messages pointing to the avsi.
    I see no problems in saving it in 23.976 frames a second so I guess I will go ahead with all 14 episodes. It will probably look a little better than the former version. I don't have any of the DVD to encode files left so I don't know what exactly I did, but the episodes are 30 fps.

    Actually, keeping it 30 fps and just fixing particular frame problems, like comb artefacts, would probably be best. I didn't try the 32bit script because it would mean a lot of filter hunting again but I wonder if I can apply saintag on the material without doing the IVTC. In Volume 2, there's a scene where the current image is resized from full screen to 1/4 and then another 1/4 image is enlarged to full screen and so on. There's a lot of artefacting in that scene. The image gets broken up in horizontal lines. With IVTC, the images aren't exhibiting that but instead it looks like two images superimposed on top of each other but one is a little above the other. It doesn't look good in either case. I don't think there's anything that cane be done about it. I'm posting a sample from the vob.

    VOB Sample

    AnimeIVTC

    Straight Encode No Filtering or Deinterlacing

    and

    My upscaled version in 30fps
    Last edited by ericf; 4th Sep 2021 at 02:12.
    Quote Quote  
  22. Member
    Join Date
    Oct 2005
    Location
    Sweden
    Search Comp PM
    Jagabo:
    When using your script for the first anime that has this line:
    ConditionalFilter(diff, prev.Subtitle("Substituted"), src, "(YDifferenceFromPrevious(src) > 10) && (AverageLuma(diff) < 5.0)")
    If I remove the prev.Subtitle("Substituted"), and make it like this:
    ConditionalFilter(diff, src, "(YDifferenceFromPrevious(src) > 10) && (AverageLuma(diff) < 5.0)")
    It seems to insert a black frame where it said substituted before.
    I like how it removes a lot of the double images/ghosts but it introduces a lot of aliasing on small details. Is there a way to combat that?

    The other script,
    Mpeg2Source("VTS_02_1.[0].d2v", Info=3)
    SeparateFields().KNLMeansCL(d=0, a=3, h=5, channels="UV").Weave()
    AnimeIVTC(mode=2, chrfix=true)

    creates the same amount of aliasing.
    Quote Quote  
  23. Originally Posted by ericf View Post

    Actually, keeping it 30 fps and just fixing particular frame problems, like comb artefacts, would probably be best. I didn't try the 32bit script because it would mean a lot of filter hunting again but I wonder if I can apply saintag on the material without doing the IVTC. In Volume 2, there's a scene where the current image is resized from full screen to 1/4 and then another 1/4 image is enlarged to full screen and so on. There's a lot of artefacting in that scene. The image gets broken up in horizontal lines. With IVTC, the images aren't exhibiting that but instead it looks like two images superimposed on top of each other but one is a little above the other. It doesn't look good in either case. I don't think there's anything that cane be done about it. I'm posting a sample from the vob.

    VOB Sample

    AnimeIVTC

    Straight Encode No Filtering or Deinterlacing

    and

    My upscaled version in 30fps

    Those "PIP" (picture-in-picture) animated inserts are actually interlaced content - 59.94 fields per second. You lose the motion smoothness if you keep the entire thing 29.97p

    The aliasing will always be there to an extent, because they are not full frames (only single fields, so 1/2 the information). QTGMC is probably your best bet in terms of aliasing as a starting point. If you wanted to keep it 29.97 instead of resorting to VFR, just replace those specific frames with a QTGMC().selecteven() version

    If you want to get fancy, you should keep the BG 29.97p, but use an animated mask to replace the PIP box with the QTGMC + filter only, so the BG retains the full resolution instead of being deinterlaced, because some of the BG segments are progressive. As good as QTGMC is, it still degrades progressive content
    Quote Quote  
  24. Originally Posted by ericf View Post
    Jagabo:
    When using your script for the first anime that has this line:
    ConditionalFilter(diff, prev.Subtitle("Substituted"), src, "(YDifferenceFromPrevious(src) > 10) && (AverageLuma(diff) < 5.0)")
    If I remove the prev.Subtitle("Substituted"), and make it like this:
    ConditionalFilter(diff, src, "(YDifferenceFromPrevious(src) > 10) && (AverageLuma(diff) < 5.0)")
    It seems to insert a black frame where it said substituted before.
    Don't remove prev, just ."Substituted".

    Code:
    ConditionalFilter(diff, prev, src, "(YDifferenceFromPrevious(src) > 10) && (AverageLuma(diff) < 5.0)")
    Originally Posted by ericf View Post
    I like how it removes a lot of the double images/ghosts but it introduces a lot of aliasing on small details. Is there a way to combat that?
    Where are you seeing that? The conditionalfilter only replaces the handful of 50:50 blended frames (with a copy of the previous frame). So the problem is elsewhere. Post the entire script you are now using.

    Originally Posted by ericf View Post
    The other script,
    Mpeg2Source("VTS_02_1.[0].d2v", Info=3)
    SeparateFields().KNLMeansCL(d=0, a=3, h=5, channels="UV").Weave()
    AnimeIVTC(mode=2, chrfix=true)

    creates the same amount of aliasing.
    That script doesn't address aliasing at all. It only reduces the number of frames with chroma blending (It reduces noise in the chroma channels making it easier for AnimeIVTC to detect chroma blending). You have to use Santiag (or some other antialiaser) if you want to reduce aliasing.

    Code:
    Mpeg2Source("VTS_02_1.[0].d2v", Info=3) 
    SeparateFields().KNLMeansCL(d=0, a=3, h=5, channels="UV").Weave()
    AnimeIVTC(mode=2, chrfix=true)
    Santiag(1,1)
    Quote Quote  
  25. Member
    Join Date
    Oct 2005
    Location
    Sweden
    Search Comp PM
    Jagabo:
    Thanks for clearing that up.
    I'll try these some time this week.
    As for the differences in the two scripts, here's two short cuts to demonstrate what happened.
    1: AnimeIVTC(mode=1, omode=1, chrfix=true)
    Clip

    2: Jagabo script
    Clip

    Check at 2 seconds and 14 seconds. The legs and later the whole figures.
    In the first version, there are very obvious ghost images and the second eliminates them almost 100%.
    Quote Quote  
  26. Member
    Join Date
    Oct 2005
    Location
    Sweden
    Search Comp PM
    Originally Posted by poisondeathray View Post

    Those "PIP" (picture-in-picture) animated inserts are actually interlaced content - 59.94 fields per second. You lose the motion smoothness if you keep the entire thing 29.97p

    The aliasing will always be there to an extent, because they are not full frames (only single fields, so 1/2 the information). QTGMC is probably your best bet in terms of aliasing as a starting point. If you wanted to keep it 29.97 instead of resorting to VFR, just replace those specific frames with a QTGMC().selecteven() version

    If you want to get fancy, you should keep the BG 29.97p, but use an animated mask to replace the PIP box with the QTGMC + filter only, so the BG retains the full resolution instead of being deinterlaced, because some of the BG segments are progressive. As good as QTGMC is, it still degrades progressive content
    Actually, I tried QTGMC with a FPSDivisor=2 added to go back down to 30 fps but I got a really badly aliased result. It shouldn't do that, but it did.
    Also, I don't quite get what you mean by BG. Background?
    Is it possible to keep it 29.97 fps and just adress the interlaced content?

    Here's how the clip looks with QTGMC Interlaced
    "QTGMC(preset="Medium", FPSDivisor=2, InputType=0, sourceMatch=3, sharpness=0.2, tr2=0, ediThreads=8)":
    Clip

    It really needs to be 30 fps. The upward movement of the boy that jumps is really choppy in 23.976 fps. Good thing I didn't do anything to the source earlier. Only some occasionally obvious interlacing and a number of bad transitions in the opening titles. Looks like most of the frames with 'jaggies', like the ones in hair, are mostly 'in source'.
    Last edited by ericf; 5th Sep 2021 at 13:47.
    Quote Quote  
  27. Originally Posted by ericf View Post
    Actually, I tried QTGMC with a FPSDivisor=2 added to go back down to 30 fps but I got a really badly aliased result. It shouldn't do that, but it did.
    Also, I don't quite get what you mean by BG. Background?
    Is it possible to keep it 29.97 fps and just adress the interlaced content?
    Yes, BG = background

    Yes, you just use QTGMC to replace those specific frames only, otherwise you degrade other "good" frames. The animation won't be as smooth because it is at 29.97 instead of 59.94p. I didn't see "really badly aliased" on those sections - or at least it wasn't as bad as combing on those animated PIP sections, or blended frames, or the aliasing that was already present.

    Even if you just blindly QTGMC and selecteven or odd, the whole thing, you shouldn't see any badly aliased frames that wasn't already there - just slightly degraded good frames. There are some frames in the PIP animation that are aliased to begin with. Those I would filter some more selectively. But it's still 10x better than aliasing AND combing. Those animated PIP's are single fields, so they only have 1/2 the info to begin with - that's why there is aliasing

    Personally I'd use VFR because :

    1) you keep motion smoothness in interlaced sections (59.94p) . Other sections retain their actual frame rate. e.g. if you have 12fps section, it stays 12fps. If you have 29.97 fps section, it stays 29.97

    2) you're upscaling, VEIA is relatively slow, you'd be upscaling fewer frames thus faster processing

    3) temporal filtering is more effective for pre/post VEIA , duplicates impair filtering quality

    You can see "ghosting" images in your VEIA example, maybe because the model you used had MC . Unique frames will reduce the errors that VEIA (or any temporal filtering in other programs)
    Quote Quote  
  28. Originally Posted by ericf View Post
    Jagabo:
    Thanks for clearing that up.
    I'll try these some time this week.
    As for the differences in the two scripts, here's two short cuts to demonstrate what happened.
    1: AnimeIVTC(mode=1, omode=1, chrfix=true)
    Clip

    2: Jagabo script
    Clip

    Check at 2 seconds and 14 seconds. The legs and later the whole figures.
    In the first version, there are very obvious ghost images and the second eliminates them almost 100%.
    The main difference you're seeing is because I used the unblending mode of AnimeIVTC to reduce the number of frames with blended chroma. It succeeds at that but at the cost of some aliasing artifacts.

    But the whole point of my post was to replace the 50:50 blended frames. I wasn't paying much attention to what AnimeIVTC was doing -- and I haven't used the function much so I'm not real familiar with its details. Use whatever you want for the IVTC, then use the latter portion of my script (after AnimeIVTC) to remove the 50:50 blends.
    Quote Quote  
  29. Member
    Join Date
    Oct 2005
    Location
    Sweden
    Search Comp PM
    Jagabo: Thanks. I'll try that.
    Quote Quote  
  30. Member
    Join Date
    Oct 2005
    Location
    Sweden
    Search Comp PM
    poisondeathray: The most obvious part where you see aliasing is when the boy jumps at the beginning. Check the line at his arm pit. It staircases through the whole shot in the vob sample. Here's a capture from my QTGMC encode: Capture

    So how do I go about encoding it VFR, as in the same frame rate as the original video?
    Thank you for all your suggestions.
    Quote Quote  



Similar Threads

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