Convert60ito24p

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
m (1 revision)
(add categories and one more link)
Line 1: Line 1:
 +
{{FilterCat4|External_filters|Scripts|Adjustment_filters|Frame_Rate_Conversion}}
 
I've made a script that converts 60i video to 24p avoiding jerkyness in motion using blending. <br>
 
I've made a script that converts 60i video to 24p avoiding jerkyness in motion using blending. <br>
 
since I am a PAL - man I cannot test on a wide spectrum of NTSC - sources.
 
since I am a PAL - man I cannot test on a wide spectrum of NTSC - sources.
Line 86: Line 87:
 
  }
 
  }
  
== Links ==
+
==External Links ==
 
* [http://forum.doom9.org/showthread.php?s=&threadid=63368 Convert60ito24p thread in doom9]
 
* [http://forum.doom9.org/showthread.php?s=&threadid=63368 Convert60ito24p thread in doom9]
 
+
* [http://home.arcor.de/scharfis_brain/60ito24p.html scharfis_brain's 60ito24p webpage]
[[Category:External filters]]
+
<br>
 +
<br>
 +
-----------------------------------------------
 +
'''Back to [[External_filters#Frame_Rate_Conversion|External Filters]] &larr;'''

Revision as of 17:42, 8 March 2015

I've made a script that converts 60i video to 24p avoiding jerkyness in motion using blending.
since I am a PAL - man I cannot test on a wide spectrum of NTSC - sources.

are there any volunteers, who can do tests with my script?
I think, especially mode 2 of this script could be useful on non decimatable animes...

Contents

usage:

import(convert60ito24p.avs)
loadplugin(your 60fps deinterlacer like dgbob or tomsbob)
xxxsource("clip")
your60fpsdeinterlacer()
convert60ito24p(2,0)

mode - parameter:


0 uses simple 24 out of 60 selection -> jerky motion

Code:

.A B C D E F G H I J K L M N O P Q R <- input sequence

  |     |   |     |   |     |   |    <- | = direct copy
  1    2    3    4    5    6    7    <- resulting output sequence

1 introduces a blending of every other frame from its nearest neighbors

Code:

.A B C D E F G H I J K L M N O P Q R <- input sequence

  |   \ /   |   \ /   |   \ /   |    <- | = direct copy ; \ / = 50:50 blending
  1    2    3    4    5    6    7    <- resulting output sequence

this mode delivers a non-jerky motion and should be used with shutter speeds below 1/60sec! ie. 1/120 or shorter

2 uses blending on every frame like this:

Code:

.A B C D E F G H I J K L M N O P Q R <- input sequence

 \|/  \ /  \|/  \ /  \|/  \ /  \|/   <- \|/ = 25:50:25 blending ; \ / = 50:50 blending
  1    2    3    4    5    6    7    <- resulting output sequence

mode 2 is ideal for shutter speed of 1/60 sec since it simulates very close the 24p (1/24sec) motion blur and thus giving a really smooth 24p - motion as a positive side-effect, this mode reduces noise and nearly comletely eliminates remained line flickering of the deinterlacing!

every other number given to mode delivers the the input directly to the output (60fps)

offset - parameter:


here you can apply a offset for selecting the 2 out of 5 frames - pattern.

function convert60ito24p(clip video, int mode, int offset)
{
work = assumefieldbased(video)

out = (mode==3) ? interleave (
\  selectevery(
  \  overlay(trim(work, 1, 0),
    \  overlay(work, trim(work, 2, 0), mode="blend", opacity=0.5),
    \  mode="blend", opacity=0.5), 5, 0 + offset),
\  selectevery(
  \  overlay(
    \  overlay(work, trim(work, 3, 0), mode="blend", opacity=0.5),
    \  overlay(trim(work, 2, 0), trim(work, 1, 0), mode="blend", opacity=0.5),
    \  level = 170), 5, 2 + offset)) :

\  (mode==2) ? interleave(
  \  selectevery(
    \  overlay(trim(work, 1, 0),
    \  overlay(work, trim(work, 2, 0), mode="blend",opacity=0.5),
    \  mode="blend",opacity=0.5), 5, 0 + offset),
  \  selectevery(
    \  overlay(work, trim(work, 1, 0), mode="blend",opacity=0.5), 5, 3 + offset)) :

\  (mode==1) ? interleave(
  \  selectevery(trim(work, 1, 0), 5, 0 + offset),
  \  selectevery(overlay(work, trim(work, 1, 0), mode="blend",opacity=0.5), 5, 3 + offset)) :

\  (mode==0) ? selectevery(work, 5, 1 + offset, 4 + offset) : work

assumeframebased(out)
}

External Links




Back to External Filters

Personal tools