Hi,
I have a pal dvd which is mostly have progressive frames.But some of scenes (I detected 3 different scenes for now.) interlaced .I deinterlaced the 2 scenes via qtgmc() with success but other one not deinterlaced properly.It shows blended frames.Help would be really nice.Sorry for my bad english.
sample1 (some frames progressive , some are interlaced):Code:https://mega.nz/#!XcsmjRDC!eG5u8VfRyscnjpWjmRQO3VrDzPlbkdpaXAUlo0iNrB4
sample2(qtgmc works but pls check it):Code:https://mega.nz/#!7Nd2HRjJ!BLnH7oudgJMrYbO9bjTX6hIC98969JQyWy6TYJnOE0c
+ Reply to Thread
Results 1 to 28 of 28
-
-
The first sample is phase shifted and can be fixed with a simple:
TFM()
However, there are duplicate frames created by doing that which is often an indication of a film to PAL conversion. But those duplicate frames aren't in the usual pattern and I'd just leave them alone. Especially given that using SRestore or TDecimate to bring them down to 23.976fps doesn't work very well.
The second one isn't field blended but the fields aren't lined up properly and QTGMC is as good a way to handle it as any, I suppose. -
Some shots in the first clip were slowed by adding fields here and there. The second clip was 25i (probably just out of phase 25p) but was sped up by discarding every other frame.
The easiest way to deal with this is to use QTGMC() and encode at 50 fps. On playback that won't be any more jerky than the source. I didn't notice any blended frames in either clip after QTGMC(preset="fast").
You can use TFM() to field match but then you'll have duplicate frames every now and then in the first clip and more artifacts and flickering in the second clip. -
Thank you guys!
TFM() gives me this kind artifacts for sample1:
How I can rid off? It's not big scene ,I can accept little bit duplicate frames without artifacts imo.
How I can encode 50 fps with qtgmc? It's possible to use two different fps (I mean 50 fps & 25 fps) or should I use qtgmc 50 fps on whole movie ?Example would be nice.Thanks again. -
TFM() isn't causing that. You're screwing up the video before giving it to TFM. What you're seeing is interlaced chroma being treated as progressive. Post your entire script.
QTGMC() normally outputs double fps. Just give that to your encoder.
It's possible but I would avoid variable frame rates. It's more difficult to deal with.
It' much easier to just encode the video at 50 fps and that will give smoother output than trying to decimate to 25 fps.
Simple:
Code:Mpeg2Source("samplepalinterlaced\VTS_01_1.demuxed.d2v", Info=3) QTGMC()
-
Thanks @jagabo!
I checked with only sample and there's no problem so looks like my avs is problem like you said.My source have different tape transfers so needs different crops and I want to choose that option. (please don't judge me for that). Here's my avs:
import("C:\Program Files (x86)\AviSynth 2.5\plugins\QTGMC-3.32.avs")
LoadPlugin("D:\Programs\MeGUI_2624_x86\tools\dgindex\DGDecode.dll")
DGDecode_mpeg2source("C:\Users\Unforgiven\Desktop\ Yol (1982)\VTS_01_1.d2v")
aa=trim(0,13528).crop(2, 2, 0, -2)
ab=trim(13529,14384).crop(2, 2, 0, -2).TFM() #It's also have same problem with qtgmc for only this part, no problem with other qtgmc part.It's also same problem when I add Spline36Resize(718,572) too.
ac=trim(14385,26103).crop(2, 2, 0, -2)
ad=trim(26104,26440).crop(2, 14, 0, -2).Spline36Resize(718,572)
ae=trim(26441,27440).crop(2, 2, 0, -2)
af=trim(27441,27547).crop(2, 12, 0, -2).Spline36Resize(718,572)
ag=trim(27548,147850).crop(2, 2, 0, -2)
ah=trim(147851,147943).crop(2, 16, 0, -2).Spline36Resize(718,572).qtgmc().selecteven()
ai=trim(147944,148123).crop(2, 12, 0, -2).Spline36Resize(718,572)
aj=trim(148124,148305).crop(2, 4, 0, -2).Spline36Resize(718,572)
ak=trim(148306,164030).crop(2, 2, 0, -2)
aa++ab++ac++ad++ae++af++ag++ah++ai++aj++ak -
If you encode the entire video at 50 fps you will get the smoothest motion -- assuming your player can handle 50 fps video. For example, in parts where the video was slowed, at 50 fps you might have a sequence of film frame numbers like:
Code:1 1 2 2 2 3 3 4 4 5 5 6 6 6 7 7
Code:1 2 2 3 4 5 6 7
Shots that were sped up by discarding fields will give you 50 fps sequences like:
Code:1 1 2 3 3 4 4 5 5 6 7 7 8 8
Code:1 2 3 4 5 7 8
Last edited by jagabo; 22nd Mar 2016 at 17:44.
-
Thanks for the explanation, I appreciate it! I'll start to encode with qtgmc soon.Maybe noob question but I hope no need sync the audio with the video after 50 fps result.
I have another problem with NTSC DVD , which is I try many things.Pls take a look that too:
https://mega.nz/#!7MsQnRSL!-tEByYgo2L_Ho3yK-73VscKSrjLYHl6fgAQ0Glq8Sb8 -
-
-
Thank you so much ! You really help me.
I guess the same thing but used something like this before and it's not work properly:
QTGMC(Preset="Slower",EZKeepGrain=1.1,Sharpness=0. 5)
srestore(23.976) -
That's because you had SRestore output 23.976fps, so one unique frame is removed every second and it plays jerky. As jagabo told you, the correct framerate is 25fps which you get using SRestore at default settings. That way the length doesn't change and you can use the audio unchanged. If you want to make it 23.976fps:
QTGMC(Preset="Slower",EZKeepGrain=1.1,Sharpness=0. 5)
srestore()
AssumeFPS(23.976)
That changes the length and you'll have to slow the audio to match. -
Thanks ! I'll keep 25fps, btw yadif not work properly some of scenes so I must use qtgmc with keeping detail.
-
I have a problem making comparison between source and encode for this.I used qtgmc+srestore like you said and encode is anamorphic.My comparison script work everytime before , which is this . But I 'm getting "Interleave: video formats don't match" error. I try another basic comparison script ,that time problem is frames not match between. Any clue?
Thanks for everything. -
Why don't you just check the properties yourself? Replace the Interleave() line with e.Info() or s.Info().
-
-
e.Info() and s.Info() will tell you the properties of the two videos so you can see what's different between them -- the reason why Interleave() isn't working. My guess is that the two videos have a different frame size to start with, or the second video changed ffsar so that it got resized to a different size.
And Interleave() will not stack the two videos side by side. You want StackHorizontal() for that.Last edited by jagabo; 27th Mar 2016 at 07:37.
-
I was busy, sorry for the late answer and thanks for the reply.
I tried the Info() for encode and source line but don't work.Encode line shows only 7 min anyway I opened them by one by via AvsPmod and it's shows properly.Here it's:
Encode:
Source(avs):
Looks like there's a only change is colorspace.But I added ConvertToRGB(), ConvertToYUY2() and ConvertToYV12() to comparison script but it's not work .And I tried many thing but no hope.
-
Which explains why interleaving didn't work the first time.
But I added ConvertToRGB(), ConvertToYUY2() and ConvertToYV12() to comparison script but it's not work . And I tried many thing but no hope.
Whenever asking about AviSynth scripts not working it's a good idea to include the scripts creating the errors so we can either spot the problem in the provided scripts or try and replicate it with similar scripts. For example:
A=AVISource("YV12Video.avi)
B=AVISource("YUY2Video.avi").ConvertToYV12()
StackHorizontal(A,B)
should work.
I guess you can tell those two frames aren't the same even though the Info says they're the same frame number. Apparently the two videos began at two different places in a longer video and if you really want to compare the exact same frames, you should align the frames better.Last edited by manono; 30th Mar 2016 at 23:12.
-
-
Sorry guys, I posted the answer a little bit fast and forget to add some details and make some fails.
I don't remember but probably I used different colorspaces for encode and source and it cause different colorspace thing.
HERE is my avs for comparison and here's screens:
And HERE is my main avs.
And looks like they have different parity and it's the problem.But I don't have any clue why this happened?
Thanks. -
The only difference I see is the field order. Using AviSynth 2.6 I don't have any problem interleaving TFF and BFF frames but you might try adding AssumeTFF() to the Encode video making it TFF too.
The other thing that might possibly cause problems is the odd frame width, 809. Again, AviSynth 2.6 has no problems with that as long as the video is RGB, but maybe older versions didn't like it? Try using 808 or 810 instead.
Try using StackHorizontal() instead of Interleave() to see if that has problems too. -
My free time really limited so can't answer quickly, sorry for that.
I updated AviSynth to 2.6 and I don't even crop but no change.
I tried to StackHorizontal() everytime and no change.
I added AssumeTFF() to comparison script and it's have same problem.And also added the avs and encode like that and same again.
I changed bobber and tried with srestore again and it still same.
When I only use something like this without srestore it works and frames match (29.970 fps) but I bet it's not proper way:
yadifmod(order=1, mode=0, edeint=NNEDI2(field=1))
I'm just share another sample in this case, it's maybe needs to look another parts:
https://mega.nz/#!HMt3ULJY!DDCImjYVarZ1Sh55jtBDZ1A5yGGV6sxNPEYjpm-NLaU
TIA! -
-
SRestore doesn't return the exact same frame with random seeks. It has to be run linearly from start to end to get the same frames. Or at least needs several frames to get into sync.
Also, many source filters will not return the exact same frame on random seeks with long GOP, out of order codecs.
And multithreaded AviSynth may get different frames than single threaded AviSynth with SRestore and long GOP, out of order codecs.
Seek a few seconds before the frame you want to check then move forward one frame at a time.Last edited by jagabo; 4th Apr 2016 at 22:02.
-
Thanks for the extra information! I learn something new.
I used qtgmc+srestore before like 5-10 times but newer this problem happen , that's make me curious.Also different field order thing a interesting and still not get understand why this is happen, I renew everyting but same thing happen and used yadif+srestore with single threaded.Looks like I stick this.
I have another problem:
SAMPLER (Please check both):
https://mega.nz/#!aEd12CCR!1-dvpW9_yAjbfgxXfP2SQ_EveySZGnuPDtf47CS69AY
I hate filters when they hurt good details too much but I need something here.Grain texture is different , there is have some vertical line grains (I guess ), it's It's DVD and not compress even 4000-5000 bitrate.Also some scenes have spots etc. but that's not importand I guess.
Similar Threads
-
How do you make a NTSC interlaced DVD video progressive?
By runlouierun in forum Video ConversionReplies: 54Last Post: 22nd Jun 2017, 22:27 -
hybrid progressive interlaced dvd
By cybero75 in forum DVD RippingReplies: 8Last Post: 27th Jun 2014, 08:22 -
About the progressive to interlaced
By 861stvideoedit in forum EditingReplies: 1Last Post: 11th Apr 2013, 03:18 -
interlaced and progressive in same video. how to make only progressive.
By OmniShadow in forum Newbie / General discussionsReplies: 32Last Post: 18th Sep 2012, 23:44 -
Progressive Vs Interlaced?
By shagratt71 in forum Video ConversionReplies: 4Last Post: 26th Dec 2011, 09:22