Log in

View Full Version : How to manually remove every 6th frame except in 1000th cycle?


SweetDream
5th March 2010, 15:17
I'm trying to NTSC -> PAL conversion.

The pattern is ... ABCDEE ABCDEE ABCDEF(1000th) ABCDEE ABCDEE ... ABCDEE ABCDEE ABCDEF(2000th) ABCDEE ABCDEE ... and it's regularly repeated.

I tried to TDecimate(Mode=1,CycleR=166,Cycle=1001) but looks choppy. :(

Is there any way to remove duplicate frames except the every 1000th frames manually?

rkalwaitis
5th March 2010, 15:33
perhaps there is a way to use trim to rid your self of them.

Here is an example.
Trim(0,100)+Trim(200,300) # returns frames 0 to 100 and 200 to 300 (i.e. removing 101 to 199). This could be coupled with SelectEvery or a range perhpas.

I do not know how long the source is. Im sure the gurus like Gavino or 2bedecided will be along before long to bail you out. :)

AVIL
5th March 2010, 15:58
Hi,

Perhaps it can be done with stickboy's ApplyEvery plugin:

http://avisynth.org/stickboy/ApplyEvery.zip

First insert (with InterleaveEvery) fake frames every 1000 frames. After delete every sixth frame with DeleteEvery

Good luck

Alex_ander
5th March 2010, 16:02
I recently used FDecimate for the same task. It allows for target framerate setting (25 here) in combination with threshold value for duplicate frame detection. Worked good with my material (full DVD; like in your case, somebody had encoded PAL into NTSC by frame repetition). And it's rather fast.

Gavino
5th March 2010, 18:06
If the pattern is totally consistent throughout, try the following:

AssumeFPS(150000, 5001)
ChangeFPS(25)

This should remove 999 frames from every 6000.

stickboy
8th March 2010, 10:54
Hi,
Perhaps it can be done with stickboy's ApplyEvery plugin:

First insert (with InterleaveEvery) fake frames every 1000 frames. After delete every sixth frame with DeleteEvery I don't think that would work, but you could use SelectEvery to save every 6000th frame, use DeleteEvery to delete every 6th frame, and then use InterleaveEvery to insert the 6000th frames back in.