digitalFAQ.com Forum

digitalFAQ.com Forum (https://www.digitalfaq.com/forum/)
-   Restore, Filter, Improve Quality (https://www.digitalfaq.com/forum/video-restore/)
-   -   Horizontal black lines made worse by QTGMC? (https://www.digitalfaq.com/forum/video-restore/8231-horizontal-black-lines.html)

koberulz 09-28-2017 06:03 AM

Horizontal black lines made worse by QTGMC?
 
2 Attachment(s)
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?

sanlyn 09-28-2017 10:36 AM

4 Attachment(s)
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:
http://www.digitalfaq.com/forum/atta...1&d=1506612370

frame 2, version 2
http://www.digitalfaq.com/forum/atta...1&d=1506612511

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:
Code:

AviSource("path:\interlaced.avi")
ConvertToYV12(interlaced=true)
AssumeTFF()
a=SeparateFields()
e=a.SelectEven()  #image=720x288
o=a.SelectOdd()  #image=720x288 

e1=e
b0=e1
b01=e1.ReplaceFramesMC(3,1).Crop(458,130,-224,-154)
b02=Overlay(b0,b01,x=458,y=130)
e2=ReplaceFramesSimple(e,b02,mappings="3")

o1=o
b0=o1
b01=o1.TurnRight().RemoveSpotsMC3().TurnLeft().Crop(294,130,-272,-156)
b02=Overlay(b0,b01,x=294,y=130)
o2=ReplaceFramesSimple(o,b02,mappings="2")

interleave(e2,o2)
Weave()
return last

Either way, I don't think viewers will notice.

koberulz 09-28-2017 11:10 AM

Quote:

the white court markings near where the figure is standing by the sidelines.
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.

What's the difference between MC and MC3? Why do the fields need to be rotated before running the latter?

sanlyn 09-28-2017 12:16 PM

Quote:

Originally Posted by koberulz (Post 51053)
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 (Post 51053)
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 (Post 51053)
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.:smack:

koberulz 10-03-2017 10:09 PM

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.

sanlyn 10-04-2017 08:52 AM

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.

Or process smaller segments and join them later.

koberulz 10-04-2017 10:05 AM

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?

sanlyn 10-10-2017 11:58 AM

what script?

koberulz 10-10-2017 12:24 PM

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


sanlyn 10-10-2017 12:44 PM

It works with fields, not frames, and re-weaves at the end. How does that double the frames?

koberulz 10-10-2017 01:16 PM

If I run QTGMC on the result of that script, I get doubled frames, instead of 50 unique frames per second.

sanlyn 10-10-2017 01:22 PM

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.

koberulz 10-10-2017 04:22 PM

No, that script doesn't. But if I save that as an AVI then run QTGMC - with a new script - frames are doubled.

You can see even with just your script that the combing completely disappears.

sanlyn 10-11-2017 08:44 PM

3 Attachment(s)
Attached and linked below is the same "interlaced.avi" original sample that you posted in post #1:

http://www.digitalfaq.com/forum/atta...1&d=1507770482
and here is a direct link to your original posted version: http://www.digitalfaq.com/forum/atta...-interlacedavi

Here is the script that you say I ran on that interlaced original, but which had an unwanted "remove last" on line 5 in the original post:
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

Here is the correction that I posted, in its entirety, in post #5 (http://www.digitalfaq.com/forum/vide...html#post51058), and which you apparently ignored:
Quote:

Originally Posted by sanlyn (Post 51058)
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.:smack:

The result of that corrected script was posted in post #2 (http://www.digitalfaq.com/forum/vide...html#post51050) as "interlaced_version1.avi". Here is a link to the original posted result named "interlaced_version1.avi": http://www.digitalfaq.com/forum/atta...ed_version1avi. In case you have a problem locating that post. a copy of "interlaced_version1.avi" is attached below.

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:

Code:

AviSource("path:\interlaced_version1.avi")
AssumeTFF()
QTGMC(preset="super fast")

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.

koberulz 10-12-2017 07:30 AM

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.

sanlyn 10-22-2017 08:54 AM

Usually grit, fine metallic dust, dislodged tape particles on rollers. A dirty player and poor tape storage conditions.


All times are GMT -5. The time now is 09:49 AM

Site design, images and content © 2002-2024 The Digital FAQ, www.digitalFAQ.com
Forum Software by vBulletin · Copyright © 2024 Jelsoft Enterprises Ltd.