Log in

View Full Version : why is DGPulldown sometime useless?


aldaco12
11th September 2006, 08:45
Hi. I usually encode my movied with CCE (very fast and professional encoder) but, since it dowsn't correct neither the movie's resolution and its framerate I give it 'some help'.

The movie's resolution is modified by VirtualDub. I load the movie, I apply the filter 'resize', if the resolution isn't proportional to my system (PAL: 720x576) I check the box 'expant frame and litterbox image'.

For instance, a 640x360 movie is sonverted, by the Reaise filter, keeping aspect ration, to
720x[(720/640)*360] = 720x405, then I just have to check the box 'expand frame and litterbox image' and I put some black bars, till I arrive to 720x576.

The biggest problem is the framerate, since sometimes when you alter it you alter the A/V sync, too, and you must re-encode the audio stream, too.

But since I want to keep the original audio stream (I never used the option O.T.A. in BeSweet) and, if I had an AC3 sound thream, I might lose the surround channels, being forced to keep only two channels).

A nice solution I found is DGPUlldown, which changest a movie's framerate just 'pulling it down'.
Some presets are:
23,976 -> 29,97
24 -> 29,97
25 -> 29.97
which shows that the program is 'racist' against the PAL users but, at least, there is a 'custom' box which can be used.

The problem I only recentely found (I ususlly made 23,976 --> 25) is that DGPullwown must have a target rate / current rate greater than 1.
Therefore tha presets are allowed, as the conversion 23,976 -> 25 is, but CONVERTING A NTSC DVD (29.97) TO PAL (25) CANNOT BE DONE!!
Is there an alternative trick to use DGPulldown, or a similar application which downs the framerate without re-encoding the Video?
Is so necessary that the framerate can never decrease?

If I cannot apply another trick, I'll e forced to use some other encoders (like TMPGenc) which sets the framerate but is terribly slow!
For me it is importand also because I usually permanently ancode a subtitle (english is not my netive language), and if I changed the A/V sync I would also have to modifi the subtitle (without being able to watch the lip-sync before changing the framerate. But when I use VirtualDub I simultaeously insert a subtitle!)
Thanks a lot.

foxyshadis
11th September 2006, 10:21
Yes, dgpulldown won't be able to do that, because it only adds flags to the stream to repeat certain fields. You can't get a lower framerate by adding extra fields.

Instead, it's a three step process while re-encoding with avisynth:
bob
change framerate to 50
reinterlace
If you have progressive input, you can ignore the first step, and if you want progressive output, you can ignore the last; but if you do it too simply, it'll stutter noticably and you'll wonder why you went through the trouble.

You don't seem to need deinterlacing/bobbing, but if you ever do, there are a lot of good ones, depending on your patience; leakkernelbob, tdeint, securedeint, and mvbob come to mind.

For framerate changing, you can go fast or slow. ChangeFPS (likely what tmpg would use) will cause stutter, and ConvertFPS will cause blending, but both are fast, and the effects of both can be mitigated by encoding interlaced. Interlaced smooths out stutter by giving you twice the sample rate.

You can also use ones called motionprotectedfps, and mvflowfps, which can make a video look as if it was originally filmed in an entirely different framerate. While interlacing can still help, you can encode progressively without judder or blending.

The reinterlacing is simple, it's always:
ConvertToYUY2()
SelectEvery(4, 1, 2) # TFF
Weave()

If you use tmpg or virtualdub alone, you'll get the framerate changed (without audio desync, btw, these methods won't change the duration), but it'll probably be quite stuttery or blendy. Give it a try with a short sample to see what I mean.

aldaco12
12th September 2006, 13:40
Well, looking back to Avisynth's site I saw that most of the PAL DVD players play NTSC, too (vice versa doesn't happen).
I tested this looking a NTSC VCD on my PAL player, and watching it doesn't seem a problem.
So I think that I won't need to make TV system conversion any more.
Thanks, anyway.

foxyshadis
12th September 2006, 20:25
And that's always the best solution of all. =D

Paulcat
28th September 2006, 16:01
If the NTSC DVD video is is only FLAGGED to play back at 29.97, the DGPulldown can strip the flags from the m2v file and it will revert to 23.976. Then you can encode it at 23.976 with your PAL resolution, and flag it back up to 25 after your encoding process.

If the DVD video actually HAS 29.97 frames per second (through duplication or blending up from 23.976), then you need a new dvd player!

aldaco12
29th September 2006, 11:33
the DGPulldown can strip the flags from the m2v file and it will revert to 23.976. Then you can encode it at 23.976 with your PAL resolution, and flag it back up to 25 after your encoding process.



Sorry, I don't understand. DGPulldown shows only fps increasing options, by defalut:

23.976 --> 29.97
24 --> 29.97
25 --> 29.97

and, if I try to reverse 29,97 --> 25 I receive an error.

How can I manage to 'strip the flags' and transform the 'fake' 29.97 fps file into a 'true' 23,976 fps one?
Because, the "custom" conversions 23,976 -> 25 were successful.
But I didn't want to encode! If I could wait so much time, I just had to use TMPGenc 2.5 Plus or TMPGenc 3 Xpresss.
Thanks very much

Guest
29th September 2006, 12:05
How can I manage to 'strip the flags' and transform the 'fake' 29.97 fps file into a 'true' 23,976 fps one? From the help file:

"Note that if the custom rate conversion is selected, and if the source rate is specified as equal to the destination rate, then all pulldown is removed and the stream is flagged as having a rate equal to the specified destination rate."

So, set custom with source and dest rates both at 23.976fps.

aldaco12
29th September 2006, 14:26
Thankd. I would never have guessed that!!

Guest
29th September 2006, 14:29
Thankd. I would never have guessed that!! Even after reading the help file? :)