I've got a clip with black horizontal lines popping up every now and then. I was going through and trying to replace them out, when I hit the one attached as qtgmc.avi - it's around for too long for FixRips() to work and around too much movement for ReplaceFramesMC() to work.
And yet if I look at the original, each half of it is only present for one frame. QTGMC() is making it bad enough that I can't fix it.
What is it, and is there a better way to get rid of it?
QTGMC can sometimes carry defects over from other frames, we know that. You could process those two frames separately and incorporate them back into the master before running other processes. I made two versions:
version 1, frame 2:
frame 2, version 2
Notice that version 1 has some ragged spots in the curve of the white court markings near where the figure is standing by the sidelines. Version 2 uses a different method that keeps that area cleaner.
Script for version 1, if you don't mind a small one-frame blotch of marker spots that o one will notice. Do this with the bad frames before any cropping or other processing and patch the repair into the master:
Code:
AviSource("path:\interlaced.avi")
ConvertToYV12(interlaced=true)
AssumeTFF()
a=SeparateFields()
return last
e=a.SelectEven().TurnRight().RemoveSpotsMC3().TurnLeft()
o=a.SelectOdd().TurnRight().RemoveSpotsMC3().TurnLeft()
interleave(e,o)
Weave()
return last
Script 2 if you want to be more picky and also avoid some of the softening and temporary blotch of of RemoveSpots3. Do this with the bad frames before any cropping or other processing and patch the repair into the master:
I love this phrasing. It's like you have absolutely no idea what's going on, and then all of a sudden: "sidelines".
The area between the top of the key and the three-point line looks worse than the area on the 45.
8 years of high school and college sports, plus three major league baseball players in the family, maxed out my lifetime capacity for sports.
Quote:
Originally Posted by koberulz
What's the difference between MC and MC3?
MC3 repeats MC three times with special masking to retain detail (much slower).
Quote:
Originally Posted by koberulz
Why do the fields need to be rotated before running the latter?
Sometimes cleaning thin verticals works better than cleaning thin horizontals.
-- merged --
Getting in too much of a hurry, must be losing it. Here's a corrected version of the "Version 1" script in post #2 :
Code:
AviSource("path:\interlaced.avi")
ConvertToYV12(interlaced=true)
AssumeTFF()
a=SeparateFields()
## return last #<- for testing only
e=a.SelectEven().TurnRight().RemoveSpotsMC3().TurnLeft()
o=a.SelectOdd().TurnRight().RemoveSpotsMC3().TurnLeft()
interleave(e,o)
Weave()
return last
If you run it as written in post #2 it just separates fields and stops.
I'm having the same issue with script one that I had with the FixRips script on my old machine - it works fine for a while, estimating about 24 hours to complete, then eventually just freezes with 'current video frame' not changing and the 'total time (estimated)' climbing at about two seconds per second.
If you're saying you have a tape that has hours of the same defects in hundreds of thousands of frames, I'd say to either return the tape to the owner as unusable or explain that you can't reasonably be expected to correct every one of their unreasonably stupid mistakes and media abuses.
You're confusing their standards with my standards.
So my plan was to run your script on the whole thing, then sub it in to the 20 minutes of footage I'd already gone through post-QTGMC (in place of the ReplaceFramesMC-and-crop that we used for the tearing on that other game).
However, the result of your script, when put through QTGMC, just doubles each frame. There appear to be no differences between fields anymore.
Am I stuck going back to the beginning and halving all the frame numbers and vertical cropping measurements?
The scripts in post #2 were run on your interlaced.avi sample and re-interlaced.
The two result samples are also interlaced.
That script doesn't use QTGMC. If you have a different version , show us what you're doing.
Getting in too much of a hurry, must be losing it. Here's a corrected version of the "Version 1" script in post #2 :
Code:
AviSource("path:\interlaced.avi")
ConvertToYV12(interlaced=true)
AssumeTFF()
a=SeparateFields()
## return last #<- for testing only
e=a.SelectEven().TurnRight().RemoveSpotsMC3().TurnLeft()
o=a.SelectOdd().TurnRight().RemoveSpotsMC3().TurnLeft()
interleave(e,o)
Weave()
return last
If you run it as written in post #2 it just separates fields and stops.
The file "interlaced_version1.avi" contains 5 interlaced frames, as shown when opened in VirtualDub. The total number of frames from 0 to 4 equals 5 frames.
I clearly see interlaced combing. I'm sorry that RemoveSpotsMC3 cleaned edges to the point where the original combing effects had been smoothed out somewhat. I apologize for improving that aspect of the appearance of the frames. Under the circumstances I found it difficult to avoid.
I ran QTGMC on "interlaced_version1.avi" using the following script:
The result of that script is attached as "interlaced_version1_QTGMC.avi" (http://www.digitalfaq.com/forum/atta...1&d=1507772362). The result is a progressive file containing 10 frames numbered 0 through 9. The frames are numbered as in the list below:
Code:
0 1 2 3 4 5 6 7 8 9
Please let us know the frame numbers of "interlaced_version1_QTGMC.avi" that are doubled or duplicated.
D'oh. I copied that code from your earlier post, not the AVS I used. I did remove the 'return last' line, but it seems I somehow also changed SelectOdd() to SelectEven().
Carry on.
What causes these black marks anyway? I went to work on a different tape from two years later, that would have at least initially been produced in an entirely different way, and it has the same problem. Identically in two different captures from two different VCRs, so it's clearly inherent to the original tapes.