Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 25th December 2010, 04:42   #1  |  Link
Daemon404
Registered User
 
Join Date: Mar 2005
Posts: 128
AviSynth Port: Cross-Conversion Correction

Okay so some people wanted an AviSynth port of a certain AviUtl plugin called Cross-Conversion Correction, so here it is. This is a clean room (sort of) port, as the original plugin has no source code.

It's aim is to fix the interlaced upscaling that Japanese broadcasts and Blu-rays seem to use (near as I can tell). This plugin is specifically meant for 720->1080 conversions. Maybe I'll eventually try and figure out 480/486->1080 stuff.

Screenshot Examples:
Original | ccc() | ccc720()

Please read the included readme for a better description (translated from the original Japanese readme).

ccc() takes YV12 input and ccc720() takes YUY2 input, and both take one parameter (phase), described in the readme.

Original Plugin: http://www.geocities.jp/flash3kyuu/
AviSynth Port: http://japland.org/ccc/ccc_v0.4a_avs.zip

Note: The code for 720 output mode is a direct port from the code dump of the original AviUtl plugin, so don't expect it to be great. I don't really have motivation to clean it up (even if it is little effort) because I haven't actually found a plausible real-world use case for this mode yet.

Last edited by Daemon404; 25th December 2010 at 04:46.
Daemon404 is offline   Reply With Quote
Old 25th December 2010, 06:25   #2  |  Link
jmac698
Registered User
 
Join Date: Jan 2006
Posts: 1,862
I would describe the effect as thus; an image contains a grid where each square represents a replacement for a brightness, this is applied to the video. So a gradient of grey would show a normal video, but a tile of ASCII would make an ASCII video (like in VLC). Weird colors make a cool thermal cam effect.
Is that right?
jmac698 is offline   Reply With Quote
Old 25th December 2010, 06:54   #3  |  Link
Daemon404
Registered User
 
Join Date: Mar 2005
Posts: 128
If you can read Japanese, then try these:

http://geocities.yahoo.co.jp/gl/flas...0908?.begin=11
http://geocities.yahoo.co.jp/gl/flas...00908?.begin=6

Might contain some useful info for you.
Daemon404 is offline   Reply With Quote
Old 25th December 2010, 11:55   #4  |  Link
jmac698
Registered User
 
Join Date: Jan 2006
Posts: 1,862
Sorry, wrong thread! I was referring to TurnsTile.
jmac698 is offline   Reply With Quote
Old 27th December 2010, 19:28   #5  |  Link
Daemon404
Registered User
 
Join Date: Mar 2005
Posts: 128
Yeah I thought so. Wasn't really following.
Daemon404 is offline   Reply With Quote
Old 28th December 2010, 04:25   #6  |  Link
thewebchat
Advanced Blogging
 
Join Date: May 2009
Posts: 483
@Daemon404: Since you ported this, could you explain what exactly this does? It seems to reverse interlaced resizing that was done without considering field offset, but why do we need a custom plugin for that? It seems to me that you could get the same result just by using SeparateFields. On a usage-related note, can you better describe what the "phase" parameter does?
thewebchat is offline   Reply With Quote
Old 28th December 2010, 07:36   #7  |  Link
Daemon404
Registered User
 
Join Date: Mar 2005
Posts: 128
Quote:
Originally Posted by thewebchat View Post
@Daemon404: Since you ported this, could you explain what exactly this does? It seems to reverse interlaced resizing that was done without considering field offset, but why do we need a custom plugin for that? It seems to me that you could get the same result just by using SeparateFields. On a usage-related note, can you better describe what the "phase" parameter does?
'phase' is the vertical offset for applying this filter. Since it works in groups of 6 lines, so it tells it on which of these 6 lines to start applying the algorithm on.

As for how said algorithm was derived, I ported this cause someone asked for it, I did not originally write it, nor can I read Japanese. Contact its original author if you want to find that stuff out.

Also, if you can get similar or equal results using anything else (especially using separatefields()), please, do post them, because I haven't seen another method that yields as good of results. (You can try it on the original.png file in the post.)

And I'm not totally sure what you mean by 'field offset', unless you are speaking of temporally distinct fields (aka 60i content), in which case, this does not seem to be what you want.

P.S. You do such a good job at reading the readme and the code.

Last edited by Daemon404; 28th December 2010 at 08:11.
Daemon404 is offline   Reply With Quote
Old 5th March 2017, 22:15   #8  |  Link
Heaud
Registered User
 
Join Date: Apr 2008
Posts: 55
Does anyone have a mirror to the AviSynth port? It appears that the link no longer works.

Apologies for the necro post.
Heaud is offline   Reply With Quote
Old 6th March 2017, 01:55   #9  |  Link
blaze077
Registered User
 
Join Date: Jan 2016
Posts: 79
Here ya go. The External Filters section of the Avisynth Wiki usually has working links to the filters/scripts. (b'‿')b
blaze077 is offline   Reply With Quote
Old 6th March 2017, 02:25   #10  |  Link
Heaud
Registered User
 
Join Date: Apr 2008
Posts: 55
Thanks! I did not know of the Avisynth Wiki having a list of external filters. Bookmarked for future reference.
Heaud is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 00:01.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, vBulletin Solutions Inc.