aegisofrime
6th January 2010, 13:40
Hi, I wondering if the following is possible.
What I would like is a first part, that compares adjacent frames. If the difference is too great, indicating a bad or corrupted frame, the frame numbers will be stored in a text file or some other method, for the second part.
The second part will be to feed the bad frames found into MFlowInter so that it can interpolate and fix these frames.
The MFlowInter script recommended on the MVtools site:
AVISource("c:\test.avi") # or MPEG2Source, DirectShowSource, some previous filter, etc
super = MSuper()
backward_vectors = MAnalyse(super, isb = true, delta=2)
forward_vectors = MAnalyse(super, isb = false, delta=2)
inter = MFlowInter(super, backward_vectors, forward_vectors, time=50, ml=70)
# Assume bad frames are 50 and 60
trim(0,49) ++ inter.trim(49,-1) \
++ trim(51,59) ++ inter.trim(59,-1) ++ trim(61,0)
The scripting is too complex for me, and I'm wondering if anyone can help me on this. Thanks!
What I would like is a first part, that compares adjacent frames. If the difference is too great, indicating a bad or corrupted frame, the frame numbers will be stored in a text file or some other method, for the second part.
The second part will be to feed the bad frames found into MFlowInter so that it can interpolate and fix these frames.
The MFlowInter script recommended on the MVtools site:
AVISource("c:\test.avi") # or MPEG2Source, DirectShowSource, some previous filter, etc
super = MSuper()
backward_vectors = MAnalyse(super, isb = true, delta=2)
forward_vectors = MAnalyse(super, isb = false, delta=2)
inter = MFlowInter(super, backward_vectors, forward_vectors, time=50, ml=70)
# Assume bad frames are 50 and 60
trim(0,49) ++ inter.trim(49,-1) \
++ trim(51,59) ++ inter.trim(59,-1) ++ trim(61,0)
The scripting is too complex for me, and I'm wondering if anyone can help me on this. Thanks!