Mentar
25th May 2003, 17:09
I'm posting this for a friend of mine who has developed a tool which I found extremely useful for dealing with nasty hybrid anime clips. He's still got to wait a few days before his account is activated, so I'm posting this in his name:
---------------------------------------------------------------
Hi all,
I coded up a quick and dirty utility that I've found to be amazingly helpful in dealing with decomb failures. Basically, it uses the output from Telecide()'s debug=true option as well as the manual override features of telecide() and decimate() to implement a crude 2-pass decomb process. The logic is incredibly simple, but it has worked wonders for several of our test DVDs. This utility is useful for clips where decomb abruptly stops matching the fields correctly. In our case, this usually came after a scene change... we would get good matching, then the scene would change and the matching would be bad, then things would be fine again after the next scene change.
It also works wonders where one would see a single combed frame at a scene change. (A perfect example is the Lupin III TV DVDs by Pioneer, where every scene change had a combed frame with no good match)
Telecide() already has a great way to test for combed frames by enabling post=true and debug=true. This creates a large logfile with the still-combed frames clearly marked. The utility parses this information to find out frames that have still been combed, and then makes a decision on how to deal with the frames in question. Ideally, we want to find all frames that come out of Telecide() still combed, and fix them on the next pass. This involves either: 1) correctly choosing the right field to match with, or 2) decimating the frame away.
Implementation:
The user specifies a number of bad frames within a certain range (N and M) to see if the pattern has been broken. So, if the user set N=3 and M=8, the program would find a bad frame, and then advance to see if there are 2 more bad frames within the next M-1 frames. If there are N bad frames within the M frames, the program guesses the proper field, and adds the entry into telecide_override.txt. If there are not N bad frames within M, the program assumes it was a single-frame decomb failure, (i.e. "bad decomb at scene change" failure), and adds the frame number to telecide_override.txt so it may be decimated away.
Like I said, this is maddingly simple If there is a group of bad frames, it assumes something changed in the scene, so all it does is switch the field to match with (i.e. p->c or c->p) if the frame is bad. If there is just a single combed frame surrounded by clean frames, it assumes (reasonably) that the frame is bad, or has no correct match and simply decimates it away.
Anyways, a more detailed description with the limitations of the program as well as a sample log and .avs file can be found at http://www.cae.wisc.edu/~gayeski/
@neuron2
I noticed on your journal that you were planning on writing a new version of decomb.dll, and I was wondering if you had any plans to include something like this in your next version. I plan to take a look at the source of decomb and see if I can put something like this in. Any ideas you have would be great, and thanks for the wonderful filter!
@any moderator/forum operator.
If someone could unlock my account (cuisinart) it would be easier than relaying messages. I just registered and still have 4 days left to wait. Thanks.
---------------------------------------------------------------
Hi all,
I coded up a quick and dirty utility that I've found to be amazingly helpful in dealing with decomb failures. Basically, it uses the output from Telecide()'s debug=true option as well as the manual override features of telecide() and decimate() to implement a crude 2-pass decomb process. The logic is incredibly simple, but it has worked wonders for several of our test DVDs. This utility is useful for clips where decomb abruptly stops matching the fields correctly. In our case, this usually came after a scene change... we would get good matching, then the scene would change and the matching would be bad, then things would be fine again after the next scene change.
It also works wonders where one would see a single combed frame at a scene change. (A perfect example is the Lupin III TV DVDs by Pioneer, where every scene change had a combed frame with no good match)
Telecide() already has a great way to test for combed frames by enabling post=true and debug=true. This creates a large logfile with the still-combed frames clearly marked. The utility parses this information to find out frames that have still been combed, and then makes a decision on how to deal with the frames in question. Ideally, we want to find all frames that come out of Telecide() still combed, and fix them on the next pass. This involves either: 1) correctly choosing the right field to match with, or 2) decimating the frame away.
Implementation:
The user specifies a number of bad frames within a certain range (N and M) to see if the pattern has been broken. So, if the user set N=3 and M=8, the program would find a bad frame, and then advance to see if there are 2 more bad frames within the next M-1 frames. If there are N bad frames within the M frames, the program guesses the proper field, and adds the entry into telecide_override.txt. If there are not N bad frames within M, the program assumes it was a single-frame decomb failure, (i.e. "bad decomb at scene change" failure), and adds the frame number to telecide_override.txt so it may be decimated away.
Like I said, this is maddingly simple If there is a group of bad frames, it assumes something changed in the scene, so all it does is switch the field to match with (i.e. p->c or c->p) if the frame is bad. If there is just a single combed frame surrounded by clean frames, it assumes (reasonably) that the frame is bad, or has no correct match and simply decimates it away.
Anyways, a more detailed description with the limitations of the program as well as a sample log and .avs file can be found at http://www.cae.wisc.edu/~gayeski/
@neuron2
I noticed on your journal that you were planning on writing a new version of decomb.dll, and I was wondering if you had any plans to include something like this in your next version. I plan to take a look at the source of decomb and see if I can put something like this in. Any ideas you have would be great, and thanks for the wonderful filter!
@any moderator/forum operator.
If someone could unlock my account (cuisinart) it would be easier than relaying messages. I just registered and still have 4 days left to wait. Thanks.