全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50  

お前らのショボイAvisynthスクリプト貼ってくださいpart2

1 名前:名無しさん@編集中:2006/07/21(金) 22:09:52 ID:ven1fJLR
前スレ
お前らのショボイAvisynthスクリプト貼ってください
http://pc8.2ch.net/test/read.cgi/avi/1030537641/

関連スレ
Avisynthを絶讃ιょぅょ Part21
http://pc8.2ch.net/test/read.cgi/avi/1139403989/


もっと貼れ

2 名前:名無しさん@編集中:2006/07/21(金) 22:28:59 ID:ven1fJLR
ごめんなさい貼ってください

3 名前:名無しさん@編集中:2006/07/21(金) 22:50:28 ID:9ej62NjT
立ったのか次スレ
あれだけ遅かったスレが1000近くまで行くとは感無量ですぞ

4 名前:名無しさん@編集中:2006/07/21(金) 23:35:59 ID:ven1fJLR
前スレの962さんが指摘してる端数切捨て問題解決してくださいよぉ

5 名前:名無しさん@編集中:2006/07/22(土) 00:16:36 ID:y6VUOZnw
にーやんのところでは
a = src.Trim(0,100).IT(fps=24, ref="TOP")
b = src.Trim(101,200).IT(fps=30, ref="TOP")
c = src.Trim(201,300).IT(fps=24, ref="TOP")

tcpath = "c:\tmp\timecode.txt"
all = EasyVFR_Create(src, a, tcpath)
all = all.EasyVFR_Append(b, tcpath)
all = all.EasyVFR_Append(c, tcpath)
all
だけど以下のようにすることにした
Function mod_FPS(clip clip,string "IVTC"){
sf=clip.framecount
clip=Eval("clip."+IVTC)
ff=clip.framecount
clip=Eval("clip.assumefps("+string(ff*sn)+","+string(sf*sd)+",False)")
return clip
}
a = src.Trim(0,100).mod_FPS("""IT(fps=24, ref="TOP")""")
b = src.Trim(101,200).mod_FPS("""IT(fps=30, ref="TOP")""")
c = src.Trim(201,300).mod_FPS("""IT(fps=24, ref="TOP")""")

6 名前:1:2006/07/22(土) 00:17:36 ID:y6VUOZnw
tcpath = "c:\tmp\timecode.txt"
all = EasyVFR_Create(src, a, tcpath)
all = all.EasyVFR_Append(b, tcpath)
all = all.EasyVFR_Append(c, tcpath)
all

これで解決か?

7 名前:名無しさん@編集中:2006/07/22(土) 00:18:53 ID:y6VUOZnw
お・・・assumefpsのところEvalいらねぇやw

8 名前:名無しさん@編集中:2006/07/22(土) 00:23:19 ID:y6VUOZnw
お・・・www
阿呆だ('A`)こっちじゃないと動かんね
Function mod_FPS(clip clip,string "IVTC"){
sf=clip.framecount
sn=clip.FramerateNumerator
sd=clip.FramerateDenominator
clip=Eval("clip."+IVTC)
ff=clip.framecount

clip=Eval("clip.assumefps("+string(ff*sn)+","+string(sf*sd)+",False)")
return clip
}

9 名前:名無しさん@編集中:2006/07/22(土) 07:44:56 ID:Tfq4UgGw
なくて寂しかった。>>1
前スレには大いに助けられたなあ

10 名前:名無しさん@編集中:2006/07/25(火) 19:54:19 ID:h5CHz3K4
AE並みの編集が可能なスクリプト群を暇な時に作ってください

11 名前:名無しさん@編集中:2006/08/08(火) 10:05:34 ID:ZLPqWeg6
新スレおめ

12 名前:名無しさん@編集中:2006/08/08(火) 13:51:27 ID:JWH0oHzQ
EasyVFR作ってくれたヒトアリガトー
マジ重宝してまつ

13 名前:名無しさん@編集中:2006/09/05(火) 19:44:23 ID:t9/4UIef
ffunction KeepAspectResize1(clip clip, int newW, int newH, int "bcolor")
{
aspect = (float(clip.width) / float(clip.height))
w = int(newH * aspect)
b = newW >= w
w = b ? w : newW
h = b ? newH : int(newW / aspect)
h = int(h / 2) * 2
c = clip.Lanczos4Resize(w, h)
borderW = newW - w
borderH = newH - h
c = c.AddBorders(borderW/2, borderH/2,
\ borderW-borderW/2, borderH-borderH/2, bcolor)
return c
}



14 名前:名無しさん@編集中:2006/09/20(水) 23:39:43 ID:JAZ7dmNq
     。 ο     ,.。 ο
   ο
     ,.  ゚   ο    o
   。   o
 ο     。    ゚  ο
  ,ヘ、 ,.:-一;:、ο人がまるでいない・・・
_,.-';:  ミ;;:;,. _,.;:゙ミ '^ー、 ο    。
    ,r( ´・ω・) ,.*。\,r'!  ο
.,。   ツィー=ニ彡'   ,.。 _j
   〜'l  つとノ  '" {-'
    ,.;:;u‐―u' ,.。* ._,.-!
-=、,r'        ,r='i:,ィ'
 ,.*。    ,__,.-=':トー'
ヘ_,、   /;;::-一'
‐-、`-'iニレ'^'

15 名前:名無しさん@編集中:2006/10/09(月) 15:29:33 ID:B67vZM4M
EasyVFRでタイムコードだしてtc2cfrに投げると
Number of data chunks does not match frame count.
とかでて止まる。ナニコレ。誰か助けて。

# timecode format v1
Assume 29.970030
0,4649,23.976025
4650,7341,29.970030
7342,35289,23.976025

タイムコードが↑でaviは29.97fpsでできてる模様。

16 名前:名無しさん@編集中:2006/10/12(木) 21:13:17 ID:ncqGs7PQ
前スレのdatキボンヌ

17 名前:名無しさん@編集中:2006/10/12(木) 21:32:16 ID:cRL49dXh
http://www.geocities.jp/mirrorhenkan/url.html?u=http://pc8.2ch.net/test/read.cgi/avi/1030537641/

18 名前:名無しさん@編集中:2006/10/19(木) 01:38:47 ID:c0V6DE1P
に〜やんのところ池

19 名前:sage:2006/10/29(日) 23:24:45 ID:FuQtmUD3
>>15

それ多分、端数問題で引っかかってる。
俺もそのエラー出たけど

Function mod_FPS(clip clip,string "IVTC"){
sf=clip.framecount
sn=clip.FramerateNumerator
sd=clip.FramerateDenominator
clip=Eval("clip."+IVTC)
ff=clip.framecount

clip=Eval("clip.assumefps("+string(ff*sn)+","+string(sf*sd)+",False)")
return clip
}

a = src.Trim(0,100).mod_FPS("""IT(fps=24, ref="TOP")""")
b = src.Trim(101,200).mod_FPS("""IT(fps=30, ref="TOP")""")
c = src.Trim(201,300).mod_FPS("""IT(fps=24, ref="TOP")""")

tcpath = "c:\tmp\timecode.txt"
result = EasyVFR_Create(src, a, tcpath)
result = all.EasyVFR_Append(b, tcpath)
result = all.EasyVFR_Append(c, tcpath)
result


ってな具合に>>8のをEasyVFRに加えたら出来た。

20 名前:名無しさん@編集中:2006/10/29(日) 23:28:25 ID:FuQtmUD3
うぉ・・・・
あまりに久しぶりだったからsageの書く場所間違えてしまった。
スミマセン・・・・。

21 名前:名無しさん@編集中:2006/10/30(月) 02:05:10 ID:Urc+xqmd
♪ ∧,_∧
   (´・ω・`) ))
 (( ( つ ヽ、   ♪
   〉 とノ )))
  (__ノ^(_)

22 名前:名無しさん@編集中:2006/11/13(月) 14:31:20 ID:O7l1lOuS
ITで30fpsのインタレ解除って出来ない?
6フレームに1フレームミスるんだけど・・・

23 名前:22:2006/11/13(月) 14:31:54 ID:O7l1lOuS
ごめん場所間違えた

24 名前:名無しさん@編集中:2006/11/15(水) 18:32:03 ID:wkPsdoUE
#ASYNTHER QuickTime 30.00fps
LoadVFAPIPlugin("C:\Program Files\AviSynth 2.5\plugins\QTReader.vfp","QTReader")
[QTReader("%f")]
ChangeFPS(30.00)
FlipVertical

でquicktimeをvirtualdubで読み込めたんですが。
ついでにwavで出力してる音声を読み込むのってどう書きますか?

25 名前:名無しさん@編集中:2006/11/15(水) 18:48:47 ID:nQ5D0RwA
ここは自慢のスクリプトを貼り付けてそれを肴に語らうところらしいよ。
どこかで聞いた話じゃ2chのAviSynth関連スレは初心者お断りなんだって。

26 名前:名無しさん@編集中:2006/11/15(水) 18:51:21 ID:kqED7NZk
とゆうかVDスレでも似たようなこともうきいてるじゃんか

27 名前:名無しさん@編集中:2006/11/15(水) 22:38:15 ID:OF+qTVTn
AudioDub(QTReader(), WaveSource() )

28 名前:名無しさん@編集中:2006/11/15(水) 22:39:36 ID:OF+qTVTn
WAVSource()

29 名前:名無しさん@編集中:2006/11/16(木) 00:24:48 ID:6IXOD+ie
>25
勉強する意欲があり、向上心があり、独力でできるところまでやっている事が伝わってくる
そんな初心者はとても歓迎されてるよ。
自分では調べもしない、試しもしない、他人を利用することしか頭に無い
そんな奴は初心者とは呼べない。synth関連スレに限らずね。

ま、ここはショボスクでも何でもいいからとにかく貼るスレだから、とりあえず貼れ。とっとと貼れ。

30 名前:名無しさん@編集中:2006/11/16(木) 21:39:56 ID:vTv912wj
>>29
だったら本スレで質問しろってことだ
それより早く貼ってくだちい

31 名前:名無しさん@編集中:2006/11/17(金) 01:51:26 ID:lo5LkW8J
手動逆テレシネフィルタ

function ITC(clip, order){

var a, l; //Declare variables.
a = new Array((1+2*order)%10 ,(4+2*order)%10 ,(6+2*order)%10, (8+2*order)%10);
l = a.sort() ;
AVS.inc=doubleweave(clip);//Sort the array.
AVS.inc=selectevery(inc,10,l[0],l[1],l[2],l[3]) ;
return AVS.inc;
}

32 名前:名無しさん@編集中:2006/11/17(金) 01:54:29 ID:lo5LkW8J
要warpsharp
もっと簡単なのあったらオシエテ
こんな感じでツカウ
ITCws = WScript("C:\Program Files\AviSynth 2.5\script\ITC.js", "JScript")
source=avisource("test.avi")
ITCws.WSInvoke("ITC",source,1)

33 名前:名無しさん@編集中:2006/11/24(金) 16:50:09 ID:+ASBD2Vz
IVTCの端数調整をした timecode v1 を出力するスクリプト
自分用なのでグローバル変数使いまくりの上,解り難いサンプル付属
意外に長くなったんでアップローダに上げました
直張りじゃないとまずいかな?

pass avisynth
http://www.uploda.org/uporg590915.zip.html

34 名前:名無しさん@編集中:2006/11/24(金) 16:59:03 ID:zPkmPH3s
オレはReena!->tbl->timecodev2->MP4ッス

35 名前:名無しさん@編集中:2006/11/25(土) 01:42:37 ID:+MzjhZT0
>>33
ここに貼ったら?そのためにあるんだし

36 名前:名無しさん@編集中:2006/11/25(土) 03:12:23 ID:evKmd4rO
単に長いことだけが理由なら、ここにも貼ってほしいね。
寂しいスレだし。

37 名前:名無しさん@編集中:2006/11/25(土) 08:34:28 ID:uiH2xf57
>>33
そこ早すぎ。もう流れてるよ。

38 名前:名無しさん@編集中:2006/11/25(土) 09:59:52 ID:oQBPEXFf
問題ないようなんで貼ってみる

function inittimecode ( clip c, string "filename" ) {
global timecode_filename = default( filename, "default-timecodes.txt" )
global sourceclip = c
global prevframe = -1
global tc_implicit = false
WriteFileStart( BlankClip(length=0), timecode_filename, """ "# timecode format v1"+chr(10)+"Assume "+string(sourceclip.framerate) """ )
}

function tcimplicit ( int a, int b, string "filter", bool "avg" ) {
global tc_implicit_filter = default( filter, "noop()" )
global tc_implicit_avg = default( avg, false )
global tc_implicit = true
global tc_implicit_st = a
global tc_implicit_ed = b
}

global a24d = """Auto24FPS( drop=false,mode="blend" )"""
global it = "IT( diMode=0 )"+a24d
global a24 = """Auto24FPS( mode="blend" )"""
global a602 = "DoubleWeave().a60224()"
global pd = "DoubleWeave().Pulldown( 1,3 )"
global td = "TDeint( mode=1 )"
global bd = """AutoDeint( "blend" )"""
global tf = "TFM().TDecimate()"+a24d
global ed = "SeparateFields() EEDI2(field=-2) merge(SelectEven(),SelectOdd())"


39 名前:名無しさん@編集中:2006/11/25(土) 10:00:15 ID:oQBPEXFf
function tc ( int a, int b, string "filter", bool "avg", bool "ignore" ) {
tc_implicit && (a >= tc_implicit_st) && (a <= tc_implicit_ed) && (tc_implicit_st != a) ? \
tc_main( tc_implicit_st,a-1,tc_implicit_filter,tc_implicit_avg ) : nop()

global tc_implicit_st = tc_implicit ? b+1 : 0
tc_main( a,b,filter,avg,ignore )

return last
}

function tc_main ( int a, int b, string "filter", bool "avg", bool "ignore" ) {
init = prevframe < 0 ? true : false
global prevframe = init ? a-1 : prevframe

ignore = default( ignore, false )
avg = default( avg, false )
ignore ? nop() : Assert( prevframe+1 == a, "tc: framenumber no much, "+string(a)+" - "+string(b) )
global prevframe = b

filter = default( filter, "noop()" )
orig = sourceclip.trim( a,b )
proc = eval( "orig."+filter )
proc.framecount > 1 && (avg ? false:true) ? \
maketimecode( init ? BlankClip(length=0) : cur, orig, proc ) : \
maketimecode2( init ? BlankClip(length=0) : cur, orig, proc )

global cur = init ? proc.AssumeFPS( sourceclip.framerate ) : cur + proc.AssumeFPS( sourceclip.framerate )

global audiosource = init ? orig : audiosource + orig
return sourceclip.HasAudio() ? AudioDubEx( proc,audiosource ) : proc
}


40 名前:名無しさん@編集中:2006/11/25(土) 10:00:36 ID:oQBPEXFf
function tcdraw () {
tc_implicit && (tc_implicit_st <= tc_implicit_ed) ? \
tc_main( tc_implicit_st,tc_implicit_ed,tc_implicit_filter,tc_implicit_avg ) \
: nop()

global tc_implicit = false
return sourceclip.HasAudio() ? AudioDubEx( cur,audiosource ) : cur
}

function noop ( clip c ) { return c }

function maketimecode (clip base, clip orig, clip ivtc) {
fps = ivtc.framerate
section = base.framecount + ivtc.framecount-2
fraction = fracivtc( orig, ivtc )
tc = string(base.framecount) + "," + string(section) + "," + string(fps) + chr(10) + string(section+1) + "," + string(section+1) + "," + string(1000 / (1000/fps + fraction))
WriteFileStart( orig, timecode_filename, "tc", append=true )
}

function fracivtc ( clip orig, clip ivtc ) {
originaltime = 1000 / orig.framerate * orig.framecount
ivtctime = 1000 / ivtc.framerate * ivtc.framecount
return originaltime - ivtctime
}


41 名前:名無しさん@編集中:2006/11/25(土) 10:00:58 ID:oQBPEXFf
function maketimecode2 (clip base, clip orig, clip ivtc) {
fps = ivtcfps( orig, ivtc )
tc = string(base.framecount) + "," + string(base.framecount+ivtc.framecount-1) + "," + string(fps)
WriteFileStart( orig, timecode_filename, "tc", append=true )
}

function ivtcfps ( clip orig, clip ivtc ) {
originaltime = 1000 / orig.framerate * orig.framecount
return 1000 / (originaltime / ivtc.framecount)
}

ここまで
ユーザ側で使うのは inittimecode, tc, tcimplicit, tcdraw の4つ

inittimecode ( clip c, string "filename" )
c ソースクリップ.このクリップが操作対象になる
filename 出力されるタイムコードファイル名

tc ( int a, int b, string "filter", bool "avg", bool "ignore" )
a 開始フレーム番号
b 終了フレーム番号
filter 区間(a から b)に掛けるフィルタ.主にIVTC
フィルタ後のフレーム数に合わせたタイムコードが出力されるので,ある程度自由にフレーム数を変えられる
"DoubleWeave().SelectEvery( 10, 0,5 )" とか,動かない場面なら "trim(0,-1)" でもいい
フィルタ後のクリップは勝手に保存される

tcdraw ()
tc() で保存してたクリップを引き出す.とりあえず最後に置く



42 名前:名無しさん@編集中:2006/11/25(土) 10:01:17 ID:oQBPEXFf
使用例
--
prefix="foo"
episode="1"
file=prefix+".d2v"
wav = prefix+" T01 48K 16bit 2ch.wav"

v = mpeg2source( file ).AssumeTFF()
a = WavSource( wav )
AudioDub( v,a )
inittimecode( prefix+episode+"-timecodes.txt" )
tc( 0,432,tf )
tc( 433,976,td )
tc( 977,1324,tf )
tc( 1325,1403,pd )
tc( 1404,1500,tf )
tcdraw()

crop( 8,0,-8,0 )
KenKunNRT()
return last
--

tcimplicit を使うと上のはこう書ける
--
inittimecode( prefix+episode+"-timecodes.txt" )
tcimplicit( 0,1500,tf )
tc( 433,976,td )
tc( 1325,1403,pd )
tcdraw()
--

43 名前:名無しさん@編集中:2006/11/25(土) 13:06:04 ID:aR3nnS3S
長いって言うから100レスくらい使うのかと思ってたのに

44 名前:名無しさん@編集中:2006/12/08(金) 01:05:46 ID:PxLpWLrv
 " " ヾ ; " ; " ; ; ヾ   ⊂⊃
"ゞ ; ; ; ;;ヾ;;ヾ;ゞ..。      ゙ /~~\   ⊂⊃
ヾ ; ;";;/" ;;ヾ...;ヾ||〜'i  "  /    /~~\
; "i "; ;ヾ;.;ヾ;;メヾ.||  .|    _________
ii;, メソ ヾ; ;ゞ." ..||茶.|  /丶丶丶丶丶丶丶丶.\
|i;, |ソ       .||  .|//\丶丶丶丶丶丶丶 ..\
Il;: |       ..||店.|/ 田 \丶丶丶丶丶丶丶丶\
!i;: |        ||  .| ̄ ̄ ̄ ̄|  ̄  ̄  ̄ ̄ ̄ ̄ ̄.‖
|!;; |        ||〜'i | ̄ ̄ ̄|!|      ∧ .∧  . ‖
II;; |        ||  .|!|___|!|      .(,,・ω・)<誰もいない・・・
II;; |        ||  .|     ...| ̄ ̄ ̄| ..(つ旦). ..‖
从 ゝ.,...,  .  l ̄i....|__.   .  |_ |i ̄i|| ̄∪∪ ̄l| |
""""''""" ""''"""''  ''""""""''  ''""" """"''

45 名前:名無しさん@編集中:2006/12/08(金) 22:15:27 ID:qwumTWsL
 " " ヾ ; " ; " ; ; ヾ   ⊂⊃
"ゞ ; ; ; ;;ヾ;;ヾ;ゞ..。      ゙ /~~\   ⊂⊃
ヾ ; ;";;/" ;;ヾ...;ヾ||〜'i  "  /    /~~\
; "i "; ;ヾ;.;ヾ;;メヾ.||  .|    _________
ii;, メソ ヾ; ;ゞ." ..||茶.|  /丶丶丶丶丶丶丶丶丶\
|i;, |ソ       .||  .|//\丶丶丶丶丶丶丶丶 ..\
Il;: |       ..||店.|/ 田 \丶丶丶丶丶丶丶丶丶\
!i;: |        ||  .| ̄ ̄ ̄ ̄|  ̄  ̄  ̄ ̄ ̄ ̄ ̄ ̄‖
|!;; |        ||〜'i | ̄ ̄ ̄|!|    ∧ .∧      ‖
II;; |        ||  .|!|___|!|    (,,・ω・) (´ー`)<いないねー
II;; |        ||  .|     ...| ̄ ̄ ̄(つ旦) (つ旦) ‖
从 ゝ.,...,  .  l ̄i....|__.   .  |_ |i ̄i||∪∪ ̄∪∪l| |
""""''""" ""''"""''  ''""""""''  ''""" """"'' """''

46 名前:名無しさん@編集中:2006/12/09(土) 10:05:02 ID:AYb83NR1
 " " ヾ ; " ; " ; ; ヾ   ⊂⊃
"ゞ ; ; ; ;;ヾ;;ヾ;ゞ..。      ゙ /~~\   ⊂⊃
ヾ ; ;";;/" ;;ヾ...;ヾ||〜'i  "  /    /~~\
; "i "; ;ヾ;.;ヾ;;メヾ.||  .|    _________
ii;, メソ ヾ; ;ゞ." ..||茶.|  /丶丶丶丶丶丶丶丶.\
|i;, |ソ       .||  .|//\丶丶丶丶丶丶丶 ..\
Il;: |       ..||店.|/ 田 \丶丶丶丶丶丶丶丶\
!i;: |        ||  .| ̄ ̄ ̄ ̄|  ̄  ̄  ̄ ̄ ̄ ̄ ̄.‖
|!;; |        ||〜'i | ̄ ̄ ̄|!|             ‖
II;; |        ||  .|!|___|!||            ‖
II;; |        ||  .|     ...| ̄ ̄ ̄|        ‖
从 ゝ.,...,  .  l ̄i....|__.   .  |_ |i ̄i|| ̄ ̄ ̄ ̄l| |
""""''""" ""''"""''  ''""""""''  ''""" """"''


47 名前:名無しさん@編集中:2006/12/09(土) 10:56:00 ID:X3D6jCD4
いるお

48 名前:名無しさん@編集中:2006/12/23(土) 03:25:02 ID:RI79Kt7w
ファイル読み込み関数。
一回作ればあとは楽出来るかな、と。

function LoadFile(string filename) {
_len = Findstr(RevStr(filename), ".") - 1
_ext = RightStr(filename, _len)
clip =
\ ((_ext == "avi")
\ ? LoadAvi(filename)
\ :(_ext == "d2v")
\ ? LoadD2v(filename)
\ :(_ext == "mpeg" || _ext == "mpg" || _ext == "vob")
\ ? LoadMpeg(filename)
\ :(_ext == "aup")
\ ? LoadAup(filename)
\ :(_ext == "tpr")
\ ? LoadTpr(filename)
\ :(_ext == "mov" || _ext == "3gp" || _ext == "3gp2")
\ ? LoadQt(filename)
\ :(_ext == "wav")
\ ? LoadWav(filename)
\ :(_ext == "mpa" || _ext == "mp3")
\ ? LoadMpa(filename)
\ : LoadDs(filename)
\ )
return clip
}

49 名前:名無しさん@編集中:2006/12/23(土) 03:25:52 ID:RI79Kt7w
function LoadDs(string filename) {
return DirectShowSource(filename)
}
function LoadAvi(string filename) {
LoadAviUtlInputPlugin(dir + "ds_input.aui", "DSInput")
return DSInput(filename)
}
function LoadD2v(string filename) {
LoadPlugin(dir + "DGDecode.dll")
return MPEG2Source(filename)
}
function LoadMpeg(string filename) {
LoadAviUtlInputPlugin(dir + "m2v.vfp", "MPEGInput")
return MPEGInput(filename)
}

50 名前:名無しさん@編集中:2006/12/23(土) 03:28:32 ID:RI79Kt7w
function LoadAup(string filename) {
LoadVFAPIPlugin(dir + "aviutl.vfp", "AUPInput")
return AUPInput(filename)
}
function LoadTpr(string filename) {
LoadVFAPIPlugin(dir + "TMPGEnc.vfp", "TPRInput")
return TPRInput(filename)
}
function LoadQt(string filename) {
return QTInput(filename, audio = true)
}
function LoadWav(string filename) {
return WavSource(filename)
}
function LoadMpa(string filename) {
LoadPlugin(dir + "NicAudio.dll")
return NicMPASource(filename)
}

51 名前:名無しさん@編集中:2006/12/23(土) 04:36:03 ID:AFfnCPQo
LoadAviでDSInput使う意味は?AVISourceじゃだめなん?

52 名前:48:2006/12/23(土) 20:00:56 ID:RI79Kt7w
LoadFile作ったのが半年ぐらい前で、
LoadAviは更にその半年前ぐらいに作ったでしょうか。
もう作った当時の思考が思い出せません。

擬似VFRでおかしかったか音ズレが起きたか、とかだったと思い、
由来をちょっと探してみました。

推測するに、携帯動画変換君Wikiの、
“可変フレームレートや120fpsのWMVファイルを読み込む”項を参考に作ってそのまま、
でしょうか。

下記の様に変えて様子みてみます。

function LoadDs(string filename) {
LoadAviUtlInputPlugin(dir + "ds_input.aui", "DSInput")
return DSInput(filename)
}
function LoadAvi(string filename) {
return AVISource(filename)
}

53 名前:名無しさん@編集中:2007/01/06(土) 21:38:42 ID:fyypBQ9Y
もう一つのFilterRange
function FilterRange2(clip clip,int "start",int "end",string "filter"){
global start=start
global end=end
clip=conditionalfilter(clip,Eval("clip."+filter),clip,"current_frame>=start&¤t_frame<=end","=","true",false)
return clip
}

54 名前:名無しさん@編集中:2007/01/21(日) 02:40:26 ID:Yk4jAhSw
#for…繰り返し処理を行う
#  start  値の初期値
#  end   値の終了値
#  step  刻み値
#  filter 繰り返し分適応させるフィルタ(省略すると何もしません、“""”でも省略扱いです。)
#      繰り返しの値は“i”もしくは“crnt”で取得出来ます
#  merge  クリップ結合関数(省略すると最後に作成したクリップを返します、“""”でも省略扱いです。)
#      繰り返し途中に作成したクリップは早めに生成されたクリップが“c1”、
#      遅めに生成されたクリップが“c2”になります
#      この2つのクリップを1つのクリップに結合します。
function for(clip clip, int start, int end, int step, string "filter", string "merge") {
  filter = default(filter, "")
  merge = default(merge, "")
  merge = (("" != merge)? merge: "c2")
  i = start
  crnt = start
  next = crnt + step

  c1 = clip
  c2 = (("" != filter)? Eval("clip." + filter): clip)
  c2 = ((next < end) ? c2.for(next, end, step, merge, filter): c2)
  return ((next < end)? Eval(merge): c2)
}


55 名前:名無しさん@編集中:2007/01/21(日) 02:41:12 ID:Yk4jAhSw
#OffsetFrame…現在のフレームとは違うフレームの画像を表示する
#  ofst  表示するフレームの位置(+1なら次のフレーム、-1なら前のフレーム)
function OffsetFrame(clip clip, int ofst) {
  return  ((0 < ofst)
    \    ? clip.Trim(ofst+1,0)
    \  :(ofst < 0)
    \    ? clip.Loop((-ofst)+1, 0, 0)
    \    : clip
    \  )
}

#MovieThumbnail…サムネイルを作成する
#  size_x 1画面の横サイズ
#  size_y 1画面の縦サイズ
#  rpt_x  横に敷き詰める個数
#  rpt_y  縦に敷き詰める個数(0なら動画が終わるまで)
#  itvl  表示する時間間隔(フレーム)
function MovieThumbnail(clip clip, int size_x, int size_y, int rpt_x, int rpt_y, int itvl) {
  itvl = ((0 < itvl)? itvl: 30)
  size_x = ((0 < size_x)? size_x: 40)
  size_y = ((0 < size_y)? size_y: 30)
  rpt_x = ((0 < rpt_x)? rpt_x: 4)
  rpt_y = ((0 <= rpt_y)? rpt_y: 4)
  rpt_y = ((0 != rpt_y)? rpt_y: clip.FrameCount() / (itvl * rpt_x))

  clip = clip.LanczosResize(size_x, size_y)
  return clip.for(0, rpt_y, 1, "StackVertical(c1, c2)"
      \         , "OffsetFrame(" + String(rpt_x * itvl) + ")")
      \  .for(0, rpt_x, 1, "StackHorizontal(c1, c2)"
      \         , "OffsetFrame(" + String(itvl) + ")")
}


56 名前:名無しさん@編集中:2007/01/21(日) 02:44:58 ID:Yk4jAhSw
リアルタイム再生はまず無理ですね。
MovieThumbnail(80, 45, 6, 0, Int(1 * Framerate()))

ttp://kasamatusan.sakura.ne.jp/cgi-bin2/src/ichi70983.jpg.html


57 名前:名無しさん@編集中:2007/01/21(日) 16:13:03 ID:rXgc3GFG
>>54
あまり考えずにレスするけど、Loopじゃダメなん?

58 名前:名無しさん@編集中:2007/01/21(日) 16:39:30 ID:hz2fdV50
関数名がforってのは若干違和感が

59 名前:名無しさん@編集中:2007/01/21(日) 17:45:04 ID:y+OVAsZB
flvやasfとかの音ズレ対策にフレームレート設定にAssumeFPS使うのだけ
覚えて関数とかはいまいちわからんけどとりあえず保存しときたい汚いファイル
があんまりないからアニメのOPやCM(実写)ぐらいにしか使っていないのがむなしい


60 名前:名無しさん@編集中:2007/02/18(日) 06:31:37 ID:oBuNzTjy
# 使用例: EEDI2Bob(type=3, mthreshL=8, mthreshC=6, mthresh=0, lthresh=0, vthresh=0, estr=0, dstr=0, maxd=24, nt=76, pp=1, ColorMatrix="Rec.709->Rec.601")
function EEDI2Bob(clip i, int "type", int "cthresh", int "MI", int "blockx", int "blocky", int "mthreshL", int "mthreshC",
\ int "mthresh", int "lthresh", int "vthresh", int "estr", int "dstr", int "maxd", int "nt", int "pp", string "ColorMatrix")
{
TYPE = default(type, 0)
CTHRESH = default(cthresh, 6)
MI = default(MI, 64)
BLOCKX = default(blockx, 16)
BLOCKY = default(blocky, 16)
MTHRESHL = default(mthreshL, 6)
MTHRESHC = default(mthreshC, 6)

MTHRESH = default(mthresh, 10)
LTHRESH = default(lthresh, 20)
VTHRESH = default(vthresh, 20)
ESTR = default(estr, 2)
DSTR = default(dstr, 4)
MAXD = default(maxd, 24)
NT = default(nt, 50)
PP = default(pp, 1)

61 名前:名無しさん@編集中:2007/02/18(日) 06:32:36 ID:oBuNzTjy
#CM = default(ColorMatrix, string("Rec.709->Rec.601"))
CM = default(ColorMatrix, string(""))

TDeint_Bob_Ovrfile = "TDeint_bob_OvrFile.txt"

i
Exist("TDeint_bob_OvrFile.txt") == false ? WriteFileStart(TDeint_Bob_Ovrfile, """ "#TDeint v1.1 by tritical" """, append=false) : nop()
AssumeFrameBased()
GetParity(i) ? AssumeTFF() : nop()
interp = SeparateFields(i).EEDI2(field=-2, mthresh=MTHRESH, lthresh=LTHRESH, vthresh=VTHRESH, estr=ESTR, dstr=DSTR, maxd=MAXD, nt=NT, pp=PP)
TDeint(mode=1, order=-1, type=TYPE, cthresh=CTHRESH, MI=MI,
\ blockx=BLOCKX, blocky=BLOCKY, mthreshL=MTHRESHL, mthreshC=MTHRESHC, edeint=interp, ovr="TDeint_bob_OvrFile.txt")
vinverse()
(CM != "") ? ColorMatrix(mode=CM) : nop()
return last
}

62 名前:名無しさん@編集中:2007/02/18(日) 07:16:33 ID:oBuNzTjy
× interp = SeparateFields(i)
○ interp = SeparateFields()

63 名前:名無しさん@編集中:2007/02/19(月) 04:56:19 ID:HfRiMN2Q
Repairのうまい使い方、何かないでしょうか

64 名前:名無しさん@編集中:2007/03/16(金) 07:39:29 ID:mwglPUom
           |
       \  __  /
       _ (m) _ピコーン
          |ミ|
        /  `´  \
         ∧ ∧
        (・∀ ・)
        ノ(  )ヽ
         <  >

       \     /
       _ `゙`・;`' _バチュ--ン
          `゙`・;`
        /  `´  \
         ∧ ∧
        (・∀ ・)
        ノ(  )ヽ
         <  >


         ∧ ∧
        (・∀ ・) <何だっけ
        ノ(  )ヽ
         <  >


65 名前:名無しさん@編集中:2007/03/28(水) 17:57:09 ID:N7GC8pwl
       |
   \  __  /
   _ (m) _ピコーン
      |ミ|
    /  `´  \
     ('A`)     
     ノヽノヽ
       くく



       |
   \  __  /
   _ (m) _
      |ミ|
    /  `´  \
     `゙`・;`'
     `゙`・;`  バチュ--ン
     `´ 


      __
     (m)
      |ミ|
      `´




66 名前:名無しさん@編集中:2007/04/22(日) 07:08:24 ID:7JqcyONa
              /::.::.::/:// .::.::.::.::.::.:./ ! .::.::.::.::.::.::.::.::.::.:|::.::.::.::.::.::.::.::.
      \   ゝ‐<::./::./ .::.::.::.::\/  | .::.::.::.::.::.:: /::.::.:|::.::.::.::.::.::.::.:::
      \ 〃 / _  ヽ:/::.::.::.::.::.:/\  |::.::.::.::.::.:: /::.::.:: |::.::.::.::.::.ヽ::.::
      {{ / / __ ヽ ',.::/::./   `ー |::.::.::.::.:: / |::.::.:/|_::.::.::.::.:l::.::
.   ──  |  ! /r ) } |イ斤テ左≡ォz /::.::.::.::/ 斗七 !::.::.::.::.::.::.|::.::
.         ∧ ヽヽ _/ /::! レヘ :::::::::/ /::.::. /    j /  | .::.::.::.::.:: |::.::
.     , -―ヘ  `ー   /.::.| rー'゚:::::::/ /::.:/   テ左≠=ヵ::.::.::.::.::. |::.::
____/   {     /.::.::.| ゞ辷zン //    う。::::::7 /イ .::. |::.::.::.|::.::
彡_/     ヽ    イ ::.::. |             /ヘ:::::::/  |.::.::.:|::.::.:∧::.
〃   V    ヽ    ヽ.::.: |              ヾ辷:ン /:l::.::./!::.:/
 l    {      ∨  }__.::.|\     <!         ・ /::.l::|::./│/  DADADADADA!!
 ヽ   ヽ     {      ̄ ̄ ̄`ヽ _         イ::.: l::|:/ j/
、 \   \    }           ) / ̄ ̄ ̄l7::.:|::.::.j::l′ /


67 名前:名無しさん@編集中:2007/04/25(水) 21:22:16 ID:PwHuyyEg
ここはAAじゃなくてAvisynthのスクリプトを貼るスレだと思うんだw

68 名前:名無しさん@編集中:2007/04/25(水) 21:33:46 ID:8I3cmeoA
エエ
アア

69 名前:名無しさん@編集中:2007/04/26(木) 00:25:35 ID:oR/mgUAw
       |
   \  __  /
   _ (m) _ピコーン
      |ミ|
    /  `´  \
     ('A`)     
     ノヽノヽ
       くく




   \     /
   _ `゙`・;`' _バチュ--ン
      `゙`・;`
    /  `´  \
     ('A`)     
     ノヽノヽ
       くく




     `゙`・;`'
     `゙`・;`  バチュ--ン
     `´ 


70 名前:名無しさん@編集中:2007/04/29(日) 09:35:43 ID:ig/9U22n
                 __
              / -―‐- 、:丶
             〃´      \:ヽ
             {{ __       }.::}
       _, - ―‐‐┤ \ー‐――'<
      /.::_/.::.::.::.::|.::.::.::.::.::.::.::.::.::.::.::\
______//_/____::/|.::{.::.::.::.::.::.::.::.::.ヽ::.::ヽ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ~|lll|'.::|.::|.::.::.:|.::.::.::.::.::.::.l.::.::. ',
_             |lll「.::j.::l::.::.::l\⌒.::.::.::|.::.::.::l
│            |lll|::ハ.l:.::.:: |  ヽ.::.::.: |.::.::.::|
│            |lll|  ',.::.::.│  \.::.|.::.::. |
│            |lll|三 ヽ ::.:|三三7:ヽ|.::.::.`ヽ
│            |lll|"    \| ""・l.::.::|⌒l:ド、l
│            |lll|、 ‘ー'ー'     j.::.::|-イ.:|
│            |lll|:l>ー‐rーt< リ .::|.: l :|
│            |lll|:|_j;斗<_,>/.:: /! ::.: |
│            |lll|:| >、 __/.:: / ヽ.::. |
├‐tュ‐‐┬‐tュ――|lll|:| /     /.:: /   i.::.|
│ ‖  ‖ ll    |lll|:V      ,'.::.:/   .|.::.|
│ ‖  ‖ |!____ |lll|.::ヽ    i/.:/l    |.::.|
_j ̄|! ̄`|! ̄|! /  ̄ l\{     W /    |.::.|

71 名前:名無しさん@編集中:2007/05/19(土) 18:30:33 ID:VgCuQEq9
保守

72 名前:名無しさん@編集中:2007/06/11(月) 20:59:10 ID:OWCJwgNR
HOSYU

73 名前:名無しさん@編集中:2007/06/15(金) 23:03:39 ID:5b6j2Ot3
ho

74 名前:名無しさん@編集中:2007/06/15(金) 23:46:06 ID:yxu6x7yq

|  |
|  |∧_∧
|  |´・ω・`)
|  | o保守o
|  |―u'
""""""""""""""""""

|  |
|  |∧_∧
|  |´・ω・`)
|  | o ヽコト
|  |―u'  保守
""""""""""""""""""

|  |
|  |
|  |
|  |ミサッ
|  |    保守
""""""""""""""""""


75 名前:名無しさん@編集中:2007/06/19(火) 00:31:47 ID:xONiwqyF
function residue(int "a", int "b") { return ( a -(floor(a/b) * b) ) } # 剰余 r = a - q * b
function quotient(int "a", int "b") { return floor(a/b) } # 商
function lcm(int "a", int "b") { return ( (a * b) / gcm(a,b) ) } # 最小公倍数 a * b = gcm(a, b) * lcm(a, b)
# 最大公約数 gcm(a, b) = gcm(b, r)
function gcm(int "a", int "b", int "to")
{
to = default(to, 30)
_a  = (a > b) ? a : b
_b  = (a > b) ? b : a
r  = residue(_a, _b)
return (r == 0) || (to == 0) ? b : gcm2(_b, r, to) }
function gcm2(int "a", int "b", int "to") { 
to = to - 1
r  = residue(a, b)
a  = (r != 0) ? b : a
b  = (r != 0) ? r : b
return gcm(a, b, to)
}

76 名前:名無しさん@編集中:2007/06/19(火) 00:33:36 ID:xONiwqyF
function PARCrop(clip clip, int "mode", int "sar", string "crop_opt", string "dar", int "n", int "offset",
\ bool "interlaced", int "PAR_width",int "PAR_height", int "DAR_width", int "DAR_height", bool "show")
{
mode = default(mode, 1)
sar = default(sar, 14)
crop_opt = default(crop_opt, "0,0,0,0")
dar = default(dar, "16:9")
n = default(n, 2)
offset = default(offset, 0)
interlaced = default(interlaced, false)
show = default(show, true)

w = ( (sar == 3) || (sar == 5) ) && ( (dar == "4:3") || (dar == "16:9") ) ? 22 * n : 1
h = ( (sar == 3) || (sar == 5) ) && ( (dar == "4:3") || (dar == "16:9") ) ? 15 * n : 1
w = (sar == 14) && (dar == "16:9") ? 4 * n : w
h = (sar == 14) && (dar == "16:9") ? 3 * n : h
w = (sar == 14) && (dar == "4:3") ? 1 * n : w
h = (sar == 14) && (dar == "4:3") ? 1 * n : h
w = (sar == 1) && (dar == "16:9") ? 16 * n : w
h = (sar == 1) && (dar == "16:9") ? 9 * n : h
w = (sar == 1) && (dar == "4:3") ? 4 * n : w
h = (sar == 1) && (dar == "4:3") ? 3 * n : h
w = (sar == 11) && (dar == "16:9") ? 176 * n : w
h = (sar == 11) && (dar == "16:9") ? 135 * n : h
w = (sar == 11) && (dar == "4:3") ? 44 * n : w
h = (sar == 11) && (dar == "4:3") ? 15 * n : h
w = (sar == 17) && (dar == "16:9") ? 704 * n : w
h = (sar == 17) && (dar == "16:9") ? 405 * n : h
w = (sar == 17) && (dar == "4:3") ? 176 * n : w
h = (sar == 17) && (dar == "4:3") ? 135 * n : h

77 名前:名無しさん@編集中:2007/06/19(火) 00:39:10 ID:xONiwqyF
w  = ( defined(PAR_width) == true) ? n * ( (DAR_width  * PAR_height) 
\  / gcm(DAR_width * PAR_height, DAR_height * PAR_width) ) : w   
h  = ( defined(PAR_width) == true) ? n * ( (DAR_height * PAR_width)
\  / gcm(DAR_width * PAR_height, DAR_height * PAR_width) ) : h

Clip  = (clip.isYV12 == true)  && (interlaced == true) && (n == 1)
\  ?  clip.ConverttoRGB24(interlaced=true)
\  : (n == 1) ? clip.ConverttoRGB24
\  : clip
clip  = Eval( "clip.Crop(" + string(crop_opt) + ")" )

x  = (mode == 1) ? clip.width : clip.height 
z  = (mode == 1) ? w : h 
q  = quotient(x, z)
r  = residue (x, z)

x  = x - r  # new_x xが wの倍数になるよう修正
x_q  = quotient(r, 2) 
x_r  = residue (r, 2) # 1 or 0

y  = (mode == 1) ? h * q : w * q  # new_y
_y  = (mode == 1) ? clip.height - y : clip.width - y 
y_q  = quotient(_y, 2) 
y_r  = residue (_y, 2)

78 名前:名無しさん@編集中:2007/06/19(火) 00:41:14 ID:xONiwqyF
clip = (mode == 1) ? clip.Crop( x_q + x_r, y_q + y_r - offset, -x_q, -(y_q + offset) )
\ : clip.Crop( y_q + y_r -offset, x_q + x_r, -(y_q + offset), -x_q )

clip2 = clip.Subtitle("DAR_width x PAR_height " + string(w) + " / " + string(h) + " DAR_height x PAR_width", align=2)

(mode == 1) ? Clip2.Subtitle( string(x) + " x " + string(y) + ": Crop(" + string(int(x_q + x_r)) +", "
\ + string(int(y_q + y_r - offset)) + ", -" + string(x_q) + ", -" + string(y_q + offset) + ")", align=5)
\ : clip2.Subtitle( string(y) + " * " + string(x) + ": Crop(" + string(int(y_q + y_r -offset)) +", "
\ + string(int(x_q + x_r)) + ", -" + string(y_q + offset) + ", -" + string(x_q) + ")", align=5)
return (show == false) ? clip : last
}
Cropで整数解を求めるための関数。

79 名前:名無しさん@編集中:2007/06/19(火) 18:44:18 ID:xONiwqyF
w = ( (sar == 3) || (sar == 5) ) && ( (dar == "4:3") || (dar == "16:9") ) ? 22 * n : 1
h = ( (sar == 3) || (sar == 5) ) && ( (dar == "4:3") || (dar == "16:9") ) ? 15 * n : 1
この2行を消して下と交換 (計算間違いしてなければ正しいはず。PAR,DARを直接指定すれば常に正しい。)
w = (sar == 3) && (dar == "4:3") ? 22 * n : 1
h = (sar == 3) && (dar == "4:3") ? 15 * n : 1
w = (sar == 3) && (dar == "16:9") ? 88 * n : w
h = (sar == 3) && (dar == "16:9") ? 45 * n : h
w = (sar == 5) && (dar == "16:9") ? 22 * n : w
h = (sar == 5) && (dar == "16:9") ? 15 * n : h
w = (sar == 5) && (dar == "4:3") ? 11 * n : w
h = (sar == 5) && (dar == "4:3") ? 10 * n : h
w = (sar == 19) && (dar == "16:9") ? 3 * n : w
h = (sar == 19) && (dar == "16:9") ? 2 * n : h
w = (sar == 18) && (dar == "4:3") ? 9 * n : w
h = (sar == 18) && (dar == "4:3") ? 8 * n : h

80 名前:名無しさん@編集中:2007/06/19(火) 18:46:45 ID:xONiwqyF
720*480 PAR 40:33を縦の解像度を保持して横を削って、PAR 40/33にしたとき DAR 4/3にする。(16/9の額縁 4/3)
これを640*480にresizeすればDAR 4/3
PARCrop(mode=2, sar=5, crop_opt="0,0,0,0", dar="4:3", n=2, show=true)
1440*1080 PAR 4:3 額縁 16/9 横のCropだけ指定すると、一番近い整数解で縦も自動でcropする
PARCrop(mode=1, sar=14, crop_opt="186,0,-190,0", dar="16:9", n=2, show=true)
または、直接指定。このとき、modeとsarは書式に書かない。
PARCrop(mode=1, crop_opt="186,0,-190,0", PAR_width=4, PAR_height=3, DAR_width=16, DAR_height=9, n=1, offset=0, show=true)
mode 1 横はそのまま縦をCrop, mode 2: 縦はそのまま横をCrop
sar ソースのPARを指定 H.264のレファレンスで決められてるもの。 17,18,19は空き番号。 下のものだけ指定できる。
1: PAR 1/1 1920*1080, 3: PAR 10/11 720(704)*480 5 PAR 40/33 T720(704)*480, 11: PAR 15/11 1440*1080
14: PAR 4/3 1440*1080, 17: PAR 45/44 1920*1080 18 PAR 8/9 BT878A 720*480 19 PAR 32/27 BT878A 720*480
dar "16:9" or "4:3" 目標とするDAR
crop_opt Cropのオプションを入力。縦横をどちらかCropする。それに併せて、のこりのCropする量を決める。
n: 1, 2, 4, 8, 16 ,32 ... 縦横がどの倍数になるか指定。 n=1 のときはConverttoRGB24するので注意。
resizeするなら 1か2, インタレエンコなら 16(xvid)か32(x264)(cropのあとresizeはしない) そのままの大きさでエンコするなら 8 か 16。
show 情報を表示するかしないか。 true or false

81 名前:名無しさん@編集中:2007/06/19(火) 21:30:34 ID:xONiwqyF
使いにくかったので変更。
デフォルトでCropせずに情報だけ表示。
, bool "show" のあとに , bool "debug")
show = default(show, true)を
show = default(show, false)
debug = default(debug, true)
show = (debug == true) ? true : show
_clip = clip

clip2 = clip.Subtitle("DAR_width x PAR_height " を
clip = (debug == true) ? _clip : clip
clip2 = clip.Subtitle("DAR_width x PAR_height " + string(w) + " / " + string(h) + " DAR_height x PAR_width", align=5, y=clip.height/2+16)

ttp://www.uploda.net/cgi/uploader4/index.php?file_id=0000015101.txt


82 名前:名無しさん@編集中:2007/06/20(水) 18:55:12 ID:oigiMAG9
>>75
> return (r == 0) || (to == 0) ? b : gcm2(_b, r, to) }
_b にしないと a < b かつ gcm(a, b) = a の場合に結果を誤るかと

最大公約数を求めるならそんなに複雑に書かなくても
これだけで十分じゃないかな
function gcm (int a, int b) {
c = a % b
return c == 0 ? b : gcm(b, c)
}

83 名前:名無しさん@編集中:2007/06/20(水) 19:46:01 ID:wZUVC6r7
>>82
ありがとう。_bは打ち間違えた。
そして、Avisynthでmodが使えることを今知った。ちょっと感動。
よく見とけばよかった。
ttp://avisynth.org/mediawiki/Operators

84 名前:名無しさん@編集中:2007/06/20(水) 19:50:35 ID:N1+TPgqA
何言ってるかまったくわからんぜ

85 名前:名無しさん@編集中:2007/06/20(水) 20:02:47 ID:5Eh+cIQm
>>84
(・∀・)人(・∀・)

86 名前:名無しさん@編集中:2007/06/20(水) 22:05:59 ID:gasrkGbR
(・∀・)人(・∀・)人(・∀・)

87 名前:名無しさん@編集中:2007/06/21(木) 05:15:57 ID:7+ymaJOL
(・∀・)人(・∀・)人(・∀・)人(・∀・)

88 名前:名無しさん@編集中:2007/06/27(水) 23:02:29 ID:C06STsI0
#24FPSと30FPSが混合された動画を60FPS化する

LoadPlugin("Decomb521VFR1.3_P4-Athlon.dll")

#ここで動画を読み込む
#DirectShowSource以外でもいいが↓の逆テレシネで支障が出ないようにpixel_typeをYV12にしておくこと
DirectShowSource("*******.***",pixel_type="YV12")

AssumeTFF
DoubleWeave
Top=SelectEven
Bottom=SelectOdd

#とりあえず逆テレシネ pixel_typeをYV12以外にするとゴミが出る
Interleave(Top.Telecide(order=1,guide=0,post=0,show=false),Bottom.Telecide(order=0,guide=0,post=0,show=false))


89 名前:名無しさん@編集中:2007/06/30(土) 21:13:06 ID:97Pp0O3z
## {{{ PARCrop2
function PARCrop2(clip clip, int "mode", string "crop_opt", int "PAR_width",int "PAR_height", int "DAR_width", int "DAR_height", int "n",
\ int "offset", int "r_mode", int "resize_n", int "resize_m", bool "r_int", string "r_method",
\ string "dvd", int "border", bool "blank", bool "show", bool "debug")
{
mode = default(mode, 1)
crop_opt = default(crop_opt, "0,0,0,0")
PAR_width = default(PAR_width, 1)
PAR_height = default(PAR_height, 1)
DAR_width = default(DAR_width, 16)
DAR_height = default(DAR_height, 9)
n = default(n, 1)
resize_n = (clip.width <= 720) ? default(resize_n, 8)
\ : default(resize_n, 16)
resize_m = default(resize_m, 0)
offset = default(offset, 0)
r_mode = default(r_mode, 0)
show = default(show, false)
debug = default(debug, true)
r_mode = (debug == true) ? 0 : r_mode
show = (debug == true) ? true : show
show = (r_mode > 0) ? false : show
r_int = default(r_int, true)
dvd = default(dvd, "non")
r_method = (dvd == "non") && ( (r_mode == 1) || (resize_m > 0) )
\ ? default(r_method, "Lanczos4Resize") : default(r_method, "LanczosResize")
border = (dvd == "16/9") && ( ((DAR_width == 4) && (DAR_height == 3)) || ((DAR_width == 15) && (DAR_height == 11)) )
\ ? default(border, 1) : default(border, 0)
blank = default(blank, true)
_clip = clip

90 名前:名無しさん@編集中:2007/06/30(土) 21:14:14 ID:97Pp0O3z
# {{{ crop
w = (DAR_width * PAR_height) / gcm(DAR_width * PAR_height, DAR_height * PAR_width)
h = (DAR_height * PAR_width) / gcm(DAR_width * PAR_height, DAR_height * PAR_width)

_n = 32 / gcm(h, 32)
n = (clip.isYV12 == true) && (n == 1) ? 2 : n
n = (clip.isYUY2 == true) && (n == 1) && (w%2 != 0) ? 2 : n
n = (n == -32) && (_n != 32) ? _n * (16 / _n) : abs(n) # H.264 MBAFF

w = n * w
h = n * h

clip = Eval( "clip.Crop(" + string(crop_opt) + ")" )

x = (mode == 1) ? clip.width : clip.height
z = (mode == 1) ? w : h
q = quotient(x, z)
r = residue (x, z)

x = x - r # new_x xが wの倍数になるよう修正
x_q = quotient(r, 2)
x_r = residue (r, 2) # 1 or 0


y = (mode == 1) ? h * q : w * q # new_y
_y = (mode == 1) ? clip.height - y : clip.width - y
y_q = quotient(_y, 2)
y_r = residue (_y, 2)

xx = (mode == 1) ? x : y
yy = (mode == 1) ? y : x
# }}}

91 名前:名無しさん@編集中:2007/06/30(土) 21:15:16 ID:97Pp0O3z
# {{{ DVD
dvd_DAR_width = (dvd == "4/3") ? 4
\ : (dvd == "16/9") ? 16 : DAR_width
dvd_DAR_height = (dvd == "4/3") ? 3
\ : (dvd == "16/9") ? 9 : DAR_height

dvd_DAR_width = (dvd == "4/3") && (DAR_width == 15) && (DAR_height == 11) ? 15
\ : (dvd == "16/9") && (DAR_width == 20) && (DAR_height == 11) ? 20 : dvd_DAR_width
dvd_DAR_height = (dvd == "4/3") && (DAR_width == 15) && (DAR_height == 11) ? 11
\ : (dvd == "16/9") && (DAR_width == 20) && (DAR_height == 11) ? 11 : dvd_DAR_height

dvd_w = (dvd_DAR_width * PAR_height) / gcm(dvd_DAR_width * PAR_height, dvd_DAR_height * PAR_width)
dvd_h = (dvd_DAR_height * PAR_width) / gcm(dvd_DAR_width * PAR_height, dvd_DAR_height * PAR_width)

_dvd_width = (border == 0) ? xx : float(yy * dvd_w) / dvd_h
_dvd_height = (border == 0) ? float(xx * dvd_h) / dvd_w : yy
dvd_width = int(_dvd_width)
dvd_height = int(_dvd_height)

dvd_width_border = (border == 0) ? 0 : abs(dvd_width - xx)
dvd_height_border = (border == 0) ? abs(dvd_height - yy) : 0
dvd_width_border = dvd_width_border / 2
dvd_height_border = dvd_height_border / 2
# }}}

92 名前:名無しさん@編集中:2007/06/30(土) 21:16:34 ID:97Pp0O3z
# {{{ resize
resized_y = yy - residue( yy, lcm(DAR_height, resize_n) ) + ( lcm(DAR_height, resize_n) * resize_m )
resized_y = (r_int == false) ? yy - residue(yy, resize_n) + (resize_n * resize_m) : resized_y
resized_x2 = xx - residue( xx, lcm(DAR_width, resize_n) ) + ( lcm(DAR_width, resize_n) * resize_m )
resized_x2 = (r_int == false) ? xx - residue(xx, resize_n) + (resize_n * resize_m) : resized_x2

resized_y = (resize_n == -32) ? yy - residue( yy, lcm(DAR_height, 32) ) + ( lcm(DAR_height, 32) * resize_m ) : resized_y
resized_y = (r_int == false) && (resize_n == -32) ? yy - residue(yy, 32) + (32 * resize_m) : resized_y
resized_x2 = (resize_n == -32) ? xx - residue( xx, lcm(DAR_width, 16) ) + ( lcm(DAR_width, 16) * resize_m ) : resized_x2
resized_x2 = (r_int == false) && (resize_n == -32) ? xx - residue(xx, 16) + (16 * resize_m) : resized_x2

#_new_PAR_W = resized_y / DAR_height
#_new_PAR_H = resized_x2 / DAR_width
_new_PAR_W = resized_y * DAR_width
_new_PAR_H = resized_x2 * DAR_height
new_PAR_W = _new_PAR_W / gcm(_new_PAR_W, _new_PAR_H)
new_PAR_H = _new_PAR_H / gcm(_new_PAR_W, _new_PAR_H)

resized_x1 = (r_int == false) ? float(resized_y * DAR_width) / float(DAR_height) : (resized_y * DAR_width) / DAR_height
_resized_x3 = float(resized_y * w) / h
resized_x3 = int(_resized_x3)

resized_x = (r_mode == 2) ? resized_x2
\ : (r_mode == 3) ? resized_x3
\ : resized_x1
# }}}

93 名前:名無しさん@編集中:2007/06/30(土) 21:17:47 ID:97Pp0O3z
clip = (mode == 1) ? clip.Crop( x_q + x_r, y_q + y_r - offset, -x_q, -(y_q + offset) )
\ : clip.Crop( y_q + y_r - offset, x_q + x_r, -(y_q + offset), -x_q )


AddBorders_opt = (border == 0) ? "0, " + string(dvd_height_border) + ", 0, " + string(dvd_height_border)
\ : string(dvd_width_border) + ", 0, " + string(dvd_width_border) + ", 0"
clip = (dvd == "4/3") || (dvd == "16/9") ? Eval( "clip.AddBorders(" + string(AddBorders_opt) + ")" ) : clip

dvd_x = ( (DAR_width == 15) && (DAR_height == 11) ) || ( (DAR_width == 20) && (DAR_height == 11) ) ? 720 : 704
AddBorder = ( (DAR_width == 15) && (DAR_height == 11) ) || ( (DAR_width == 20) && (DAR_height == 11) ) ? 0 : 8
AddBorder = (blank == false) ? 0 : AddBorder
dvd_clip = clip

clip = (debug == true) ? _clip : clip
clip = (dvd == "4/3") || (dvd == "16/9") ? Eval( "clip." + r_method + "(dvd_x, 480).AddBorders(AddBorder, 0, AddBorder, 0)" )
\ : (r_mode > 0) ? Eval( "clip." + r_method + "(resized_x, resized_y)" ) : clip

94 名前:名無しさん@編集中:2007/06/30(土) 21:22:12 ID:97Pp0O3z
clip2 = clip.Subtitle("DAR_width x PAR_height " + string(w) + " / "
\ + string(h) + " DAR_height x PAR_width", align=5, y=clip.height/2+16)
clip2 = (n != -32) ? clip2.Subtitle("Resize mode 1 " + string(resized_x1) +" x " + string(resized_y)
\ + " PAR 1:1", align=5, y=clip.height/2+48) : clip2
clip2 = (n != -32) ? clip2.Subtitle("Resize mode 2 " + string(resized_x2) +" x " + string(resized_y)
\ + " PAR " + string(new_PAR_W) + ":" + string(new_PAR_H), align=5, y=clip.height/2+64) : clip2
clip2 = (n != -32) ? clip2.Subtitle("Resize mode 3 " + string(_resized_x3) +" x " + string(resized_y)
\ + " PAR " + string(PAR_width) + ":" + string(PAR_height), align=5, y=clip.height/2+80) : clip2

95 名前:名無しさん@編集中:2007/06/30(土) 21:22:55 ID:97Pp0O3z
(mode == 1) ? Clip2.Subtitle( string(x) + " x " + string(y) + " : Crop(" + string(int(x_q + x_r)) +", "
\ + string(int(y_q + y_r - offset)) + ", -" + string(x_q) + ", -" + string(y_q + offset) + ")", align=5)
\ : clip2.Subtitle( string(y) + " * " + string(x) + " : Crop(" + string(int(y_q + y_r - offset)) +", "
\ + string(int(x_q + x_r)) + ", -" + string(y_q + offset) + ", -" + string(x_q) + ")", align=5)
(dvd == "4/3") || (dvd == "16/9") ? dvd_clip.Subtitle( string(x) + " x " + string(y) + " : Crop(" + string(int(x_q + x_r)) +", "
\ + string(int(y_q + y_r - offset)) + ", -" + string(x_q) + ", -" + string(y_q + offset) + ")", align=5 )
\ .Subtitle( "AddBorders(" + AddBorders_opt + ")", align=5, y=dvd_clip.height/2+16 )
\ .Subtitle( " DVD " + string(dvd), align=5, y=dvd_clip.height/2+32 )
\ .Subtitle( "x PAR " + string(dvd_w) + ":" + string(dvd_h), align=5, y=dvd_clip.height/2+48 )
\ .Subtitle( string(_dvd_width) + " x " + string(_dvd_height), align=5, y=dvd_clip.height/2+64 ) : last
return (show == false) ? clip : last
}
## }}}
### }}}

ttp://www.uploda.net/cgi/uploader4/index.php?file_id=0000015685.txt

96 名前:名無しさん@編集中:2007/06/30(土) 22:57:02 ID:21nVVjVv
ぜんぜんショボくないぞ、このスレどうしちゃったんだ?

97 名前:名無しさん@編集中:2007/06/30(土) 23:09:15 ID:sDrxlz0v
AVIRead(C:\おれおれ.avi)

98 名前:名無しさん@編集中:2007/07/01(日) 00:51:50 ID:R+u2GNMU
('A`)

99 名前:名無しさん@編集中:2007/07/01(日) 04:49:44 ID:ptd8ZnxD
LoadAviUtlInputPlugin("C:\Program Files\EARTH SOFT\PV3 3.x\AviUtl\EARTH SOFT DV.aui", "EARTHSOFTDV")

EARTHSOFTDV(F:\動画.dv)
Auto24FPS(true,24,200,"",false)
Lanczos4Resize(704,396,190,144,-190,-144)
return last

超適当

100 名前:名無しさん@編集中:2007/07/01(日) 04:51:22 ID:V7aPxUMm
ぜんぜんショボイな、このスレどうしちゃったんだ?

101 名前:名無しさん@編集中:2007/07/01(日) 05:39:31 ID:X2+xlFy6
MPEG2Source(d2v="__vid__",idct=5)
ColorMatrix(scaling=2,interlaced=false,d2v="__vid__")
IT(fps = 24,ref="TOP",diMode=3)
FrameCache(6).FFT3DFilter(sigma=1.5,plane=4,bw=48,bh=48,bt=3,ow=24,oh=24,svr=0,sharpen=0,interlaced=false,wintype=1)
FrameCache(6)._2DCleanYUY2(interlaced=0,thresholdY=6,thresholdU=2,thresholdV=2,radiusX=2,radiusY=2,dmode=0)
FrameCache(6).hqdn3d(2)

俺様愛用

102 名前:名無しさん@編集中:2007/07/14(土) 22:05:21 ID:+g7vyJL5
#24,30FPSの分割が面倒な時用。全部60FPS化で片づける。

function VD_SmartSmoothHiQ(clip, int "diameter", int "threshold", int "amount", string "mode",
\ bool "grayscale", bool "weighted_difference", int "maintain_diffweight")

{
LoadVirtualdubPlugin("D:\data\AVI\Virturaldub\plugins\SmoothHiQ.vdf", "_VD_SmartSmoothHiQ")
mode = default(mode, "weighted")
mode = (mode=="average") ? 0 : (mode=="weighted") ? 1 : -1
Assert(mode>=0, """VD_SmartSmoothHiQ: "mode" parameter must be "average" or "weighted"""")
return clip._VD_SmartSmoothHiQ(default(diameter,5), default(threshold,50), 0, default(amount,254),
\ mode, default(grayscale,false)?1:0, default(weighted_difference,true)?1:0, default(maintain_diffweight,0))
}
LoadPlugin("MSharpen.dll")
LoadPlugin("BruteIVTC.dll")

#読むのはMPEG2だよね
DirectShowSource("**********", fps=29.97,audio=false,convertfps=true,pixel_type="YV12")
AssumeTFF
DoubleWeave

#とりあえず逆テレシネ
BruteIVTC()

#ブロックノイズ取り 非常に重い
ConvertToRGB()
VD_SmartSmoothHiQ(5,50,254,"weighted")
ConvertToYV12()

#シャープネスフィルタ
MSharpen(25,50,true,false,false)

103 名前:名無しさん@編集中:2007/07/28(土) 20:51:18 ID:iiYDjgNl
#ChangePlaySpeed…再生速度を変更する
#  speed  再生する速度(倍速指定、“1.0”なら変化無し)
#  fps    速度変更後のFPS設定(省略・負数なら変化無し)
#      “0”ならspeedで変化した分だけFPSも変化する
#      正数ならその値になる
#  pitch  音程を変化させるか(省略・偽なら変化なし、trueなら変化する)
function ChangePlaySpeed(clip clip, float speed, float "fps", bool "pitch") {
  fps = default(fps, -1.0)
  pitch = default(pitch, false)

  clip =
  \  ((pitch)
  \    ? clip.TimeStretch(rate=100.0*speed)
  \    : clip.TimeStretch(tempo=100.0*speed)
  \  )

  rate = clip.Framerate()
  clip =
  \  ((0.0 == fps)
  \    ? clip.AssumeFPS(rate*speed)
  \  :(fps < 0.0)
  \    ? clip.AssumeFPS(rate*speed).ChangeFPS(rate)
  \    : clip.AssumeFPS(rate*speed).ChangeFPS(fps)
  \  )

  return clip
}

104 名前:名無しさん@編集中:2007/07/28(土) 20:51:57 ID:iiYDjgNl
絶讃の方でちょうど再生速度が話題になってたので、依然作った関数をUP。

clip_29970fps_60m00s = ColorBars()

clip_29970fps_30m00s = clip_29970fps_60m00s.ChangePlaySpeed(2.0)
clip_59940fps_30m00s = clip_29970fps_60m00s.ChangePlaySpeed(2.0, fps=0)
clip_23976fps_30m00s = clip_29970fps_60m00s.ChangePlaySpeed(2.0, fps=24000.0/1001.0)

105 名前:名無しさん@編集中:2007/07/30(月) 08:11:25 ID:koRkCv2W
期待age

106 名前:名無しさん@編集中:2007/08/01(水) 18:05:14 ID:a1XCC8zN
Import("aufilters.avs")
LoadAviUtlInputPlugin("C:\EARTH SOFT DV.aui","EARTHSOFTDV")
EARTHSOFTDV("%V")
%t
#SwapUV()
#トップフィールド指定
AssumeFrameBased().ComplementParity()
ConvertYUY2ToAviUtlYC()
AU_afs(16,16,32,32,0,192,128,24,128,256,3,2,true,true,true,false,false,false,false,true,false,false,true,false)
ConvertAviUtlYCToYUY2()
Lanczos4Resize(1280,720)
ConvertToYV12()
#crop( 0, 0, 0, 0)
fft3dGPU(mode=1,precision=2)

x264afs用

107 名前:名無しさん@編集中:2007/08/07(火) 23:28:15 ID:XwFE/xCO
>>102
一ヶ月近くも前にレスするのも何だが
全部60fps化するくらいならインタレ保持でよくない?

108 名前:名無しさん@編集中:2007/08/15(水) 10:05:41 ID:ruyCAS/3
よーし張っちゃうぞー、EasyVFR汎用avs_export用
Filename = "%V"
Import("C:\Program Files\AviSynth 2.5\easyvfr.avs")
LoadAviUtlInputPlugin("C:\Program Files\AviSynth 2.5\plugins\m2v.aui" ,"Marumo")
src = Marumo(Filename)
SETMTMODE(2,2)
src = src.AssumeTFF().crop(8,0,-8,-0)

#a =src.trim(0 , ).IT(fps = 30, ref = "TOP", diMode = 1)
#a =src.trim(0 , ).IT(fps = 24, ref = "TOP", diMode = 1)
#a =src.trim(0 , ).Doubleweave().Autodeint()
a = a.Converttoyv12()

#b =src.trim(,).IT(fps = 30, ref = "TOP", diMode = 1)
#b =src.trim(,).IT(fps = 24, ref = "TOP", diMode = 1)
#b =src.trim(,).Doubleweave().Autodeint()

b = b.Converttoyv12()
#c =src.trim(,).IT(fps = 30, ref = "TOP", diMode = 1)
#c =src.trim(,).IT(fps = 24, ref = "TOP", diMode = 1)
#c =src.trim(,).Doubleweave().Autodeint()

c = c.Converttoyv12()
tcpath = "%u.txt"
result = EasyVFR_Create(src, a, tcpath)
result = result.EasyVFR_Append(b, tcpath)
result = result.EasyVFR_Append(c, tcpath)
result
return last
これだとavsのあるフォルダに同ファイル名でタイムコードが吐き出されて便利

109 名前:名無しさん@編集中:2007/08/31(金) 19:57:19 ID:/obMkNm5
('A`)

LoadPlugin("Decomb521VFR1.3_P4-Athlon.dll")
LoadPlugin("BruteIVTC.dll")

AssumeTFF
DoubleWeave

Top=SelectEven
Top=Top.AssumeTFF
Top=Top.Telecide(order=1,post=0)
Top=Top.BruteIVTC()

Bottom=SelectOdd
Bottom=Bottom.AssumeBFF
Bottom=Bottom.Telecide(order=0,post=0)
Bottom=Bottom.BruteIVTC()

Interleave(Top,Bottom)

110 名前:名無しさん@編集中:2007/09/03(月) 16:21:22 ID:o3DYiV3A
実用性はともかく、そこそこ綺麗な希ガス
function upconvByEedi2(clip c){
c
function upconvByEedi2_temp(clip c){
c
eedi2(field=0)
stackvertical(last,flipvertical)
try{
spline64resize(width,height/2,0,0.5,0,0.5-height/2)
}
catch(err_msg){
spline36resize(width,height/2,0,0.5,0,0.5-height/2)
}
}
upconvByEedi2_temp
turnright
upconvByEedi2_temp
turnleft
}

111 名前:名無しさん@編集中:2007/09/03(月) 20:29:18 ID:o3DYiV3A
二倍程度なら普通のリサイズで十分綺麗な気がしたんで作り直し、使う気は無いけど綺麗だと思うよ。
function eedi2upconv(clip clip,int "target_width",int "target_height",string "eedi2_arguments",string "resizer",string "resizer_arguments"){
clip
i0=default(target_width,width*4)
i1=default(target_height,round(height*33/40)*4)
s0=default(eedi2_arguments,",mthresh=0,lthresh=0,vthresh=0,estr=0,dstr=255,maxd=29,pp=3")
s1=default(resizer,"lanczosresize")
s2=default(resizer_arguments,",taps=17")
eval("eedi2(field=0"+s0+")")
turnright
eval("eedi2(field=0"+s0+")")
turnleft
function eedi2upconv_temp(clip c,int "i0",int "i1",string "s"){
c
eval("eedi2(field=1"+s+")")
turnright
eval("eedi2(field=1"+s+")")
turnleft
return (width<i0)||(height<i1)?eedi2upconv_temp(i0,i1,s):last
}
(width<i0)||(height<i1)?eedi2upconv_temp(i0,i1,s0):last
stackvertical(last,flipvertical)
eval(s1+"(width,height/2,0,0.5,0,0.5-height/2"+s2+")")
turnright
stackvertical(last,flipvertical)
eval(s1+"(width,height/2,0,0.5,0,0.5-height/2"+s2+")")
turnleft
eval(s1+"("+string(i0)+","+string(i1)+s2+")")
return last
}

112 名前:名無しさん@編集中:2007/09/04(火) 00:58:22 ID:lJ3C3e5W
eedi2を使って拡大するのか。なるほど。
鼻血が出るほど遅いが、綺麗と云えば綺麗だ。

アイディアは、気に入った。(;´Д`)ハァハァ

113 名前:名無しさん@編集中:2007/09/04(火) 06:50:03 ID:Bqnm6APc
doomで紹介されてるeedi2のサンプル映像見て吹いた
すごいなこのフィルタ。漏れも弄ってみるわ。(;´Д`)ハァハァ

114 名前:名無しさん@編集中:2007/09/04(火) 18:31:55 ID:YWyMK6kt
>>113
おいおい、そこまで言っておいてURL貼らないのかよ。
生殺しじゃねえか。俺にも(;´Д`)ハァハァさせろ。

115 名前:名無しさん@編集中:2007/09/04(火) 18:39:29 ID:rarS0dXf
>>113
漏れもずっと探してたんだが見つからない(;´Д`)
URLplz

116 名前:名無しさん@編集中:2007/09/04(火) 20:47:55 ID:YmAPmeD2
>>114-115
>>113じゃないけど、たぶんこれかな?
http://forum.doom9.org/showthread.php?p=744308#post744308


117 名前:名無しさん@編集中:2007/09/05(水) 20:34:16 ID:f1ztFbCm
>>116
THX!
ん〜・・・、なんか微妙じゃない?
そこまで綺麗じゃないきがする。

118 名前:名無しさん@編集中:2007/09/06(木) 00:09:43 ID:xll7yOhQ
綺麗にアプコンできるスクリプトorフィルタ随時募集中

119 名前:名無しさん@編集中:2007/09/06(木) 16:31:53 ID:AC2H2yAr
なんとなく修正
function eedi2upconv(clip clip,int "target_width",int "target_height",string "eedi2_arguments",string "resizer",string "resizer_arguments"){
clip
i0=default(target_width,width*2)
i1=default(target_height,height*2)
s0=default(eedi2_arguments,"")
s1=default(resizer,"spline16resize")
s2=default(resizer_arguments,"")
eval("eedi2(field=0"+s0+")")
turnright
eval("eedi2(field=0"+s0+")")
turnleft
function eedi2upconv_temp(clip c,int "i0",int "i1",string "s"){
c
eval("eedi2(field=1"+s+")")
turnright
eval("eedi2(field=1"+s+")")
turnleft
(width<i0)||(height<i1)?eedi2upconv_temp(i0,i1,s):last
}
(width<i0)||(height<i1)?eedi2upconv_temp(i0,i1,s0):last
stackhorizontal(last,fliphorizontal)
stackvertical(last,flipvertical)
eval(s1+"("+string(i0)+","+string(i1)+",0.5,0.5,0.5-width/2,0.5-height/2"+s2+")")
}
使用例
eedi2upconv(1920*2,1088*2,",mthresh=0,lthresh=0,vthresh=0,estr=0,dstr=0,maxd=29,nt=256,pp=3","lanczosresize",",taps=100")
アーティファクトなんて気にしないで補間重視+最強の縮小lanczos100、0.1fpsくらいは出るといいなぁww

>>118
EDIUpsizerとかって糞重いフィルタがあるよ、けっこう綺麗な感じ
ただ、素直にps3にやってもらった方がいいとは思うけどね

120 名前:名無しさん@編集中:2007/09/06(木) 21:44:31 ID:xll7yOhQ
ps3にやってもらうって選択肢はあまり素直ではないと思うw

121 名前:名無しさん@編集中:2007/09/07(金) 03:56:45 ID:PrghOHrm
ttp://forum.doom9.org/showthread.php?p=953820

122 名前:名無しさん@編集中:2007/09/07(金) 13:13:37 ID:4qAJvCDs
>>121
超既出だったんだねw
spline64resize(width,height,width/2,0,width,height)
↑みたいな事できるって知らなかった、教えてくれてアリガト

また誰もが思いつきそうなの張ってみる
function eedi2blend_sharp(clip c){
c
subtract(last,subtract(eedi2blend,last))
eedi2blend
}
function eedi2blend(clip c){
c
getparity==true?assumetff:assumebff
separatefields
eedi2(field=-2)
merge(selecteven,selectodd)
}

subtract(last,subtract(foo,last))
foo
↑二重化みたいな必ず成果の出る処理に使うと良い感じ、重さは二倍だけどね。

123 名前:名無しさん@編集中:2007/09/08(土) 22:47:14 ID:DDZ1iCx8
ふむ

124 名前:名無しさん@編集中:2007/09/24(月) 19:16:40 ID:3nx8T2E9
avis [error]: unsupported input format (DIB )

('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)

125 名前:名無しさん@編集中:2007/10/01(月) 08:33:09 ID:YkC43dtF
これで最終版としてみるか。
#とりあえず逆テレシネ
DoubleWeave
Top=SelectEven
Top=Top.AssumeTFF
Top=Top.Telecide(Order=1,Guide=0,Post=0)
Top=Top.BruteIVTC
Bottom=SelectOdd
Bottom=Bottom.AssumeBFF
Bottom=Bottom.Telecide(Order=0,Guide=0,Post=0)
Bottom=Bottom.BruteIVTC
Interleave(Top,Bottom)
BruteIVTC

#60i部分がなければ省略
Deinterlaced=Interleave(Top.TomsMoComp(1,5,0),Bottom.TomsMoComp(0,5,0))
ConditionalFilter(Telecided,Deinterlaced,Telecided,"IsCombed(40)","equals","true")

126 名前:名無しさん@編集中:2007/10/06(土) 20:18:19 ID:g9yBKZs6
超初心者です

# プラグインは C:\Program Files\AviSynth 2.5\plugins へ

# ソースの読み込み

# DVD2AVI 1.76
MPEG2Source("D:\AviSynth\test.d2v")

# インタレース解除
TomsMoComp(1, 5, 0)

# ノイズ除去
Convolution3D(preset="movieHQ")

LanczosResize(640, 480, 0, 8, 704, 480)
#Crop(8,0,-8,0)

#Lanczos3Resize(640,480)

ここまでできたけど・・・
これから、どう発展すればいいの?
ちなみにエロDVDをx264でエンコードするつもりです


127 名前:名無しさん@編集中:2007/10/06(土) 21:09:34 ID:wtmGkTwr
自分がやりたいように発展させればいいの


128 名前:名無しさん@編集中:2007/10/06(土) 21:15:14 ID:SsamG/ji
スレ死骸

129 名前:名無しさん@編集中:2007/10/06(土) 21:18:19 ID:uJWV4LnV
>>126
http://pc11.2ch.net/test/read.cgi/avi/1176745366/l50
こっちでやる方がいい。

とりあえず

# インタレース解除
AssumeTFF
DoubleWeave
Top=SelectEven
Bottom=SelectOdd
Interleave(Top.TomsMoComp(1,5,0),Bottom.TomsMoComp(0,5,0))

これをおすすめしてみる。
60FPSになって動きがなめらかになる。

130 名前:名無しさん@編集中:2007/10/06(土) 21:30:15 ID:g9yBKZs6
>>129
アドバイス、ありがとうございます

> 60FPSになって動きがなめらかになる。
サイズが増えると困るんだけど・・・

とりあえずスレを移動します

131 名前:名無しさん@編集中:2007/10/13(土) 17:18:33 ID:fae6ukTN
本スレでMCbobを知りめちゃ良かったけど、重くて挫折。0.75fps orz
MVbob1をちょこっち改造。
function MVbob2(clip c)
{
order=(c.getparity==true)? 1:0

bobd=c.leakkernelbob(order=order).verticalreduceby2()
fields=c.separatefields()
mvf=bobd.mvanalyse(blksize=4,pel=1,isb=false)
mvb=bobd.mvanalyse(blksize=4,pel=1,isb=true)

even1=c.separatefields().selecteven()
odd1a=fields.mvcompensate(mvf,mode=1,thscd1=300).selecteven()
odd1b=fields.mvcompensate(mvb,mode=1,thscd1=300).selecteven()
odd1=mergeluma(odd1a,odd1b,0.5).mergechroma(odd1b,0.5)

even2=c.separatefields().selectodd()
odd2a=fields.mvcompensate(mvf,mode=1,thscd1=300).selectodd()
odd2b=fields.mvcompensate(mvb,mode=1,thscd1=300).selectodd()
odd2=mergeluma(odd2a,odd2b,0.5).mergechroma(odd1b,0.5)

even=interleave(even1,odd1).weave()
odd=interleave(even2,odd2).weave()

interleave(even,odd)
}
AutoDeintよりはジャギとか消えたけど、格子模様とかはやっぱAutoDeintがいいかも。
4.00fpsに上がった。

132 名前:名無しさん@編集中:2007/10/15(月) 20:08:22 ID:Q9DGJv/m
ボケないデハロを目指してmasktoolsいじってたら、なぜかアニメ向け2DNRができましたww

function SevenFourThreeNR(clip c,int "i0",int "i1",int "i2",string "s",bool "b0",bool "b1"){
i0=default(i0,8)chr(13)i1=default(i1,1)chr(13)i2=default(i2,8)chr(13)s=default(s," 4 3 / ^")chr(13)b0=default(b0,true)chr(13)b1=default(b1,true)
function SevenFourThreeNR_f0(clip c,int "i0",int "i1"){mt_average(SevenFourThreeNR_f2(SevenFourThreeNR_f1(c,i1),i1),SevenFourThreeNR_f1(SevenFourThreeNR_f2(c,i1),i1),u=3,v=3)chr(13)1<i0?SevenFourThreeNR_f0(i0-1,i1):last}
function SevenFourThreeNR_f1(clip c,int "i"){mt_expand(c,u=3,v=3)chr(13)1<i?SevenFourThreeNR_f1(i-1):last}
function SevenFourThreeNR_f2(clip c,int "i"){mt_inpand(c,u=3,v=3)chr(13)1<i?SevenFourThreeNR_f2(i-1):last}
function SevenFourThreeNR_f3(clip c0,clip "c1",int "i",string "s"){mt_merge(c0,c1,mt_lutxy(c0,c1,"x y - abs"+s,u=3,v=3),u=3,v=3)chr(13)1<i?SevenFourThreeNR_f3(c1,i-1,s):last}
b0?mt_adddiff(mt_makediff(c,SevenFourThreeNR_f3(SevenFourThreeNR_f0(c,i0,i1),c,i2,s),u=3,v=3),c,u=3,v=3):c
SevenFourThreeNR_f3(SevenFourThreeNR_f0(last,i0,i1),last,i2,s)
b1?SevenFourThreeNR_f3(last,c,i2,s):last
}
デフォでの動作を簡単に説明するとFrFunっぽい
リンギングは結構取れます、弱いエッジしか消えないのでボケてる感じはあまりしません
てゆーか、シャープになったりしますww
ワープシャープ的に引き締めたりもします
肝心のヘイローには殆ど効いてないみたいだけど、結構面白い関数だと思います

133 名前:名無しさん@編集中:2007/10/17(水) 14:25:12 ID:wWZOhauC
itvfrで120fのやりかた教えて

134 名前:名無しさん@編集中:2007/10/26(金) 11:25:58 ID:9jv9MmMl
すまん、初心者的な質問で申し訳ないが、
ユーザ定義関数を作るとき、
一番最初のパラメータclipの名前は引用符なし、
その次のパラメータの名前からは引用符必要ということでいい?

135 名前:名無しさん@編集中:2007/10/30(火) 21:48:58 ID:kyAX7L9h
>>132
リンギングの取れ具合はすごくいいけど重くて常用はムリww

136 名前:名無しさん@編集中:2007/11/01(木) 03:54:40 ID:r/DJURjR
リンギングといや、3DNR・2DNRの前にアンシャープマスク掛けるのが好き
ボケないしリンギング増加も少ない

137 名前:名無しさん@編集中:2007/11/02(金) 14:16:03 ID:36XM6NYq
>>132使うと若干色変わる希ガス


138 名前:名無しさん@編集中:2007/11/03(土) 04:53:53 ID:jAWR3vCQ
>>132
> リンギングは結構取れます
> 肝心のヘイローには殆ど効いてないみたい

すみません、ringing と haloing の違い教えてください。
同じ物の単に違う呼び名だと思ってました。
昨晩放送された2001年宇宙の旅の最後のタイムスリップ後シーンとか
結構 haloing がひどいので使ってみましたが確かにあまり効いてないみたいです。

139 名前:名無しさん@編集中:2007/11/03(土) 15:30:17 ID:1bTpiF2G
>>138
ttp://forum.doom9.org/showthread.php?t=99795

140 名前:名無しさん@編集中:2007/11/08(木) 11:37:44 ID:ZtXxTKPP
本スレドコー!?

141 名前:名無しさん@編集中:2007/11/08(木) 13:05:30 ID:3r41SkE9
本スレDAT落ちしてた・・・

142 名前:名無しさん@編集中:2007/11/08(木) 17:43:40 ID:3nEhuLf1
またかよ!

143 名前:名無しさん@編集中:2007/11/08(木) 17:56:00 ID:3nEhuLf1
スレ立てようかと思うんだけど、何かテンプレに加えたい情報とか直したいこととかある?

144 名前:名無しさん@編集中:2007/11/08(木) 17:57:30 ID:yzzCvuLH
スレタイをAvisynth総合スレッドへ変更

145 名前:名無しさん@編集中:2007/11/08(木) 20:54:33 ID:2TD6BldN
何も足さない 何も引かない

146 名前:名無しさん@編集中:2007/11/10(土) 16:49:57 ID:VdBqE9fT
このスレ、要らないだろ...

147 名前:名無しさん@編集中:2007/11/10(土) 17:53:37 ID:fxCD51xA
このスレの方が適切(というか元々前スレのだけど)だと思う
KenKunNR2が本スレに貼られてるからね。
俺もたまに作るけど、ショボすぎて人に見せられない。

148 名前:名無しさん@編集中:2007/11/10(土) 22:51:06 ID:ya9MpQxM
このスレは自作関数を張るスレとして機能している

149 名前:名無しさん@編集中:2007/11/12(月) 03:42:17 ID:h1VJOAKs
GPU25

150 名前:名無しさん@編集中:2007/11/12(月) 18:16:13 ID:ArqytBGE
1080i -> 720pはとにかくプログレにしてリサイズ、だよね?

151 名前:名無しさん@編集中:2007/11/12(月) 19:13:56 ID:j020roWY
プログレって言うかデインタレね

152 名前:名無しさん@編集中:2007/11/12(月) 19:56:23 ID:dd4SilXy
いやその言い換えは全く必要ないというかどちらかと言えば逆というかw

153 名前:名無しさん@編集中:2007/11/12(月) 22:10:55 ID:jqnQi4tB
プログレ:60p
デインタレ:30p

俺の認識

154 名前:名無しさん@編集中:2007/11/13(火) 02:09:58 ID:natu9T7E
p はプログレの p
i はインタレースの i

俺の認識

155 名前:名無しさん@編集中:2007/11/13(火) 10:51:20 ID:6yLAz53/
インタレの話はしていない

156 名前:名無しさん@編集中:2007/11/18(日) 09:10:51 ID:njisWXGL
#GetPixelType…現在の色空間を取得する
function GetPixelType(clip clip) {
  return
  \  ((clip.IsYUY2())
  \    ? "YUY2"
  \  :(clip.IsYV12())
  \    ? "YV12"
  \  :(clip.IsRGB32())
  \    ? "RGB32"
  \  :(clip.IsRGB24())
  \    ? "RGB24"
  \  :(clip.IsYUV())
  \    ? "YUV"
  \  :(clip.IsRGB())
  \    ? "RGB"
  \    : "UNKNOWN"
  \  )
}

157 名前:名無しさん@編集中:2007/11/18(日) 09:11:50 ID:njisWXGL
#GetPixelType…色空間を設定する
#  type  色空間
function SetPixelType(clip clip, string type) {
  return
  \  ((type == "YUY2")
  \    ? clip.ConvertToYUY2()
  \  :(type == "YV12")
  \    ? clip.ConvertToYV12()
  \  :(type == "RGB32")
  \    ? clip.ConvertToRGB32()
  \  :(type == "RGB24")
  \    ? clip.ConvertToRGB24()
  \  :(type == "YUV")
  \    ? clip.ConvertToYUY()
  \  :(type == "RGB")
  \    ? clip.ConvertToRGB()
  \    : clip
  \  )
}

158 名前:名無しさん@編集中:2007/11/18(日) 09:12:49 ID:njisWXGL
#ColorMaskFilter…指定の色にフィルターを掛ける
#  filter    作用させるフィルタ
#  color    作用させる色
#  tolerance  作用させる色範囲(省略なら0)
#        負数なら色範囲外に作用させる
#  filter_lv  フィルタのレベル(省略なら255)
function ColorMaskFilter(clip clip, string filter, int color, int "tolerance", int "filter_lv") {
  tolerance = default(tolerance,0)
  filter_lv = default(filter_lv,255)
  width = clip.Width()
  height = clip.Height()
  type = clip.GetPixelType()

  fclip = Eval("clip." + filter)
  clip = clip.ConvertToRGB32()
  fclip = fclip.ConvertToRGB32()
  
  mask = clip.ColorKeyMask(color, Abs(tolerance))
  mask = ((0 <= tolerance)? mask.Invert("A"): mask)

  fclip = MergeARGB(mask, fclip, fclip, fclip)
  clip = clip.Layer(fclip, "add", filter_lv)
  
  return clip.SetPixelType(type)
}

159 名前:名無しさん@編集中:2007/11/18(日) 09:18:31 ID:njisWXGL
#ReplaceColor…色の置き換え
#  src_color  置き換え対象の色
#  dst_color  置き換え後の色
#  tolerance  作用させる色範囲(省略なら0)
#        負数なら色範囲外に作用させる
function ReplaceColor(clip clip, int src_color, int dst_color, int "tolerance") {
  tolerance = default(tolerance,0)
  return clip.ColorMaskFilter("BlankClip(color=" + string(dst_color) + ")", src_color, tolerance)
}


YUV2 や YV12 でも通りますが、精度は知りません。

RGB:808080 を RGB:00FF00 に置き換える
ReplaceColor($808080, $00FF00, 0)


>>134
引用符が付いているパラメータは省略出来る
引用符が無いパラメータは使用時に絶対に指定しなければならない
(先頭のclipだけ、もう少しややこしいけど省略)

160 名前:134:2007/11/19(月) 02:27:16 ID:q2R0Hp90
>>159
ありがとう。
WikiのAviSynth入門のスクリプトがうまく動かなかったので
どういうことだろうと思っていました。

161 名前:名無しさん@編集中:2007/12/01(土) 18:04:28 ID:zVMq7PtH
function SevenFourThreeNRv2(clip c,bool "b0",bool "b1",int "i0",string "s0",int "i1",int "i2",\
string "s1",string "s2",int "i3",bool "b2",string "s3"){
function SevenFourThreeNR_0(clip c,bool b1,int i0,string s0,int i1,int i2,string s1,string s2,int\
i3,bool b2,string s3){
function SevenFourThreeNR_0_0(clip c,int i0,string s0,int i1,int i2){
function SevenFourThreeNR_0_0_0(clip c,int i0,string s0,int i1){
i0==0?mt_expand(c,mode=s0):i0==1?mt_logic(c,mt_logic(duplicateframe(deleteframe(c,framecount(c)-1),\
0),deleteframe(duplicateframe(c,framecount(c)-1),0),"max"),"max"):mt_logic(mt_expand(c,mode=s0),\
mt_logic(duplicateframe(deleteframe(c,framecount(c)-1),0),deleteframe(duplicateframe(c,framecount(c\
)-1),0),"max"),"max")
1<i1?SevenFourThreeNR_0_0_0(i0,s0,i1-1):last
}
function SevenFourThreeNR_0_0_1(clip c,int i0,string s0,int i1){
i0==0?mt_inpand(c,mode=s0):i0==1?mt_logic(c,mt_logic(duplicateframe(deleteframe(c,framecount(c)-1),\
0),deleteframe(duplicateframe(c,framecount(c)-1),0),"min"),"min"):mt_logic(mt_inpand(c,mode=s0),\
mt_logic(duplicateframe(deleteframe(c,framecount(c)-1),0),deleteframe(duplicateframe(c,framecount(c\
)-1),0),"min"),"min")
1<i1?SevenFourThreeNR_0_0_1(i0,s0,i1-1):last
}
mt_average(SevenFourThreeNR_0_0_1(SevenFourThreeNR_0_0_0(c,i0,s0,i1),i0,s0,i1),\
SevenFourThreeNR_0_0_0(SevenFourThreeNR_0_0_1(c,i0,s0,i1),i0,s0,i1))
1<i2?SevenFourThreeNR_0_0(i0,s0,i1,i2-1):last
}
function SevenFourThreeNR_0_1(clip c0,clip c1,string s1,string s2,int i3){
mt_lutxy(c0,c1,"x y - abs"+s1+" "+s2+" < x y - abs"+s1+" x * "+s2+" x y - abs"+s1+" - y * + "+s2+\
" / x ?")

162 名前:名無しさん@編集中:2007/12/01(土) 18:04:55 ID:zVMq7PtH
1<i3?SevenFourThreeNR_0_1(c0,last,s1,s2,i3-1):last
}
b3=isyv12(c)
c0=b3?c:converttoyv12(c)
b1?mt_adddiff(mt_makediff(c0,SevenFourThreeNR_0_1(c0,SevenFourThreeNR_0_0(c0,i0,s0,i1,i2),s1,s2,i3)\
),c0):c0
SevenFourThreeNR_0_1(SevenFourThreeNR_0_0(i0,s0,i1,i2),s1,s2,i3)
b1?SevenFourThreeNR_0_1(c0,last,s1,s2,i3):last
b2?mt_clamp(last,mt_expand(c0,mode=s3),mt_inpand(c0,mode=s3)):last
b3?last:converttoyuy2
}
b0=default(b0,true)
b1=default(b1,true)
i0=default(i0,0)
s0=default(s0,"square")
i1=default(i1,1)
i2=default(i2,8)
s1=default(s1," 4 3 / ^")
s2=default(s2,"256")
i3=default(i3,8)
b2=default(b2,false)
s3=default(s3,"square")
i4=b0?8:4
i5=isyv12(c)&&b0?8:4
i6=ceil(width(c)/i4)*i4
i7=ceil(height(c)/i5)*i5
pointresize(c,i6,i7,0,0,i6,i7)
b0?ytouv(SevenFourThreeNR_0(utoy,b1,i0,s0,i1,i2,s1,s2,i3,b2,s3),SevenFourThreeNR_0(vtoy,b1,i0,s0,i1\
,i2,s1,s2,i3,b2,s3),SevenFourThreeNR_0(b1,i0,s0,i1,i2,s1,s2,i3,b2,s3)):mergeluma(SevenFourThreeNR_0\
(b1,i0,s0,i1,i2,s1,s2,i3,b2,s3))
crop(0,0,width(c),height(c))
}

163 名前:名無しさん@編集中:2007/12/01(土) 18:32:53 ID:Do9BIsOR
なんすかこれ

164 名前:名無しさん@編集中:2007/12/01(土) 18:57:33 ID:zVMq7PtH
久しぶりにとある板のとあるスレを見たらSevenFourThreeNR使ってる人がいたので、何となくヴァージョンあっぷ

変更点
YUY2に対応、Yのみを可能に、時間軸追加etc.

引数について
b0 UVをどうするか、trueでYUV、falseでYのみ
b1 foo(subtract(last,subtract(foo,last)))的な事をするかどうか、trueでやる
i0 ぼかし方、0で2D、1で時間軸、それ以外3D・・なのかなぁ?、2D以外はてきとーだから無駄が多い
s0 ぼかす時のmt_expandとmt_inpandのモード
i1 ぼかす範囲、大きくすると糞重い、1〜3程度で
i2 ぼかす回数、良く解らんけど8〜9回ぐらいで変化しなくなる、少ないと軽い、2〜4ぐらいで十分な気もする
s1 元に戻す強さに影響、s2,i3と一緒に弄る
s2 元に戻す強さに影響
i3 元に戻す回数、少ないと軽い
b2 時間軸用の制限の有無、trueで制限あり、2Dでは意味無し
s3 時間軸用の制限のmt_expandとmt_inpandのモード

使用例
SevenFourThreeNRv2#前の奴のデフォとほぼ同じ
SevenFourThreeNRv2(i1=2)#より強く
SevenFourThreeNRv2(s0=mt_square(2))#上と同じ、でもこっちの方が重い
SevenFourThreeNRv2(b1=false,s0="both",s1=" 1 2 / ^",s2="255 1 2 / ^",i3=10)#デハロ?
SevenFourThreeNRv2(b1=false,i0=1,s1=" 3 4 / ^",s2="255 3 4 / ^",i3=10,b2=true,s3="both")#ドット妨害クロスカラー除去?、メモリ食いすぎwwwSDで700Mとかwwwww
SevenFourThreeNRv2(b1=false,i0=743,s0="both",s1=" 3 4 / ^",s2="255 3 4 / ^",i3=10,b2=true,s3="both")#ほんとに3Dなの?、↑よりさらにメモリ食う

ノシ

165 名前:名無しさん@編集中:2007/12/01(土) 21:53:52 ID:zVMq7PtH
なんか知らんけど、一番最後の
crop(0,0,width(c),height(c))
がうまく機能してなさそうなんで
pointresize(width(c),height(c),0,0,width(c),height(c))
これに差し替えで・・・

>>163
>132をチョコッと弄ったデリンギングな関数のつもり、実際は良く解らん

166 名前:名無しさん@編集中:2007/12/04(火) 13:49:36 ID:Ns7x44F8
Vinverseもどき
mt_adddiff(last,mt_lutxy(mt_makediff(mt_convolution("1","1 2 1",u=3,v=3),last,u=3,v=3),mt_makediff(mt_convolution("1",\
"-1 1 4 1 -1",u=3,v=3),last,u=3,v=3),"x 128 - y 128 - * 0 > x 128 - abs y 128 - abs < x y ? 128 ?",u=3,v=3),u=3,v=3)

167 名前:名無しさん@編集中:2007/12/11(火) 20:05:46 ID:DLfn2Ofv
ほしゅ

168 名前:名無しさん@編集中:2007/12/12(水) 23:01:50 ID:ZNfNyDle
x264 カスタムマトリクス調整 & ノイズ調整 スクリプト 第3版
ttp://www.uploda.net/cgi/uploader4/index.php?file_id=0000023520.zip

lumimaskにint型指定できるSSIM.dllが必要。

SSIM / Lumimask For Measuring Codec Quality
ttp://forum.doom9.org/showthread.php?t=92532
source
ttp://forum.doom9.org/showthread.php?p=862104#post862104
binary
ttp://forum.doom9.org/showthread.php?p=698521#post698521

169 名前:名無しさん@編集中:2007/12/14(金) 02:11:44 ID:vuXQXNV+
色空間変換・Layer を使わずに指定範囲・指定エリアにフィルタをかける関数
ttp://www.uploda.net/cgi/uploader4/index.php?file_id=0000023573.zip

170 名前:名無しさん@編集中:2007/12/14(金) 18:16:13 ID:QDdKu/SO
皆さん、こんにちは〜
結構良い感じのドット妨害除去ができたんでうpってみます。
ttp://kininaruweb.sakura.ne.jp/uploader/src1/happa3796.rar
名前は「NR」、・・・そのまんまです
たぶんYV12でしか動かない
引数がclip1つだけなんで、使い方はNR() とか nr とか Nr とか nR(last) とかそんな感じで

実際の処理は
function NR_uf(clip c){
c
c0=duplicateframe(deleteframe(framecount-1),0)
c1=deleteframe(duplicateframe(framecount-1),0)
merge(\
mt_logic(mt_logic(mt_inpand(mode="horizontal",u=3,v=3),mt_inpand(mode="vertical",u=3,v=3),"max",u=3,v=3),mt_logic(last,mt_logic(c0,c1,"min",u=3,v=3),"min",u=3,v=3),"max",u=3,v=3),\
mt_logic(mt_logic(mt_expand(mode="horizontal",u=3,v=3),mt_expand(mode="vertical",u=3,v=3),"min",u=3,v=3),mt_logic(last,mt_logic(c0,c1,"max",u=3,v=3),"max",u=3,v=3),"min",u=3,v=3)\
)
}
こんなの、てか結果はまるっきり一緒
縦横時間でそれぞれ最大最小を求めて、最大の中の最小と、最小の中の最大の平均を返す・・みたいな?

コンパイラにSSEとSSE2使う様に頼んどいたんで、両方使える環境じゃないとまずい思う
c++触ったの初めてなんで動いたとか動かないとか教えてもらえるとうれしいです。
ノシ

171 名前:名無しさん@編集中:2007/12/14(金) 23:29:01 ID:m+fmtO/5
君らは来るスレを微妙に間違えてる気がしなくも無い

172 名前:名無しさん@編集中:2007/12/20(木) 11:55:17 ID:Ze2ZKlCQ
nürüpo守

173 名前:名無しさん@編集中:2007/12/20(木) 11:56:43 ID:LpNJZ0sg
ガッ (・∀・)

174 名前:名無しさん@編集中:2007/12/21(金) 16:17:29 ID:JHSDTI/N
NicAC3Source(***)
#音声の長さ分の映像を足す
function addvideo(clip c) {
blankclip(length = int(100.0 * AudioLengthF(c) / float(audiorate(c))), fps=100)
return audiodub(last,c)
}
addvideo()
#AudioDubEx(BlankClip(length=Int(120*AudioLengthF(last)/Audiorate(last)), width=32, height=32, pixel_type="RGB24", fps=120), last)

Soundout(output="cmd", filename="ぱす\audio.mp4", type=0, autoclose=true, executable="ぱす\neroaacenc.exe", prefilename="-ignorelength -q 0.5 -if - -of")
#SoundOut(output="WAV",filename="output.wav", autoclose = true, showprogress=true, overwritefile="Yes")
#AC3 6ch用
#Soundout(output="cmd", filename="ぱす\audio.mp4", type=0, autoclose=true, executable="ぱす\neroaacenc.exe", prefilename="-ignorelength -br 256000 -if - -of")


AvsPの拡張子別テンプレートに登録しておけば空白のタブにD&D後
プレビュー窓をだした瞬間エンコが始まります。

175 名前:名無しさん@編集中:2007/12/28(金) 05:13:27 ID:5UN9eizQ
>>89
これはどうやって使えばいいんだ?

176 名前:名無しさん@編集中:2008/01/01(火) 00:17:12 ID:UGGsjhoK
元日保守

177 名前:名無しさん@編集中:2008/01/01(火) 01:25:48 ID:5Qbvz5i3
元日保守

178 名前:名無しさん@編集中:2008/01/01(火) 14:40:44 ID:/o0090QP
function seven43upconv(clip c,int target_width,int target_height,float "src_left",float "src_top",float "src_width",float "src_height"){
src_left=default(src_left,0.)
src_top=default(src_top,0.)
src_width=default(src_width,width(c)*1.)
src_width=src_width<=0?width(c)-src_left+src_width:src_width
src_height=default(src_height,height(c)*1.)
src_height=src_height<=0?height(c)-src_top+src_height:src_height
rf="spline64resize"
try{
eval(rf+"(c,width(c),height(c))")
}
catch(err_msg){
rf="lanczosresize"
}
eval("bicubicresize(c,"+string(target_width*3)+","+string(target_height*3)+",1.,0.,"+string(src_left)+","+string(src_top)+","+string(src_width)+","+string(src_height)+")")
eval(rf+"(width(c),height(c),"+string(src_left*width/src_width*-1)+","+string(src_top*height/src_height*-1)+","+string(width(c)*width/src_width)+","+string(height(c)*height/src_height)+")")
mt_adddiff(c,mt_makediff(c,last,u=3,v=3),u=3,v=3)
eval("bicubicresize("+string(target_width*3)+","+string(target_height*3)+",1.,0.,"+string(src_left)+","+string(src_top)+","+string(src_width)+","+string(src_height)+")")
mt_adddiff(last,mt_makediff(last,mt_convolution("1 1 1","1 1 1",u=3,v=3),u=3,v=3),u=3,v=3)
mt_adddiff(last,mt_lutxy(mt_makediff(mt_expand(u=3,v=3),last,u=3,v=3),mt_makediff(mt_inpand(u=3,v=3),last,u=3,v=3),"x 128 - 128 y - < x x 128 - 128 y - > y 128 ? ?",u=3,v=3),u=3,v=3)
eval(rf+"(target_width,target_height)")
}
ボケるけどジャギら無いバイキュービックb=1.,c=0.の拡大にアンシャープマスク、ssxsharpenをあわせてみたら。。。。糞重い

179 名前:名無しさん@編集中:2008/01/01(火) 14:45:29 ID:xZtbbjdB
>>178
肝心の効果はどうなん?

180 名前:名無しさん@編集中:2008/01/01(火) 15:10:20 ID:/o0090QP
>>179
そこそこww
nnedi(0,true).turnleft.nnedi(0,true).turnright
には負ける(ssxsharpenのせいで>178の方が不自然)けど
lanczosresize(nnedi(0,true).turnright.nnedi(0,true).turnleft,width*2,height*2,.5,.5,width*2,height*2)
になら勝ってる(半ピクセルずらすとかなりへぼくなる)と思う。

181 名前:名無しさん@編集中:2008/01/01(火) 17:08:39 ID:/o0090QP
function seven43upconv(clip c,int target_width,int target_height,float "src_left",float "src_top",float "src_width",float "src_height",int "taps"){
src_left=default(src_left,0.)
src_top=default(src_top,0.)
src_width=default(src_width,width(c)*1.)
src_width=src_width<=0?width(c)-src_left+src_width:src_width
src_height=default(src_height,height(c)*1.)
src_height=src_height<=0?height(c)-src_top+src_height:src_height
taps=default(taps,3)
eval("bicubicresize(c,"+string(target_width*4)+","+string(target_height*4)+",1.,0.,"+string(src_left)+","+string(src_top)+","+string(src_width)+","+string(src_height)+")")
eval("lanczosresize(width(c),height(c),"+string(src_left*width/src_width*-1)+","+string(src_top*height/src_height*-1)+","+string(width(c)*width/src_width)+","+string(height(c)*height/src_height)+","+string(taps)+")")
mt_adddiff(c,mt_makediff(c,last,u=3,v=3),u=3,v=3)
eval("bicubicresize("+string(target_width*4)+","+string(target_height*4)+",1.,0.,"+string(src_left)+","+string(src_top)+","+string(src_width)+","+string(src_height)+")")
mt_adddiff(last,mt_lutxy(mt_makediff(mt_expand(u=3,v=3),last,u=3,v=3),mt_makediff(mt_inpand(u=3,v=3),last,u=3,v=3),"x 128 - 128 y - < x x 128 - 128 y - > y 128 ? ?",u=3,v=3),u=3,v=3)
mt_adddiff(last,mt_makediff(last,mt_convolution(u=3,v=3),u=3,v=3),u=3,v=3)
eval("lanczosresize(target_width,target_height,taps="+string(taps)+")")
}
とりあえず>178は無かったことに・・・
なんか二回目のアンシャープマスクが逆効果だったみたいだから順番入れ替え
ダウンサンプリングをspline64からlanczosに変更

結局eedi2にもnnediにも勝てそうに無いwwwww
プラグイン化したら速度でなら勝てそうだけどMitchellNetravaliとかウザイ

182 名前:名無しさん@編集中:2008/01/01(火) 18:43:45 ID:/o0090QP
何度もサーセン
予定とはかなり違うけど
seven43upconv(width,height)
こんな感じで使えばかなり良い感じのだったので報告
bicubic(b=1,c=0)+lanczosでssxsharpenすると適当にNR、dehaloがかかってアニメ的に綺麗なのは知ってたけど
それとは違ってLimitedSharpenみたいな方向に良い感じ、もちろん糞重いけど
あと、
mt_adddiff(last,mt_lutxy(mt_makediff(mt_expand(u=3,v=3),last,u=3,v=3),mt_makediff(mt_inpand(u=3,v=3),last,u=3,v=3),"x 128 - 128 y - < x x 128 - 128 y - > y 128 ? ?",u=3,v=3),u=3,v=3)
mt_adddiff(last,mt_makediff(last,mt_convolution(u=3,v=3),u=3,v=3),u=3,v=3)
↑をプラグイン化してみたけど焼け石にm(ryなかんじでしたOT2

てか俺のIDかっこよくね?

183 名前:名無しさん@編集中:2008/01/02(水) 13:30:06 ID:dT/7RLw8
一晩でAvisynth使えるようになった俺すげー

SourceDir = "D:\bs\"
SourceName = "1"

RangeName = "1"
MPEG2Source("D:\bs\1.d2v")

AC3source("D:\bs\1.ac3")

AssumeTFF() #フィールドオーダー指定(トップ先行)
FrameCache(9).AutoDeint("")
Crop(8, 0, 704, 480)
Convolution3D(preset="movieHQ")
LanczosResize(640,480)
return last #おわり

184 名前:名無しさん@編集中:2008/01/04(金) 21:28:48 ID:XJEnjgg3
AviSynthが使えるっていうのは
3項演算子と再帰呼び出しでループする関数が作れるレベルじゃねの?

185 名前:名無しさん@編集中:2008/01/05(土) 16:07:16 ID:+PGupEZ0
avisynth使い始めて、7,8年になるが、年々フィルターが減って、
今では、

video = mpeg2source("〜")
audio = wavSource("〜")
AudioDub(video, audio)

trim(1,100)

これだけ・・・

186 名前:名無しさん@編集中:2008/01/05(土) 16:17:04 ID:gIh2Q5cD
どんだけ〜

187 名前:名無しさん@編集中:2008/01/05(土) 16:25:48 ID:ih6R9AbJ
HDキャプでインターレース保持なら短いかも。

188 名前:名無しさん@編集中:2008/01/05(土) 18:05:02 ID:uirNb8/z
だよね、フィルタかけなくても奇麗だし

189 名前:名無しさん@編集中:2008/01/05(土) 18:19:24 ID:2bk43Qb0
>>188
眼科池

190 名前:名無しさん@編集中:2008/01/05(土) 20:41:22 ID:ih6R9AbJ
>>189
デコーダーの進化に興味はないのか?

191 名前:名無しさん@編集中:2008/01/05(土) 21:05:38 ID:/j7rleaz
画質は糞目だから何とも言わないが
アナログD3キャプチャだとfft3dgpu掛けると結構縮むよ。


192 名前:名無しさん@編集中:2008/01/05(土) 21:48:28 ID:XF0s/U/h
顔に見えるネ ("〜")

193 名前:名無しさん@編集中:2008/01/07(月) 15:33:49 ID:Dvrk4O3t
↓から
function nnediresize(clip c,int target_width,int target_height,float "src_left",float "src_top",\
float "src_width",float "src_height",int "taps",bool "merge_turn180",bool "merge_invert"){
src_left=default(src_left,0.)
src_top=default(src_top,0.)
src_width=default(src_width,float(width(c)))
src_height=default(src_height,float(height(c)))
src_width=src_width<=0.?float(width(c))-src_left+src_width:src_width
src_height=src_height<=0.?float(height(c))-src_top+src_height:src_height
taps=default(taps,3)
merge_turn180=default(merge_turn180,false)
merge_invert=default(merge_invert,false)
function nnediresize_resample(clip c,float subrange_left,float subrange_top,float subrange_width,\
float subrange_height,int target_width,int target_height,int taps){
subrange_width<float(target_width)||subrange_height<float(target_height)?subrange_height*float(\
target_width)<subrange_width*float(target_height)?nnediresize_resample(nnedi(c,0,true),\
subrange_left,subrange_top*2.+.5,subrange_width,subrange_height*2.,target_width,target_height,taps\
):nnediresize_resample(turnleft(nnedi(turnright(c),0,true)),subrange_left*2.+.5,subrange_top,\
subrange_width*2.,subrange_height,target_width,target_height,taps):lanczosresize(c,target_width,\
target_height,subrange_left,subrange_top,subrange_width,subrange_height,taps)
}
nnediresize_resample(c,src_left,src_top,src_width,src_height,target_width,target_height,taps)
merge_turn180?merge(last,turn180(nnediresize_resample(turn180(c),float(width(c))-src_left-\
src_width,float(height(c))-src_top-src_height,src_width,src_height,target_width,target_height,taps\
))):last
merge_invert?merge_turn180?merge(last,invert(merge(nnediresize_resample(invert(c),src_left,src_top\
,src_width,src_height,target_width,target_height,taps),turn180(nnediresize_resample(turn180(invert\

194 名前:名無しさん@編集中:2008/01/07(月) 15:34:06 ID:Dvrk4O3t
(c)),float(width(c))-src_left-src_width,float(height(c))-src_top-src_height,src_width,src_height,\
target_width,target_height,taps))))):merge(last,invert(nnediresize_resample(invert(c),src_left,\
src_top,src_width,src_height,target_width,target_height,taps))):last
}
↑まで
>184の言う"3項演算子と再帰呼び出しでループする関数"ってこんな感じで良いの?
もしかして俺ってAviSynth使えてる?

195 名前:名無しさん@編集中:2008/01/13(日) 05:31:59 ID:sImB7R5t
#MTp…MTiの擬似プログレッシブ対応
#    filter    実行するフィルタ
#
#    既知の不具合
#        時間軸系フィルタは上手く動作しません
#        YV12では上手く動作しません
#        MTiで使用出来ないフィルタは使用出来ません
function MTp(clip clip, string filter) {
    tff = clip.GetParity()
    clip = clip.AssumeTFF()
    clip = Interleave(clip.SelectEvery(2, 0), clip.SelectEvery(2, 1))
    clip = clip.AssumeFieldBased()
    clip = clip.Weave()
    clip = clip.AssumeFrameBased()
    clip = clip.MTi(filter)
    clip = clip.SeparateFields()
    clip = clip.AssumeFrameBased()
    clip = ((tff)? clip.AssumeTFF(): clip.AssumeBFF())
    return clip
}


MTp("""subtitle("保守")""")

196 名前:名無しさん@編集中:2008/01/14(月) 15:05:52 ID:pPBfz4B1
DVDアプコンをEDIUpsizer使ってやろうとしたら、死ぬほど重たいですね。
シングルスレッドでしか動かないので、クアッドコアとか持ち腐れ気味。
誰か、適度に使えるアプコンスクリプトplz

197 名前:名無しさん@編集中:2008/01/15(火) 22:55:44 ID:7Mxa1bv4
>>196
つPS3

198 名前:名無しさん@編集中:2008/01/15(火) 23:17:02 ID:KtRfAcqU
PS3のアプコンはDRCの劣化版ゴミ

199 名前:名無しさん@編集中:2008/01/15(火) 23:31:02 ID:vhrCFnTl
そのゴミの画質になかなか追いつけないし、画質的に追いつけても時間が・・・・
リアルタイム処理であれだけの画質をあれだけの値段の機器でやってしまうのは
あらためてすごいと思う今日この頃。

200 名前:名無しさん@編集中:2008/01/15(火) 23:33:46 ID:Wzuhq1ws
相手にするな

201 名前:名無しさん@編集中:2008/01/16(水) 09:11:04 ID:iGFrIdKa
1 名前:名無しさん@編集中[] 投稿日:2008/01/14(月) 18:46:44 ID:pPBfz4B1
アプコンに関する専門スレを立ててみた。
Avisynth等を用いて、PS3アプコンを越える画質を作る方法を
研究するスレ。語って下さい。

202 名前:名無しさん@編集中:2008/01/16(水) 09:15:56 ID:4S3cgOY/
>>201
[Avisnth]アプコン技術総合[PS3]
http://pc11.2ch.net/test/read.cgi/avi/1200304004/





snthwwwwwwwwwwwww

203 名前:名無しさん@編集中:2008/01/16(水) 09:44:01 ID:7OiAWSUR
糞スレ立てるなよw

204 名前:名無しさん@編集中:2008/01/16(水) 16:02:32 ID:aRaMhix6
↓から
function nnediresize(clip,int target_width,int target_height,float "src_left",float "src_top",float "src_width",float "src_height",int "taps",bool "merge_turn180",bool "merge_invert"){a=clip
b=target_width chr(13)c=target_height chr(13)d=default(src_left,0.)chr(13)d=isfloat(d)?d:float(d)chr(13)e=default(src_top,0.)chr(13)e=isfloat(e)?e:float(e)chr(13)f=float(width(a))
g=default(src_width,f)chr(13)g=isfloat(g)?g:float(g)chr(13)g=g<=0.?f-d+g:g chr(13)h=float(height(a))chr(13)i=default(src_height,h)chr(13)i=isfloat(i)?i:float(i)chr(13)i=i<=0.?h-e+i:i
j=default(taps,3)chr(13)k=default(merge_turn180,false)chr(13)l=k?f-d-g:0.chr(13)m=k?h-e-i:0.chr(13)n=default(merge_invert,false)
function nnediresize_(a,float b,float c,float d,float e,int f,int g,int h){i=float(f)chr(13)j=float(g)
d<i||e<j?e*i<d*j?nnediresize_(nnedi(a,0,true),b,c*2.+.5,d,e*2.,f,g,h):nnediresize_(turnleft(nnedi(turnright(a),0,true)),b*2.+.5,c,d*2.,e,f,g,h):lanczosresize(a,f,g,b,c,d,e,h)}
nnediresize_(a,d,e,g,i,b,c,j)chr(13)k?merge(last,turn180(nnediresize_(turn180(a),l,m,g,i,b,c,j))):last
n?k?merge(last,invert(merge(nnediresize_(invert(a),d,e,g,i,b,c,j),turn180(nnediresize_(turn180(invert(a)),l,m,g,i,b,c,j))))):merge(last,invert(nnediresize_(invert(a),d,e,g,i,b,c,j))):last}
↑まで

>193-194からの変更点
1 src_leftとかがint型も受け取るみたいだったのでfloat型にキャストを追加
2 同じ計算を何度もしてたのを変数に入れるようにした
3 変数の名前をシンプルにしてみた
4 改行位置を変えた

3と4はホントどーでも良いことで
nnediが重過ぎるから2もそれほど重要じゃないはずだし
割り算してないから1も実は無意味だったりします

てかfloat指定の引数にintが入るとかあるんだね、勝手にキャストしてくれると思ってたよ
int/floatのつもりが実はint/intだったりとか怖いなぁ

205 名前:名無しさん@編集中:2008/01/18(金) 00:14:56 ID:Iixs4I8W
>>55の修正・拡張
#OffsetFrame…現在のフレームとは違うフレームの画像を表示する
#    ofst    表示するフレームの位置(+1なら次のフレーム、-1なら前のフレーム)
#    audio    オーディオの同期(省略なら同期、偽なら非同期)
function OffsetFrame(clip clip, int ofst, bool "audio") {
    audio = default(audio, true)
    clip =    ((0 < ofst)
        \        ? clip.Trim(ofst,0)
        \    :(ofst < 0)
        \        ? clip.Loop((-ofst)+1, 0, 0)
        \        : clip
        \    )
    clip =    ((clip.HasAudio() && !audio)
        \        ? clip.DelayAudio(Float(ofst) / clip.Framerate())
        \        : clip
        \    )
    return clip
}

206 名前:名無しさん@編集中:2008/01/18(金) 00:15:23 ID:Iixs4I8W
>>54の修正・拡張
#for…繰り返し処理を行う
#    start    値の初期値
#    end        値の終了値
#    step    刻み値
#    filter    繰り返し分適応させるフィルタ(省略すると何もしません、“""”でも省略扱いです。)
#            繰り返しの値は“i”もしくは“crnt”で取得出来ます
#    merge    クリップ結合関数(省略すると最後に作成したクリップを返します、“""”でも省略扱いです。)
#            繰り返し途中に作成したクリップは早めに生成されたクリップが“c1”、
#            遅めに生成されたクリップが“c2”になります
#            この2つのクリップを1つのクリップに結合します。
function for(clip clip, int start, int end, int step, string "filter", string "merge") {
    filter = default(filter, "")
    merge = default(merge, "")
    merge = (("" != merge)? merge: "c1")
    i = start
    crnt = start
    next = crnt + step

    c1 = clip
    c2 = (("" != filter)? Eval("clip." + filter): clip)
    c2 = ((next < end) ? c2.for(next, end, step, filter, merge): c2)
    return ((next < end)? Eval(merge): c1)
}

207 名前:名無しさん@編集中:2008/01/18(金) 00:16:25 ID:Iixs4I8W
#FrameToStack…複数のフレームを1フレームに統合する
#    num            統合数
#    horizontal    横に並べる(省略・偽なら縦並べ、真なら横並べ)
function FrameToStack(clip clip, int num, bool "horizontal") {
    horizontal = default(horizontal, false)

    clip = clip.for(0, num, 1, "OffsetFrame(1)"
                \    , ((horizontal)? "StackHorizontal": "StackVertical") + "(c1, c2)")
    clip = clip.SelectEvery(num, 0)
    return clip
}

208 名前:名無しさん@編集中:2008/01/18(金) 00:20:24 ID:Iixs4I8W
#StackToFrame…1フレームに統合されたフレームを複数フレームに分離する
#    num            統合数
#    horizontal    横に並べられている(省略・偽なら縦並べ、真なら横並べ)
function StackToFrame(clip clip, int num, bool "horizontal") {
    horizontal = default(horizontal, false)

    width = ((!horizontal)? clip.Width(): clip.Width() / num)
    height = ((horizontal)? clip.Height(): clip.Height() / num)
    shiftx = ((horizontal)? width: 0)
    shifty = ((!horizontal)? height: 0)

    clip = clip.ChangeFPS(clip.FramerateNumerator() * num, clip.FramerateDenominator())
    clip = clip.OffsetFrame(-num / 2)
    clip = clip.ScriptClip("offset = current_frame%"+string(num)+chr(13)+
           \ "crop("+string(shiftx)+"*offset, "+string(shifty)+"*offset, "+string(width)+", "+string(height)+")"+chr(13)+
           \ "AddBorders(0, 0, "+string(shiftx*(num-1))+", "+string(shifty*(num-1))+")")
    clip = clip.crop(0, 0, width, height)
    return clip
}

209 名前:名無しさん@編集中:2008/01/18(金) 00:20:54 ID:Iixs4I8W
#MTv…MTを用いたフレーム別マルチスレッドフィルタ適応
#    filter            実行するフィルタ
#    threads            スレッド数(省略なら2)
#    splitvertical    縦に分割する(省略・偽なら横分割、真なら縦分割)
#
#    既知の不具合
#        時間軸系フィルタは上手く動作しません
#        MTで使用出来ないフィルタは使用出来ません
function MTv(clip clip, string filter, int "threads", bool "splitvertical") {
    threads = default(threads, 2)
    splitvertical = default(splitvertical, false)

    frame = clip.FrameCount()
    clip = clip.FrameToStack(threads, splitvertical)
    clip = clip.MT(filter, threads, 0, splitvertical)
    clip = clip.StackToFrame(threads, splitvertical)
    clip = clip.Trim(0, frame - 1)

    return     clip
}

210 名前:名無しさん@編集中:2008/01/18(金) 00:25:28 ID:Iixs4I8W
#NoResizeEDIUpsizer…画面サイズを変更しないEDIUpsizer
#    引数はEDIUpsizer準拠
function NoResizeEDIUpsizer(clip clip, int method, int window, float threshold4, float threshold8, float threshold16, int constraint, bool chroma, int cubic, int mvar) {
    clip = clip.Crop(0, 0, clip.Width() / 2, clip.Height() / 2)
    clip = clip.EDIUpsizer(method, window, threshold4, threshold8, threshold16, constraint, chroma, cubic, mvar)
    return clip
}

211 名前:名無しさん@編集中:2008/01/18(金) 00:27:03 ID:Iixs4I8W
#EDIUpsizerMt…EDIUpsizerのマルチスレッド対応
#    引数はEDIUpsizer準拠
#    以下追加引数
#    threads    スレッド数(省略なら2)
function EDIUpsizerMt(clip clip, int "method", int "window", float "threshold4", float "threshold8", float "threshold16", int "constraint", bool "chroma", int "cubic", int "mvar", int "threads") {
    method = default(method, 7)
    window = default(window, 0)
    threshold4 = default(threshold4, 1000.0)
    threshold8 = default(threshold8, 2000.0)
    threshold16 = default(threshold16, 4000.0)
    constraint = default(constraint, 2)
    chroma = default(chroma, false)
    cubic = default(cubic, 2)
    mvar = default(mvar, 8)
    threads = default(threads, 2)

    clip = clip.AddBorders(0, 0, clip.Width(), clip.Height())
    clip = clip.MTv("NoResizeEDIUpsizer("+string(method)+","+string(window)+","+
      \ string(threshold4)+","+string(threshold8)+","+string(threshold16)+","+
      \ string(constraint)+","+string(chroma)+","+string(cubic)+","+string(mvar)+")", threads)
    return clip
}

212 名前:名無しさん@編集中:2008/01/18(金) 00:34:12 ID:Iixs4I8W
EDIUpsizer() → EDIUpsizerMt(threads=4)
EDIUpsizer(9, 0) → EDIUpsizerMt(9, 0, threads=4)

時間軸に依存しないフィルタなら殆どマルチスレッド対応出来そうな気がする。
まぁ、使わない訳だが…。

213 名前:名無しさん@編集中:2008/01/18(金) 02:08:47 ID:RKNPVJi6
おお、早速使わせてもらいます

214 名前:名無しさん@編集中:2008/01/18(金) 10:18:38 ID:B3GQWsjd
神ktkr!

215 名前:名無しさん@編集中:2008/01/18(金) 23:09:54 ID:9w3YdqN2
ゴミばっかだな

216 名前:名無しさん@編集中:2008/01/18(金) 23:43:37 ID:B3GQWsjd
と思ったらうは重いなぁ。メモリ釈迦食うね

217 名前:名無しさん@編集中:2008/01/19(土) 00:02:04 ID:FgMPX7tq
メモリって・・・(・з・)

218 名前:名無しさん@編集中:2008/01/28(月) 18:15:29 ID:Iwy4cFh2
SetMTMode(2)で動いたりしないかなー試してみよ

219 名前:名無しさん@編集中:2008/01/30(水) 17:59:21 ID:qZmXxuAG
てst

220 名前:名無しさん@編集中:2008/02/07(木) 15:43:35 ID:NL8NsDwc
暇だったんで指定サイズ以内でPAR1:1にリサイズする為の関数を作ってみた
↓ここから
function getResizeArguments(clip clip,int limit_width,int limit_height,int"par_width",int"par_height",int"align"){
function getResizeArguments_g(int i,int j){
j==0?i:getResizeArguments_g(j,i%j)
}
function getResizeArguments_w(int sw,int lw,int dw,int dh,int a){
th=(lw*dh+dw*a-1)/(dw*a)*a
ln=(th*dw-lw*dh)*sw
ld=2*th*dw
g=getResizeArguments_g(ln,ld)
ln=ln/g
ld=ld/g
sl="float("+string(ln)+")/float("+string(ld)+")"
wn=sw*ld-2*ln
g=getResizeArguments_g(wn,ld)
sw="float("+string(wn/g)+")/float("+string(ld/g)+")"
a=string(lw)+","+string(th)
ln!=0?a+",src_left="+sl+",src_width="+sw:a
}
function getResizeArguments_h(int sh,int lh,int dw,int dh,int a){
tw=(lh*dw+dh*a-1)/(dh*a)*a
tn=(tw*dh-lh*dw)*sh
td=2*tw*dh
g=getResizeArguments_g(tn,td)
tn=tn/g
td=td/g
st="float("+string(tn)+")/float("+string(td)+")"
hn=sh*td-2*tn
g=getResizeArguments_g(hn,td)
sh="float("+string(hn/g)+")/float("+string(td/g)+")"
a=string(tw)+","+string(lh)

221 名前:名無しさん@編集中:2008/02/07(木) 15:44:08 ID:NL8NsDwc
tn!=0?a+",src_top="+st+",src_height="+sh:a
}
sw=width(clip)
sh=height(clip)
pw=default(par_width,1)
ph=default(par_height,1)
a=default(align,16)
lw=limit_width/a*a
lh=limit_height/a*a
dw=pw*sw
dh=ph*sh
g=getResizeArguments_g(dw,dh)
dw=dw/g
dh=dh/g
lw*dh>lh*dw?getResizeArguments_h(sh,lh,dw,dh,a):getResizeArguments_w(sw,lw,dw,dh,a)
}
↑ここまで

引数について
clip
 このクリップの横と縦をリサイズするつもりで計算します
limit_width,limit_height
 横と縦の限界、limit_widthxlimit_height以内になるように計算します
par_width,par_height
 clipのPARを指定できます(省略時1:1)
align
 alignの倍数になる様に計算します(省略時16)

使い方
Eval("LanczosResize("+getResizeArguments(width,height,10,11)+")")
 PAR10:11のクリップを16の倍数でPAR1:1になるように縮小、↓みたいな感じ
 ttp://nagamochi.info/src/up0814.png

222 名前:名無しさん@編集中:2008/02/07(木) 15:44:26 ID:NL8NsDwc
Eval("BicubicResize("+getResizeArguments(1920,1200,10,11)+",b=1,c=0)")
 PAR10:11のクリップを1920x1200以内の16の倍数でPAR1:1になるように拡大、↓みたいな感じ
 ttp://nagamochi.info/src/up0815.png

223 名前:名無しさん@編集中:2008/02/07(木) 15:57:02 ID:NL8NsDwc
拡大に使うつもりで作ったんで縮小には向きません。

224 名前:名無しさん@編集中:2008/02/07(木) 22:36:56 ID:FcbomYRA
いただき

225 名前:名無しさん@編集中:2008/02/11(月) 23:38:18 ID:VD/F6OOg
# 縦横を1倍から2倍までの間にアップサンプリングする関数。
# ニアレストネイバー法で縦横をそれぞれ4倍し離散コサイン変換したものを縮小。
# 要 AviSynth 2.57 YV12, プログレッシブ専用

# overlapped dct, proof of concept frequency lowpass and interpolator function
# ttp://forum.doom9.org/showthread.php?t=121939
# アップサンプリングはこのスレからの引用。

# ratio: 0以上の整数。0 で target_width, target_height の値に拡大。デフォルト 0
#     1 で縦横をそれぞれ2倍に拡大。2 を指定するとアップサンプリングされたものを元の大きさに縮小。
#     3 以上のとき、 n を ratio の値としたとき、src_clip.width*2 * n-1/n, src_clip.height*2 * n-1/n が
#             mod の倍数になるような値で自動で見つける。ピクセル比は保たれたままになる。
# 縦横を16の倍数にするとき、704*480 n=4, 720*480 n=3, 5, 6, 10, 15, 30 が 解。

# 720 x 480 のソースでの使用例:
# Crop(8, 0, -8, 0).DCTus2(1280, 720, sharpness=1.875, u64dct=false, warp=1.5, rx=1.2, ry=1.2, ratio=0) 正方ピクセル。
# DCTus2(sharpness=1.875, u64dct=false, warp=1.5, rx=1.2, ry=1.2, mod=16, ratio=5) ピクセル比は保たれたまま。

# いるもの。
# Import( PluginDir + "DeHalo_alpha.avs" ) # ttp://forum.doom9.org/showthread.php?p=777956#post777956
# LoadPlugin( PluginDir + "Average.dll" ) # ttp://forum.doom9.org/showthread.php?p=902012#post902012
# LoadPlugin( PluginDir + "aWarpSharp(Pruned).dll" )
# LoadPlugin( PluginDir + "DctFilter_test.dll" )
# LoadPlugin( PluginDir + "mt_masktools.dll" )
# LoadPlugin( PluginDir + "RepairSSE3.dll" )

# DctFilter_test.dll, dctlimit()
# ttp://forum.doom9.org/showthread.php?p=953353#post953353

226 名前:名無しさん@編集中:2008/02/11(月) 23:40:20 ID:VD/F6OOg
function DCTus2(clip clip, int "target_width", int "target_height", float "sharpness", bool "u64dct", float "warp", bool "rep", float "rx",
\ float "ry", float "sharpness2", int "ratio", int "mod", float "shift_left", float "shift_top", bool "show")
{
target_width = default( target_width, clip.width*2 )
target_height = default( target_height, clip.height*2 )
u64dct = default( u64dct, false )
warp = default( warp, 1.5 )
rep = default( rep, true )
sharpness = default( sharpness, 1.875 )
sharpness2 = default( sharpness2, 1.126 )
rx = default( rx, 1.4 )
ry = default( ry, 1.4 )
ratio = default( ratio, 0 )
mod = default( mod, 16 )
shift_left = default( shift_left, 0.0 )
shift_top = default( shift_top, 0.0 )
show = default( show, false )
dx = int(round(clip.width / 16.0) * 16) - clip.width
dy = int(round(clip.height / 16.0) * 16) - clip.height
#clip.EDIUpsizer(method=0, chroma=false).EDIUpsizer(method=0, chroma=false)
clip.PointResize(clip.width*4, clip.height*4)
(dx + dy >= 1) ? AddBorders(dx*4, dy*4, 0, 0) : last
dctlimit(dct2=sharpness, dct3=0, dct4=0, dct5=0, use64dct=u64dct, use8dct=true)
PointResize(last.width/2, last.height/2)
DeHalo_alpha(rx=rx, ry=ry, lowsens=0.0, highsens=0.0, ss=1.0)
(rep == true) ? dctlimit(use64dct=u64dct, dct2=1+(sharpness/11.6), dct3=1+(sharpness/8.1), dct4=sharpness,
\ dct5=sharpness2/8.1, dct6=sharpness2/11.6, dct7=sharpness2/16.1, dct8=sharpness2/23.1)
\ : last

(rep == true) ? DeHalo_alpha(rx=2.0, ry=2.0, lowsens=0.0, highsens=0.0, ss=1.0) : last

227 名前:名無しさん@編集中:2008/02/11(月) 23:47:44 ID:VD/F6OOg

awarpsharp(depth=warp, cm=0, blurlevel=1)
awarpsharp(depth=warp, cm=0, blurlevel=1)
awarpsharp(depth=warp, cm=0, blurlevel=1)
awarpsharp(depth=warp, cm=0, blurlevel=1)
(dx >= 1) ? Crop(dx*4, 0, 0, 0) : last
(dy >= 1) ? Crop(0, dy*4, 0, 0) : last
Spline36Resize(last.width, last.height, shift_left, shift_top, last.width, last.height)
MergeChroma(last, clip.Lanczos4Resize(clip.width*2, clip.height*2), 1)
ratio = abs(ratio)
ratio = (ratio > 0) ? abs( last.getRatio(-ratio, mod, mod) ) : ratio
num = (ratio == 1) ? 1 : ratio - 1
(show == true) && (ratio != 0) ? Subtitle(string(num) + "/" + string(ratio) + " " + string(width*num/ratio)
\ + " x " + string(height*num/ratio), x=32, y=64, size=32) : last

return (ratio < 1) ? Spline36Resize(target_width, target_height)
\ : Spline36Resize( clip.width*2 * num / ratio, clip.height*2 * num / ratio )
}

228 名前:名無しさん@編集中:2008/02/11(月) 23:49:45 ID:VD/F6OOg
function getRatio(clip clip, int "ratio", int "mod_x", int "mod_y", int "t")
{
ratio = default( ratio, 2 )
mod_x = default( mod_x, 16 )
mod_y = default( mod_y, 16 )
t = default( t, Min(clip.width, clip.height) )
t = t - 1
num = (ratio > 0) ? ratio : abs(ratio) - 1
den = (ratio > 0) ? ratio - 1 : abs(ratio)
W = clip.width * num
H = clip.height * num
rep = (W % den == 0) && (H % den == 0) && (W/den % mod_x == 0) && (H/den % mod_y == 0)
\ ? ratio
\ : ( (ratio > 0) ? ratio + 1 : ratio - 1 )
return (abs(ratio) < 2) || (t == 0) ? 1
\ : (rep != ratio) ? getRatio(clip, rep, mod_x, mod_y, t) : ratio
}

# AviSynth 2.58 Added Min()/Max() script functions.
function Max(a, b){ return (a > b) ? a : b }
function Min(a, b){ return (a < b) ? a : b }

229 名前:名無しさん@編集中:2008/02/13(水) 20:22:49 ID:mDcgCeWJ
>>226
間違っています。
以上。
はい次の方。

230 名前:名無しさん@編集中:2008/02/13(水) 23:19:10 ID:SwGa3dgi
>>227
(dx >= 1) ? Crop(dx*4, 0, 0, 0) : last
(dy >= 1) ? Crop(0, dy*4, 0, 0) : last

(dx >= 1) ? Crop(dx*2, 0, 0, 0) : last
(dy >= 1) ? Crop(0, dy*2, 0, 0) : last
に変更

231 名前:名無しさん@編集中:2008/02/23(土) 13:17:26 ID:ZNz580UE
SevenFourThreeNR普通に実写でも使えるな
もしかしてこれ最強のNRじゃね

232 名前:名無しさん@編集中:2008/03/02(日) 14:33:41 ID:Tvog8BKf
SevenFourThreeNR使ってみたいけど素人な俺にはよくわかんないんだぜ
↓書式はこれでいいの?
SevenFourThreeNRv2(clip c,bool "b0",bool "b1",int "i0",string "s0",int "i1",int "i2",\
string "s1",string "s2",int "i3",bool "b2",string "s3")

んでデフォはこれ↓?
b0=default(b0,true)
b1=default(b1,true)
i0=default(i0,0)
s0=default(s0,"square")
i1=default(i1,1)
i2=default(i2,8)
s1=default(s1," 4 3 / ^")
s2=default(s2,"256")
i3=default(i3,8)
b2=default(b2,false)
s3=default(s3,"square")

だとしたらi2、i3とかデフォですごい強くかかってるんだね
stringはどんなものがあるのかもわからんし
デフォで超重いから軽いSevenFourThreeNRのほう使おうかとか思ったけどそっちはv2以上に説明無くてわけわからん
俺みたいな素人向けの、フィルタに入ってるreadmeみたいなの誰か作ってくれ

233 名前:名無しさん@編集中:2008/03/03(月) 12:26:05 ID:IWQNXfjv
>>232
>161-162って>132と比べてそんなに重かったっけ?あんまり変わらなかったと思うけど・・
>132の方の引数についてちょっと書いてみる、>164とあわせて見て欲しいな
i0がv2のi2、i1がv2のi1、i2がv2のi3
sは元に戻す強さ"mt_merge(c0,c1,mt_lutxy(c0,c1,"x y - abs"+s,u=3,v=3),u=3,v=3)"c0がボケたクリップでc1は元のクリップ
デフォならmt_merge(c0,c1,mt_lutxy(c0,c1,"x y - abs 4 3 / ^",u=3,v=3),u=3,v=3)つまり(x*((x<y?y-x:x-y)^(4/3)>255?255:(x<y?y-x:x-y)^(4/3))+y*(256-((x<y?y-x:x-y)^(4/3)>255?255:(x<y?y-x:x-y)^(4/3))))/256
書いてて何のことか分からなくなったwww
ボケたクリップと元のクリップの差を元にどの程度復元するかの係数みたいなもの、v2ではmt_mergeやめてmt_lutxyだけでやってる
b0はアンシャープマスクの有無、v2のb1に近い
b1はb0がfalseならあまりい必要ない作業に関しての分岐
ぼかして戻して強調したクリップをぼかしてから強調したクリップの方に戻して、最後に大本のクリップの方に戻すかどうか、v2ではb1にまとめてたと思う

効果としてはSevenFourThreeNR(2,1,2," 8 5 / ^",true,false)ぐらいで十分だった気がする


ついでだから>162の訂正
i6=ceil(width(c)/i4)*i4
i7=ceil(height(c)/i5)*i5

i6=(width(c)+i4-1)/i4*i4
i7=(height(c)+i5-1)/i5*i5
これ作ってた頃はjavascriptの所為でintとfloatがごっちゃになってました、多分>165もcropで拡大しようとした所為なんだろうなぁ
無知ってこわいね。

234 名前:名無しさん@編集中:2008/03/05(水) 17:57:38 ID:TZT0J0vL
function ccSakura(clip clip,int target_width,int target_height,float"src_left",float"src_top",float"src_width",float"src_height",int"taps",bool"fast"){
function ccSakura_u(clip clip,int target_width,int target_height,float src_left,float src_top,float src_width,float src_height,int taps,bool fast){
bicubicresize(clip,target_width,target_height,1.,0.,src_left,src_top,src_width,src_height)
lanczosresize(width(clip),height(clip),-src_left*float(target_width)/src_width,-src_top*float(target_height)/src_height,float(width(clip)*target_width)/src_width,float(height(clip)*target_height)/src_height,taps=taps)
subtract(clip)
subtract(clip,last)
bicubicresize(target_width,target_height,1.,0.,src_left,src_top,src_width,src_height)
align=isyuy2?2:isyv12?4:1
tmp_width=ceil(float(target_width*target_width)/src_width)
tmp_width=isyuy2?(tmp_width+1)/2*2:tmp_width
tmp_width=isyv12?(tmp_width+3)/4*4:tmp_width
tmp_height=ceil(float(target_height*target_height)/src_height)
tmp_height=isyv12?(tmp_height+1)/2*2:tmp_height
fast?last:subtract(subtract(lanczosresize(bicubicresize(tmp_width,tmp_height,1.,0.),width,height,taps=taps),last))
}
function ccSakura_h(clip clip,int target_width,float src_left,float src_width,int taps,bool fast){
float(target_width)>src_width?ccSakura_u(clip,target_width,height(clip),src_left,0.,src_width,float(height(clip)),taps,fast):lanczosresize(clip,target_width,height(clip),src_left,src_width=src_width,taps=taps)
}
function ccSakura_v(clip clip,int target_height,float src_top,float src_height,int taps,bool fast){
float(target_height)>src_height?ccSakura_u(clip,width(clip),target_height,0.,src_top,float(width(clip)),src_height,taps,fast):lanczosresize(clip,width(clip),target_height,src_top=src_top,src_height=src_height,taps=taps)
}
src_left=default(src_left,0.)

235 名前:名無しさん@編集中:2008/03/05(水) 17:58:34 ID:TZT0J0vL
src_left=isfloat(src_left)?src_left:float(src_left)
src_top=default(src_top,0.)
src_top=isfloat(src_top)?src_top:float(src_top)
src_width=default(src_width,float(width(clip)))
src_width=isfloat(src_width)?src_width:float(src_width)
src_width=src_width<=0.?float(width(clip))-src_left+src_width:src_width
src_height=default(src_height,float(height(clip)))
src_height=isfloat(src_height)?src_height:float(src_height)
src_height=src_height<=0.?float(height(clip))-src_top+src_height:src_height
taps=default(taps,3)
fast=default(fast,false)
vf=float(target_width)*src_height<float(target_height)*src_width
vf?ccSakura_v(clip,target_height,src_top,src_height,taps,fast):ccSakura_h(clip,target_width,src_left,src_width,taps,fast)
vf?ccSakura_h(target_width,src_left,src_width,taps,fast):ccSakura_v(target_height,src_top,src_height,taps,fast)
}
synthの内蔵フィルタだけのシンプルなアプコンスクリプト
縮小はただのlanczosresizeで、拡大はbicubicとlanczosのコンボ
要約すると
bicubicresize(subtract(subtract(lanczosresize(bicubicresize(2*width,2*height,1,0),width,height),last)),2*width,2*height,1,0)
subtract(subtract(lanczosresize(bicubicresize(2*width,2*height,1,0),width,height),last))#fast=trueで省略

とりあえずサンプル
ソース
ttp://nagamochi.info/src/up1845.png
ccSakura(1600,1200)
ttp://nagamochi.info/src/up1846.png
nnedi+lanczos3
ttp://nagamochi.info/src/up1847.png
eedi2+lanczos3
ttp://nagamochi.info/src/up1848.png

まぁ、軽いだけで一番汚いです

236 名前:名無しさん@編集中:2008/03/05(水) 19:13:35 ID:TZT0J0vL
訂正です
eedi2+lanczos3
ttp://nagamochi.info/src/up1847.png
nnedi+lanczos3
ttp://nagamochi.info/src/up1848.png

あと、align=isyuy2?2:isyv12?4:1これ消し忘れ

237 名前:名無しさん@編集中:2008/03/05(水) 20:17:37 ID:mIkahBUx
>>233
両方デフォでかけたavs2種類をVDMで読み込むと、v2のほうは固まったかと思うくらいロード時間長かったからこっちの方はテラオモスなのかなーと
半分以上ワケワカランですけど参考にしてガンガリマス、サンクス

238 名前:名無しさん@編集中:2008/03/06(木) 21:30:43 ID:1WZbGJvh
# frameを、frame, source_frame1, source_frame2 の3frameをMergeしたものと入れ替える。
# weight, weight2, weight3 がそれぞれを混ぜる割合。weight + weight1 + weight2 = 1.0 と必ずならなければいけない。
# source_frame2 がないときは weight1 は必要なく weightのみ設定する。このときの weightの値はframe に対する frame1 の値。
# MergeFrame(43275, 3274, weight=0.0) # 43275 のみが表示。逆にweight=1.0 とすると 3274のみが表示、FreezeFrame(43275, 43275, 3274) と同じ動作。
# MergeFrame(10, 100, 1000, 0.0, 0.5, 0.5) frame 10を、100 と 1000 をMergeしたものと入れ替える。
# 要 Average.dll, http://forum.doom9.org/showthread.php?p=902012#post902012
function MergeFrame(clip clp, int frame, int source_frame1, int "source_frame2", float "weight",
\ float "weight2", float "weight3", int "field", int "source_field", string "pre", string "post")
{
field = default( field, 3 )
source_field = default( source_field, 3 )
pre = default( pre, "nul" )
post = default( post, "nul" )
source_frame2 = default( source_frame2, frame )
weight = default( weight, (source_frame2 == frame) ? 0.5 : 0.0 )
weight2 = default( weight2, (source_frame2 == frame) ? 1.0 - weight : 0.5 )
weight3 = default( weight3, (source_frame2 == frame) ? 0.0 : 0.5 )
(source_frame2 != frame) ? Assert(weight + weight2 + weight3 == 1.0, "weight + weight2 + weight3 should be equal to 1.0") : NOP

239 名前:名無しさん@編集中:2008/03/06(木) 23:42:32 ID:CHSXb3Wx
c0 = Eval("clp." + pre)
c1 = (frame != 1) ? clp.Trim(0, frame - 1) : clp.Trim(0, -1)
c2 = Merge(c0.Trim(frame, (frame != 0) ? frame : -1)._SelectField(field, weight2),
\ c0.Trim(source_frame1, (source_frame1 != 0) ? source_frame1 : -1)._SelectField(source_field, weight3), weight)
c2 = (source_frame2 == frame) ? c2
\ : Average(clp.Trim(frame, (frame != 0) ? frame : -1), weight,
\ clp.Trim(source_frame1, (source_frame1 != 0) ? source_frame1 : -1), weight2,
\ clp.Trim(source_frame2, (source_frame2 != 0) ? source_frame2 : -1), weight3,
\ clp.Trim(0, -1), 0.0)
c2 = Eval("c2." + post)
c = (frame != 0) ? c1 + c2 : c2
(frame == clp.Framecount - 1) ? c : c + clp.Trim(frame + 1, 0)
return clp.HasAudio ? AudioDubEx(last, clp.KillVideo) : last
}

240 名前:名無しさん@編集中:2008/03/06(木) 23:44:40 ID:CHSXb3Wx
# frameを、そのframeのEven,Odd fieldの高さを2倍にしてMergeしたものと入れ替える。
function MergeField(clip clp, int "frame", float "weight", string "pre", string "post")
{
frame = default( frame, clp.Framecount - 1 )
weight = default( weight, 0.5 )
pre = default( pre, "nul" )
post = default( post, "nul" )
return clp.MergeFrame(frame, frame, weight=0.0, field=2, source_field=3, pre=pre, post=post, weight2=weight)
}

# frameを、そのframeの片fieldの高さを2倍にしたものと入れ替える。
# field: 0 Odd, 1 Even
function SelectField(clip clp, int "frame", int "field", string "pre", string "post")
{
frame = default( frame, clp.Framecount - 1 )
field = default( field, 0)
pre = default( pre, "nul" )
post = default( post, "nul" )

return clp.MergeFrame(frame, frame, weight=0.0, field=field, source_field=3, pre=pre, post=post)
}

241 名前:名無しさん@編集中:2008/03/06(木) 23:46:33 ID:CHSXb3Wx
# source_field の値によって frame を source_frame と入れ替える。
# 0: Odd field, 1: Even field, 2: Odd と EvenをMerge, 3: source_frame デフォルト 3
function FreezeField(clip clp, int frame, int source_frame, int "source_field", float "weight", string "pre", string "post")
{
source_field = default( source_field, 3 )
weight = default( weight, 0.5 )
pre = default( pre, "nul" )
post = default( post, "nul" )
return clp.MergeFrame(frame, source_frame, weight=1.0, field=3, source_field=source_field, pre=pre, post=post, weight3=weight)
}

function eediMerge(clip clp, float "weight")
{
weight = default( weight, 0.5 )
clp.SeparateFields.EEDI2(field=-2) #, mthresh=0, lthresh=0, vthresh=0, estr=0, dstr=0, maxd=24, pp=3)
Merge(SelectEven, SelectOdd, weight)
#LimitedSharpenFaster(Smode=3, strength=40)
}

242 名前:名無しさん@編集中:2008/03/06(木) 23:47:50 ID:CHSXb3Wx
function _SelectField(clip clp, int "field", float "weight")
{
field = default( field, 0 )
weight = default( weight, 0.5 )
c = clp.SeparateFields.EEDI2(field=-2) # ここは好きなように変更する。
(field == 1) ? c.SelectEven : c.SelectOdd
#LimitedSharpenFaster(Smode=3, strength=20)
clp.GetParity ? AssumeTFF : NOP
return (field == 3) ? clp
\ : (field == 2) ? Merge(c.SelectEven, c.SelectOdd, weight)
\ : clp.GetParity ? AssumeTFF
\ : last
}

function nul(clip c) { return c }

243 名前:名無しさん@編集中:2008/03/07(金) 00:06:53 ID:fd0rVI1T
>>242 の clp.GetParity ? AssumeTFF : NOP はいらない。

244 名前:名無しさん@編集中:2008/03/10(月) 18:32:01 ID:+purmfXZ
ImageSource("Clipboard%02d.png", 1, 4, 29.97).ForLoop

function ForLoop(clip clip, int "i", clip "outclip"){
    i=default(i, 0)

    clip.trim(i, -1).loop(300)
    i>0 ?  outclip++last : last
    i<clip.framecount-1 ? ForLoop(clip, i+1, last) : last
}

0.1fps等は支障がある場合があるようなので、
png1枚に付き約10秒の動画を作るスクリプトを書いたのですが、
もう少しすっきり出来ないかと思うのですが、

(i>0 ?  outclip : NUL)++clip.trim(i, -1).loop(300)みたいに書けるNULクリップみたいなものは存在しないでしょうか?


245 名前:名無しさん@編集中:2008/03/11(火) 12:46:32 ID:sY4zBva9
ImageSource("Clipboard%02d.png", 0, 299)
#last++ImageSource(〜
AssumeFPS(30,1)
素直にこんな感じじゃだめなの?

246 名前:名無しさん@編集中:2008/03/12(水) 21:37:46 ID:+x0QGohj
ttp://ja.doukaku.org/165/
これ、やってみた。

# DF ドロップフレーム(1分間に2フレーム、カウントをとばす。ただし、10分間に一回は行わない)
# Current_Frame ≡ 0 (mod 1800)
# Current_Frame ≡ 1 (mod 1800)
# のときはフレームのカウントをとばす。
# 1,2, 3,4... --> 1,2, 5,6...

# ただし、
# Current_Frame ≡ 0 (mod 18000)
# Current_Frame ≡ 1 (mod 18000)
# のときはフレームをカウントをとばさない。

# 10分間のフレーム数
# 1800 + 1798 * 9 = 17982

# フレームレート
# 30 * 17982 / 18000 = 30 * 999 / 1000 = 2997 / 100 = 29.97
# 24 * 17982 / 18000 = 24 * 999 / 1000 = 2997 / 125 = 23.976
# これは放送用の編集ために用いるドロップフレームタイムコードから計算上出た
# 結果であってNTSC color(30000/1001)のフレームレートではない。

247 名前:名無しさん@編集中:2008/03/12(水) 21:38:47 ID:+x0QGohj
function ShowDropFrame(clip clp, bool "drop", float "fps", int "x", int "y")
{
global ShowDropFrame_drop = default( drop, true )
global ShowDropFrame_fps = default( fps, 30.0 )
global ShowDropFrame_x = default( x, 0 )
global ShowDropFrame_y = default( y, 0 )
return clp.ScriptClip("_ShowDropFrame(Current_Frame, ShowDropFrame_drop,
\ ShowDropFrame_fps, ShowDropFrame_x, ShowDropFrame_y)")
}
function _ShowDropFrame(clip clp, int n, bool drop, float fps, int x, int y)
{
Current_Frame = n
n = (drop == true) ? n + n / 1800 * 2 - n / 18000 * 2 : Current_Frame
time = (drop == true) ? n / float(fps)
\ : float(Current_Frame * clp.FramerateDenominator) / float(clp.FramerateNumerator)
time_h = int(time) / 3600
time_m = ( int(time) - (time_h * 3600) ) / 60
time_s = int(time) - (time_h * 3600) - (time_m * 60)
time_ms = Round( Frac(time) * 1000 )
hh = (time_h < 10) ? "0" + string(time_h) : string(time_h)
mm = (time_m < 10) ? "0" + string(time_m) : string(time_m)
ss = (time_s < 10) ? "0" + string(time_s) : string(time_s)
ms = (time_ms < 10) ? "00" + string(time_ms)
\ : (time_ms < 100) ? "0" + string(time_ms) : string(time_ms)
return clp.Subtitle(hh + ":" + mm + ":" + ss + "." + ms + ";" + string(n % 30)
\ + " " + string(n), x=ShowDropFrame_x, y=ShowDropFrame_y)
# \ .Subtitle(string(Current_Frame) + " diff " + string(n / 1800 * 2 - n / 18000 * 2), x=x, y=y+16)
}

248 名前:名無しさん@編集中:2008/03/13(木) 00:22:17 ID:5mYjS9tx
>>245
pngを大量にコピーするのは避けたいので

249 名前:名無しさん@編集中:2008/03/13(木) 21:13:43 ID:EGDcQ9L3
<<247を01frameだけをフレームカウントスキップするように修正。
function _ShowDropFrame(clip clp, int n, bool drop, float fps, int x, int y)
{
Current_Frame = n

n0 = (drop == true) ? n + n / 1800 * 2 - n / 18000 * 2 : n
n1 = (drop == true) ? n + n0 / 1800 * 2 - n0 / 18000 * 2 : n0

time = (drop == true) ? n1 / float(fps) : n / float(clp.Framerate)
time_h = int(time) / 3600
time_m = (int(time) - (time_h * 3600)) / 60
time_s = int(time) - (time_h * 3600) - (time_m * 60)
time_ms = round(frac(time) * 1000)
hh = (time_h < 10) ? "0" + string(time_h) : string(time_h)
mm = (time_m < 10) ? "0" + string(time_m) : string(time_m)
ss = (time_s < 10) ? "0" + string(time_s) : string(time_s)
ms = (time_ms < 10) ? "00" + string(time_ms)
\ : (time_ms < 100) ? "0" + string(time_ms) : string(time_ms)

return clp.Subtitle(hh + ":" + mm + ":" + ss + "." + ms + ";" + string(n1 % round(fps))
\ + " " + string(n1), x=ShowDropFrame_x, y=ShowDropFrame_y)
# \ .Subtitle(string(Current_Frame) + " diff " + string(n1 - Current_Frame), x=x, y=y+16)
}

250 名前:名無しさん@編集中:2008/03/14(金) 03:14:22 ID:8AYA49Rt
単純なループ関数で、>>54を簡易化したもの
n:ループ回数
filter:ループさせるフィルタ
start:ループさせるためだけの引数。変更してはいけない

function LoopFilter(clip clip, int "n", string "filter", int "start"){

n = default(n, 1)
filter = default(filter, "")
start = default(start, 0)
next = start+1

c = ((next <= n)? Eval("clip." + filter):clip)

return ((next >= n)? c: LoopFilter(c,n,filter,next))
}

251 名前:名無しさん@編集中:2008/03/14(金) 03:17:35 ID:8AYA49Rt
書いてから気づいたけど、>>54の修正版があったのか…
まぁいいや

252 名前:名無しさん@編集中:2008/03/14(金) 18:23:35 ID:IOEJq7o6
>>250
簡易と言う割には無駄が多過ぐる件

function LoopFilter(clip clip, int n, string filter){return n>0 ? LoopFilter(Eval("clip." + filter), n-1, filter) : clip}

使用例: LoopFilter(3, """Layer(clip.ReduceBy2, "add", 255, clip.width/2)""")


253 名前:名無しさん@編集中:2008/03/19(水) 18:08:44 ID:3KvBoAnM
WikiのShowTimeCodeを見ていてミリ秒等の算出が気になったので、

frametime=current_frame/FrameRate #秒単位の入力値(元:mod_time)
ms_digit=3 #秒未満の桁数

ms=string(round(frametime*pow(10,ms_digit))%int(pow(10,ms_digit)), "%0"+string(ms_digit)+".0f")


元:
# Calculate mili-seconds and convert to string.
ms = RightStr(String(mod_time), 6)
ms1 = Int(Value(LeftStr(ms, ms_digit)))
ms2 = MidStr(ms, ms_digit+1, 1)
ms2 = Round(Value(ms2)/10)
ms = ms1 + ms2
ms = ((ms_digit==3)&&(ms<10)) ? "00" + String(ms) :
\ (((ms_digit==3)&&(ms<100))||((ms_digit==2)&&(ms<10))) ? "0" + String(ms) :
\ String(ms)


それから、ms_digit=1、current_frame=29、FrameRate=29.97の場合等に、00:00:00:10と桁が狂うので、
int_time = round(frametime-value(ms)/pow(10,ms_digit))

254 名前:名無しさん@編集中:2008/03/20(木) 22:19:41 ID:OSD7JxDK
<< 246 の訂正。
30fps以外 (奇数 * 1000) frame をスキップ
Current_Frame' ≡ 0, 1 (mod 1000) のときはフレームのカウントをとばす。
Current_Frame' ≡ 0, 1 (mod 2000) のときはフレームのカウントをとばさない。
10000 frameのフレーム数
5000 + 998 * 5 = 9990
フレームレート
24 * 9990 / 10000 = 24 * 999 / 1000 = 2997 / 125 = 23.976

d1 = (round(fps) == 30) ? 1800 : 1000
d2 = (round(fps) == 30) ? 18000 : 2000
n0 = (drop == true) && (real == false) ? n + n / d1 * 2 - n / d2 * 2 : n
n1 = (drop == true) && (real == false) ? n + n0 / d1 * 2 - n0 / d2 * 2 : n0

255 名前:名無しさん@編集中:2008/03/20(木) 22:23:19 ID:OSD7JxDK
4コマ撮りを除く3:2 プルダウンの値を見るスクリプト。要 TIVTC.dll, VirtualDub

3:2 プルダウンの4コマ撮りは30p制作の5コマ撮りと同値。すべてのフレームで縞なしとなる。
オプション: int "display" ShowCombedTIVTCのdisplayと同じ。5 にすると、ShowCombedTIVTCの表示無し。
使い方: VirtualDubでスクリプトを読み込んで、周期を調べたいフレーム上で F2 key で VirtualDubを
更新。文字が水色に変わり そこを FrameNumber 0 として周期を見ることが出来る。
尚、マイナス方向に count を進めても SelectEvery の値を得る。
その場合、F2で更新した Frameから5の倍数で区切ったときの値。

SelectEvery(n, a,b,c...) は frame1 ≡ a (mod n), frame2 ≡ b (mod n), ... と定義することが出来る。
n, n+1 に縞 FrameNumber ≡ n (mod 5)
SelectEvery( 5, 2n + 3, 2n + 1 ) SelectEvery( 5, 2n + 1, 2n + 4 )
SelectEvery( 5, 2n - 2, 2n - 4 ) SelectEvery( 5, 2n - 4, 2n - 1 )

3:2 プルダウンされたもののframeを 5周期ずつ見たときのまとめ a1,a2,...an は 10進数でのFrameNumber, nは そのFrameNumberの mod 5 での値。
(34 xor 40) or (34 and 40, |a3-a0|>2) or 2コマずつ同じ絵で4のみに縞 or すべてのframeが縞無しで5コマずつ同じ絵で1,2が互いに違う絵 DoubleWeave.SelectEvery(5, 2,4)
(40 xor 01) or (40 and 01, |a4-a1|>2) or 2コマずつ同じ絵で0のみに縞 or すべてのframeが縞無しで5コマずつ同じ絵で2,3が互いに違う絵 DoubleWeave.SelectEvery(5, 1,4)
(01 xor 12) or (01 and 12, |a0-a2|>2) or 2コマずつ同じ絵で1のみに縞 or すべてのframeが縞無しで5コマずつ同じ絵で3,4が互いに違う絵 DoubleWeave.SelectEvery(5, 1,3)
(12 xor 23) or (12 and 23, |a1-a3|>2) or 2コマずつ同じ絵で2のみに縞 or すべてのframeが縞無しで5コマずつ同じ絵で4,0が互いに違う絵 DoubleWeave.SelectEvery(5, 0,3)
(23 xor 34) or (23 and 34, |a2-a4|>2) or 2コマずつ同じ絵で3のみに縞 or すべてのframeが縞無しで5コマずつ同じ絵で0,1が互いに違う絵 DoubleWeave.SelectEvery(5, 0,2)
2コマ撮りは3つ選べるうちの中心のみ記載。2コマずつ同じ絵で2のみに縞 だと、(5, 1,3) (5, 0,3) (5, 0,2)

256 名前:名無しさん@編集中:2008/03/20(木) 22:25:34 ID:OSD7JxDK
function ShowPulldown(clip clp, int "display")
{
global ShowPulldown_Start = -1
global ShowPulldown_Comb = -1
global ShowPulldown_koma = -1
global ShowPulldown_count = -1
global ShowPulldown_60i = -1
global ShowPulldown_display = default( display, 2 )
return clp.ScriptClip("_ShowPulldown(Current_Frame, ShowPulldown_display)")
}

function _ShowPulldown(clip clp, int n, int display)
{
Current_Frame = n
global ShowPulldown_Start = (ShowPulldown_Start == -1) ? n : ShowPulldown_Start
comb = clp.IsCombedTIVTC(cthresh=13, chroma=false, MI=128, blockx=32, blocky=32)
function toMOD5(n) { return (n >= 0) ? n % 5 : ( (n % 5) + 5 ) % 5 }
m = n - ShowPulldown_Start
i = toMOD5(m)
a = (comb == true) ? toMOD5( 2 * i + 1 ) : ShowPulldown_Comb
b = toMOD5( a + 3 )
global ShowPulldown_Comb = a
koma = (comb == true) && (ShowPulldown_count == 0) ? 1
\ : (comb == true) && (ShowPulldown_count == 4) ? 2
\ : (comb == true) && (ShowPulldown_count == 10) ? 3
\ : (comb == true) && (ShowPulldown_count == 14) ? 6
\ : ShowPulldown_koma

257 名前:名無しさん@編集中:2008/03/20(木) 22:27:48 ID:OSD7JxDK
global ShowPulldown_koma = koma
global ShowPulldown_count = (comb == false) ? ShowPulldown_count + 1 : 0
global ShowPulldown_60i = (comb == true) ? ShowPulldown_60i + 1 : 0
function _Max(a, b){ (a > b) ? a : b }
function _Min(a, b){ (a < b) ? a : b }
function n2s(n){ return (n == -1) ? "--" : string(n) }
pd = (a != -1) ? string(_Min(a, b)) + "," + string(_Max(a, b)) : "2, 0"
pd = (pd != "2, 0") ? "5, " + pd : pd
pd = string(ShowPulldown_Start) + " - " + string(n) + " " + string(m)
\ + " ≡ " + string(i) + " " + "SelectEvery(" + pd + ")"
\ + " " + ( (ShowPulldown_60i > 2) ? " 60i " : (ShowPulldown_count > 15)
\ ? " 30p " : " " + n2s(koma) + "コマ撮り " ) + string(ShowPulldown_count)
y = (display < 5) ? 80 : 0
(display < 5) ? clp.ShowCombedTIVTC(cthresh=13, chroma=false, MI=128, blockx=32, blocky=32, display=display) : clp
return Subtitle(pd, x=0, y=y, text_color=(m==0)?$00FFFF:$E0FFFF, font="MS_Gothic")
}

258 名前:名無しさん@編集中:2008/03/20(木) 23:14:15 ID:WaT1khHI
そろそろこのスレのまとめみたいの作ったほうがいいんじゃね
もしくはAvisynth wikiのユーザー定義関数の項目に記述

259 名前:にーやん:2008/03/22(土) 01:14:17 ID:Hzyg/olQ
もしAviSynth Wikiのユーザー定義関数のページに追加されるのであれば、雛型として「ユーザー定義関数投稿用テンプレート」を利用してください。
ユーザー定義関数のページに使用手順を書いておきました。
多少はページ作成の助けになるかと思います。

あるいは、具体的にどれを追加するのかを指定していただけたら、私の方でページを作成してもかまいません。
新しくまとめサイトを作られるのなら、そちらにおまかせします。


>>253
修正ありがとうございます。
253さんの修正を取り込んだものを、さきほどAviSynth Wikiのユーザー定義関数に追加しました。

260 名前:名無しさん@編集中:2008/03/22(土) 04:04:34 ID:0CF92uOe
#UnsharpResize…アンシャープリサイズ
#    width    横幅
#    height    縦幅
#    sharp    アンシャープ係数(弱 0.0 ← 1.0 → 2.0 強)
#            (省略なら1.0)
function UnsharpResize(clip clip, int width, int height, float "sharp") {
    sharp = default(sharp, 1.0)
    sharp = ((sharp < 0.0)? 0.0: ((2.0 < sharp)? 2.0: sharp))
    bicubic = ((1.0 < sharp)? 1.0: sharp)
    gauss = 10.0 - 9.0 * ((sharp < 1.0)? 0.0: sharp - 1.0)

    function SubtractClip(clip clip, clip sub) {
        return subtract(clip, subtract(sub, clip))
    }
    
    result = clip.LanczosResize(width, height, taps=16)
    result = ((0.0 < bicubic)
        \        ? result.SubtractClip(clip.BicubicResize(width, height, b=bicubic, c=(1.0 - bicubic) / 2.0))
        \        : result
        \    )
    result = ((gauss < 10.0)
        \        ? result.SubtractClip(clip.GaussResize(width, height, p=gauss))
        \        : result
        \    )
    return result
}

261 名前:名無しさん@編集中:2008/03/22(土) 04:18:22 ID:0CF92uOe
“ぼかした画像を引く事によりシャープな画像生み出す”と言う、
アンシャープマスクの考えの元に
リサイズしつつアンシャープマスク処理を行うフィルタを作成してみました。
非常に強いシャープ化をもたらすリサイズ処理になります。

>>235-236さんが行っていた、
subtractを2回連続して掛ける事により高速に減算を行う処理から思いつきました。

サンプルは>>235-236さんから拝借
UnsharpResize(1600, 1200)
http://nagamochi.info/src/up2382.png

262 名前:名無しさん@編集中:2008/03/22(土) 23:29:49 ID:QPs+7Z/I
>>255
書き間違い。
×3:2 プルダウンされたもののframeを 5周期ずつ
○ 3:2 プルダウンされたもののframeを 5コマずつ


>>244
NullClip つくってみた。

# 使用例:
src = ImageSource("./test.bmp", 1, 4, 29.97).ConvertToYUY2 # YUY2, 720*480, 29.97fps, no audio

#return blankclip(length=0) # RGB32, 640*480, 24.0fps, audio mono
#return blankclip(length=0).toPixelTypeOf(src) # YUY2, 640*480, 24.0fps, audio mono
#return NullClip(src) # YUY2, 720*480, 29.97fps, no audio

return src.ForLoop # YUY2, 720*480, 29.97fps, no audio

function ForLoop(clip clip, int "i", clip "outclip"){
i=default(i, 0)
(i>0 ? outclip : NullClip(clip))++clip.trim(i, -1).loop(300)
i<clip.framecount-1 ? ForLoop(clip, i+1, last) : last
}

263 名前:名無しさん@編集中:2008/03/22(土) 23:32:08 ID:QPs+7Z/I
### {{{ NullClip
# 要 AviSynth v2.56以上
# RGB24, RGB32, YUY2 or YV12
# 上記以外の色空間はエラー。
# srcに audioがある場合は 1ch(mono) または 2ch(stereo) でなければならない。
# 6ch などは KillAudio しておく。
function NullClip(clip src)
{
return src.toBlankClip
}

# srcの width, height, pixel_type, fps, audio と同じ FrameCountが lengthの BlankClipを生成する。
function toBlankClip(clip src, int "length")
{
length = default( length, 0 )

return (src.hasAudio == false)
\ ? BlankClip( length=length, width=src.width, height=src.height, pixel_type=PixelTypeOf(src), fps=src.Framerate ).KillAudio
\ : BlankClip( length=length, width=src.width, height=src.height, pixel_type=PixelTypeOf(src),
\ fps=src.Framerate, audio_rate=src.Audiorate, stereo=(src.Audiochannels < 2) ? false : true )
}

264 名前:名無しさん@編集中:2008/03/22(土) 23:32:51 ID:QPs+7Z/I
# clpの色空間を srcの色空間と同じにする。
function toPixelTypeOf(clip clp, clip src)
{
Eval( "clp.ConvertTo" + PixelTypeOf(src) )
}

function PixelTypeOf(clip clp)
{
return clp.IsYV12 ? "YV12"
\ : clp.IsYUY2 ? "YUY2"
\ : clp.IsRGB24 ? "RGB24"
\ : clp.IsRGB32 ? "RGB32"
\ : clp.IsRGB ? "RGB"
\ : nop
}

265 名前:名無しさん@編集中:2008/03/23(日) 11:24:00 ID:uOlrBNQp
>>262
長さ0のBlankClipを作れるの知りませんでした。


(i>0 ? outclip : clip.Nul)++clip.trim(i, -1).loop(300)

function Nul(clip c, int "inp_length"){
    inp_length=default(inp_length, 0)
    BlankClip(inp_length, c.width, c.height, c.PixelTypeOf, c.FramerateNumerator, c.FramerateDenominator, c.audiorate, c.Audiochannels==2)
Return c.HasAudio ? last : KillAudio
}

FramerateDenominatorも設定しないと上手く行かない動画が


266 名前:名無しさん@編集中:2008/03/23(日) 22:24:37 ID:x/H8WCET
>>265見てKillAudioなくてもいいということに気づいた。
>>263を変更。

# srcの width, height, pixel_type, fps, audio と同じ FrameCountが lengthの BlankClipを生成する。
# BlankClip: audio_rate=0 で no audio
# Audiorate(), Audiochannels(): 無音クリップの場合、出力値は 0。
function toBlankClip(clip src, int "length")
{
length = default( length, 0 )

return BlankClip( length=length, width=src.width, height=src.height, pixel_type=PixelTypeOf(src), fps=src.FramerateNumerator,
\ fps_denominator=src.FramerateDenominator, audio_rate=src.Audiorate, stereo=(src.Audiochannels < 2) ? false : true )
}

267 名前:名無しさん@編集中:2008/03/25(火) 22:12:50 ID:5jdy4i5f
#クリップ“src”と同様なBlankClipを作成する。
BlankClip(src)
#もしくは
src.BlankClip()

#クリップ“src”と同様な“length”フレームのBlankClipを作成する。
BlankClip(src, length)
#もしくは
src.BlankClip(length)

#クリップ“src”と同様な“600”フレームの、青一色のクリップを作成する。
BlankClip(src, 600, color=$0000FF)
#もしくは
src.BlankClip(600, color=$0000FF)


268 名前:名無しさん@編集中:2008/03/26(水) 14:02:43 ID:Hjc4qHM4
function nnediresize(clip clip,int target_width,int target_height,float"src_left",float"src_top",float"src_width",float"src_height",int"taps"){a=default(src_left,0.)chr(13)a=isfloat(a)?a:float(a)
b=default(src_top,0.)chr(13)b=isfloat(b)?b:float(b)chr(13)c=float(width(clip))chr(13)d=default(src_width,c)chr(13)d=isfloat(d)?d:float(d)d=d<=0.?c-a+d:d chr(13)c=float(height(clip))chr(13)e=default(\
src_height,c)chr(13)e=isfloat(e)?e:float(e)chr(13)e=e<=0.?c-b+e:e chr(13)c=default(taps,3)function nnediresize_(clip a,int b,int c,float d,float e,float f,float g,int h,float i,float j){k=float(b)
l=float(c)function nnediresize__(clip a,int b,int c,float d,float e,float f,float g,int h,float i,float j){k=lanczosresize(a,b,c,d+i,e+j,f,g,h)chr(13)l=(width(a)+7)/8*8chr(13)m=(height(a)+3)/4*4
pointresize(a,l,m,0,0,l,m)chr(13)n=(b+7)/8*8chr(13)o=(c+3)/4*4chr(13)f=f+float(n-b)*f/float(b)chr(13)g=g+float(o-c)*g/float(c)chr(13)ytouv(lanczosresize(utoy,n/2,o/2,d/2.+i,e/2.+j,f/2.,g/2.,h),\
lanczosresize(vtoy,n/2,o/2,d/2.+i,e/2.+j,f/2.,g/2.,h))chr(13)mergechroma(k,pointresize(b,c,0.,0.,float(b),float(c)))}k>f||l>g?k*g<l*f?nnediresize_(nnedi(a,0,true),b,c,d,2.*e,f,2.*g,h,i,2.*j+.5):\
nnediresize_(turnleft(nnedi(turnright(a),0,true)),b,c,2.*d,e,2.*f,g,h,2.*i+.5,j):isyv12(a)?nnediresize__(a,b,c,d,e,f,g,h,i,j):lanczosresize(a,b,c,d+i,e+j,f,g,h)}nnediresize_(clip,target_width,\
target_height,a,b,d,e,c,0.,0.)}
誰も使ってないと思うけど、ミスに気づいちゃったんで訂正
YV12の時YとUVでずらす値を変えるようにしました。

269 名前:名無しさん@編集中:2008/03/26(水) 15:22:10 ID:exH3H0Ao
そんな事はありませぬ。
乙であります!

270 名前:名無しさん@編集中:2008/03/28(金) 00:09:34 ID:dHhwInnL
function nnediresize(clip clip,int target_width,int target_height,float"src_left",float"src_top",float"src_width",float"src_height",int"taps"){a=default(src_left,0.)a=isfloat(a)?a:float(a)b=default(\
src_top,0.)b=isfloat(b)?b:float(b)c=float(width(clip))d=default(src_width,c)d=isfloat(d)?d:float(d)d=d<=0.?c-a+d:d c=float(height(clip))e=default(src_height,c)e=isfloat(e)?e:float(e)e=e<=0.?c-b+e:e
c=default(taps,3)function nnediresize_(clip a,int b,int c,float d,float e,float f,float g,int h,bool i,bool j){k=float(b)l=float(c)function nnediresize__(clip a,int b,int c,float d,float e,float f,\
float g,int h,float i,float j){k=lanczosresize(a,b,c,d+i,e+j,f,g,h)d=d/2.+i e=e/2.+j i=(width(a)+7)/8*8j=(height(a)+3)/4*4pointresize(a,i,j,0,0,i,j)a=(b+7)/8*8i=(c+3)/4*4f=(f+float(a-b)*f/float(b))/\
2.g=(g+float(i-c)*g/float(c))/2.a=a/2i=i/2mergechroma(k,crop(ytouv(lanczosresize(utoy,a,i,d,e,f,g,h),lanczosresize(vtoy,a,i,d,e,f,g,h)),0,0,b,c))}k>f||l>g?k*g<l*f?nnediresize_(nnedi(a,j?1:0,true),b,\
c,d,2.*e,f,2.*g,h,i,true):nnediresize_(turnleft(nnedi(turnright(a),i?1:0,true)),b,c,2.*d,e,2.*f,g,h,true,j):isyv12(a)?nnediresize__(a,b,c,d,e,f,g,h,i?.5:0.,j?.5:0.):lanczosresize(a,b,c,d+(i?.5:0.),e\
+(j?.5:0.),f,g,h)}nnediresize_(clip,target_width,target_height,a,b,d,e,c,false,false)}
早速ですいませんがチョットだけ処理を変えてみました
体感できるとは思いませんが計算量は減ってるはず・・・

ところで皆様は縮小って何使ってます?
縮小だけならspline64とかblackmanよりlanczosの方が良さそうだと思って↑ではlanczos使っていますが
もっと凄いのがあれば教えていただけないでしょうか?よろs(ry

改行ってあまり必要なかったんだね
まだまだ使えてなかったよ、AviSynth

271 名前:名無しさん@編集中:2008/03/28(金) 00:13:05 ID:dHhwInnL
>>269
そう仰ってて頂けると助かります、これからもよr(ry

272 名前:名無しさん@編集中:2008/03/28(金) 01:01:59 ID:DLAr9pAI
### {{{ TrueTears
# メイン画面とワイプの周期が異なるときの逆テレシネ用。
# x, y, w, h: 座標 (x, y) から 幅 w, 高さ h の範囲に フィルター string "top" を掛ける。
# 上記の範囲外にはフィルター string "bottom" を掛ける。
# bright: 0 以外の数値を指定すると "top" の範囲外に Tweakの brightが適用される。範囲特定用。YUY2, YV12のみ。
# show: "top" の部分だけ表示する。
# interlaced: YV12 のとき、縦の解像度が 4の倍数でないとき警告を出す。デフォルト true
function TrueTears(clip clp, int "x", int "y", int "w", int "h", string "top", string "bottom",
\ string "pre", float "bright", bool "show", bool "interlaced")
{
x = default( x, 0 )
y = default( y, 0 )
w = default( w, clp.width )
h = default( h, clp.height )
top = default( top, "nul" )
pre = default( pre, "nul" )
bright = default( bright, 0 )
show = default( show, false )
interlaced = default( interlaced, true )
bottom = default( bottom, "nul" )
bottom = (bright != 0) ? bottom + ".Tweak(bright=" + string(bright) + ")" : bottom

273 名前:名無しさん@編集中:2008/03/28(金) 01:03:24 ID:DLAr9pAI
x_end = x + w
y_end = y + h
x_end = (x_end >= clp.width) ? clp.width : x_end
y_end = (y_end >= clp.Height) ? clp.Height : y_end
(interlaced == true) && clp.isYV12 ? Assert(y % 4 == 0, "TrueTears: IsYV12 && (y % 4 == 0)") : NOP
(interlaced == true) && clp.isYV12 ? Assert(h % 4 == 0, "TrueTears: IsYV12 && (h % 4 == 0)") : NOP
TTx = "TrueTears_x(start=" + string(x) + ", end=" + string(x_end) + ", filter=" + chr34 + top + chr34
\ + ", filter2=" + chr34 + bottom + chr34 + ", pre=" + chr34 + pre + chr34 + ", show=" + string(show) + ")"
TTy = "TrueTears_y(start=" + string(y) + ", end=" + string(y_end) + ", filter=" + chr34 + top + chr34
\ + ", filter2=" + chr34 + bottom + chr34 + ", pre=" + chr34 + pre + chr34 + ", show=" + string(show) + ")"
#return clp.TrueTears_Y(start=y, end=y_end, filter=TTx, filter2=bottom, pre=pre, show=show)
return clp.TrueTears_X(start=x, end=x_end, filter=TTy, filter2=bottom, pre=pre, show=show)
}

function TrueTears_X(clip clp, int "start", int "end", string "filter",
\ string "filter2", string "pre", bool "show")
{
clp2 = Eval("clp." + filter2)
c1 = (start != 0) ? clp2.Crop( 0, 0, -(clp.width - start), -0) : nop
c2 = Eval("clp." + pre + ".Crop( start, 0, -(clp.width - end), -0 ) " + filter)
c3 = (end < clp.width) ? clp2.Crop( end, 0, -0, -0) : nop
c2 = (c2.Framecount > clp2.FrameCount) ? c2.DeleteFrame(lastFrameOf(clp2))
\ : (c2.Framecount < clp2.FrameCount) ? c2.DuplicateFrame(lastFrameOf(clp2)) : c2
c = (show == false) ? ( (start == 0) ? c2 : StackHorizontal(c1, c2) ) : nop
return (show == true) ? c2 : (end >= clp.width) ? c : StackHorizontal(c, c3)
}

274 名前:名無しさん@編集中:2008/03/28(金) 01:05:18 ID:DLAr9pAI
function TrueTears_Y(clip clp, int "start", int "end", string "filter",
\ string "filter2", string "pre", bool "show")
{
clp2 = Eval("clp." + filter2)
c1 = (start != 0) ? clp2.Crop( 0, 0, -0, -(clp.Height - start) ) : nop
c2 = Eval("clp." + pre + ".Crop( 0, start, -0, -(clp.Height - end) ) " + filter)
c3 = (end < clp.Height) ? clp2.Crop( 0, end, -0, -0) : nop
c2 = (c2.Framecount > clp2.FrameCount) ? c2.DeleteFrame(lastFrameOf(clp2))
\ : (c2.Framecount < clp2.FrameCount) ? c2.DuplicateFrame(lastFrameOf(clp2)) : c2
c = (show == false) ? ( (start == 0) ? c2 : StackVertical(c1, c2) ) : nop
return (show == true) ? c2 : (end >= clp.Height) ? c : StackVertical(c, c3)
}

function NulClip(clip src) { return src.BlankClip(length=0) } # >>267氏、Thanks.
function toParityOf(clip clp, clip src) { return src.GetParity ? clp.AssumeTFF : clp.AssumeBFF }
function toFramerateOf(clip clp, clip src) { return clp.AssumeFPS(src.Framerate) }
function lastFrameOf(clip clp) { return clp.Framecount - 1 }
function nul(clip clp) { return clp }
function chr34() { return chr(34) + chr(34) + chr(34) }
function SubtitleFilter(clip clp, string filter){ return Eval( "clp " + filter + " Subtitle(" + chr34 + filter + chr34 + ")" ) }



275 名前:名無しさん@編集中:2008/03/28(金) 01:07:11 ID:DLAr9pAI
使用例:
直接、TrueTears()を使うか、下のような関数を作る。

# toTrueTears TrueTears自身をstringに変換。3:2プルダウン用
#return TrueTears(x=458, y=148, w=200, h=288, top="""SelectEvery2("5, 2,4").vinverse""", bottom="""SelectEvery2("5, 0,2").nul""", bright=0, show=false)
#TT = toTrueTears(x=458, y=148, w=200, h=288, top="5, 2,4", bottom="5, 0,2", top_filter="vinverse", bottom_filter="nul", show=false, interlaced=true)
#return Eval(TT)
function toTrueTears(int "x", int "y", int "w", int "h", string "top", string "bottom", string "top_filter",
\ string "bottom_filter", float "bright", bool "show", bool "interlaced")
{
top_filter = default( top_filter, "nul" )
bottom_filter = default( bottom_filter, "nul" )
bright = default( bright, 0 )
show = default( show, false )
interlaced = default( interlaced, true )

# string を渡すフィルタによってこの部分を変える。
return "TrueTears(x=" + string(x) + ", y=" + string(y) + ", w=" + string(w) + ", h=" + string(h)
\ + ", top=" + chr34 + "SelectEvery2(" + chr(34) + top + chr(34) + ")." + top_filter + chr34
\ + ", bottom=" + chr34 + "SelectEvery2(" + chr(34) + bottom + chr(34) + ")." + bottom_filter + chr34
\ + ", bright=" + string(bright) + ", show=" + string(show) + ", interlaced=" + string(interlaced) + ")"
}

276 名前:名無しさん@編集中:2008/03/28(金) 01:08:14 ID:DLAr9pAI
string を同期のためのtimecodeを出力する関数に渡す。(ClipArray()はdebug中。)
True Tears のオープニング。
frame 1355から 2100までを 24000/1001 fps, 2101 frameの Framerateのみ修正。
ClipArray( start=1355, end=1519, ivtc="5, 0,2", pre="", post="", ff="em" )

TT1 = toTrueTears(x=60, y=96, w=202, h=292, top="5, 0,3", bottom="5, 0,2")
ClipArray( start=1520, end=1564, ivtc=TT1, pre="", post="", ff="", mode=2 )

ClipArray( start=1565, end=1669, ivtc="5, 0,2", pre="", post="MergeField(frame=82)", ff="e0" )

TT2 = toTrueTears(x=60, y=120, w=360, h=244, top="5, 1,3", bottom="5, 2,4")
ClipArray( start=1669, end=1759, ivtc=TT2, pre="", post="", ff="", mode=2 )

ClipArray( start=1760, end=1794, ivtc="5, 0,2", pre="", post="", ff="" )

TT3 = toTrueTears(x=458, y=144, w=204, h=296, top="5, 1,4", bottom="5, 0,2")
ClipArray( start=1795, end=1911, ivtc=TT3, pre="", post="", ff="", mode=2 )

TT4 = toTrueTears(x=226, y=48, w=270, h=388, top="5, 0,2", bottom="5, 1,3")
ClipArray( start=1912, end=1979, ivtc=TT4, pre="", post="", ff="", mode=2 )

ClipArray( start=1980, end=2101, ivtc="5, 0,2", pre="", post="", ff="" )

277 名前:名無しさん@編集中:2008/03/28(金) 21:00:54 ID:DLAr9pAI
>>246の応用。ドロップフレームより算出されたフレームレートをNTSCのものに変換。
function toNTSC(clip clp)
{
#return (clp.FramerateNumerator % 999 == 0) ? clp.AssumeFPS( clp.FramerateNumerator * 1000000, clp.FramerateDenominator * 999999 ) : clp
return (clp.FramerateNumerator % 999 == 0) && (clp.FramerateDenominator % 5 == 0)
\ ? clp.AssumeFPS( clp.FramerateNumerator/999 * 200000, clp.FramerateDenominator/5 * 1001 ) : clp
}


# frame: フィルタを適用する FrameNumber デフォルト -1 Last Frame
# func: フィルタ
function MapFrame(clip clp, int "frame", string "func")
{
frame = default( frame, lastFrameOf(clp) )
func = default( func, "nul" )

return clp.FilterRange(start=frame, pre=func)
}

## {{{ FilterRange
# FilterRangeを値が0より小さいときも使えるように変更。
#
# startから endまで filterを適用する。
# FilterRange(100, 200, "vinverse") 100 frame から 200 frameまでfilterを適用する。
# すべてのframeにfilterを適用するには、start=0, end=0 (end=clip.Framecount-1) を指定。
#


278 名前:名無しさん@編集中:2008/03/28(金) 21:01:50 ID:DLAr9pAI
# option
# start: filterを開始するframe。startのみ指定すると、その Frameのみfilterを適用する。
# start < 0 のとき、 LastFrame - abs(start) + 1 が start frameとなる。
# FilterRange(start=0, filter="vinverse") 1st frameだけにフィルターをかける。
# FilterRange(start=-1, filter="vinverse") start=-1 で Last frameだけにフィルターをかける。
# FilterRange(start=-5, filter="vinverse") Last frameから数えて 5frame分前のframeだけにフィルターをかける。
# FilterRange(start=-5, end=0, filter="vinverse") Last frameから数えて 5frame分前のframeからLast frameまでフィルターをかける。
#
# end: filterを適用する 終了frame。end < 0 のとき、start frameからFramecountがabs(end)となる範囲にfilterを適用する。
# FilterRange(start=100, end=-50, filter="vinverse") 100 frame から 50 frame分(149 frame)filterを適用する。
# FilterRange(start=-5, end=-1, filter="vinverse") Last frameから数えて 5frame分前のframeだけにフィルターをかける。
#
# filter: Trimのあとに適用するフィルタ。filterのみ指定すると一番最後の frameにみfilterを適用する。
# FilterRange(filter="vinverse") Last frameだけにフィルターをかける。
#
# pre: Trimの前に適用するフィルタ。自分自身以外(Trimの範囲外)の frameを参照するfilterを使うとき使用。
#
# show: filterを適用した部分だけ表示する。
#
# audio_dub: FilterRangeで audioにフィルタを使用するのが目的のとき falseを指定する。
function FilterRange(clip clp, int "start", int "end", string "filter", string "pre", bool "show", bool "audio_dub")
{
start = default( start, -1 )
end = default( end, -1 )
filter = default( filter, "nul" )
pre = default( pre, "nul" )
show = default( show, false )
audio_dub = default( audio_dub, true )

279 名前:名無しさん@編集中:2008/03/28(金) 21:02:49 ID:DLAr9pAI
non = (start < 0) && (clp.Framecount <= abs(start) - 1) ? true : false

filter = (non == true) ? "nul" : filter
pre = (non == true) ? "nul" : pre

start = (start < 0) ? ( (clp.Framecount > abs(start) - 1) ? lastFrameOf(clp) - abs(start) + 1 : 0 ) : start
end = (end < 0) ? ( (start != 0) || (end != -1) ? start - end - 1 : -1 ) : end
end = (end > lastFrameOf(clp)) ? lastFrameOf(clp) : end

c1 = (start != 0) ? clp.Trim( 0, ((start==1)?0:start) - 1 ) : NulClip(clp)
c2 = Eval("clp." + pre + ".Trim(start, end) " + filter + ".toFramerateOf(clp)")
c3 = (end != 0) && (end != lastFrameOf(clp)) && (clp.Framecount != 1)
\ ? clp.Trim( ((start!=0)||(end!=-1)?end:0) + 1, 0 ) : NulClip(clp)

(show == false) ? c1 + c2 + c3 : c2

return (audio_dub == true) ? AudioDubEx( last, !show?clp:clp.Trim(start,end) ) : last
}

280 名前:名無しさん@編集中:2008/03/28(金) 21:05:23 ID:DLAr9pAI
# string "frames" に属するフレームに フィルタ string "func" を適用する。
# FilterRange2(func="GreyScale", frames="0,-1, 1,1, 5,5, 100,200, 800,0")
# 0, 1, 5, 100-200, 800-lastFrame に filterを適用する。
function FilterRange2(clip clp, string "func", string "frames", int "start", int "pre_end", int "i", clip "clip2")
{
func = Default( func, "nul" )
frames = Default( frames, "0, 0" )
start = Default( start, 0 )
pre_end = Default( pre_end, 0 )
i = Default( i, 0 )
clip2 = Default( clip2, NulClip(clp) )

(i > 1) && (i % 2 == 1) ? Assert(pre_end < start, "Previous or Current End Frame: " + string(pre_end)
\ + " is larger than or equal to Start Frame: " + string(start) + "." ) : NOP

offset = FindStr(frames, ",")

281 名前:名無しさん@編集中:2008/03/28(金) 21:06:03 ID:DLAr9pAI
return (offset != 0)
\ ? Eval("""
j = int(Value(LeftStr(frames, offset-1)))
end = (i % 2 == 0) ? j - 1 : j
(j != start) || ((i % 2 == 1) && (j != 0)) ? clp.Trim( start, end ) : NulClip(clp)
(i % 2 == 1) ? Eval(func) : last
pre_end = (i % 2 == 1) ? end : pre_end
clp.FilterRange2( func=func, frames=MidStr(frames, offset+1), start=(j==0)?0:((end!=-1)?end:0)+1, pre_end=pre_end, i=i+1, clip2=clip2+last )
""")
\ : ((i != 0)
\ ? clip2 + Eval("""
end = int(Value(frames))
end = (end == 0) || (end > lastFrameOf(clp)) ? lastFrameOf(clp) : end
Assert(start <= end, "Start: " + string(start) + " is larger than End Frame: " + string(start) + "." )
clp.Trim(start, end) Eval(func)
\ + ((end != lastFrameOf(clp)) ? clp.Trim(end+1,0).subtitle(string(frames)) : NulClip(clp))
""")
\ : clp)
}
## }}}

282 名前:名無しさん@編集中:2008/03/28(金) 21:47:39 ID:DLAr9pAI
>>281
× \ + ((end != lastFrameOf(clp)) ? clp.Trim(end+1,0).subtitle(string(frames)) : NulClip(clp))
○ \ + ((end != lastFrameOf(clp)) ? clp.Trim(end+1,0) : NulClip(clp))

283 名前:にーやん:2008/04/03(木) 23:31:39 ID:T0mh+SLT
>>103
ChangePlaySpeedをAviSynth Wikiのユーザー定義関数のページに追加させていただきました。
もし何か問題やおかしな点があれば言ってください。

284 名前:名無しさん@編集中:2008/04/04(金) 04:43:20 ID:o/vsksLv
にーやん乙

285 名前:103:2008/04/04(金) 23:24:22 ID:eIjWKAmU
掲載ありがとうございます。
コードに全角スペースが含まれていますので、半角に差し替えさせて頂きました。
(当時は字下げの仕方を知らなかったもので…。)

それにしても、再生速度の話題は半年に1回ぐらいのペースで出てきますねぇ。

286 名前:名無しさん@編集中:2008/04/05(土) 15:23:07 ID:RfyLeg/f
アス非を変えず、余った空間は黒で塗りつぶしてクリップを指定した解像度にするスクリプト考えてるんですが
a=0
if(a==0){
MessageClip("おk")
}else{
MessageClip("ダメ")
}
AviSynthってこのif構文使えないんですか?

287 名前:名無しさん@編集中:2008/04/05(土) 15:40:48 ID:KohPCHpJ
3項演算は可能

288 名前:名無しさん@編集中:2008/04/05(土) 16:12:43 ID:RfyLeg/f
自分がif elseに頼り切ってる事が分かった
ループ系も無いのね
function rc(string "path" , float "from" , float "to" ){
c1 = AVISource(path)
mode = (Float(Height(c1)) / Float(Width(c1))>0.75) ? "A" : "B"
#modeがAなら左右に黒枠を付ける
#modeがBなら上下に黒枠を付ける
add_size = (mode=="A") ? (int(Height(c1)/0.75)-Width(c1))/2 : (int(Width(c1)*0.75)-Height(c1))/2
c1 = (mode=="AA")?AddBorders (c1, add_size,0,add_size,0):AddBorders (c1, 0,add_size,0,add_size)
c1 = BicubicResize(c1,640,480)
c1 = Trim(c1, int(from*Framerate(c1)),int(from*Framerate(c1)+to*Framerate(c1)))
c1 = ChangeFPS(c1,30)
c1 = ResampleAudio(c1, 48000)
return c1
}
pathに動画のフルパス、fromに開始秒、toに継続時間 を指定すると
pathの動画を開いてfrom秒〜from+to秒に切り取って、fpsを30にしてサンプリングレート48000に統一して
アス比を4:3にして解像度を640x480にする
メドレーなんかに使えるのではないかと
rc("G:\A.avi",0,99.8)++rc("G:\B.avi",0,99.8)
こんな感じで

289 名前:にーやん:2008/04/06(日) 01:20:07 ID:JX+oQBdu
>>285
そのまま貼り付けただけだったので、全角スペースに気づきませんでした。
修正ありがとうございました。


290 名前:名無しさん@編集中:2008/04/19(土) 21:08:30 ID:U1tfefvm
保守

291 名前:名無しさん@編集中:2008/05/01(木) 22:18:17 ID:dE1O9TzW
見つけたので貼り

946 名前:[名無し]さん(bin+cue).rar[sage] 投稿日:2008/04/06(日) 15:11:30 ID:SeqvFgpF0
YUKKYの設定ファイルをコピー
ttp://nagamochi.info/src/up2812.png
EEDI2を使わずにリサイズ
ttp://nagamochi.info/src/up2811.png

まぁエンコードの速さはかなりいい感じかな

965 名前:946[sage] 投稿日:2008/04/06(日) 21:01:15 ID:SeqvFgpF0
FrameCache(9).IT(fps = 24, ref = "TOP", diMode = 1)
FrameCache(9).crop(8,0,-8,0)
FrameCache(9).ffdshow("unsharp")
FFT3DGPU()
GPU_BeginYV12
GPU_LanczosResize(1280,720)
GPU_EndYV12()
FrameCache(9).asharp(0.8,1.5,0.10,hqbf=true)
FrameCache(9).aWarpSharp(8,3,0.2,2)
FrameCache(9).WarpSharp(128, 3, 108, -0.6)
FrameCache(9).crop(0,4,-0,0)
FrameCache(9).AddBorders(0, 4, 0, 0)

ffdshowはunsharp maskの強さ20
こんな感じの設定ね
FrameCache意味有るのか知らないが付けてみた
MT使えないからquadだとWarpSharpあたりが足を引っ張るかもしれない
EEDI2使ってない分早いと思う
みなみけ以外でYUKKYの設定のあるDVD持ってないから、他のDVDにも通用するは、わからない

292 名前:名無しさん@編集中:2008/05/01(木) 22:23:51 ID:MUZ5OnBO
静止画の時点でここまで酷いと動画では見るに耐えないと思うが…
というかそんなもの貼るなよ

293 名前:名無しさん@編集中:2008/05/01(木) 22:27:27 ID:kNeRZAyc
ねーよwww

YUKKYの汚すぎだろwww

また糞比較コピペの誕生かよwww

294 名前:名無しさん@編集中:2008/05/01(木) 22:33:09 ID:kNeRZAyc
ま、文字テロップはEEDI2やNNEDI使うよりlanczosで拡大したほうがきれいになるのは確かだけどな。

295 名前:名無しさん@編集中:2008/05/03(土) 00:31:42 ID:wBNWo9eP
誰YUKKYって

296 名前:名無しさん@編集中:2008/05/03(土) 01:00:28 ID:z3ie269Q
もはやYUKKYもしらない厨房や消防もこのスレに入り込んできたのか。

まぁYUKKYなんて糞職人のことは知らないほうがいいのかもしれないな。

297 名前:名無しさん@編集中:2008/05/03(土) 01:33:19 ID:XLCrT/1x
兵藤ユキ?

298 名前:名無しさん@編集中:2008/05/03(土) 02:36:33 ID:VLhE+otR
職人ってなんの職人?

299 名前:名無しさん@編集中:2008/05/03(土) 06:14:29 ID:oD3hByv0
[名無し]さん(bin+cue).rar
ダウソですね

300 名前:名無しさん@編集中:2008/05/03(土) 13:49:08 ID:dbsFAosT
FrameCache(9).asharp(0.8,1.5,0.10,hqbf=true)
FrameCache(9).aWarpSharp(8,3,0.2,2)
FrameCache(9).WarpSharp(128, 3, 108, -0.6)

何がしたいんだか・・

301 名前:名無しさん@編集中:2008/05/03(土) 17:26:29 ID:wBNWo9eP
704x396な向こうの人か確かにショボイよな

302 名前:名無しさん@編集中:2008/05/04(日) 12:25:58 ID:Qn18XQ9S
叩くだけなら誰だってできるよ
お前らの設定晒してみろや

303 名前:名無しさん@編集中:2008/05/04(日) 13:05:41 ID:htIRYcOM
何を今更w

304 名前:名無しさん@編集中:2008/05/04(日) 15:10:55 ID:X4b2zutb
相手にするな
うつるぞ

305 名前:名無しさん@編集中:2008/05/15(木) 00:02:22 ID:h3mxdh4y
##ソースファイル読み込み##
src = DGDecode_MPEG2Source("N:\みなみけ\01\VTS_01_1.d2v").AssumeTFF()
OP = src.FrameCache(9).Trim(0,3147).DoubleWeave().SelectEvery(10,0,2,5,7)
a = src.FrameCache(9).Trim(3148,22957).DoubleWeave().SelectEvery(10,0,2,5,7)
b = src.FrameCache(9).Trim(22958,39561).DoubleWeave().SelectEvery(10,0,2,5,7)
ED = src.FrameCache(9).Trim(39562,42257).DoubleWeave().SelectEvery(10,0,2,5,7)
next = src.FrameCache(9).Trim(42258,0).DoubleWeave().SelectEvery(10,0,2,5,7)

last = OP ++ a ++ b ++ ED ++ next

Crop(8,0,-8,0)

##映像フィルタ##
asharp(0.1,11,-1,true)
FFT3dFilter(plane=4,sigma=1.2)
EEDI2(mthresh=10,lthresh=20,vthresh=20,estr=2,dstr=6,maxd=26,map=0,nt=50,pp=0).TurnRight()
EEDI2(mthresh=10,lthresh=20,vthresh=20,estr=2,dstr=6,maxd=26,map=0,nt=50,pp=0).TurnLeft()
WarpSharp(60,6,165,0)
WarpSharp(60,6,165,0)
LanczosResize(1280,720,taps=16)
YSharp(1.16)

Crop(0,4,0,0)
AddBorders(0,4,0,0)

return last

ちなみにYUKKYの設定はこっちのほうな
正直AvsP開いた瞬間閉じたわ、、、

306 名前:名無しさん@編集中:2008/05/15(木) 16:26:23 ID:FzSfg8qc
#########BlackEdge##########
# 作者 YUKKY #
# 必要なプラグイン #
# ・mt_masktools #
# ・asharp ・EEDI2 #

function BlackEdge(clip clip, int "thY", bool "dr", bool "resize"){

thY = default(thY, 6) #エッジマスクを作成する際の輝度閾値
dr = default(dr, false) #デリンギング処理を行うかどうか(trueのみ行う)
resize = default(resize, true) #EEDI2の後に元の解像度に戻すかどうか(false以外は戻す)
src = clip
src = ((dr == true)
\ ? src.asharp(0.1,4.0)
\ : (dr == false)
\ ? src
\ : src)
diff1 = Subtract(src.mt_expand().mt_inpand(),src)
diff2 = Subtract(src,src.mt_inflate().mt_deflate())
temp1 = mt_adddiff(src,mt_makediff(diff2,diff1))
temp2 = mt_adddiff(src,temp1,y=1,u=3,v=3)
temp = mt_average(temp1,temp2)
map = src.mt_edge(mode="min/max",thY1=thY,thY2=thY)
clip = mt_merge(src,temp,map,u=1,v=1)
clip = clip.EEDI2().TurnRight().EEDI2().TurnLeft()
clip = ((resize == true)
\ ? clip.LanczosResize(clip.width/2,clip.height/2,taps=16)
\ : (resize == false)
\ ? clip
\ : clip.LanczosResize(clip.width/2,clip.height/2,taps=16))
return clip
}

307 名前:名無しさん@編集中:2008/05/15(木) 17:09:07 ID:vWlBjcYr
ゴミばっかw

308 名前:名無しさん@編集中:2008/05/15(木) 18:40:48 ID:XU2EalRv
犯罪者の話題なんて出すなよ

309 名前:名無しさん@編集中:2008/05/15(木) 19:07:02 ID:hOlnTnpW
さすがダウンソクオリティー
こんなクソ関数を堂々と公開して後悔。ナチッテ、、、

310 名前:名無しさん@編集中:2008/05/16(金) 14:09:13 ID:NrCRByE4
>>309

311 名前:名無しさん@編集中:2008/05/16(金) 19:40:44 ID:NrCRByE4
scriptclipの使い方が良く解んないから試しに逆テレ氏ね関数作ってみた
globalな変数しか受け付けないから関数内ではとても使いにくいです、ついでに言うと素直にプラグインで作った方が軽そうな予感
conditional系って使い道あるの?

function SakuratanIVTC(clip clip,bool"debug"){
doubleweave(clip)
interleave(last,merge(trim(1,0),last))
default(debug,false)?info:last
c0=selectevery(10,0,5)
c0=stackhorizontal(c0,trim(c0,0,-1)+trim(c0,0,framecount(c0)-2),trim(c0,1,framecount(c0)-1)+trim(c0,framecount(c0)-1,-1))
trim(0,-1)+trim(0,framecount-2)
c1=selectevery(10,0,5)
c1=stackhorizontal(c1,trim(c1,0,-1)+trim(c1,0,framecount(c1)-2),trim(c1,1,framecount(c1)-1)+trim(c1,framecount(c1)-1,-1))
trim(0,-1)+trim(0,framecount-2)
c2=selectevery(10,0,5)
c2=stackhorizontal(c2,trim(c2,0,-1)+trim(c2,0,framecount(c2)-2),trim(c2,1,framecount(c2)-1)+trim(c2,framecount(c2)-1,-1))
trim(0,-1)+trim(0,framecount-2)
c3=selectevery(10,0,5)
c3=stackhorizontal(c3,trim(c3,0,-1)+trim(c3,0,framecount(c3)-2),trim(c3,1,framecount(c3)-1)+trim(c3,framecount(c3)-1,-1))
trim(0,-1)+trim(0,framecount-2)
c4=selectevery(10,0,5)
c4=stackhorizontal(c4,trim(c4,0,-1)+trim(c4,0,framecount(c4)-2),trim(c4,1,framecount(c4)-1)+trim(c4,framecount(c4)-1,-1))
trim(0,-1)+trim(0,framecount-2)
c5=selectevery(10,0,5)
c5=stackhorizontal(c5,trim(c5,0,-1)+trim(c5,0,framecount(c5)-2),trim(c5,1,framecount(c5)-1)+trim(c5,framecount(c5)-1,-1))
stackhorizontal(c0,c1,c2,c3,c4,c5)
scriptclip("""\
w=width/6\
c0=crop(0,0,w,0)\
crop(w,0,0,0)\
c1=crop(0,0,w,0)\
crop(w,0,0,0)\

312 名前:名無しさん@編集中:2008/05/16(金) 19:40:55 ID:NrCRByE4
c2=crop(0,0,w,0)\
crop(w,0,0,0)\
c3=crop(0,0,w,0)\
crop(w,0,0,0)\
c4=crop(0,0,w,0)\
c5=crop(w,0,0,0)\
why=w*height\
whuv=why/4\
b0=blur(c0,0,1)\
b1=blur(c1,0,1)\
b2=blur(c2,0,1)\
b3=blur(c3,0,1)\
b4=blur(c4,0,1)\
b5=blur(c5,0,1)\
d0=why*lumadifference(c0,b0)+whuv*(chromaudifference(c0,b0)+chromavdifference(c0,b0))\
d1=why*lumadifference(c1,b1)+whuv*(chromaudifference(c1,b1)+chromavdifference(c1,b1))\
d2=why*lumadifference(c2,b2)+whuv*(chromaudifference(c2,b2)+chromavdifference(c2,b2))\
d3=why*lumadifference(c3,b3)+whuv*(chromaudifference(c3,b3)+chromavdifference(c3,b3))\
d4=why*lumadifference(c4,b4)+whuv*(chromaudifference(c4,b4)+chromavdifference(c4,b4))\
d5=why*lumadifference(c5,b5)+whuv*(chromaudifference(c5,b5)+chromavdifference(c5,b5))\
d5=1.25*d5\
min01=min(d0,d1)\
min012=min(min01,d2)\
min0123=min(min012,d3)\
stackhorizontal(d5<min(min0123,d4)?c5:d4<min0123?c4:d3<min012?c3:d2<min01?c2:d1<d0?c1:c0,c0,c0,c0,c0,c0)\
""")
crop(0,0,width(clip),0)
}

とりあえず作ってみただけなんで↑の関数自体は役に立ちませんwww
だれかscriptclipの素晴らしさを教えてくれ〜

313 名前:名無しさん@編集中:2008/05/19(月) 17:10:11 ID:ugcKDwbB
>>305
avisynthでエンコを始めようとしている者です。YUKKY氏の設定を見て、

>src = DGDecode_MPEG2Source("N:\みなみけ\01\VTS_01_1.d2v").AssumeTFF()
>OP = src.FrameCache(9).Trim(0,3147).DoubleWeave().SelectEvery(10,0,2,5,7)
>a = src.FrameCache(9).Trim(3148,22957).DoubleWeave().SelectEvery(10,0,2,5,7)
>b = src.FrameCache(9).Trim(22958,39561).DoubleWeave().SelectEvery(10,0,2,5,7)
>ED = src.FrameCache(9).Trim(39562,42257).DoubleWeave().SelectEvery(10,0,2,5,7)
>next = src.FrameCache(9).Trim(42258,0).DoubleWeave().SelectEvery(10,0,2,5,7)
>last = OP ++ a ++ b ++ ED ++ next

この辺はなるほどと感じましたが、私のavsに取り入れたとき何か問題はありますか?
だいぶ叩かれている様なので。

314 名前:名無しさん@編集中:2008/05/19(月) 17:20:56 ID:LdLKSga4
( ゚Д゚)ハァ?

315 名前:名無しさん@編集中:2008/05/19(月) 17:22:24 ID:ciIyxm0m
釣だろシカト汁

316 名前:名無しさん@編集中:2008/05/19(月) 22:03:03 ID:6/EdyahL
みなみけ

1)皆、三毛 (みな三毛猫の意)
2)南家 (南さんの家で共有しているパソコンの意)



317 名前:313:2008/05/24(土) 15:41:04 ID:q+JZgKsj
釣りではありませんでしたが、試さずに質問したのは失礼しました。
Trimより後を省いてVirtualDubで開いてみました。
結果極端に重くなることもなく普通に使えました。
何もなかったかのように312の続きをどうぞ↓

318 名前:名無しさん@編集中:2008/05/24(土) 16:05:08 ID:E3lV26Fb
( ゚Д゚)ハァ?

319 名前:名無しさん@編集中:2008/05/24(土) 17:54:41 ID:ajpAugIN
>>317
無茶するなよ
つーかどこ省いたって?

320 名前:名無しさん@編集中:2008/05/24(土) 18:51:28 ID:pix6KGTi
釣だろシカト汁

321 名前:313:2008/05/25(日) 20:10:49 ID:z5lBM62D
>>317
下のようなAVSを作ったわけです。突っ込み大歓迎です。
lgd = "E:\EncFiles\logo\"
LoadAviUtlInputPlugin("C:\Program Files\EARTH SOFT\PV3 3.x\AviUtl\EARTH SOFT DV.aui", "EARTHSOFTDV")
logo = "TBS_1920x1080.lgd"
src = EARTHSOFTDV("E:\TVRec\マクロスF(フロンティア) 5月24日.dv").AssumeTFF()

at_in = 764
at_out = 6245
at_fin = 5
at_fidur = 10
op_in = at_out + 1
op_out = 9244
op_fout = op_out - op_in - 5
op_fodur = 9
(省略)
nx_in = 50274
nx_out = 51112
nx_fin = 5
nx_fidur = 10
nx_fout = nx_out-nx_in-6
nx_fodur = 9

avantitle = src.FrameCache(9).Trim(at_in,at_out).EraseLOGO(logofile=lgd+logo, start=at_fin, fadein=at_fidur).IT(fps=24, ref="TOP")
OP = src.FrameCache(9).Trim(op_in,op_out).EraseLOGO(logofile=lgd+logo, end=op_fout, fadeout=op_fodur).IT(fps=24, ref="TOP")
a = src.FrameCache(9).Trim(a_in,a_out).EraseLOGO(logofile=lgd+logo, start=a_fin, end=a_fout, fadein=a_fidur, fadeout=a_fodur).IT(fps=24, ref="TOP")
b = src.FrameCache(9).Trim(b_in,b_out).EraseLOGO(logofile=lgd+logo, start=b_fin, fadein=b_fidur).IT(fps=24, ref="TOP")
ED = src.FrameCache(9).Trim(ed_in,ed_out).EraseLOGO(logofile=lgd+logo, end=ed_fout, fadeout=ed_fodur).IT(fps=24, ref="TOP")
next = src.FrameCache(9).Trim(nx_in,nx_out).EraseLOGO(logofile=lgd+logo, start=nx_fin, end=nx_fout, fadein=nx_fidur, fadeout=nx_fodur).IT(fps=24, ref="TOP")
last = avantitle ++ OP ++ a ++ b ++ ED ++ next

322 名前:名無しさん@編集中:2008/05/25(日) 20:14:12 ID:JE8451jT
頼むからくだらないの貼らないでくれないか、邪魔だから

323 名前:名無しさん@編集中:2008/05/25(日) 21:05:55 ID:A5pcvhg3
釣だろシカト汁

324 名前:名無しさん@編集中:2008/05/25(日) 22:21:30 ID:N1AlUv3w
>>321
何がしたいかなんとなく分かったけど・・・
つーか何に対してなるほどと思ったのか最初に書けやw

325 名前:名無しさん@編集中:2008/05/25(日) 22:23:37 ID:gLQSchS8
似たような事する記述方法色々あるけど>>321のはマンドクサくてヤだな。

326 名前:名無しさん@編集中:2008/05/29(木) 19:11:40 ID:BI+obHLk
最近地デジチューナーを入手したんで、これをGV-MVP/RX2に突っ込んで
SDキャプしています。
今までは、
Crop(4,0,704,480)
LanczosResize(640,480)
だったんですが、WIDEのままエンコするには、
Crop(0,0,716,480)
LanczosResize(704,396)
ぐらいでいいでしょうか?
MPEG2ソースを見るのと同じサイズで見ようと思うと
LanczosResize(848,480)
かなぁと思ったんですが、横にムダに引き伸ばすのは間抜けですか?

327 名前:名無しさん@編集中:2008/05/29(木) 19:24:54 ID:NuUP41Zu
スレ (´∀`( ´∀`) チガイ

328 名前:名無しさん@編集中:2008/06/01(日) 20:00:37 ID:nuzxeT4J
>>206修正(mergeを省略するとフィルタが適応されなかった不具合の修正)
#for…繰り返し処理を行う
#    start    値の初期値
#    end        値の終了値
#    step    刻み値
#    filter    繰り返し分適応させるフィルタ(省略すると何もしません、“""”でも省略扱いです。)
#            繰り返しの値は“i”もしくは“crnt”で取得出来ます
#    merge    クリップ結合関数(省略すると最後に作成したクリップを返します、“""”でも省略扱いです。)
#            繰り返し途中に作成したクリップは早めに生成されたクリップが“c1”、
#            遅めに生成されたクリップが“c2”になります
#            この2つのクリップを1つのクリップに結合します。
function for(clip clip, int start, int end, int step, string "filter", string "merge") {
    filter = default(filter, "")
    merge = default(merge, "")
    merge = (("" != merge)? merge: "c2")
    i = start
    crnt = start
    next = crnt + step

    c1 = clip
    c2 = (("" != filter)? Eval("clip." + filter): clip)
    c2 = ((start < end) ? c2.for(next, end, step, filter, merge): c2)
    return ((start < end)? Eval(merge): c1)
}

この関数色々な所で使っているから、不具合があると再確認事項が多くて困る。


329 名前:名無しさん@編集中:2008/06/01(日) 20:06:26 ID:nuzxeT4J
>>156-157,328使用
#DotCleaner…2値の画像のドットノイズを削減します
#    strong    ノイズ除去の強さ(省略なら“1”、“0”なら変化無し)
#            1なら黒拡張1回→白拡張2回→黒拡張1回
#            2なら黒拡張2回→白拡張4回→黒拡張2回
#            -1なら白拡張1回→黒拡張2回→白拡張1回
function DotCleaner(clip clip, int "strong") {
    strong = default(strong, 1)
    darken = """DotCleaner CrossSelfOverlay("darken")"""
    lighten = """DotCleaner CrossSelfOverlay("lighten")"""
    expansion = ((0 < strong)? darken: lighten)
    reduction = ((0 < strong)? lighten: darken)
    strong = ((0 < strong)? strong: -strong)

    function DotCleaner CrossSelfOverlay(clip clip, string mode) {
        base = clip
        clip = clip.Overlay(base, mode=mode, x=-1, y=0).Overlay(base, mode=mode, x=1, y=0).Overlay(base, mode=mode, x=0, y=1).Overlay(base, mode=mode, x=0, y=-1)
        return clip
    }

    type = clip.GetPixelType()
    clip = clip.ConvertToYUY2()
    clip = clip.for(0, strong, 1, expansion).for(0, strong*2, 1, reduction).for(0, strong, 1, expansion)
    return clip.SetPixelType(type)
}

mt_logic使った方が良いと思いますが、取り敢えず標準フィルタで作成。


330 名前:名無しさん@編集中:2008/06/01(日) 20:08:45 ID:nuzxeT4J
>>156-157使用
#LuminanceKey…他クリップをルミナンスキーとし、マスク画像を生成します
#    diff        ルミナンスキー判定用クリップ
#    tolerance    マスク許容範囲(省略なら“25”、“0”なら完全一致のみです)
#                負数なら相違箇所をマスクします
#    color        マスク色(省略なら“$00FF00”です)
#    alpha only    アルファ用のクリップを生成する(省略・偽ならマスク、真ならアルファです)
#    effect        マスクの加工フィルタ(省略すると何もしません、“""”でも省略扱いです)
#    effect clip    マスクの加工フィルタにて参照出来るクリップ(省略するとdiffと同じです)
function LuminanceKey(clip clip, clip diff, int "tolerance", int "color", bool "alpha only", string "effect", clip "effect clip") {
    color = default(color, $00FF00)
    tolerance = default(tolerance, 25)
    alpha only = default(alpha only, false)
    effect = default(effect, "")
    effect clip = default(effect clip, diff)
    is mask = ((0 <= tolerance)? true: false)
    tolerance =    ((0 <= tolerance)? tolerance: -tolerance)


331 名前:名無しさん@編集中:2008/06/01(日) 20:10:19 ID:nuzxeT4J
    type = clip.GetPixelType()

    diff = clip.Overlay(diff, mode="difference").ColorYUV(off y=-127)
    diff = diff.ConvertToRGB32()
    diff = diff.ColorKeyMask($000000, tolerance)
    diff = diff.ShowAlpha()
    diff = ((is mask)? diff.Invert(): diff)
    diff = (("" != effect)? Eval("diff." + effect): diff)

    clip = clip.ConvertToRGB32()
    bg = clip.BlankClip(color=color)
    bg = bg.Mask(diff)
    clip = clip.Layer(bg, "add")

    clip = ((alpha only)? diff.Invert(): clip)

    return clip.SetPixelType(type)
}


332 名前:名無しさん@編集中:2008/06/01(日) 20:11:42 ID:nuzxeT4J
trio = LoadTrioClip()
duo = LoadDuoClip()

alpha = trio.LuminanceKey(duo, 10, alpha only=true, effect="DotCleaner(1).Blur(1.0)")
luminance = trio.LuminanceKey(duo, 10, effect="DotCleaner(1).Blur(1.0)")

up = StackHorizontal(trio, duo)
down = StackHorizontal(alpha, luminance)
StackVertical(up, down)

ttp://nagamochi.info/src/up5363.png

333 名前:名無しさん@編集中:2008/06/01(日) 20:22:54 ID:nuzxeT4J
>>329-332
すいません、そこここの“_”が消えています。
DotCleaner_CrossSelfOverlay
alpha_only
effect_clip
is_mask
off_y

334 名前:名無しさん@編集中:2008/06/16(月) 08:42:47 ID:gzRzZUdB


335 名前:名無しさん@編集中:2008/07/04(金) 17:34:39 ID:sLf+cs9e
アニメエンコで定番のUnSharpMask+WarpSharpに対抗してみた。
それだけ。

LoadPlugin("ffmpegsource.dll")
LoadPlugin("FFT3DGPU.dll")
LoadPlugin("rgbhack.dll")
LoadPlugin("LGhost.dll")
LoadPlugin("PMD.dll")

FFPP(pp="vdeblock:chrom/hdeblock:chrom/dering:chrom")
ConvertToRGB(matrix="rec709")

red=ShowRed("YV12").FFT3DGPU(plane=0,bt=-1,bw=32,bh=32,ow=16,oh=16,precision=2,sharpen=4,interlaced=false).LGhost(1).PMD()
green=ShowGreen("YV12").FFT3DGPU(plane=0,bt=-1,bw=32,bh=32,ow=16,oh=16,precision=2,sharpen=4,interlaced=false).LGhost(1).PMD()
blue=howBlue("YV12").FFT3DGPU(plane=0,bt=-1,bw=32,bh=32,ow=16,oh=16,precision=2,sharpen=4,interlaced=false).LGhost(1).PMD()

YYYToRGB(red,green,blue)
ConvertToYV12(matrix="PC.709")
flipvertical
FFPP(pp="vdeblock:chrom/hdeblock:chrom/dering:chrom")

336 名前:名無しさん@編集中:2008/07/05(土) 21:00:13 ID:g04jIkC2
ショボ

337 名前:名無しさん@編集中:2008/07/06(日) 12:04:08 ID:CdYOyW/p
>>336
最高の賛辞

338 名前:名無しさん@編集中:2008/07/06(日) 13:15:38 ID:DPre5XeQ
>>336
Good Job !

339 名前:名無しさん@編集中:2008/07/21(月) 01:55:25 ID:2BS3sadP
#2-3プルダウンでテレシネされたソースに60テロなんか入った場合、手動間引きしつつ矩形範囲のみbob化して60p出力する関数
#ivtcbob("12","ConvertToYV12(interlaced=true).MCbob().ConvertToYUY2()",0,930,1440,90)#例えば5n+2&3フレーム目に縞がある場合stripe="23"
function ivtcbob(clip clip, string stripe, string bobfilter, int x, int y, int w, int h){

Assert((stripe == "01") || (stripe == "12") || (stripe == "23") || (stripe == "34") || (stripe == "40"), "ivtcbob : stripe list : '01','12','23','34' or '40'")
Assert(clip.IsYUY2 || clip.IsRGB32, "ivtcbob : require 'YUY2' or 'RGB32' input")

frame = clip.Framecount() * 2 - 1
c = clip.DoubleWeave()
c = (stripe == "01") ? c.SelectEvery(5,1,3) : c
c = (stripe == "12") ? c.SelectEvery(5,0,3) : c
c = (stripe == "23") ? c.SelectEvery(5,0,2) : c
c = (stripe == "34") ? c.SelectEvery(5,2,4) : c
c = (stripe == "40") ? c.SelectEvery(5,1,4) : c

c1 = c.SelectEven()
c2 = c.SelectOdd()

c = (stripe == "01") ? clip.SeparateFields().SelectEven().EEDI2().Trim(0,-1).AssumeFPS(60000,1001) + Interleave(c1,c1,c2,c2,c2) : c
c = (stripe == "12") ? Interleave(c1,c1,c1,c2,c2) : c
c = (stripe == "23") ? Interleave(c1,c1,c2,c2,c2) : c
c = (stripe == "34") ? clip.Trim(0,-1).AssumeFPS(60000,1001) + clip.Trim(0,-1).AssumeFPS(60000,1001) + Interleave(c1,c1,c2,c2,c2) : c
c = (stripe == "40") ? clip.SeparateFields().SelectEven().EEDI2().Trim(0,-1).AssumeFPS(60000,1001) + Interleave(c1,c1,c1,c2,c2) : c
c = c.Trim(0,frame)

telop=Eval("clip." + bobfilter)
Assert((frame == telop.Framecount() - 1) && (telop.FramerateNumerator() == 60000), "ivtcbob : bobfilter error")
telop=telop.Crop(x,y,w,h)

Layer(c,telop,"add",255,x,y)
return last
}

340 名前:名無しさん@編集中:2008/07/22(火) 00:21:10 ID:SgMxS+s2
#>>339にMCBOBを使ってエンコしたら重すぎて使い物にならなかったのでクロップ優先オプションの"fast"を追加

function ivtcbob(clip clip, string stripe, string bobfilter, int x, int y, int w, int h, bool "fast", bool "yv12", int "overlap"){

fast = default(fast,true)
yv12 = default(yv12,false)
overlap = default(overlap,2)

Assert(clip.IsYUY2 || clip.IsRGB32, "ivtcbob : require 'YUY2' or 'RGB32' input")
Assert((stripe == "01") || (stripe == "12") || (stripe == "23") || (stripe == "34") || (stripe == "40"), "ivtcbob : stripe list : '01','12','23','34' or '40'")
fast ? Assert(y % 2 == 0, "ivtcbob : In case 'fast' is true, 'y' must be even number.") : last
fast ? Assert(h % 2 == 0, "ivtcbob : In case 'fast' is true, 'h' must be even number.") : last
fast ? Assert(overlap % 2 == 0, "ivtcbob : In case 'fast' is true, 'overlap' must be even number.") : last
fast ? Assert((w > 0) && (h > 0), "ivtcbob : In case 'fast' is true, 'w' and 'h' must be positive numbers.") : last
top = (y < overlap) ? y : overlap
bottom = (clip.Height() - y - h < overlap) ? clip.Height() - y - h : overlap
left = (x < overlap) ? x : overlap
right = (clip.Width() - x - w < overlap) ? clip.Width() - x - w : overlap

frame = clip.Framecount() * 2 - 1
c = clip.DoubleWeave()
c = (stripe == "01") ? c.SelectEvery(5,1,3) : c
c = (stripe == "12") ? c.SelectEvery(5,0,3) : c
c = (stripe == "23") ? c.SelectEvery(5,0,2) : c
c = (stripe == "34") ? c.SelectEvery(5,2,4) : c
c = (stripe == "40") ? c.SelectEvery(5,1,4) : c

341 名前:340:2008/07/22(火) 00:22:30 ID:SgMxS+s2
c1 = c.SelectEven()
c2 = c.SelectOdd()

c = (stripe == "01") ? clip.SeparateFields().SelectEven().EEDI2().Trim(0,-1).AssumeFPS(60000,1001) + Interleave(c1,c1,c2,c2,c2) : c
c = (stripe == "12") ? Interleave(c1,c1,c1,c2,c2) : c
c = (stripe == "23") ? Interleave(c1,c1,c2,c2,c2) : c
c = (stripe == "34") ? clip.Trim(0,-1).AssumeFPS(60000,1001) + clip.Trim(0,-1).AssumeFPS(60000,1001) + Interleave(c1,c1,c2,c2,c2) : c
c = (stripe == "40") ? clip.SeparateFields().SelectEven().EEDI2().Trim(0,-1).AssumeFPS(60000,1001) + Interleave(c1,c1,c1,c2,c2) : c
c = c.Trim(0,frame)

branch = yv12 && ((top + h + bottom) % 4 != 0) ?
\ (
\ (clip.Height() - y - h < overlap) ? Eval("clip.crop(" + String(x-left) + "," + String(y-top) + "," + String(left+w+right) + "," + String(top+h+bottom) + ").AddBorders(0,0,0,2)")
\ : Eval("clip.crop(" + String(x-left) + "," + String(y-top) + "," + String(left+w+right) + "," + String(top+h+bottom+2) + ")")
\ )
\ : Eval("clip.crop(" + String(x-left) + "," + String(y-top) + "," + String(left+w+right) + "," + String(top+h+bottom) + ")")
telop = fast ? branch : clip
telop = Eval("telop." + bobfilter)
telop = fast ? telop.crop(left,top,w,h) : telop.crop(x,y,w,h)

Assert((frame == telop.Framecount() - 1) && (telop.FramerateNumerator() == 60000), "ivtcbob : bobfilter error")

Layer(c,telop,"add",255,x,y)

return last
}

342 名前:340:2008/07/22(火) 00:42:39 ID:SgMxS+s2
# 一応使い方

# 使用プラグイン
#   EEDI2       片フィールドしか存在しない0フレーム目のフィールド補間に使ってるだけなので
#              SeparateFields().SelectEven().EEDI2()の部分を好みのbobフィルタにしても可。
#              今気づいたけどSelectEven必要ないな・・・

# 引数リスト
#   stripe(string):   5n+xフレームのどこに縞があるかを'01','12','23','34','40'の中から指定。
#   bobfilter(string): bobフィルタを指定。
#   x,y,w,h(int):    bobフィルタを適用する矩形領域を選択。
#   fast(bool):     trueでcropを優先し高速化する。デフォルトはtrue。
#   yv12(bool):    fastがtrueのとき、矩形領域の高さが4の倍数でなくても
#              bobfilterでConvertToYV12(interlaced=true)を使えるようにする。デフォルトはfalse。
#   overlap(int):   fastがtrueのとき、bobフィルタをかける前に矩形領域の上下左右を余分にクロップするピクセル数。
#              動き補償付きbob関数なんかを使うときは大きめにしたほうがいいかもしれない。デフォルトは2。

# 使用例
#   ivtcbob("23","ConvertToYV12(interlaced=true).MCbob().ConvertToYUY2()",0,930,1440,1020-930,true,true,4)

343 名前:名無しさん@編集中:2008/09/13(土) 19:37:57 ID:97Y04PBb
アニメDVD用

mpeg2source(FPath + D2vFile)

AssumeFrameBased().ComplementParity()

Its(def=DPath + DefFile,fps=-1,output=FPath + TimestampFile, debug=false)

ColorYUY2(matrix="rec709s", debug=0, interpolation="411->422", interlaced=false)
ColorMatrix(mode="Rec.709->SMPTE 240M", source=0, dest=3, scaling=2, interlaced=false, d2v=FPath + D2vFile)

UnSharpMask(24,3,5)
WarpSharp(90,5,90)

Lanczos4Resize(704,396)

addborders(0,0,0,4)

return last



344 名前:名無しさん@編集中:2008/09/13(土) 19:38:44 ID:97Y04PBb
Its24fps用
function a24(clip clip)
{
clip
AssumeFrameBased().ComplementParity()
BruteIVTC()
TDeint(mode=2,order=1,field=1,type=1,mtnmode=3,full=false,chroma=false,tryweave=true,link=1,slow=2)
vinverse(sstr=2.7,amnt=255,uv=3,scl=0.25,opt=2)
TDecimate(mode=1,hybrid=0,dupThresh=0.7,blockx=8,blocky=8,chroma=true)

return last
}

Its30fps用
function b30(clip clip)
{
clip
AssumeFrameBased().ComplementParity()
BruteIVTC()
TDeint(mode=2,order=1,field=1,type=1,mtnmode=3,full=false,chroma=false,tryweave=true,link=1,slow=2)
vinverse(sstr=2.7,amnt=255,uv=3,scl=0.25,opt=2)

return last
}


345 名前:名無しさん@編集中:2008/09/15(月) 11:12:55 ID:MCwU1/uz
ソースがDVD Videoなら、色空間がBT.601(SMPTE 170M)のYV12(YCbCr 4:2:0)なので、
BT.709と解釈してSMTPE 240M(アナログHDTVの色空間)にするとおかしな色になる。

ColorYUY2とColorMatrixの両方を外したら良い。

346 名前:名無しさん@編集中:2008/09/15(月) 13:27:52 ID:WNogej7t
DGIndex が 709 だと言ってたので 709 にしてました。(騙されたorz)
601で通すことにします。


347 名前:名無しさん@編集中:2008/09/15(月) 13:33:23 ID:MCwU1/uz
最近のDGIndex(1.5.0以降)ならSDのソースをBT.709だと判定しない様に改良された。

ただ、BT.709とするべきSDのデジタル放送をBT.470-2 B,G(SMPTE 170M, BT.601と同じ)と判定するので、
それだけ注意する必要がある。

348 名前:名無しさん@編集中:2008/09/15(月) 18:36:16 ID:f4N7KPRY
DVDエンコは基本色を弄らずエンコして、再生する時にレベル補正する方が確実に楽だよっねー!

349 名前:名無しさん@編集中:2008/10/04(土) 18:50:11 ID:+5H5V3V8
FUNCTION ContraSharpening(clip denoised, clip original)
{
# contra-sharpening: sharpen the denoised clip, but don't add more to any pixel than what was removed previously.
# script function from Didee from the VERY GRAINY thread
s = denoised.minblur(1,1) # Damp down remaining spots of the denoised clip.
allD = mt_makediff(original,denoised) # The difference achieved by the denoising.
ssD = mt_makediff(s,s.removegrain(11,-1)) # The difference of a simple kernel blur.
ssDD = ssD.repair(allD,1) # Limit the difference to the max of what the denoising removed locally.
ssDD = SSDD.mt_lutxy(ssD,"x 128 - abs y 128 - abs < x y ?") # abs(diff) after limiting may not be bigger than before.

denoised.mt_adddiff(ssDD,U=2,V=2) # Apply the limited difference. (Sharpening is just inverse blurring.)

RETURN (last)
}

350 名前:名無しさん@編集中:2008/10/13(月) 10:15:23 ID:W061R7Ug
>>340
gjすぐる

351 名前:名無しさん@編集中:2008/11/10(月) 15:28:51 ID:bdGAJgfr
ショボイスクリプトを貼ったよ

SetMemoryMax(768) SetMTMode(1,0)
# Auto("○"=自動クロップ)Anime("○"=アニメ)Wide("○"=ワイドスクリーン&Anime="○"(704,360)"×"(704,392) ※Auto時無効 )
Auto="○" Anime="○" Wide="○" UTimingH=0 VTimingH=0 Border="1" Line=0 Range=20 # Border/Line=0(OFF):1(ON) Range=16-24
#-------------------------------------------------
AutoS="○"==Auto AnimeS="○"==Anime wideS="○"==Wide BorderS="1"==Border Plugin="C:\Program Files\AviSynth 2.5\plugins+\"
#-------------------------------------------------
LoadPlugin(Plugin+"DGDecode.dll")
LoadPlugin(Plugin+"gradfun2db.dll")
LoadPlugin(Plugin+"TComb.dll")
LoadPlugin(Plugin+"autocrop")
LoadPlugin(Plugin+"ColorYUY2_for_25.dll")
LoadPlugin(Plugin+"RemoveGrainSSE3.dll")
LoadPlugin(Plugin+"DeGrainMedian.dll")
LoadPlugin(Plugin+"FFT3dGPU.dll")
LoadPlugin(Plugin+"warpsharp.dll")
LoadPlugin(Plugin+"TemporalCleaner.dll")
LoadPlugin(Plugin+"TBilateral.dll")
LoadPlugin(Plugin+"FluxSmooth.dll")
LoadPlugin(Plugin+"mt_masktools-25.dll")
#-------------------------------------------------
Import(Plugin+"myFunctions.avs")
Import(Plugin+"LimitedSharpenFaster.avsi")
Try{assert(false)}Catch(err_msg){err_msg = MidStr(err_msg,FindStr(err_msg,"(") + 1)
script_name = LeftStr(err_msg,StrLen(err_msg) - FindStr(RevStr(err_msg),","))}
Video_name = Leftstr(script_name,Findstr(script_name,".avs")-1)
gradfun2db(MPEG2Source(Video_name+".d2v",cpu=6),1.8)


352 名前:名無しさん@編集中:2008/11/10(月) 15:29:47 ID:bdGAJgfr
#-------------------------------------------------
AssumeFrameBased().ComplementParity()
UVTimingH(UTimingH,VTimingH,false).crop(8,0,704,480).TComb()
#-------------------------------------------------
AutoS ? autocrop(mode=Line,wmultof=8,hmultof=4,samples=10,aspect=0,threshold=Range) : nop()
AutoS ? nop(): wideS ? AnimeS ? crop(0,60,704,360) : crop(0,44,704,392) : nop()
#-------------------------------------------------
ColorYUY2(gain_y=0,cont_y=3,off_y=0,cont_u=15,cont_v=15,gamma_y=5,opt="1-254",matrix="rec601s",debug=0,interlaced=true)
AnimeS ? Tweak(0.0, 1.2, 0.0, 1.0, false) : Tweak(0.0, 1.1, 0.0, 1.0, false)
#----------------------実写-----------------------
Setmtmode(5)
AnimeS ? nop() : FrameCache(9).fft3dGPU(sigma=2.0,beta=1,plane=4,bw=16,bh=16,ow=8,oh=8,bt=4,mode=1,wintype=2,svr=0,interlaced=true)
Setmtmode(2)
AnimeS ? nop() : DeGrainMedian(2,3,1,interlaced=true).iFilterT("UnsharpMask(48,2,7)").WarpSharp(64,3,96)
#---------------------アニメ----------------------
Setmtmode(5)
AnimeS ? FrameCache(9).fft3dGPU(sigma=2.5,beta=1,plane=3,bw=2,bh=2,ow=1,oh=1,bt=4,mode=1,wintype=2,svr=0,interlaced=true) : nop()
Setmtmode(2)
AnimeS ? FrameCache(9).iFilterT("TemporalCleaner(3,0)") : nop()
Setmtmode(1)
AnimeS ? FrameCache(9).iFilterT("TBilateral(diameterL=5,diameterC=5,sDevL=4,sDevC=5,iDevL=3,iDevC=5,kernS=7,kernI=7,gui=false)") : nop()
Setmtmode(2)
AnimeS ? FrameCache(9).iFilterB("FluxSmoothT(6).LimitedSharpenFaster(Smode=4,strength=150,soft=0,edgemode=1)") : nop()
AnimeS ? iFilterT("UnSharpMask(24,2,5)") : nop()


353 名前:名無しさん@編集中:2008/11/10(月) 15:30:23 ID:bdGAJgfr
#-------------------------------------------------
AutoS ? BorderS ? AddBorders(0,(480 - Height()) / 2,0,(480 - Height()) / 2,$000000) : nop() : nop()
AutoS ? nop(): BorderS ? wideS ? AnimeS ? AddBorders(0,60,0,60,$000000) : AddBorders(0,44,0,44,$000000) :nop() :nop()
#-------------------------------------------------
return last

354 名前:名無しさん@編集中:2008/11/10(月) 23:08:58 ID:bdGAJgfr
修正
Setmtmode(2)
AnimeS ? FrameCache(9).iFilterB("FluxSmoothT(6).LimitedSharpenFaster(Smode=4,strength=150,soft=-1,edgemode=1)") : nop()
AnimeS ? FrameCache(9).iFilterT("UnSharpMask(24,2,5)").WarpSharp(40,2,80,-0.6) : nop()

355 名前:名無しさん@編集中:2008/11/25(火) 11:30:54 ID:m/fhgV/k
修正版(MeGUI版 アナログ素材用インタレ保持) 入門者用メモ 

 素材は「GV-MVP-GX2W」で録画したものを INTEL E6750(3.2G)で2時間以内(アニメの場合)でエンコすることを目安した (再生はHWインタレ解除)
 RADEON HD3850 (カタリスト 8.11) (カタリスト 8.11はRenderless ModeだとHWインタレが崩れる Renderless Modeを使用する場合はカタリスト8.4で)
 KMPlyaer VMR9(Windows Mode) 3D パイリニア VMRミキサー 外部CODEC CyberLink H.264/AVC Decoder
 704x480 sar 8:9または720x480 sar 1:1のエンコでソース(GX2WのMPEG2)と同じ比率で再生できる KMPlyaerは「アスペクト比を保持しない」に設定
       
※HWインタレ解除で一部(数回に1回程度は成功する)引っかかる場合はインタレ稿の検出に失敗している場合があるのでフィルター類を見直すか
 カタリスト8.4で再生してみる FluxSmoothTを少し強めにすれば改善する場合がある                 

356 名前:名無しさん@編集中:2008/11/25(火) 11:31:28 ID:m/fhgV/k
SetMemoryMax(768) SetMTMode(1,0)
Auto="○" Anime="○" Crop="○" BorderX="0" BorderY="1" Test=0 Range=30 UTimingH=0 VTimingH=0
#-------------------------------------------------
# Auto(自動クロップ)Anime(アニメ)Crop(×720x480 ○704x480 ※Auto優先)BorderX/Y/Test=0(OFF)/1(ON) Range=16-30
# ○(有効)×(無効) x264 (sar = 704x480 > 4:3(10:11) 16:9(40:33) 3:2 > 4:3(8:9) 16:9(32:27)) ※BorderX/Y=720/480
#-------------------------------------------------
AutoS="○"==Auto AnimeS="○"==Anime CropS="○"==Crop BorderXS="1"==BorderX BorderYS="1"==BorderY
Plugin="C:\Program Files\AviSynth 2.5\plugins+\"
#-------------------------------------------------
LoadPlugin(Plugin+"DGDecode.dll")
LoadPlugin(Plugin+"gradfun2db.dll")
LoadPlugin(Plugin+"TComb.dll")
LoadPlugin(Plugin+"autocrop")
LoadPlugin(Plugin+"ColorYUY2_for_25.dll")
LoadPlugin(Plugin+"RemoveGrainSSE3.dll")
LoadPlugin(Plugin+"DeGrainMedian.dll")
LoadPlugin(Plugin+"FFT3dGPU.dll")
LoadPlugin(Plugin+"warpsharp.dll")
LoadPlugin(Plugin+"TemporalCleaner.dll")
LoadPlugin(Plugin+"TBilateral.dll")
LoadPlugin(Plugin+"FluxSmooth.dll")
LoadPlugin(Plugin+"mt_masktools-25.dll")

357 名前:名無しさん@編集中:2008/11/25(火) 11:32:33 ID:m/fhgV/k
#-------------------------------------------------
Import(Plugin+"myFunctions.avs")
Import(Plugin+"vmToon-v0.74.avsi")
Try{assert(false)}Catch(err_msg){err_msg = MidStr(err_msg,FindStr(err_msg,"(") + 1)
script_name = LeftStr(err_msg,StrLen(err_msg) - FindStr(RevStr(err_msg),","))}
Video_name = Leftstr(script_name,Findstr(script_name,".avs")-1)
gradfun2db(MPEG2Source(Video_name+".d2v",cpu=6),1.8)
#-------------------------------------------------
AssumeFrameBased().ComplementParity()
UVTimingH(UTimingH,VTimingH,false).TComb()
#-------------------------------------------------
AutoS ? autocrop(mode=Test,wmultof=8,hmultof=4,samples=20,aspect=0,threshold=Range) : CropS ? crop(8,0,704,480) : nop()
#-------------------------------------------------
ColorYUY2(gain_y=0,cont_y=15,off_y=0,cont_u=35,cont_v=30,gamma_y=5,opt="1-254",matrix="rec601s",debug=0,interlaced=true)
#----------------------実写----------------------- 調整中
Setmtmode(5)
AnimeS ? nop() : FrameCache(9).fft3dGPU(sigma=2.0,beta=1,plane=4,bw=16,bh=16,ow=8,oh=8,bt=4,mode=1,wintype=2,svr=0,interlaced=true)
Setmtmode(2)
AnimeS ? nop() : DeGrainMedian(2,3,1,interlaced=true).iFilterT("UnsharpMask(48,2,7)").WarpSharp(64,3,96,-0.6)

358 名前:名無しさん@編集中:2008/11/25(火) 11:33:19 ID:m/fhgV/k
#---------------------アニメ---------------------- 調整中
Setmtmode(5)
AnimeS ? FrameCache(9).fft3dGPU(sigma=2.5,beta=1,plane=3,bw=2,bh=2,ow=1,oh=1,bt=4,mode=1,wintype=2,svr=0,interlaced=true) : nop()
Setmtmode(2)
AnimeS ? FrameCache(9).iFilterT("TemporalCleaner(3,0)") : nop()
Setmtmode(1)
AnimeS ? FrameCache(9).iFilterT("TBilateral(diameterL=5,diameterC=5,sDevL=3,sDevC=5,iDevL=2,iDevC=5,kernS=7,kernI=7,gui=false)") : nop()
Setmtmode(2)
AnimeS ? FrameCache(9).iFilterT("FluxSmoothT(6).UnSharpMask(24,2,5)").WarpSharp(64,3,96,-0.6).vmToon(strength=20,sharpen=true) : nop()
#AnimeS ? FrameCache(9).iFilterT("FluxSmoothT(6).UnSharpMask(24,2,5)").WarpSharp(96,3,96,-0.6).vmToon(strength=20,sharpen=true) : nop()
#-------------------------------------------------
AutoS ? BorderXS ? AddBorders((720 - Width()) / 2, 0 ,(720 - Width()) / 2, 0 ,$000000) : nop() : nop()
AutoS ? BorderYS ? AddBorders(0, (480 - Height()) / 2, 0 ,(480 - Height()) / 2,$000000) : nop() : nop()
AutoS ? nop(): BorderXS ? CropS ? AddBorders(8,0,8,0,$000000) : nop() :nop()
#-------------------------------------------------
return last

359 名前:名無しさん@編集中:2008/11/25(火) 11:59:31 ID:m/fhgV/k
追記
 素材に適したアスペクト比でエンコしてやらないと再生時にテロップ(文字)が若干ぼやけてしまうことがあるので注意(PC上での再生の場合)

360 名前:名無しさん@編集中:2008/12/05(金) 02:04:49 ID:qgAJzn8A
>>357
HWインタレ解除がミスりやすいのと2時間以内にエンコできなかったので一部修正

Auto="○" Anime="○" Crop="○" BorderX="0" BorderY="1" Test=0 Range=30 UTimingH=0 VTimingH=0 Mod=8
#-------------------------------------------------
Import(Plugin+"LimitedSharpenFaster.avsi")
#-------------------------------------------------
AutoS ? autocrop(mode=Test,wmultof=8,hmultof=Mod,samples=20,aspect=0,threshold=Range) : CropS ? crop(8,0,704,480) : nop()
#----------------------実写-----------------------
Setmtmode(2)
AnimeS ? nop() : DeGrainMedian(2,3,1,interlaced=true).iFilterT("UnSharpMask(24,1,5)")
#---------------------アニメ----------------------
Setmtmode(2)
AnimeS ? FrameCache(9).FluxSmoothT(6).iFilterB("LimitedSharpenFaster(Smode=4,strength=120,soft=0,edgemode=1).WarpSharp(64,1,96,-0.6)") : nop()
#-------------------------------------------------
※16の倍数ではないと警告がでるが無視してOK hmultof=16 だと上下カットしすぎかも

※GV-MVP/GX2W(4:3)でCAP(CSレター)し sar 8:9でエンコすれば上下をカットしてもMediaInfo上では16/9になるのでKMPlyaer等で再生可能 

※推奨プレイヤー PowerDVD Vista(4617) HWインタレ解除(ベクター) または 正方形ピクセルに調整してくれるKMPlyaer等(VMR9 Windows Mode)


以上 入門者用メモでした


361 名前:名無しさん@編集中:2008/12/05(金) 02:43:41 ID:qgAJzn8A
>>360
追記
  KMPlyaerは高速モードか超高速モードにしないとDxVAモードが動作しない
  また、CCCで強制的にベクタにしてもHWインタレ解除はPowerDVD Vistaの方が画質は上


362 名前:名無しさん@編集中:2008/12/21(日) 04:25:32 ID:wza4VG2a
# if-else構文 {{{
# もし三項演算子を if-else構文で書くとしたら。
# else と elseif の前には必ず . を置く
# ).else (

/* 使用例
# ttp://avisynth.org/mediawiki/Block_statements

Global c = BlankClip().Trim(0,23)
Global d = BlankClip(color=$ffffff).Trim(0,23)
Global e = BlankClip(color=$ffff00).Trim(0,23)

#Return b ? c + d : d + c
#Return if("b", "c + d").else("d + c")

Global b = true
if("b",
   \"""
   Global k = c
   Global l = d
   """\
).else (
   \"""
   Global k = d
   Global l = c
""")
# if("b", "Global k = c Global l = d").else("Global k = d Global l = c")
Return k + l
#Global k = undef()
#Global l = undef()

363 名前:名無しさん@編集中:2008/12/21(日) 04:28:43 ID:wza4VG2a
Global a = 2
if ("a>=5",
    \"""
    Global k = c
    Global l = d
    Global m = e
    """\
).elseif ("a > 2",
    \"""
    Global k = d
    Global l = e
    Global m = c
    """\
).else (
    \"""
    Global k = e
    Global l = c
    Global m = d
""")
Return k + l + m
*/

364 名前:名無しさん@編集中:2008/12/21(日) 04:30:18 ID:wza4VG2a
Function if(string exp1, string exp2) {
    Global IF_ELSE_BREAK = false
    Eval(exp1)
      \ ? Eval(""" Global IF_ELSE_BREAK=true Eval(exp2) """) : NOP
}

Function elseif(val exp1, string exp2, string exp3) {
    !IF_ELSE_BREAK && Eval(exp2)
      \ ? Eval(""" Global IF_ELSE_BREAK=true Eval(exp3) """) : NOP
}

Function else(val exp1, string exp2) {
    !IF_ELSE_BREAK ? Eval(exp2) : exp1
    Global IF_ELSE_BREAK = undef()
}

Function undef(val "x") {
  Assert(!Defined(x), "Usage: x = undef()") Return x
} #}}}

365 名前:名無しさん@編集中:2008/12/21(日) 04:51:20 ID:wza4VG2a
修正
  Function else(val exp1, string exp2) {
      !IF_ELSE_BREAK ? Eval(exp2) : exp1
      Global IF_ELSE_BREAK = undef()
  }
から
  Function else(val exp1, string exp2) {
      !IF_ELSE_BREAK ? Eval(exp2) : NOP
      Global IF_ELSE_BREAK = undef()
  }

366 名前:名無しさん@編集中:2009/01/16(金) 18:35:37 ID:4dstrcrl
てst

367 名前:名無しさん@編集中:2009/02/05(木) 23:00:16 ID:8UQo7HFA
### デバッグ・検証用 {{{1
# コンソールで AviSynth を動かしている気分に浸れるもの。
# 日本語を扱うときは、スクリプトを cp932 (sjis) で保存してください。
# フォントは osaka_unicode がお勧めです。
## 要るもの {{{2
 /*
Arrays and Loops
ttp://forum.doom9.org/showthread.php?t=106880

Thunk() を下記のように変更。

function Thunk(val val, string "clipName")
{
clipName = Default(clipName, "val")

c34 = chr(34) + chr(34) + chr(34)

# string -> escape it
# clip -> double-thunk it
# everything else -> stringify it
return val.IsString()
\ ? c34 + val + c34
\ : val.IsClip()
\ ? "Eval(" + chr(34) + clipName + chr(34) + ")"
\ : string(val)
} #}}}

368 名前:名無しさん@編集中:2009/02/05(木) 23:06:50 ID:8UQo7HFA
## 使用例: {{{2

# columns: 横に何文字配列するか, lines: 縦に何文字配列するか
ConsoleClip(lines=30)

# y で表示位置調整。デフォルト 0
Evaluation(" 7 %  3")
Evaluation("-7 %  3", y=2)
Evaluation("-7 % -3", y=4)
Evaluation(" 7 % -3", y=6)

AviSynth の剰余 % は Haskell の Prelude.rem, Scheme の remainder と同
じ働きをする。(商はゼロに向かってまるめられる)
被除数, 除数ともに正数のときだけ正しい解が出力される。

一方、Haskell の Prelude.mod, Scheme の modulo をはじめ GNU CLISP,
Perl, Python, Ruby では、(商は負の無限大に向かってまるめられ)
除数が正数のときだけ正しい解が出力される。
こちらの方は、正数演算での除数はゼロより大きくなければならないことを
念頭に置いておけば、合同式の演算に使うことが出来る。
(ほとんどの言語はゼロで割ろうとすればエラーを出すが、整数型を負数で
割ろうとしてもエラーを出さないので気をつける必要がある)
任意の整数を、あるゼロより大きい整数 で割った余りの集合を剰余体と
いい、その中でも素数で割ったものを有限体(ガロア体)といい、特に 2 で
割ったものは計算機のビット演算に使われている。FrameNumber を 5 で割っ
た集合を考えれば 逆テレシネにも応用することが出来る。

整数型の除算の商の符号は、被除数 及び 除数 の符号がマイナスかどうかを
1, 0 であらわすと排他的論理和によってあらわすことができる。乗算でも同
様である。(符号が同じならば正の値を取る)

369 名前:名無しさん@編集中:2009/02/05(木) 23:09:14 ID:8UQo7HFA
Function xor(P, Q) { !(P == Q) }
Evaluation("xor(true, true)", y=0)
Evaluation("xor(true, false)", y=2)
Evaluation("xor(false, true)", y=4)
return Evaluation("xor(false, false)", y=6)

とこういう風に書くと正数演算において負数で被除数を割ることができない
なんて聞いたことがないと思われるかもしれないが、正数においては除法の
原理が大前提にあるのでこれを見れば明らか。
もし、正数を負数で割りたければ、正数を有理数に拡張する必要がある。
もちろん有理数には剰余というものがないが、除法の原理において
被除数, 除数を有理数にしても同じことが言える。
よって、ユークリッドの互除法を使えば2つの有理数の最大公約因子を
求めることが出来る。(これは最大公約数ではない。最大公約数は2つの
ゼロより大きい整数によって決まるものである)
これは、timeScale, timeBase を求めるのに使うことが出来る。
下の式で m, n, r を有理数とし、それ以外を整数として計算する。

除法の原理
m を任意の整数、n は n > 0 の整数とする。このとき

    m = qn + r, 0 <= r < n

となる整数 q, r がただ1組存在する。

言語内での除算のふるまいは、ここらへん。
Gaucheのリファレンスマニュアル
ttp://gauche.sourceforge.jp/doc/gauche-refj_49.html#SEC53
R5RS (Revised^5 Report on Algorithmic Language Scheme)
ttp://www.unixuser.org/~euske/doc/r5rs-ja/

370 名前:名無しさん@編集中:2009/02/05(木) 23:11:11 ID:8UQo7HFA
# 表示で改行をさせたいときは \n を行末に加える。
フィボナッチ数
Evaluation("""
Function Fib(int n) {\n
    Assert( (n >= 0), "fib: n should be larger than or equal to 0." )\n
    Return  (n == 0) ? 0\n
     \    : (n == 1) ? 1\n
     \    : (n == 2) ? 1\n
     \    : n.isEven ? int(pow(fib((n/2)+1), 2) - pow(fib((n/2)-1), 2))\n
     \               : fib(n-1) + fib(n-2)\n
}\n\n
Function isEven(int n) { n % 2 == 0 }\n\n
#Findstr("Print(" + Chr(34) + "てすと" + Chr(34) + ")", "てすと")\n\n
Fib(35)
""", y=9)

n が偶数のとき fib(n+2) = fib(n) + fib(n+1) としないと AviSynth がフリーズ
するのでそのように変更。だが、正しい解が求められる最大値は Fib(35)  #}}} */

371 名前:名無しさん@編集中:2009/02/05(木) 23:16:33 ID:8UQo7HFA
<<370
× n が偶数のとき fib(n+2) = fib(n) + fib(n+1)
○ fib(2n) = fib(n+1)^2 - fib(n-1)^2

## 関数: {{{2
Function Evaluation(clip clp, string "block", int "y", int "guifg", string "guifont", int "font_size")
{
    y         = Default(y,         0)
    guifg     = Default(guifg,     $FFFFFF)
    #guifont   = Default(guifont,   "osaka_unicode")  #ttp://osakattf.hp.infoseek.co.jp/
    guifont   = Default(guifont,   "MS_Gothic")
    font_size = Default(font_size, 18)
 
    Global Evaluation_block = block
    Global Evaluation_Count = 0

    While("""Findstr(Evaluation_block, "\n") > 0""",
      \"""
        Global Evaluation_block = DelChr10(Evaluation_block)
        Global Evaluation_Count = Evaluation_Count + 1
      """)

    clp

    Subtitle(string(VersionString), font=guifont, size=font_size, text_color=guifg)

    Subtitle("$ " + string(block), font=guifont, size=font_size,
        \ text_color=guifg, y =font_size*(2+y), lsp=1)
    Subtitle(string(Eval(Evaluation_block)), font=guifont, size=font_size,
        \ text_color=guifg, y =font_size*(3+Evaluation_Count+y))
}

372 名前:名無しさん@編集中:2009/02/05(木) 23:18:03 ID:8UQo7HFA
Function ConsoleClip(int "columns", int "lines", int "font_size", int "guibg", int "length")
{
    columns   = Default(columns,   80)
    lines     = Default(lines,     25)
    font_size = Default(font_size, 18)
    guibg     = Default(guibg,     $000000)
    length    = Default(length,    240)

    BlankClip(length=length, width=font_size*(columns/2), height=font_size*lines, color=guibg)
}

Function DelChr10(string block, string "ffs") {
      ffs = Default(ffs, "\n")
 \    LeftStr(block, Findstr(block, ffs)-1) + MidStr(block, Findstr(block, ffs)+2)
} #}}}
###}}}

373 名前:名無しさん@編集中:2009/02/06(金) 19:12:55 ID:A1bO4z1X
GradFunkMirrorを弄くったら若干軽くなりました

function gradfunkmirror2(clip c,float"strength"){
strength=default(strength,1.2)
c
w=width
h=height
stackhorizontal(addborders(fliphorizontal(crop(0,0,16,h)),0,16,0,16),stackvertical(flipvertical(crop(0,0,w,16)),last,flipvertical(crop(0,h-16,w,16))),addborders(fliphorizontal(crop(w-16,0,16,h)),0,16,0,16))
gradfun2db(strength)
crop(16,16,-16,-16)
}

↑の出来上がりはGradFunkMirrorと同じです、ウチの環境では結構軽くなりました。
↓はGradFunkMirrorとは違う絵になるけど俺環境では↑よりも軽い

function gradfunkmirror3(clip c,float"strength"){
strength=default(strength,1.2)
c
w=width
h=height
stackhorizontal(fliphorizontal(crop(0,0,16,h)),last,fliphorizontal(crop(w-16,0,16,h)))
stackvertical(flipvertical(crop(0,0,w+32,16)),last,flipvertical(crop(0,h-16,w+32,16)))
gradfun2db(strength)
crop(16,16,-16,-16)
}

374 名前:名無しさん@編集中:2009/02/13(金) 16:32:24 ID:ZRCJdxl0
過疎化しているので修正版を上げます(入門者用 GV-MVP/GX2W DGIndex MeGUI HWインタレ AviSynthMT 2.5.7.5)

使い勝手の向上とHWデインタレ(ベクター適応)時のピクつきを改善したと思う(画質や複雑さは求めていませんのであしからず)

Setmtmode(2,0)
Auto="○" Crop="×" Crop_x=704 Crop_y=360 Range=30 BorderX="0" BorderY="0" Test=0 UTimingH=0 VTimingH=0
#-------------------------------------------------
# Auto(自動Crop)Crop(○Crop_x/y ×Source ※Auto時無効)Range(Crop感度)BorderX/Y/Test(額縁)=OFF(0):ON(1) UVTimingH(UV補正)
# ○(有効)×(無効) ※〜XXXms?.avs(?="D"(DVD)/"M"(Movie)/"A"(Anime)/""(None)) Anime & 縦464以下=bandingON BorderX/Y=Source
#-------------------------------------------------
AutoS="○"==Auto CropS="○"==Crop BorderXS="1"==BorderX BorderYS="1"==BorderY
Plugin="C:\Program Files\AviSynth 2.5\plugins+\" Audio_mp2=" Tc0 L2 2ch 48 384" Audio_ac3=" T80 3_2ch 448Kbps"
#-------------------------------------------------
LoadPlugin(Plugin+"mt_masktools-25.dll")
LoadPlugin(Plugin+"DGDecode.dll")
LoadPlugin(Plugin+"autocrop")
LoadPlugin(Plugin+"TComb.dll")
LoadPlugin(Plugin+"gradfun2db.dll")
LoadPlugin(Plugin+"AddGrainC.dll")
LoadPlugin(Plugin+"ColorYUY2_for_25.dll")
LoadPlugin(Plugin+"DeGrainMedian.dll")
LoadPlugin(Plugin+"FFT3dGPU.dll")
LoadPlugin(Plugin+"TemporalCleaner.dll")
LoadPlugin(Plugin+"TBilateral.dll")
LoadPlugin(Plugin+"FluxSmooth.dll")
LoadPlugin(Plugin+"RemoveGrainSSE3.dll")
LoadPlugin(Plugin+"warpsharp.dll")
LoadPlugin(Plugin+"NicAudio.dll")

375 名前:名無しさん@編集中:2009/02/13(金) 16:34:25 ID:ZRCJdxl0
#-------------------------------------------------
Import(Plugin+"myFunctions.avs")
Import(Plugin+"GradFun2DBmod.avsi")
Import(Plugin+"LimitedSharpenFaster.avsi")

376 名前:名無しさん@編集中:2009/02/13(金) 16:34:48 ID:ZRCJdxl0
#-------------------------------------------------
# DGIndex / READ Video_name.d2v Audio_name1.mp2 (Audio_name2.ac3) ※AVS Examples [File-Name DELAY -100msA.avs]
#-------------------------------------------------
Try{assert(false)}Catch(err_msg){err_msg = Midstr(err_msg,Findstr(err_msg,"(") + 1)
script_name = Leftstr(err_msg,strLen(err_msg) - Findstr(Revstr(err_msg),","))}
Video_name = Leftstr(script_name,Findstr(script_name,"DELAY") -2 )
Error_name = Rightstr(Video_name,Findstr(Revstr(Video_name),"\") - 1)
Video = Exist(Video_name+".d2v") ? MPEG2Source(Video_name+".d2v") : Assert(false,+Error_name+".d2v"+" : File not found")
AssumeFrameBased(Video).ComplementParity()
STR_Width=Width(Video)
STR_Height=Height(Video)
STR_Left=(STR_Width-Crop_x)/2
STR_TOP=(STR_Height-Crop_y)/2
mode = Midstr(script_name,Findstr(script_name,"avs") - 2, 1 )
Audio_Delay = Midstr(script_name,Findstr(script_name,"DELAY") + 6 )
Audio_Delay = Leftstr(Audio_Delay,Findstr(Audio_Delay,"ms") - 1 )
Audio_name1 = Video_name+Audio_mp2+" DELAY "+Audio_Delay+"ms"
Audio_name2 = Video_name+Audio_ac3+" DELAY "+Audio_Delay+"ms"
mode=="D" ? Exist(Audio_name2+".ac3") ? nop() : Assert(false,+ Error_name+Audio_ac3+" DELAY "+Audio_Delay+"ms.ac3"+" : File not found") : nop()
mode!="D" ? Exist(Audio_name1+".mp2") ? nop() : Assert(false,+ Error_name+Audio_mp2+" DELAY "+Audio_Delay+"ms.mp2"+" : File not found") : nop()
mode=="D" ? AudioDub(Video,NicAC3Source(Audio_name2+".ac3",2)) : AudioDub(Video,NicMPG123Source(Audio_name1+".mp2"))

377 名前:名無しさん@編集中:2009/02/13(金) 16:35:29 ID:ZRCJdxl0
#-------------------------------------------------
(mode=="A" || mode=="M") ? UVTimingH(UTimingH,VTimingH,false).TComb() : nop()
AutoS ? autocrop(mode=Test,wmultof=16,hmultof=8,samples=20,aspect=0,threshold=Range) : CropS ? crop(STR_Left,STR_TOP,Crop_x,Crop_y) : nop()
mode=="D" ? Filter_DVD(Test) : mode=="M" ? Filter_Movie(Test) : mode=="A" ? Filter_Anime(Test) : nop()
#-------------------------------------------------
BorderXS ? AddBorders((STR_Width - Width()) / 2, 0 ,(STR_Width - Width()) / 2, 0 ,$000000) : nop()
BorderYS ? AddBorders(0, (STR_Height - Height()) / 2, 0 ,(STR_Height - Height()) / 2,$000000) : nop()
return last

378 名前:名無しさん@編集中:2009/02/13(金) 16:36:05 ID:ZRCJdxl0
#----------------------実写-----------------------
function Filter_Movie(clip clip, Test)
{
clip= Test==1 ? subtitle(clip,"Movie",x=20,y=20) : clip
Setmtmode(2)
clip=clip.ColorYUY2(off_y=-1,off_u=0,off_v=0,cont_y=0,cont_u=0,cont_v=0,gamma_y=3,opt="1-254",matrix="rec601s",debug=0,interlaced=true)
clip=clip.FrameCache(9).DeGrainMedian(2,3,1,interlaced=true)
Setmtmode(5)
clip=clip.FrameCache(9).fft3dGPU(sigma=1.8,plane=4,bw=4,bh=2,ow=2,oh=1,bt=4,mode=1,wintype=2,interlaced=true,sharpen=1.5,svr=0.5)
return clip
}

379 名前:名無しさん@編集中:2009/02/13(金) 16:36:37 ID:ZRCJdxl0
#---------------------アニメ----------------------
function Filter_Anime(clip clip, Test)
{
clip= Test==1 ? subtitle(clip,"Anime",x=20,y=20) : clip
Setmtmode(2)
clip= Height(clip)<464 ? GradFun2DBmod(clip,thr=1.2,mode=2,chroma=false,str=0.8,temp=50,adapt=64,radius=2,range=2,show=false) : clip
offy= Height(clip)<464 ? 0 : -1
clip=clip.ColorYUY2(off_y=offy,off_u=0,off_v=0,cont_y=15,cont_u=0,cont_v=0,gamma_y=0,opt="1-254",matrix="rec601s",debug=0,interlaced=true)
clip= Height(clip)<464 ? Tweak(clip,0.0, 1.1, 0.0, 1.0, false) : Tweak(clip,0.0, 1.2, 0.0, 1.0, false)
Setmtmode(1)
clip=clip.FrameCache(9).iFilterT("TBilateral(diameterL=9,diameterC=5,sDevL=1.8,sDevC=7.0,iDevL=1.8,iDevC=7.0,kernS=2,kernI=2,gui=false)")
Setmtmode(5)
clip=clip.FrameCache(9).fft3dGPU(sigma=2.0,plane=3,bw=4,bh=2,ow=2,oh=1,bt=4,mode=1,wintype=0,interlaced=true,svr=0)
Setmtmode(2)
clip=clip.FrameCache(9).TemporalCleaner(3,0)
clip=clip.iFilterB("FluxSmoothT(6).LimitedSharpenFaster(ss_x=1.15,ss_y=1.15,Smode=4,strength=150,soft=-1,edgemode=1).WarpSharp(64,3,96)")
return clip
}

380 名前:名無しさん@編集中:2009/02/13(金) 17:04:26 ID:ZRCJdxl0
#---------------------DVD----------------------
function Filter_DVD(clip clip, Test)
{
clip= Test==1 ? subtitle(clip,"DVD",x=20,y=20) : clip
Setmtmode(5)
clip=clip.FrameCache(9).fft3dGPU(sigma=1.8,beta=1,plane=4,bw=4,bh=2,ow=2,oh=1,bt=4,mode=1,wintype=2,interlaced=true,svr=0)
return clip
}


381 名前:名無しさん@編集中:2009/02/15(日) 17:17:02 ID:mDW/Tdfx
>>374 たびたびすいません SetmtmodeをNicAC3Sourceで使用すると強制的に2CH(DownMix)しないと記憶保護例外で落ちてしまうので簡易修正しました

Setmtmode(2,0) # マルチチャンネル(AC3)を使用する場合は左記の「#Setmtmode(2,0)」をコメントアウトし「AC3_DownMix="×"」してから使用にする
Auto="○" Crop="×" Crop_x=704 Crop_y=360 BorderX="0" BorderY="0" Test=0 Range=30 UTimingH=0 VTimingH=0 AC3_DownMix="○"
#-------------------------------------------------
# Auto(自動Crop)Crop(○Crop_x/y ×Source ※Auto時無効)BorderX/Y/Test(額縁)=OFF(0):ON(1) Range(Crop感度)UVTimingH(UV補正)
# ○(有効)×(無効) [File-Name DELAY -100ms?.avs] 「?」= ("D"(DVD)/"M"(Movie)/"A"(Anime)/""(None)) ※BorderX/Y=Source
#-------------------------------------------------
AutoS="○"==Auto CropS="○"==Crop BorderXS="1"==BorderX BorderYS="1"==BorderY AC3_DownMixS="○"==AC3_DownMix
Plugin="C:\Program Files\AviSynth 2.5\plugins+\" Audio_mp2=" Tc0 L2 2ch 48 384" Audio_ac3=" T80 3_2ch 448Kbps"
#-------------------------------------------------
LoadPlugin(Plugin+"mt_masktools-25.dll")
LoadPlugin(Plugin+"DGDecode.dll")
LoadPlugin(Plugin+"autocrop")
LoadPlugin(Plugin+"TComb.dll")
LoadPlugin(Plugin+"gradfun2db.dll")
LoadPlugin(Plugin+"AddGrainC.dll")
LoadPlugin(Plugin+"ColorYUY2_for_25.dll")
LoadPlugin(Plugin+"DeGrainMedian.dll")
LoadPlugin(Plugin+"FFT3dGPU.dll")
LoadPlugin(Plugin+"TemporalCleaner.dll")
LoadPlugin(Plugin+"TBilateral.dll")
LoadPlugin(Plugin+"FluxSmooth.dll")
LoadPlugin(Plugin+"RemoveGrainSSE3.dll")
LoadPlugin(Plugin+"warpsharp.dll")
LoadPlugin(Plugin+"NicAudio.dll")


382 名前:名無しさん@編集中:2009/02/15(日) 17:17:54 ID:mDW/Tdfx
#-------------------------------------------------
Import(Plugin+"myFunctions.avs")
Import(Plugin+"GradFun2DBmod.avsi")
Import(Plugin+"LimitedSharpenFaster.avsi")
#-------------------------------------------------
# DGIndex / READ Video_name.d2v Audio_name1.mp2 (Audio_name2.ac3) ※AVS Examples [File-Name DELAY -100msA.avs]
#-------------------------------------------------
Try{assert(false)}Catch(err_msg){err_msg = Midstr(err_msg,Findstr(err_msg,"(") + 1)
script_name = Leftstr(err_msg,strLen(err_msg) - Findstr(Revstr(err_msg),","))}
Video_name = Leftstr(script_name,Findstr(script_name,"DELAY") -2 )
Error_name = Rightstr(Video_name,Findstr(Revstr(Video_name),"\") - 1)
Video = Exist(Video_name+".d2v") ? MPEG2Source(Video_name+".d2v") : Assert(false,+Error_name+".d2v"+" : File not found")
AssumeFrameBased(Video).ComplementParity()
st_width=Width(Video)
st_height=Height(Video)
st_left=(st_width-Crop_x)/2
st_top=(st_height-Crop_y)/2
st_ch = AC3_DownMixS ? 2 : 6
mode = Midstr(script_name,Findstr(script_name,"avs") - 2, 1 )
Audio_Delay = Midstr(script_name,Findstr(script_name,"DELAY") + 6 )
Audio_Delay = Leftstr(Audio_Delay,Findstr(Audio_Delay,"ms") - 1 )
Audio_name1 = Video_name+Audio_mp2+" DELAY "+Audio_Delay+"ms"
Audio_name2 = Video_name+Audio_ac3+" DELAY "+Audio_Delay+"ms"
mode=="D" ? Exist(Audio_name2+".ac3") ? nop() : Assert(false,+ Error_name+Audio_ac3+" DELAY "+Audio_Delay+"ms.ac3"+" : File not found") : nop()
mode!="D" ? Exist(Audio_name1+".mp2") ? nop() : Assert(false,+ Error_name+Audio_mp2+" DELAY "+Audio_Delay+"ms.mp2"+" : File not found") : nop()


383 名前:名無しさん@編集中:2009/02/15(日) 17:18:31 ID:mDW/Tdfx
#
# [NicAC3Source]で[Setmtmode]を使用する場合は強制的に2チャンネルにするか[Setmtmode]の影響を受けないようしなければ記憶保護例外でアベンドする
#
mode=="D" ? AudioDub(Video,Effect_AC3(NicAC3Source(Audio_name2+".ac3",st_ch))) : AudioDub(Video,NicMPG123Source(Audio_name1+".mp2"))
#-------------------------------------------------
(mode=="A" || mode=="M") ? UVTimingH(UTimingH,VTimingH,false).TComb() : nop()
AutoS ? autocrop(mode=Test,wmultof=16,hmultof=8,samples=20,aspect=0,threshold=Range) : CropS ? crop(st_left,st_top,Crop_x,Crop_y) : nop()
Width_S= Height()<464 ? true : false
mode=="D" ? Filter_DVD(Test) : mode=="M" ? Filter_Movie(Test) : mode=="A" ? Filter_Anime(Test,Width_S) : nop()
#-------------------------------------------------
BorderXS ? AddBorders((st_width - Width()) / 2, 0 ,(st_width - Width()) / 2, 0 ,$000000) : nop()
BorderYS ? AddBorders(0, (st_height - Height()) / 2, 0 ,(st_height - Height()) / 2,$000000) : nop()
return last


384 名前:名無しさん@編集中:2009/02/15(日) 17:18:52 ID:mDW/Tdfx
#-------------------Effect_AC3-------------------
function Effect_AC3(Audio)
{
org_ch=Audiochannels(Audio)
F_L= org_ch>=1 ? GetChannel(Audio,1).Normalize().AmplifydB(8.80) : nop()
F_C= org_ch>=2 ? GetChannel(Audio,2).Normalize().AmplifydB(8.80) : nop()
F_R= org_ch>=3 ? GetChannel(Audio,3).Normalize().AmplifydB(8.80) : nop()
S_L= org_ch>=4 ? GetChannel(Audio,4).Normalize().AmplifydB(8.80) : nop()
S_R= org_ch>=5 ? GetChannel(Audio,5).Normalize().AmplifydB(8.80) : nop()
LFE= org_ch>=6 ? GetChannel(Audio,6).Normalize().AmplifydB(8.80) : nop()
org_ch==1 ? MergeChannels(F_L) : nop()
org_ch==2 ? MergeChannels(F_L,F_C) : nop()
org_ch==3 ? MergeChannels(F_L,F_C,F_R) : nop()
org_ch==4 ? MergeChannels(F_L,F_C,F_R,S_L) : nop()
org_ch==5 ? MergeChannels(F_L,F_C,F_R,S_L,S_R) : nop()
org_ch==6 ? MergeChannels(F_L,F_C,F_R,S_L,S_R,LFE) : nop()
return last
}


385 名前:名無しさん@編集中:2009/02/15(日) 17:19:34 ID:mDW/Tdfx
#----------------------実写-----------------------
function Filter_Movie(clip clip, int "Test")
{
clip= Test==1 ? subtitle(clip,"Movie",x=650,y=20) : clip
Setmtmode(2)
clip=clip.ColorYUY2(off_y=-1,off_u=0,off_v=0,cont_y=0,cont_u=0,cont_v=0,gamma_y=3,opt="1-254",matrix="rec601s",debug=0,interlaced=true)
clip=clip.FrameCache(9).DeGrainMedian(2,3,1,interlaced=true)
Setmtmode(5)
clip=clip.FrameCache(9).fft3dGPU(sigma=1.8,plane=4,bw=4,bh=2,ow=2,oh=1,bt=4,mode=1,wintype=2,interlaced=true,sharpen=1.5,svr=0.5)
return clip
}


386 名前:名無しさん@編集中:2009/02/15(日) 17:20:05 ID:mDW/Tdfx
#---------------------アニメ----------------------
function Filter_Anime(clip clip, int "Test", bool "Width_S")
{
clip= Test==1 ? subtitle(clip,"Anime",x=650,y=20) : clip
Setmtmode(2)
clip= Width_S ? GradFun2DBmod(clip,thr=1.2,mode=2,chroma=false,str=0.8,temp=50,adapt=64,radius=2,range=2,show=false) : clip
offy= Width_S ? 0 : -1
clip=clip.ColorYUY2(off_y=offy,off_u=0,off_v=0,cont_y=15,cont_u=0,cont_v=0,gamma_y=0,opt="1-254",matrix="rec601s",debug=0,interlaced=true)
clip= Width_S ? Tweak(clip,0.0, 1.1, 0.0, 1.0, false) : Tweak(clip,0.0, 1.2, 0.0, 1.0, false)
Setmtmode(1)
clip=clip.FrameCache(9).iFilterT("TBilateral(diameterL=9,diameterC=5,sDevL=1.8,sDevC=7.0,iDevL=1.8,iDevC=7.0,kernS=2,kernI=2,gui=false)")
Setmtmode(5)
clip=clip.FrameCache(9).fft3dGPU(sigma=2.0,plane=3,bw=4,bh=2,ow=2,oh=1,bt=4,mode=1,wintype=0,interlaced=true,svr=0)
Setmtmode(2)
clip=clip.FrameCache(9).TemporalCleaner(3,0)
clip=clip.iFilterB("FluxSmoothT(6).LimitedSharpenFaster(ss_x=1.15,ss_y=1.15,Smode=4,strength=150,soft=-1,edgemode=1).WarpSharp(64,3,96)")
return clip
}


387 名前:名無しさん@編集中:2009/02/15(日) 17:20:37 ID:mDW/Tdfx
#---------------------DVD----------------------
function Filter_DVD(clip clip, int "Test")
{
clip= Test==1 ? subtitle(clip,"DVD",x=650,y=20) : clip
Setmtmode(5)
clip=clip.FrameCache(9).fft3dGPU(sigma=1.8,beta=1,plane=4,bw=4,bh=2,ow=2,oh=1,bt=4,mode=1,wintype=2,interlaced=true,svr=0)
return clip
}


388 名前:名無しさん@編集中:2009/02/15(日) 18:12:28 ID:mDW/Tdfx
>>381 追伸 入門者の方へ  最新の「AviSynth 2.5.8.5」にして[Setmtmode]を削除すれば問題は発生しません(NicAC3SourceのCH指定は不要) MeGUI用


389 名前:名無しさん@編集中:2009/02/17(火) 15:00:04 ID:Tw94RpEj
メモ替わりにして申し訳ないが最後に整理したので入門者の方が参考にしてくだされば幸いです(画質、難易度は除外)
(入門者用 GV-MVP/GX2W DGIndex MeGUI HWインタレ AviSynthMT 2.5.7.5 ※setmtmodeを外せばAviSynth 2.5.8.5可)
例 DGIndexで作成  バトルスターギャラクティカ.d2v バトルスターギャラクティカ Tc0 L2 2ch 48 384 DELAY 0ms.mp2
  scriptに登録(avs)  " Tc0 L2 2ch 48 384"
  script名を作成(avs) バトルスターギャラクティカ+" DELAY 0ms"+"M"+.avs
  MeGUI(Video,Audio)  バトルスターギャラクティカ DELAY 0msM.avs



Setmtmode(2,0) # マルチチャンネル(AC3)を使用する場合は左記の「#Setmtmode(2,0)」をコメントアウトし「AC3_DownMix="×"」してから使用にする
Auto="○" Crop="○" Crop_X=704 Crop_Y=480 BorderX="0" BorderY="0" Test=0 Range=30 UTimingH=0 VTimingH=0 AC3_DownMix="○"
#-------------------------------------------------
# Auto(自動Crop)Crop(○Crop_X/Y ×Source ※Auto時無効)BorderX/Y/Test(額縁)=OFF(0):ON(1) Range(Crop感度)UVTimingH(UV補正)
# ○(有効)×(無効) ※AVS Examples [File-Name DELAY -100ms?.avs]「?」= ("D"(DVD)/"M"(Movie)/"A"(Anime)/""(None)) (BorderX/Y=Source)
#-------------------------------------------------
AutoS="○"==Auto CropS="○"==Crop BorderXS="1"==BorderX BorderYS="1"==BorderY AC3_DownMixS="○"==AC3_DownMix
global Plugin="C:\Program Files\AviSynth 2.5\plugins+\" global Audio_mp2=" Tc0 L2 2ch 48 384" global Audio_ac3=" T80 3_2ch 448Kbps"


390 名前:名無しさん@編集中:2009/02/17(火) 15:00:32 ID:Tw94RpEj
#-------------------------------------------------
LoadPlugin(Plugin+"mt_masktools-25.dll")
LoadPlugin(Plugin+"DGDecode.dll")
LoadPlugin(Plugin+"autocrop")
LoadPlugin(Plugin+"TComb.dll")
LoadPlugin(Plugin+"gradfun2db.dll")
LoadPlugin(Plugin+"AddGrainC.dll")
LoadPlugin(Plugin+"ColorYUY2_for_25.dll")
LoadPlugin(Plugin+"DeGrainMedian.dll")
LoadPlugin(Plugin+"FFT3dGPU.dll")
LoadPlugin(Plugin+"TemporalCleaner.dll")
LoadPlugin(Plugin+"TBilateral.dll")
LoadPlugin(Plugin+"FluxSmooth.dll")
LoadPlugin(Plugin+"RemoveGrainSSE3.dll")
LoadPlugin(Plugin+"warpsharp.dll")
LoadPlugin(Plugin+"NicAudio.dll")
#-------------------------------------------------
Import(Plugin+"myFunctions.avs")
Import(Plugin+"GradFun2DBmod.avsi")
Import(Plugin+"LimitedSharpenFaster.avsi")

391 名前:名無しさん@編集中:2009/02/17(火) 15:00:58 ID:Tw94RpEj
#-------------------------------------------------
# MAIN
#----(READ)---------------------------------------
script_path=Script_Get()
mode = Mode_Get(script_path)
AV_Get(mode,script_path,AC3_DownMixS)
AssumeFrameBased().ComplementParity()
#----(Constant_set)-------------------------------
st_width=width()
st_height=Height()
st_left=(st_width-Crop_X)/2
st_top=(st_height-Crop_Y)/2
#----(NTSC_Filter)--------------------------------
(mode=="A" || mode=="M") ? UVTimingH(UTimingH,VTimingH,false).TComb() : nop()
#----(Crop)---------------------------------------
AutoS ? autocrop(mode=Test,wmultof=16,hmultof=8,samples=20,aspect=0,threshold=Range) : CropS ? crop(st_left,st_top,Crop_X,Crop_Y) : nop()
#----(Main_Filter)--------------------------------
mode=="D" ? Filter_DVD(Test) : mode=="M" ? Filter_Movie(Test) : mode=="A" ? Filter_Anime(Test) : nop()
#----(Border)-------------------------------------
BorderXS ? AddBorders((st_width-Width())/2,0,(st_width-Width())/2,0,$000000) : nop()
BorderYS ? AddBorders(0,(st_height-Height())/2,0,(st_height-Height())/2,$000000) : nop()
return last
#-------------------------------------------------
# END
#-------------------------------------------------

392 名前:名無しさん@編集中:2009/02/17(火) 15:01:38 ID:Tw94RpEj
#--------------------Script_Get-------------------
function Script_Get()
{
Try{assert(false)}Catch(err_msg){err_msg = Midstr(err_msg,Findstr(err_msg,"(") + 1)
script_path = Leftstr(err_msg,strLen(err_msg) - Findstr(Revstr(err_msg),","))}
return script_path
}
#---------------------Mode_Get--------------------
function Mode_Get(string "script_path")
{
mode = Midstr(script_path,Findstr(script_path,"avs") - 2, 1 )
return mode
}
#-------------------------------------------------
# DGIndex / READ Video_File.d2v Audio_File.mp2(ac3)
#-------------------------------------------------
#----------------------AV_Get---------------------
function AV_Get(string "mode", string "script_path", bool "AC3_DownMixS")
{
Video_path = Leftstr(script_path,Findstr(script_path,"DELAY") -2 )
Error_name = Rightstr(script_path,Findstr(Revstr(script_path),"\") - 1)
Video = Exist(Video_path+".d2v") ? MPEG2Source(Video_path+".d2v") : Assert(false,+Error_name+".d2v"+" : File not found")
Audio_Delay = Midstr(script_path,Findstr(script_path,"DELAY") + 6 )
Audio_Delay = Leftstr(Audio_Delay,Findstr(Audio_Delay,"ms") - 1 )
Audio_option = mode!="D" ? Audio_mp2+" DELAY "+Audio_Delay+"ms.mp2" : Audio_ac3+" DELAY "+Audio_Delay+"ms.ac3"
Exist(Video_path+Audio_option) ? nop() : Assert(false,+ Error_name+Audio_option+" : File not found")
st_ch = AC3_DownMixS ? 2 : 6
mode=="D" ? AudioDub(Video,Effect_AC3(NicAC3Source(Video_path+Audio_option,st_ch))) : AudioDub(Video,NicMPG123Source(Video_path+Audio_option))
return last
}

393 名前:名無しさん@編集中:2009/02/17(火) 15:02:16 ID:Tw94RpEj
#--------------------Effect_AC3------------------
function Effect_AC3(Audio)
{
org_ch=Audiochannels(Audio)
F_L= org_ch>=1 ? GetChannel(Audio,1).Normalize().AmplifydB(8.80) : nop()
F_C= org_ch>=2 ? GetChannel(Audio,2).Normalize().AmplifydB(8.80) : nop()
F_R= org_ch>=3 ? GetChannel(Audio,3).Normalize().AmplifydB(8.80) : nop()
S_L= org_ch>=4 ? GetChannel(Audio,4).Normalize().AmplifydB(8.80) : nop()
S_R= org_ch>=5 ? GetChannel(Audio,5).Normalize().AmplifydB(8.80) : nop()
LFE= org_ch>=6 ? GetChannel(Audio,6).Normalize().AmplifydB(8.80) : nop()
org_ch==1 ? MergeChannels(F_L) : nop()
org_ch==2 ? MergeChannels(F_L,F_C) : nop()
org_ch==3 ? MergeChannels(F_L,F_C,F_R) : nop()
org_ch==4 ? MergeChannels(F_L,F_C,F_R,S_L) : nop()
org_ch==5 ? MergeChannels(F_L,F_C,F_R,S_L,S_R) : nop()
org_ch==6 ? MergeChannels(F_L,F_C,F_R,S_L,S_R,LFE) : nop()
return last
}
#-------------------Filter_Movie------------------
function Filter_Movie(clip clip, int "Test")
{
clip= Test==1 ? subtitle(clip,"Movie",x=650,y=20) : clip
Setmtmode(2)
clip=clip.ColorYUY2(off_y=-1,off_u=0,off_v=0,cont_y=0,cont_u=0,cont_v=0,gamma_y=3,opt="1-254",matrix="rec601s",debug=0,interlaced=true)
clip=clip.FrameCache(9).DeGrainMedian(2,3,1,interlaced=true)
Setmtmode(5)
clip=clip.FrameCache(9).fft3dGPU(sigma=1.8,plane=4,bw=4,bh=2,ow=2,oh=1,bt=4,mode=1,wintype=2,interlaced=true,sharpen=1.5,svr=0.5)
return clip
}


394 名前:名無しさん@編集中:2009/02/17(火) 15:02:40 ID:Tw94RpEj
#-------------------Filter_Anime------------------
function Filter_Anime(clip clip, int "Test")
{
clip= Test==1 ? subtitle(clip,"Anime",x=650,y=20) : clip
Width_S= Height(clip)<464 ? true : false
Setmtmode(2)
clip=Width_S ? GradFun2DBmod(clip,thr=1.2,mode=2,chroma=false,str=0.8,temp=50,adapt=64,radius=2,range=2,show=false) : clip
offy=Width_S ? 0 : -1
clip=clip.ColorYUY2(off_y=offy,off_u=0,off_v=0,cont_y=15,cont_u=0,cont_v=0,gamma_y=0,opt="1-254",matrix="rec601s",debug=0,interlaced=true)
clip=Width_S ? Tweak(clip,0.0, 1.1, 0.0, 1.0, false) : Tweak(clip,0.0, 1.2, 0.0, 1.0, false)
Setmtmode(1)
clip=clip.FrameCache(9).iFilterT("TBilateral(diameterL=9,diameterC=5,sDevL=1.8,sDevC=7.0,iDevL=1.8,iDevC=7.0,kernS=2,kernI=2,gui=false)")
Setmtmode(5)
clip=clip.FrameCache(9).fft3dGPU(sigma=2.0,plane=3,bw=4,bh=2,ow=2,oh=1,bt=4,mode=1,wintype=0,interlaced=true,svr=0)
Setmtmode(2)
clip=clip.FrameCache(9).TemporalCleaner(3,0)
clip=clip.iFilterB("FluxSmoothT(6).LimitedSharpenFaster(ss_x=1.15,ss_y=1.15,Smode=4,strength=150,soft=-1,edgemode=1).WarpSharp(64,3,96)")
return clip
}
#-------------------Filter_DVD--------------------
function Filter_DVD(clip clip, int "Test")
{
clip= Test==1 ? subtitle(clip,"DVD",x=650,y=20) : clip
Setmtmode(5)
clip=clip.FrameCache(9).fft3dGPU(sigma=1.8,beta=1,plane=4,bw=4,bh=2,ow=2,oh=1,bt=4,mode=1,wintype=2,interlaced=true,svr=0)
return clip
}


395 名前:名無しさん@編集中:2009/02/18(水) 17:39:35 ID:xWYeZh6e
.

396 名前:名無しさん@編集中:2009/02/18(水) 17:39:35 ID:xWYeZh6e
.

397 名前:名無しさん@編集中:2009/02/18(水) 17:39:36 ID:xWYeZh6e
.

398 名前:名無しさん@編集中:2009/02/18(水) 17:39:36 ID:xWYeZh6e
.

399 名前:名無しさん@編集中:2009/02/18(水) 17:39:37 ID:xWYeZh6e
.

400 名前:名無しさん@編集中:2009/02/18(水) 17:39:38 ID:xWYeZh6e
.

401 名前:名無しさん@編集中:2009/02/18(水) 17:39:42 ID:xWYeZh6e
.

402 名前:名無しさん@編集中:2009/02/18(水) 17:39:58 ID:xWYeZh6e
.

403 名前:名無しさん@編集中:2009/02/18(水) 17:39:59 ID:xWYeZh6e
.

404 名前:名無しさん@編集中:2009/02/18(水) 18:02:44 ID:mJiTBtm4
なんか板全体が荒らされてるみたいね
とりあえずDAT落ちしないようage

405 名前:名無しさん@編集中:2009/02/18(水) 18:51:39 ID:xWYeZh6e
.

406 名前:名無しさん@編集中:2009/02/18(水) 18:51:39 ID:xWYeZh6e
.

407 名前:名無しさん@編集中:2009/02/18(水) 18:51:39 ID:xWYeZh6e
.

408 名前:名無しさん@編集中:2009/02/18(水) 18:51:40 ID:xWYeZh6e
.

409 名前:名無しさん@編集中:2009/02/18(水) 18:51:40 ID:xWYeZh6e
.

410 名前:名無しさん@編集中:2009/02/18(水) 18:51:40 ID:xWYeZh6e
.

411 名前:名無しさん@編集中:2009/02/18(水) 18:51:40 ID:xWYeZh6e
.

412 名前:名無しさん@編集中:2009/02/18(水) 18:51:40 ID:xWYeZh6e
.

413 名前:名無しさん@編集中:2009/02/18(水) 18:51:40 ID:xWYeZh6e
.

414 名前:名無しさん@編集中:2009/02/18(水) 18:51:40 ID:xWYeZh6e
.

415 名前:名無しさん@編集中:2009/02/18(水) 18:51:40 ID:xWYeZh6e
.

416 名前:名無しさん@編集中:2009/02/18(水) 18:51:40 ID:xWYeZh6e
.

417 名前:名無しさん@編集中:2009/02/18(水) 18:51:40 ID:xWYeZh6e
.

418 名前:名無しさん@編集中:2009/02/18(水) 18:51:40 ID:xWYeZh6e
.

419 名前:名無しさん@編集中:2009/02/18(水) 18:51:40 ID:xWYeZh6e
.

420 名前:名無しさん@編集中:2009/02/18(水) 18:51:40 ID:xWYeZh6e
.

421 名前:名無しさん@編集中:2009/02/18(水) 18:51:41 ID:xWYeZh6e
.

422 名前:名無しさん@編集中:2009/02/18(水) 18:51:40 ID:xWYeZh6e
.

423 名前:名無しさん@編集中:2009/02/18(水) 18:51:40 ID:xWYeZh6e
.

424 名前:名無しさん@編集中:2009/02/18(水) 18:51:41 ID:xWYeZh6e
.

425 名前:名無しさん@編集中:2009/02/18(水) 18:51:41 ID:xWYeZh6e
.

426 名前:名無しさん@編集中:2009/02/18(水) 18:51:41 ID:xWYeZh6e
.

427 名前:名無しさん@編集中:2009/02/18(水) 18:51:41 ID:xWYeZh6e
.

428 名前:名無しさん@編集中:2009/02/18(水) 18:51:41 ID:xWYeZh6e
.

429 名前:名無しさん@編集中:2009/02/18(水) 18:51:41 ID:xWYeZh6e
.

430 名前:名無しさん@編集中:2009/02/18(水) 18:51:40 ID:xWYeZh6e
.

431 名前:名無しさん@編集中:2009/02/18(水) 18:51:41 ID:xWYeZh6e
.

432 名前:名無しさん@編集中:2009/02/18(水) 18:51:41 ID:xWYeZh6e
.

433 名前:名無しさん@編集中:2009/02/18(水) 18:51:42 ID:xWYeZh6e
.

434 名前:名無しさん@編集中:2009/02/18(水) 18:51:42 ID:xWYeZh6e
.

435 名前:名無しさん@編集中:2009/02/18(水) 18:51:42 ID:xWYeZh6e
.

436 名前:名無しさん@編集中:2009/02/18(水) 18:51:42 ID:xWYeZh6e
.

437 名前:名無しさん@編集中:2009/02/18(水) 18:51:43 ID:xWYeZh6e
.

438 名前:名無しさん@編集中:2009/02/18(水) 18:51:43 ID:xWYeZh6e
.

439 名前:名無しさん@編集中:2009/02/18(水) 18:51:43 ID:xWYeZh6e
.

440 名前:名無しさん@編集中:2009/02/18(水) 18:51:43 ID:xWYeZh6e
.

441 名前:名無しさん@編集中:2009/02/18(水) 18:51:43 ID:xWYeZh6e
.

442 名前:名無しさん@編集中:2009/02/18(水) 18:51:43 ID:xWYeZh6e
.

443 名前:名無しさん@編集中:2009/02/18(水) 18:51:43 ID:xWYeZh6e
.

444 名前:名無しさん@編集中:2009/02/18(水) 18:51:44 ID:xWYeZh6e
.

445 名前:名無しさん@編集中:2009/02/18(水) 18:51:44 ID:xWYeZh6e
.

446 名前:名無しさん@編集中:2009/02/18(水) 18:51:44 ID:xWYeZh6e
.

447 名前:名無しさん@編集中:2009/02/18(水) 18:51:44 ID:xWYeZh6e
.

448 名前:名無しさん@編集中:2009/02/18(水) 18:51:44 ID:xWYeZh6e
.

449 名前:名無しさん@編集中:2009/02/18(水) 18:51:44 ID:xWYeZh6e
.

450 名前:名無しさん@編集中:2009/02/18(水) 18:51:44 ID:xWYeZh6e
.

451 名前:名無しさん@編集中:2009/02/18(水) 18:51:45 ID:xWYeZh6e
.

452 名前:名無しさん@編集中:2009/02/18(水) 18:51:45 ID:xWYeZh6e
.

453 名前:名無しさん@編集中:2009/02/18(水) 18:51:46 ID:xWYeZh6e
.

454 名前:名無しさん@編集中:2009/02/18(水) 18:51:46 ID:xWYeZh6e
.

455 名前:名無しさん@編集中:2009/02/18(水) 18:51:47 ID:xWYeZh6e
.

456 名前:名無しさん@編集中:2009/02/18(水) 18:51:47 ID:xWYeZh6e
.

457 名前:名無しさん@編集中:2009/02/18(水) 18:51:47 ID:xWYeZh6e
.

458 名前:名無しさん@編集中:2009/02/18(水) 18:51:48 ID:xWYeZh6e
.

459 名前:名無しさん@編集中:2009/02/18(水) 18:51:48 ID:xWYeZh6e
.

460 名前:名無しさん@編集中:2009/02/18(水) 18:51:49 ID:xWYeZh6e
.

461 名前:名無しさん@編集中:2009/02/18(水) 18:51:49 ID:xWYeZh6e
.

462 名前:名無しさん@編集中:2009/02/18(水) 18:51:50 ID:xWYeZh6e
.

463 名前:名無しさん@編集中:2009/02/18(水) 18:51:50 ID:xWYeZh6e
.

464 名前:名無しさん@編集中:2009/02/18(水) 18:51:50 ID:xWYeZh6e
.

465 名前:名無しさん@編集中:2009/02/18(水) 18:51:50 ID:xWYeZh6e
.

466 名前:名無しさん@編集中:2009/02/18(水) 18:51:50 ID:xWYeZh6e
.

467 名前:名無しさん@編集中:2009/02/18(水) 18:51:51 ID:xWYeZh6e
.

468 名前:名無しさん@編集中:2009/02/18(水) 18:51:50 ID:xWYeZh6e
.

469 名前:名無しさん@編集中:2009/02/18(水) 18:51:51 ID:xWYeZh6e
.

470 名前:名無しさん@編集中:2009/02/18(水) 18:51:51 ID:xWYeZh6e
.

471 名前:名無しさん@編集中:2009/02/18(水) 18:51:51 ID:xWYeZh6e
.

472 名前:名無しさん@編集中:2009/02/18(水) 18:51:51 ID:xWYeZh6e
.

473 名前:名無しさん@編集中:2009/02/18(水) 18:51:51 ID:xWYeZh6e
.

474 名前:名無しさん@編集中:2009/02/18(水) 18:51:51 ID:xWYeZh6e
.

475 名前:名無しさん@編集中:2009/02/18(水) 18:51:51 ID:xWYeZh6e
.

476 名前:名無しさん@編集中:2009/02/18(水) 18:51:51 ID:xWYeZh6e
.

477 名前:名無しさん@編集中:2009/02/18(水) 18:51:51 ID:xWYeZh6e
.

478 名前:名無しさん@編集中:2009/02/18(水) 18:51:51 ID:xWYeZh6e
.

479 名前:名無しさん@編集中:2009/02/18(水) 18:51:51 ID:xWYeZh6e
.

480 名前:名無しさん@編集中:2009/02/18(水) 18:51:51 ID:xWYeZh6e
.

481 名前:名無しさん@編集中:2009/02/18(水) 18:51:51 ID:xWYeZh6e
.

482 名前:名無しさん@編集中:2009/02/18(水) 18:51:51 ID:xWYeZh6e
.

483 名前:名無しさん@編集中:2009/02/18(水) 18:51:51 ID:xWYeZh6e
.

484 名前:名無しさん@編集中:2009/02/18(水) 18:51:51 ID:xWYeZh6e
.

485 名前:名無しさん@編集中:2009/02/18(水) 18:51:51 ID:xWYeZh6e
.

486 名前:名無しさん@編集中:2009/02/18(水) 18:51:52 ID:xWYeZh6e
.

487 名前:名無しさん@編集中:2009/02/18(水) 18:51:52 ID:xWYeZh6e
.

488 名前:名無しさん@編集中:2009/02/18(水) 18:51:52 ID:xWYeZh6e
.

489 名前:名無しさん@編集中:2009/02/18(水) 18:51:52 ID:xWYeZh6e
.

490 名前:名無しさん@編集中:2009/02/18(水) 18:51:52 ID:xWYeZh6e
.

491 名前:名無しさん@編集中:2009/02/18(水) 18:51:52 ID:xWYeZh6e
.

492 名前:名無しさん@編集中:2009/02/18(水) 18:51:53 ID:xWYeZh6e
.

493 名前:名無しさん@編集中:2009/02/18(水) 18:51:53 ID:xWYeZh6e
.

494 名前:名無しさん@編集中:2009/02/18(水) 18:51:53 ID:xWYeZh6e
.

495 名前:名無しさん@編集中:2009/02/18(水) 18:51:54 ID:xWYeZh6e
.

496 名前:名無しさん@編集中:2009/02/18(水) 18:51:54 ID:xWYeZh6e
.

497 名前:名無しさん@編集中:2009/02/18(水) 18:51:54 ID:xWYeZh6e
.

498 名前:名無しさん@編集中:2009/02/18(水) 18:51:54 ID:xWYeZh6e
.

499 名前:名無しさん@編集中:2009/02/18(水) 18:51:54 ID:xWYeZh6e
.

500 名前:名無しさん@編集中:2009/02/18(水) 18:51:54 ID:xWYeZh6e
.

501 名前:名無しさん@編集中:2009/02/18(水) 18:51:54 ID:xWYeZh6e
.

502 名前:名無しさん@編集中:2009/02/18(水) 18:51:54 ID:xWYeZh6e
.

503 名前:名無しさん@編集中:2009/02/18(水) 18:51:54 ID:xWYeZh6e
.

504 名前:名無しさん@編集中:2009/02/18(水) 18:51:54 ID:xWYeZh6e
.

505 名前:名無しさん@編集中:2009/02/18(水) 18:51:54 ID:xWYeZh6e
.

506 名前:名無しさん@編集中:2009/02/18(水) 18:51:55 ID:xWYeZh6e
.

507 名前:名無しさん@編集中:2009/02/18(水) 18:51:55 ID:xWYeZh6e
.

508 名前:名無しさん@編集中:2009/02/18(水) 18:51:55 ID:xWYeZh6e
.

509 名前:名無しさん@編集中:2009/02/18(水) 18:51:55 ID:xWYeZh6e
.

510 名前:名無しさん@編集中:2009/02/18(水) 18:51:55 ID:xWYeZh6e
.

511 名前:名無しさん@編集中:2009/02/18(水) 18:51:55 ID:xWYeZh6e
.

512 名前:名無しさん@編集中:2009/02/18(水) 18:51:55 ID:xWYeZh6e
.

513 名前:名無しさん@編集中:2009/02/18(水) 18:51:55 ID:xWYeZh6e
.

514 名前:名無しさん@編集中:2009/02/18(水) 18:51:56 ID:xWYeZh6e
.

515 名前:名無しさん@編集中:2009/02/18(水) 18:51:56 ID:xWYeZh6e
.

516 名前:名無しさん@編集中:2009/02/18(水) 18:51:56 ID:xWYeZh6e
.

517 名前:名無しさん@編集中:2009/02/18(水) 18:51:56 ID:xWYeZh6e
.

518 名前:名無しさん@編集中:2009/02/18(水) 18:51:56 ID:xWYeZh6e
.

519 名前:名無しさん@編集中:2009/02/18(水) 18:51:56 ID:xWYeZh6e
.

520 名前:名無しさん@編集中:2009/02/18(水) 18:51:56 ID:xWYeZh6e
.

521 名前:名無しさん@編集中:2009/02/18(水) 18:51:56 ID:xWYeZh6e
.

522 名前:名無しさん@編集中:2009/02/18(水) 18:51:56 ID:xWYeZh6e
.

523 名前:名無しさん@編集中:2009/02/18(水) 18:51:56 ID:xWYeZh6e
.

524 名前:名無しさん@編集中:2009/02/18(水) 18:51:56 ID:xWYeZh6e
.

525 名前:名無しさん@編集中:2009/02/18(水) 18:51:56 ID:xWYeZh6e
.

526 名前:名無しさん@編集中:2009/02/18(水) 18:51:56 ID:xWYeZh6e
.

527 名前:名無しさん@編集中:2009/02/18(水) 18:51:57 ID:xWYeZh6e
.

528 名前:名無しさん@編集中:2009/02/18(水) 18:51:57 ID:xWYeZh6e
.

529 名前:名無しさん@編集中:2009/02/18(水) 18:51:57 ID:xWYeZh6e
.

530 名前:名無しさん@編集中:2009/02/18(水) 18:51:57 ID:xWYeZh6e
.

531 名前:名無しさん@編集中:2009/02/18(水) 18:51:57 ID:xWYeZh6e
.

532 名前:名無しさん@編集中:2009/02/18(水) 18:51:57 ID:xWYeZh6e
.

533 名前:名無しさん@編集中:2009/02/18(水) 18:51:57 ID:xWYeZh6e
.

534 名前:名無しさん@編集中:2009/02/18(水) 18:51:57 ID:xWYeZh6e
.

535 名前:名無しさん@編集中:2009/02/18(水) 18:51:57 ID:xWYeZh6e
.

536 名前:名無しさん@編集中:2009/02/18(水) 18:51:57 ID:xWYeZh6e
.

537 名前:名無しさん@編集中:2009/02/18(水) 18:51:57 ID:xWYeZh6e
.

538 名前:名無しさん@編集中:2009/02/18(水) 18:51:57 ID:xWYeZh6e
.

539 名前:名無しさん@編集中:2009/02/18(水) 18:51:57 ID:xWYeZh6e
.

540 名前:名無しさん@編集中:2009/02/18(水) 18:51:57 ID:xWYeZh6e
.

541 名前:名無しさん@編集中:2009/02/18(水) 18:51:57 ID:xWYeZh6e
.

542 名前:名無しさん@編集中:2009/02/18(水) 18:51:57 ID:xWYeZh6e
.

543 名前:名無しさん@編集中:2009/02/18(水) 18:51:57 ID:xWYeZh6e
.

544 名前:名無しさん@編集中:2009/02/18(水) 18:51:57 ID:xWYeZh6e
.

545 名前:名無しさん@編集中:2009/02/18(水) 18:51:57 ID:xWYeZh6e
.

546 名前:名無しさん@編集中:2009/02/18(水) 18:51:58 ID:xWYeZh6e
.

547 名前:名無しさん@編集中:2009/02/18(水) 18:51:58 ID:xWYeZh6e
.

548 名前:名無しさん@編集中:2009/02/18(水) 18:51:58 ID:xWYeZh6e
.

549 名前:名無しさん@編集中:2009/02/18(水) 18:51:58 ID:xWYeZh6e
.

550 名前:名無しさん@編集中:2009/02/18(水) 18:51:58 ID:xWYeZh6e
.

551 名前:名無しさん@編集中:2009/02/18(水) 18:51:58 ID:xWYeZh6e
.

552 名前:名無しさん@編集中:2009/02/18(水) 18:51:58 ID:xWYeZh6e
.

553 名前:名無しさん@編集中:2009/02/18(水) 18:51:59 ID:xWYeZh6e
.

554 名前:名無しさん@編集中:2009/02/18(水) 18:51:59 ID:xWYeZh6e
.

555 名前:名無しさん@編集中:2009/02/18(水) 18:51:59 ID:xWYeZh6e
.

556 名前:名無しさん@編集中:2009/02/18(水) 18:51:59 ID:xWYeZh6e
.

557 名前:名無しさん@編集中:2009/02/18(水) 18:52:00 ID:xWYeZh6e
.

558 名前:名無しさん@編集中:2009/02/18(水) 18:52:00 ID:xWYeZh6e
.

559 名前:名無しさん@編集中:2009/02/18(水) 18:52:00 ID:xWYeZh6e
.

560 名前:名無しさん@編集中:2009/02/18(水) 18:52:00 ID:xWYeZh6e
.

561 名前:名無しさん@編集中:2009/02/18(水) 18:52:00 ID:xWYeZh6e
.

562 名前:名無しさん@編集中:2009/02/18(水) 18:52:01 ID:xWYeZh6e
.

563 名前:名無しさん@編集中:2009/02/18(水) 18:52:01 ID:xWYeZh6e
.

564 名前:名無しさん@編集中:2009/02/18(水) 18:52:01 ID:xWYeZh6e
.

565 名前:名無しさん@編集中:2009/02/18(水) 18:52:01 ID:xWYeZh6e
.

566 名前:名無しさん@編集中:2009/02/18(水) 18:52:01 ID:xWYeZh6e
.

567 名前:名無しさん@編集中:2009/02/18(水) 18:52:02 ID:xWYeZh6e
.

568 名前:名無しさん@編集中:2009/02/18(水) 18:52:02 ID:xWYeZh6e
.

569 名前:名無しさん@編集中:2009/02/18(水) 18:52:02 ID:xWYeZh6e
.

570 名前:名無しさん@編集中:2009/02/18(水) 18:52:03 ID:xWYeZh6e
.

571 名前:名無しさん@編集中:2009/02/18(水) 18:52:03 ID:xWYeZh6e
.

572 名前:名無しさん@編集中:2009/02/18(水) 18:52:03 ID:xWYeZh6e
.

573 名前:名無しさん@編集中:2009/02/18(水) 18:52:03 ID:xWYeZh6e
.

574 名前:名無しさん@編集中:2009/02/18(水) 18:52:04 ID:xWYeZh6e
.

575 名前:名無しさん@編集中:2009/02/18(水) 18:52:04 ID:xWYeZh6e
.

576 名前:名無しさん@編集中:2009/02/18(水) 18:52:06 ID:xWYeZh6e
.

577 名前:名無しさん@編集中:2009/02/18(水) 18:52:07 ID:xWYeZh6e
.

578 名前:名無しさん@編集中:2009/02/18(水) 18:52:07 ID:xWYeZh6e
.

579 名前:名無しさん@編集中:2009/02/18(水) 18:52:09 ID:xWYeZh6e
.

580 名前:名無しさん@編集中:2009/02/18(水) 18:52:09 ID:xWYeZh6e
.

581 名前:名無しさん@編集中:2009/02/18(水) 18:52:09 ID:xWYeZh6e
.

582 名前:名無しさん@編集中:2009/02/18(水) 18:52:09 ID:xWYeZh6e
.

583 名前:名無しさん@編集中:2009/02/18(水) 18:52:09 ID:xWYeZh6e
.

584 名前:名無しさん@編集中:2009/02/18(水) 18:52:09 ID:xWYeZh6e
.

585 名前:名無しさん@編集中:2009/02/18(水) 18:52:09 ID:xWYeZh6e
.

586 名前:名無しさん@編集中:2009/02/18(水) 18:52:09 ID:xWYeZh6e
.

587 名前:名無しさん@編集中:2009/02/18(水) 18:52:09 ID:xWYeZh6e
.

588 名前:名無しさん@編集中:2009/02/18(水) 18:52:09 ID:xWYeZh6e
.

589 名前:名無しさん@編集中:2009/02/18(水) 18:52:10 ID:xWYeZh6e
.

590 名前:名無しさん@編集中:2009/02/18(水) 18:52:10 ID:xWYeZh6e
.

591 名前:名無しさん@編集中:2009/02/18(水) 18:52:10 ID:xWYeZh6e
.

592 名前:名無しさん@編集中:2009/02/18(水) 18:52:10 ID:xWYeZh6e
.

593 名前:名無しさん@編集中:2009/02/18(水) 18:52:10 ID:xWYeZh6e
.

594 名前:名無しさん@編集中:2009/02/18(水) 18:52:10 ID:xWYeZh6e
.

595 名前:名無しさん@編集中:2009/02/18(水) 18:52:10 ID:xWYeZh6e
.

596 名前:名無しさん@編集中:2009/02/18(水) 18:52:10 ID:xWYeZh6e
.

597 名前:名無しさん@編集中:2009/02/18(水) 18:52:10 ID:xWYeZh6e
.

598 名前:名無しさん@編集中:2009/02/18(水) 18:52:10 ID:xWYeZh6e
.

599 名前:名無しさん@編集中:2009/02/18(水) 18:52:10 ID:xWYeZh6e
.

600 名前:名無しさん@編集中:2009/02/18(水) 18:52:10 ID:xWYeZh6e
.

601 名前:名無しさん@編集中:2009/02/18(水) 18:52:10 ID:xWYeZh6e
.

602 名前:名無しさん@編集中:2009/02/18(水) 18:52:11 ID:xWYeZh6e
.

603 名前:名無しさん@編集中:2009/02/18(水) 18:52:09 ID:xWYeZh6e
.

604 名前:名無しさん@編集中:2009/02/18(水) 18:52:11 ID:xWYeZh6e
.

605 名前:名無しさん@編集中:2009/02/18(水) 18:52:11 ID:xWYeZh6e
.

606 名前:名無しさん@編集中:2009/02/18(水) 18:52:11 ID:xWYeZh6e
.

607 名前:名無しさん@編集中:2009/02/18(水) 18:52:12 ID:xWYeZh6e
.

608 名前:名無しさん@編集中:2009/02/18(水) 18:52:12 ID:xWYeZh6e
.

609 名前:名無しさん@編集中:2009/02/18(水) 18:52:12 ID:xWYeZh6e
.

610 名前:名無しさん@編集中:2009/02/18(水) 18:52:13 ID:xWYeZh6e
.

611 名前:名無しさん@編集中:2009/02/18(水) 18:52:13 ID:xWYeZh6e
.

612 名前:名無しさん@編集中:2009/02/18(水) 18:52:13 ID:xWYeZh6e
.

613 名前:名無しさん@編集中:2009/02/18(水) 18:52:13 ID:xWYeZh6e
.

614 名前:名無しさん@編集中:2009/02/18(水) 18:52:13 ID:xWYeZh6e
.

615 名前:名無しさん@編集中:2009/02/18(水) 18:52:13 ID:xWYeZh6e
.

616 名前:名無しさん@編集中:2009/02/18(水) 18:52:15 ID:xWYeZh6e
.

617 名前:名無しさん@編集中:2009/02/18(水) 18:52:15 ID:xWYeZh6e
.

618 名前:名無しさん@編集中:2009/02/18(水) 18:52:15 ID:xWYeZh6e
.

619 名前:名無しさん@編集中:2009/02/18(水) 18:52:15 ID:xWYeZh6e
.

620 名前:名無しさん@編集中:2009/02/18(水) 18:52:16 ID:xWYeZh6e
.

621 名前:名無しさん@編集中:2009/02/18(水) 18:52:16 ID:xWYeZh6e
.

622 名前:名無しさん@編集中:2009/02/18(水) 18:52:16 ID:xWYeZh6e
.

623 名前:名無しさん@編集中:2009/02/18(水) 18:52:16 ID:xWYeZh6e
.

624 名前:名無しさん@編集中:2009/02/18(水) 18:52:16 ID:xWYeZh6e
.

625 名前:名無しさん@編集中:2009/02/18(水) 18:52:16 ID:xWYeZh6e
.

626 名前:名無しさん@編集中:2009/02/18(水) 18:52:18 ID:xWYeZh6e
.

627 名前:名無しさん@編集中:2009/02/18(水) 18:52:18 ID:xWYeZh6e
.

628 名前:名無しさん@編集中:2009/02/18(水) 18:52:18 ID:xWYeZh6e
.

629 名前:名無しさん@編集中:2009/02/18(水) 18:52:18 ID:xWYeZh6e
.

630 名前:名無しさん@編集中:2009/02/18(水) 18:52:18 ID:xWYeZh6e
.

631 名前:名無しさん@編集中:2009/02/18(水) 18:52:19 ID:xWYeZh6e
.

632 名前:名無しさん@編集中:2009/02/18(水) 18:52:19 ID:xWYeZh6e
.

633 名前:名無しさん@編集中:2009/02/18(水) 18:52:19 ID:xWYeZh6e
.

634 名前:名無しさん@編集中:2009/02/18(水) 18:52:19 ID:xWYeZh6e
.

635 名前:名無しさん@編集中:2009/02/18(水) 18:52:19 ID:xWYeZh6e
.

636 名前:名無しさん@編集中:2009/02/18(水) 18:52:19 ID:xWYeZh6e
.

637 名前:名無しさん@編集中:2009/02/18(水) 18:52:19 ID:xWYeZh6e
.

638 名前:名無しさん@編集中:2009/02/18(水) 18:52:19 ID:xWYeZh6e
.

639 名前:名無しさん@編集中:2009/02/18(水) 18:52:19 ID:xWYeZh6e
.

640 名前:名無しさん@編集中:2009/02/18(水) 18:52:19 ID:xWYeZh6e
.

641 名前:名無しさん@編集中:2009/02/18(水) 18:52:20 ID:xWYeZh6e
.

642 名前:名無しさん@編集中:2009/02/18(水) 18:52:20 ID:xWYeZh6e
.

643 名前:名無しさん@編集中:2009/02/18(水) 18:52:20 ID:xWYeZh6e
.

644 名前:名無しさん@編集中:2009/02/18(水) 18:52:20 ID:xWYeZh6e
.

645 名前:名無しさん@編集中:2009/02/18(水) 18:52:20 ID:xWYeZh6e
.

646 名前:名無しさん@編集中:2009/02/18(水) 18:52:20 ID:xWYeZh6e
.

647 名前:名無しさん@編集中:2009/02/18(水) 18:52:20 ID:xWYeZh6e
.

648 名前:名無しさん@編集中:2009/02/18(水) 18:52:20 ID:xWYeZh6e
.

649 名前:名無しさん@編集中:2009/02/18(水) 18:52:20 ID:xWYeZh6e
.

650 名前:名無しさん@編集中:2009/02/18(水) 18:52:20 ID:xWYeZh6e
.

651 名前:名無しさん@編集中:2009/02/18(水) 18:52:20 ID:xWYeZh6e
.

652 名前:名無しさん@編集中:2009/02/18(水) 18:52:20 ID:xWYeZh6e
.

653 名前:名無しさん@編集中:2009/02/18(水) 18:52:20 ID:xWYeZh6e
.

654 名前:名無しさん@編集中:2009/02/18(水) 18:52:20 ID:xWYeZh6e
.

655 名前:名無しさん@編集中:2009/02/18(水) 18:52:20 ID:xWYeZh6e
.

656 名前:名無しさん@編集中:2009/02/18(水) 18:52:20 ID:xWYeZh6e
.

657 名前:名無しさん@編集中:2009/02/18(水) 18:52:20 ID:xWYeZh6e
.

658 名前:名無しさん@編集中:2009/02/18(水) 18:52:21 ID:xWYeZh6e
.

659 名前:名無しさん@編集中:2009/02/18(水) 18:52:21 ID:xWYeZh6e
.

660 名前:名無しさん@編集中:2009/02/18(水) 18:52:21 ID:xWYeZh6e
.

661 名前:名無しさん@編集中:2009/02/18(水) 18:52:21 ID:xWYeZh6e
.

662 名前:名無しさん@編集中:2009/02/18(水) 18:52:19 ID:xWYeZh6e
.

663 名前:名無しさん@編集中:2009/02/18(水) 18:52:21 ID:xWYeZh6e
.

664 名前:名無しさん@編集中:2009/02/18(水) 18:52:22 ID:xWYeZh6e
.

665 名前:名無しさん@編集中:2009/02/18(水) 18:52:22 ID:xWYeZh6e
.

666 名前:名無しさん@編集中:2009/02/18(水) 18:52:22 ID:xWYeZh6e
.

667 名前:名無しさん@編集中:2009/02/18(水) 18:52:22 ID:xWYeZh6e
.

668 名前:名無しさん@編集中:2009/02/18(水) 18:52:22 ID:xWYeZh6e
.

669 名前:名無しさん@編集中:2009/02/18(水) 18:52:22 ID:xWYeZh6e
.

670 名前:名無しさん@編集中:2009/02/18(水) 18:52:22 ID:xWYeZh6e
.

671 名前:名無しさん@編集中:2009/02/18(水) 18:52:22 ID:xWYeZh6e
.

672 名前:名無しさん@編集中:2009/02/18(水) 18:52:22 ID:xWYeZh6e
.

673 名前:名無しさん@編集中:2009/02/18(水) 18:52:22 ID:xWYeZh6e
.

674 名前:名無しさん@編集中:2009/02/18(水) 18:52:22 ID:xWYeZh6e
.

675 名前:名無しさん@編集中:2009/02/18(水) 18:52:22 ID:xWYeZh6e
.

676 名前:名無しさん@編集中:2009/02/18(水) 18:52:22 ID:xWYeZh6e
.

677 名前:名無しさん@編集中:2009/02/18(水) 18:52:22 ID:xWYeZh6e
.

678 名前:名無しさん@編集中:2009/02/18(水) 18:52:22 ID:xWYeZh6e
.

679 名前:名無しさん@編集中:2009/02/18(水) 18:52:22 ID:xWYeZh6e
.

680 名前:名無しさん@編集中:2009/02/18(水) 18:52:22 ID:xWYeZh6e
.

681 名前:名無しさん@編集中:2009/02/18(水) 18:52:22 ID:xWYeZh6e
.

682 名前:名無しさん@編集中:2009/02/18(水) 18:52:22 ID:xWYeZh6e
.

683 名前:名無しさん@編集中:2009/02/18(水) 18:52:23 ID:xWYeZh6e
.

684 名前:名無しさん@編集中:2009/02/18(水) 18:52:23 ID:xWYeZh6e
.

685 名前:名無しさん@編集中:2009/02/18(水) 18:52:23 ID:xWYeZh6e
.

686 名前:名無しさん@編集中:2009/02/18(水) 18:52:23 ID:xWYeZh6e
.

687 名前:名無しさん@編集中:2009/02/18(水) 18:52:23 ID:xWYeZh6e
.

688 名前:名無しさん@編集中:2009/02/18(水) 18:52:23 ID:xWYeZh6e
.

689 名前:名無しさん@編集中:2009/02/18(水) 18:52:23 ID:xWYeZh6e
.

690 名前:名無しさん@編集中:2009/02/18(水) 18:52:24 ID:xWYeZh6e
.

691 名前:名無しさん@編集中:2009/02/18(水) 18:52:24 ID:xWYeZh6e
.

692 名前:名無しさん@編集中:2009/02/18(水) 18:52:24 ID:xWYeZh6e
.

693 名前:名無しさん@編集中:2009/02/18(水) 18:52:24 ID:xWYeZh6e
.

694 名前:名無しさん@編集中:2009/02/18(水) 18:52:24 ID:xWYeZh6e
.

695 名前:名無しさん@編集中:2009/02/18(水) 18:52:24 ID:xWYeZh6e
.

696 名前:名無しさん@編集中:2009/02/18(水) 18:52:24 ID:xWYeZh6e
.

697 名前:名無しさん@編集中:2009/02/18(水) 18:52:25 ID:xWYeZh6e
.

698 名前:名無しさん@編集中:2009/02/18(水) 18:52:25 ID:xWYeZh6e
.

699 名前:名無しさん@編集中:2009/02/18(水) 18:52:25 ID:xWYeZh6e
.

700 名前:名無しさん@編集中:2009/02/18(水) 18:52:25 ID:xWYeZh6e
.

701 名前:名無しさん@編集中:2009/02/18(水) 18:52:25 ID:xWYeZh6e
.

702 名前:名無しさん@編集中:2009/02/18(水) 18:52:25 ID:xWYeZh6e
.

703 名前:名無しさん@編集中:2009/02/18(水) 18:52:25 ID:xWYeZh6e
.

704 名前:名無しさん@編集中:2009/02/18(水) 18:52:25 ID:xWYeZh6e
.

705 名前:名無しさん@編集中:2009/02/18(水) 18:52:25 ID:xWYeZh6e
.

706 名前:名無しさん@編集中:2009/02/18(水) 18:52:25 ID:xWYeZh6e
.

707 名前:名無しさん@編集中:2009/02/18(水) 18:52:26 ID:xWYeZh6e
.

708 名前:名無しさん@編集中:2009/02/18(水) 18:52:26 ID:xWYeZh6e
.

709 名前:名無しさん@編集中:2009/02/18(水) 18:52:26 ID:xWYeZh6e
.

710 名前:名無しさん@編集中:2009/02/18(水) 18:52:26 ID:xWYeZh6e
.

711 名前:名無しさん@編集中:2009/02/18(水) 18:52:26 ID:xWYeZh6e
.

712 名前:名無しさん@編集中:2009/02/18(水) 18:52:26 ID:xWYeZh6e
.

713 名前:名無しさん@編集中:2009/02/18(水) 18:52:26 ID:xWYeZh6e
.

714 名前:名無しさん@編集中:2009/02/18(水) 18:52:27 ID:xWYeZh6e
.

715 名前:名無しさん@編集中:2009/02/18(水) 18:52:27 ID:xWYeZh6e
.

716 名前:名無しさん@編集中:2009/02/18(水) 18:52:28 ID:xWYeZh6e
.

717 名前:名無しさん@編集中:2009/02/18(水) 18:52:28 ID:xWYeZh6e
.

718 名前:名無しさん@編集中:2009/02/18(水) 18:52:28 ID:xWYeZh6e
.

719 名前:名無しさん@編集中:2009/02/18(水) 18:52:29 ID:xWYeZh6e
.

720 名前:名無しさん@編集中:2009/02/18(水) 18:52:30 ID:xWYeZh6e
.

721 名前:名無しさん@編集中:2009/02/18(水) 18:52:30 ID:xWYeZh6e
.

722 名前:名無しさん@編集中:2009/02/18(水) 18:52:31 ID:xWYeZh6e
.

723 名前:名無しさん@編集中:2009/02/18(水) 18:52:32 ID:xWYeZh6e
.

724 名前:名無しさん@編集中:2009/02/18(水) 18:52:35 ID:xWYeZh6e
.

725 名前:名無しさん@編集中:2009/02/18(水) 18:52:35 ID:xWYeZh6e
.

726 名前:名無しさん@編集中:2009/02/18(水) 18:52:36 ID:xWYeZh6e
.

727 名前:名無しさん@編集中:2009/02/18(水) 18:52:36 ID:xWYeZh6e
.

728 名前:名無しさん@編集中:2009/02/18(水) 18:52:36 ID:xWYeZh6e
.

729 名前:名無しさん@編集中:2009/02/18(水) 18:52:37 ID:xWYeZh6e
.

730 名前:名無しさん@編集中:2009/02/18(水) 18:52:37 ID:xWYeZh6e
.

731 名前:名無しさん@編集中:2009/02/18(水) 18:52:37 ID:xWYeZh6e
.

732 名前:名無しさん@編集中:2009/02/18(水) 18:52:37 ID:xWYeZh6e
.

733 名前:名無しさん@編集中:2009/02/18(水) 18:52:37 ID:xWYeZh6e
.

734 名前:名無しさん@編集中:2009/02/18(水) 18:52:37 ID:xWYeZh6e
.

735 名前:名無しさん@編集中:2009/02/18(水) 18:52:37 ID:xWYeZh6e
.

736 名前:名無しさん@編集中:2009/02/18(水) 18:52:37 ID:xWYeZh6e
.

737 名前:名無しさん@編集中:2009/02/18(水) 18:52:37 ID:xWYeZh6e
.

738 名前:名無しさん@編集中:2009/02/18(水) 18:52:37 ID:xWYeZh6e
.

739 名前:名無しさん@編集中:2009/02/18(水) 18:52:37 ID:xWYeZh6e
.

740 名前:名無しさん@編集中:2009/02/18(水) 18:52:37 ID:xWYeZh6e
.

741 名前:名無しさん@編集中:2009/02/18(水) 18:52:37 ID:xWYeZh6e
.

742 名前:名無しさん@編集中:2009/02/18(水) 18:52:38 ID:xWYeZh6e
.

743 名前:名無しさん@編集中:2009/02/18(水) 18:52:38 ID:xWYeZh6e
.

744 名前:名無しさん@編集中:2009/02/18(水) 18:52:38 ID:xWYeZh6e
.

745 名前:名無しさん@編集中:2009/02/18(水) 18:52:38 ID:xWYeZh6e
.

746 名前:名無しさん@編集中:2009/02/18(水) 18:52:38 ID:xWYeZh6e
.

747 名前:名無しさん@編集中:2009/02/18(水) 18:52:38 ID:xWYeZh6e
.

748 名前:名無しさん@編集中:2009/02/18(水) 18:52:38 ID:xWYeZh6e
.

749 名前:名無しさん@編集中:2009/02/18(水) 18:52:38 ID:xWYeZh6e
.

750 名前:名無しさん@編集中:2009/02/18(水) 18:52:38 ID:xWYeZh6e
.

751 名前:名無しさん@編集中:2009/02/18(水) 18:52:38 ID:xWYeZh6e
.

752 名前:名無しさん@編集中:2009/02/18(水) 18:52:38 ID:xWYeZh6e
.

753 名前:名無しさん@編集中:2009/02/18(水) 18:52:38 ID:xWYeZh6e
.

754 名前:名無しさん@編集中:2009/02/18(水) 18:52:38 ID:xWYeZh6e
.

755 名前:名無しさん@編集中:2009/02/18(水) 18:52:38 ID:xWYeZh6e
.

756 名前:名無しさん@編集中:2009/02/18(水) 18:52:38 ID:xWYeZh6e
.

757 名前:名無しさん@編集中:2009/02/18(水) 18:52:38 ID:xWYeZh6e
.

758 名前:名無しさん@編集中:2009/02/18(水) 18:52:38 ID:xWYeZh6e
.

759 名前:名無しさん@編集中:2009/02/18(水) 18:52:38 ID:xWYeZh6e
.

760 名前:名無しさん@編集中:2009/02/18(水) 18:52:38 ID:xWYeZh6e
.

761 名前:名無しさん@編集中:2009/02/18(水) 18:52:38 ID:xWYeZh6e
.

762 名前:名無しさん@編集中:2009/02/18(水) 18:52:39 ID:xWYeZh6e
.

763 名前:名無しさん@編集中:2009/02/18(水) 18:52:39 ID:xWYeZh6e
.

764 名前:名無しさん@編集中:2009/02/18(水) 18:52:39 ID:xWYeZh6e
.

765 名前:名無しさん@編集中:2009/02/18(水) 18:52:39 ID:xWYeZh6e
.

766 名前:名無しさん@編集中:2009/02/18(水) 18:52:39 ID:xWYeZh6e
.

767 名前:名無しさん@編集中:2009/02/18(水) 18:52:39 ID:xWYeZh6e
.

768 名前:名無しさん@編集中:2009/02/18(水) 18:52:39 ID:xWYeZh6e
.

769 名前:名無しさん@編集中:2009/02/18(水) 18:52:39 ID:xWYeZh6e
.

770 名前:名無しさん@編集中:2009/02/18(水) 18:52:39 ID:xWYeZh6e
.

771 名前:名無しさん@編集中:2009/02/18(水) 18:52:39 ID:xWYeZh6e
.

772 名前:名無しさん@編集中:2009/02/18(水) 18:52:39 ID:xWYeZh6e
.

773 名前:名無しさん@編集中:2009/02/18(水) 18:52:40 ID:xWYeZh6e
.

774 名前:名無しさん@編集中:2009/02/18(水) 18:52:39 ID:xWYeZh6e
.

775 名前:名無しさん@編集中:2009/02/18(水) 18:52:40 ID:xWYeZh6e
.

776 名前:名無しさん@編集中:2009/02/18(水) 18:52:40 ID:xWYeZh6e
.

777 名前:名無しさん@編集中:2009/02/18(水) 18:52:40 ID:xWYeZh6e
.

778 名前:名無しさん@編集中:2009/02/18(水) 18:52:40 ID:xWYeZh6e
.

779 名前:名無しさん@編集中:2009/02/18(水) 18:52:40 ID:xWYeZh6e
.

780 名前:名無しさん@編集中:2009/02/18(水) 18:52:40 ID:xWYeZh6e
.

781 名前:名無しさん@編集中:2009/02/18(水) 18:52:40 ID:xWYeZh6e
.

782 名前:名無しさん@編集中:2009/02/18(水) 18:52:40 ID:xWYeZh6e
.

783 名前:名無しさん@編集中:2009/02/18(水) 18:52:40 ID:xWYeZh6e
.

784 名前:名無しさん@編集中:2009/02/18(水) 18:52:40 ID:xWYeZh6e
.

785 名前:名無しさん@編集中:2009/02/18(水) 18:52:40 ID:xWYeZh6e
.

786 名前:名無しさん@編集中:2009/02/18(水) 18:52:41 ID:xWYeZh6e
.

787 名前:名無しさん@編集中:2009/02/18(水) 18:52:41 ID:xWYeZh6e
.

788 名前:名無しさん@編集中:2009/02/18(水) 18:52:41 ID:xWYeZh6e
.

789 名前:名無しさん@編集中:2009/02/18(水) 18:52:41 ID:xWYeZh6e
.

790 名前:名無しさん@編集中:2009/02/18(水) 18:52:41 ID:xWYeZh6e
.

791 名前:名無しさん@編集中:2009/02/18(水) 18:52:41 ID:xWYeZh6e
.

792 名前:名無しさん@編集中:2009/02/18(水) 18:52:41 ID:xWYeZh6e
.

793 名前:名無しさん@編集中:2009/02/18(水) 18:52:41 ID:xWYeZh6e
.

794 名前:名無しさん@編集中:2009/02/18(水) 18:52:41 ID:xWYeZh6e
.

795 名前:名無しさん@編集中:2009/02/18(水) 18:52:41 ID:xWYeZh6e
.

796 名前:名無しさん@編集中:2009/02/18(水) 18:52:41 ID:xWYeZh6e
.

797 名前:名無しさん@編集中:2009/02/18(水) 18:52:41 ID:xWYeZh6e
.

798 名前:名無しさん@編集中:2009/02/18(水) 18:52:41 ID:xWYeZh6e
.

799 名前:名無しさん@編集中:2009/02/18(水) 18:52:42 ID:xWYeZh6e
.

800 名前:名無しさん@編集中:2009/02/18(水) 18:52:41 ID:xWYeZh6e
.

801 名前:名無しさん@編集中:2009/02/18(水) 18:52:42 ID:xWYeZh6e
.

802 名前:名無しさん@編集中:2009/02/18(水) 18:52:42 ID:xWYeZh6e
.

803 名前:名無しさん@編集中:2009/02/18(水) 18:52:42 ID:xWYeZh6e
.

804 名前:名無しさん@編集中:2009/02/18(水) 18:52:42 ID:xWYeZh6e
.

805 名前:名無しさん@編集中:2009/02/18(水) 18:52:43 ID:xWYeZh6e
.

806 名前:名無しさん@編集中:2009/02/18(水) 18:52:43 ID:xWYeZh6e
.

807 名前:名無しさん@編集中:2009/02/18(水) 18:52:43 ID:xWYeZh6e
.

808 名前:名無しさん@編集中:2009/02/18(水) 18:52:43 ID:xWYeZh6e
.

809 名前:名無しさん@編集中:2009/02/18(水) 18:52:43 ID:xWYeZh6e
.

810 名前:名無しさん@編集中:2009/02/18(水) 18:52:43 ID:xWYeZh6e
.

811 名前:名無しさん@編集中:2009/02/18(水) 18:52:43 ID:xWYeZh6e
.

812 名前:名無しさん@編集中:2009/02/18(水) 18:52:44 ID:xWYeZh6e
.

813 名前:名無しさん@編集中:2009/02/18(水) 18:52:44 ID:xWYeZh6e
.

814 名前:名無しさん@編集中:2009/02/18(水) 18:52:44 ID:xWYeZh6e
.

815 名前:名無しさん@編集中:2009/02/18(水) 18:52:44 ID:xWYeZh6e
.

816 名前:名無しさん@編集中:2009/02/18(水) 18:52:44 ID:xWYeZh6e
.

817 名前:名無しさん@編集中:2009/02/18(水) 18:52:45 ID:xWYeZh6e
.

818 名前:名無しさん@編集中:2009/02/18(水) 18:52:45 ID:xWYeZh6e
.

819 名前:名無しさん@編集中:2009/02/18(水) 18:52:45 ID:xWYeZh6e
.

820 名前:名無しさん@編集中:2009/02/18(水) 18:52:45 ID:xWYeZh6e
.

821 名前:名無しさん@編集中:2009/02/18(水) 18:52:45 ID:xWYeZh6e
.

822 名前:名無しさん@編集中:2009/02/18(水) 18:52:45 ID:xWYeZh6e
.

823 名前:名無しさん@編集中:2009/02/18(水) 18:52:45 ID:xWYeZh6e
.

824 名前:名無しさん@編集中:2009/02/18(水) 18:52:45 ID:xWYeZh6e
.

825 名前:名無しさん@編集中:2009/02/18(水) 18:52:45 ID:xWYeZh6e
.

826 名前:名無しさん@編集中:2009/02/18(水) 18:52:46 ID:xWYeZh6e
.

827 名前:名無しさん@編集中:2009/02/18(水) 18:52:46 ID:xWYeZh6e
.

828 名前:名無しさん@編集中:2009/02/18(水) 18:52:47 ID:xWYeZh6e
.

829 名前:名無しさん@編集中:2009/02/18(水) 18:52:47 ID:xWYeZh6e
.

830 名前:名無しさん@編集中:2009/02/18(水) 18:52:47 ID:xWYeZh6e
.

831 名前:名無しさん@編集中:2009/02/18(水) 18:52:47 ID:xWYeZh6e
.

832 名前:名無しさん@編集中:2009/02/18(水) 18:52:48 ID:xWYeZh6e
.

833 名前:名無しさん@編集中:2009/02/18(水) 18:52:48 ID:xWYeZh6e
.

834 名前:名無しさん@編集中:2009/02/18(水) 18:52:48 ID:xWYeZh6e
.

835 名前:名無しさん@編集中:2009/02/18(水) 18:52:48 ID:xWYeZh6e
.

836 名前:名無しさん@編集中:2009/02/18(水) 18:52:48 ID:xWYeZh6e
.

837 名前:名無しさん@編集中:2009/02/18(水) 18:52:48 ID:xWYeZh6e
.

838 名前:名無しさん@編集中:2009/02/18(水) 18:52:48 ID:xWYeZh6e
.

839 名前:名無しさん@編集中:2009/02/18(水) 18:52:48 ID:xWYeZh6e
.

840 名前:名無しさん@編集中:2009/02/18(水) 18:52:48 ID:xWYeZh6e
.

841 名前:名無しさん@編集中:2009/02/18(水) 18:52:48 ID:xWYeZh6e
.

842 名前:名無しさん@編集中:2009/02/18(水) 18:52:49 ID:xWYeZh6e
.

843 名前:名無しさん@編集中:2009/02/18(水) 18:52:49 ID:xWYeZh6e
.

844 名前:名無しさん@編集中:2009/02/18(水) 18:52:49 ID:xWYeZh6e
.

845 名前:名無しさん@編集中:2009/02/18(水) 18:52:49 ID:xWYeZh6e
.

846 名前:名無しさん@編集中:2009/02/18(水) 18:52:49 ID:xWYeZh6e
.

847 名前:名無しさん@編集中:2009/02/18(水) 18:52:49 ID:xWYeZh6e
.

848 名前:名無しさん@編集中:2009/02/18(水) 18:52:50 ID:xWYeZh6e
.

849 名前:名無しさん@編集中:2009/02/18(水) 18:52:50 ID:xWYeZh6e
.

850 名前:名無しさん@編集中:2009/02/18(水) 18:52:50 ID:xWYeZh6e
.

851 名前:名無しさん@編集中:2009/02/18(水) 18:52:50 ID:xWYeZh6e
.

852 名前:名無しさん@編集中:2009/02/18(水) 18:52:50 ID:xWYeZh6e
.

853 名前:名無しさん@編集中:2009/02/18(水) 18:52:50 ID:xWYeZh6e
.

854 名前:名無しさん@編集中:2009/02/18(水) 18:52:50 ID:xWYeZh6e
.

855 名前:名無しさん@編集中:2009/02/18(水) 18:52:50 ID:xWYeZh6e
.

856 名前:名無しさん@編集中:2009/02/18(水) 18:52:50 ID:xWYeZh6e
.

857 名前:名無しさん@編集中:2009/02/18(水) 18:52:50 ID:xWYeZh6e
.

858 名前:名無しさん@編集中:2009/02/18(水) 18:52:50 ID:xWYeZh6e
.

859 名前:名無しさん@編集中:2009/02/18(水) 18:52:51 ID:xWYeZh6e
.

860 名前:名無しさん@編集中:2009/02/18(水) 18:52:51 ID:xWYeZh6e
.

861 名前:名無しさん@編集中:2009/02/18(水) 18:52:51 ID:xWYeZh6e
.

862 名前:名無しさん@編集中:2009/02/18(水) 18:52:51 ID:xWYeZh6e
.

863 名前:名無しさん@編集中:2009/02/18(水) 18:52:51 ID:xWYeZh6e
.

864 名前:名無しさん@編集中:2009/02/18(水) 18:52:51 ID:xWYeZh6e
.

865 名前:名無しさん@編集中:2009/02/18(水) 18:52:51 ID:xWYeZh6e
.

866 名前:名無しさん@編集中:2009/02/18(水) 18:52:51 ID:xWYeZh6e
.

867 名前:名無しさん@編集中:2009/02/18(水) 18:52:51 ID:xWYeZh6e
.

868 名前:名無しさん@編集中:2009/02/18(水) 18:52:51 ID:xWYeZh6e
.

869 名前:名無しさん@編集中:2009/02/18(水) 18:52:51 ID:xWYeZh6e
.

870 名前:名無しさん@編集中:2009/02/18(水) 18:52:51 ID:xWYeZh6e
.

871 名前:名無しさん@編集中:2009/02/18(水) 18:52:51 ID:xWYeZh6e
.

872 名前:名無しさん@編集中:2009/02/18(水) 18:52:51 ID:xWYeZh6e
.

873 名前:名無しさん@編集中:2009/02/18(水) 18:52:51 ID:xWYeZh6e
.

874 名前:名無しさん@編集中:2009/02/18(水) 18:52:51 ID:xWYeZh6e
.

875 名前:名無しさん@編集中:2009/02/18(水) 18:52:51 ID:xWYeZh6e
.

876 名前:名無しさん@編集中:2009/02/18(水) 18:52:51 ID:xWYeZh6e
.

877 名前:名無しさん@編集中:2009/02/18(水) 18:52:51 ID:xWYeZh6e
.

878 名前:名無しさん@編集中:2009/02/18(水) 18:52:51 ID:xWYeZh6e
.

879 名前:名無しさん@編集中:2009/02/18(水) 18:52:48 ID:xWYeZh6e
.

880 名前:名無しさん@編集中:2009/02/18(水) 18:52:51 ID:xWYeZh6e
.

881 名前:名無しさん@編集中:2009/02/18(水) 18:52:51 ID:xWYeZh6e
.

882 名前:名無しさん@編集中:2009/02/18(水) 18:52:51 ID:xWYeZh6e
.

883 名前:名無しさん@編集中:2009/02/18(水) 18:52:51 ID:xWYeZh6e
.

884 名前:名無しさん@編集中:2009/02/18(水) 18:52:51 ID:xWYeZh6e
.

885 名前:名無しさん@編集中:2009/02/18(水) 18:52:51 ID:xWYeZh6e
.

886 名前:名無しさん@編集中:2009/02/18(水) 18:52:52 ID:xWYeZh6e
.

887 名前:名無しさん@編集中:2009/02/18(水) 18:52:52 ID:xWYeZh6e
.

888 名前:名無しさん@編集中:2009/02/18(水) 18:52:52 ID:xWYeZh6e
.

889 名前:名無しさん@編集中:2009/02/18(水) 18:52:52 ID:xWYeZh6e
.

890 名前:名無しさん@編集中:2009/02/18(水) 18:52:52 ID:xWYeZh6e
.

891 名前:名無しさん@編集中:2009/02/18(水) 18:52:52 ID:xWYeZh6e
.

892 名前:名無しさん@編集中:2009/02/18(水) 18:52:52 ID:xWYeZh6e
.

893 名前:名無しさん@編集中:2009/02/18(水) 18:52:53 ID:xWYeZh6e
.

894 名前:名無しさん@編集中:2009/02/18(水) 18:52:53 ID:xWYeZh6e
.

895 名前:名無しさん@編集中:2009/02/18(水) 18:52:53 ID:xWYeZh6e
.

896 名前:名無しさん@編集中:2009/02/18(水) 18:52:53 ID:xWYeZh6e
.

897 名前:名無しさん@編集中:2009/02/18(水) 18:52:54 ID:xWYeZh6e
.

898 名前:名無しさん@編集中:2009/02/18(水) 18:52:54 ID:xWYeZh6e
.

899 名前:名無しさん@編集中:2009/02/18(水) 18:52:54 ID:xWYeZh6e
.

900 名前:名無しさん@編集中:2009/02/18(水) 18:52:54 ID:xWYeZh6e
.

901 名前:名無しさん@編集中:2009/02/18(水) 18:52:54 ID:xWYeZh6e
.

902 名前:名無しさん@編集中:2009/02/18(水) 18:52:55 ID:xWYeZh6e
.

903 名前:名無しさん@編集中:2009/02/18(水) 18:52:55 ID:xWYeZh6e
.

904 名前:名無しさん@編集中:2009/02/18(水) 18:52:55 ID:xWYeZh6e
.

905 名前:名無しさん@編集中:2009/02/18(水) 18:52:55 ID:xWYeZh6e
.

906 名前:名無しさん@編集中:2009/02/18(水) 18:52:56 ID:xWYeZh6e
.

907 名前:名無しさん@編集中:2009/02/18(水) 18:52:56 ID:xWYeZh6e
.

908 名前:名無しさん@編集中:2009/02/18(水) 18:52:56 ID:xWYeZh6e
.

909 名前:名無しさん@編集中:2009/02/18(水) 18:52:56 ID:xWYeZh6e
.

910 名前:名無しさん@編集中:2009/02/18(水) 18:52:56 ID:xWYeZh6e
.

911 名前:名無しさん@編集中:2009/02/18(水) 18:52:56 ID:xWYeZh6e
.

912 名前:名無しさん@編集中:2009/02/18(水) 18:52:56 ID:xWYeZh6e
.

913 名前:名無しさん@編集中:2009/02/18(水) 18:52:56 ID:xWYeZh6e
.

914 名前:名無しさん@編集中:2009/02/18(水) 18:52:56 ID:xWYeZh6e
.

915 名前:名無しさん@編集中:2009/02/18(水) 18:52:56 ID:xWYeZh6e
.

916 名前:名無しさん@編集中:2009/02/18(水) 18:52:56 ID:xWYeZh6e
.

917 名前:名無しさん@編集中:2009/02/18(水) 18:52:56 ID:xWYeZh6e
.

918 名前:名無しさん@編集中:2009/02/18(水) 18:52:56 ID:xWYeZh6e
.

919 名前:名無しさん@編集中:2009/02/18(水) 18:52:56 ID:xWYeZh6e
.

920 名前:名無しさん@編集中:2009/02/18(水) 18:52:56 ID:xWYeZh6e
.

921 名前:名無しさん@編集中:2009/02/18(水) 18:52:57 ID:xWYeZh6e
.

922 名前:名無しさん@編集中:2009/02/18(水) 18:52:57 ID:xWYeZh6e
.

923 名前:名無しさん@編集中:2009/02/18(水) 18:52:57 ID:xWYeZh6e
.

924 名前:名無しさん@編集中:2009/02/18(水) 18:52:57 ID:xWYeZh6e
.

925 名前:名無しさん@編集中:2009/02/18(水) 18:52:57 ID:xWYeZh6e
.

926 名前:名無しさん@編集中:2009/02/18(水) 18:52:57 ID:xWYeZh6e
.

927 名前:名無しさん@編集中:2009/02/18(水) 18:52:57 ID:xWYeZh6e
.

928 名前:名無しさん@編集中:2009/02/18(水) 18:52:57 ID:xWYeZh6e
.

929 名前:名無しさん@編集中:2009/02/18(水) 18:52:57 ID:xWYeZh6e
.

930 名前:名無しさん@編集中:2009/02/18(水) 18:52:57 ID:xWYeZh6e
.

931 名前:名無しさん@編集中:2009/02/18(水) 18:52:57 ID:xWYeZh6e
.

932 名前:名無しさん@編集中:2009/02/18(水) 18:52:57 ID:xWYeZh6e
.

933 名前:名無しさん@編集中:2009/02/18(水) 18:52:57 ID:xWYeZh6e
.

934 名前:名無しさん@編集中:2009/02/18(水) 18:52:57 ID:xWYeZh6e
.

935 名前:名無しさん@編集中:2009/02/18(水) 18:52:57 ID:xWYeZh6e
.

936 名前:名無しさん@編集中:2009/02/18(水) 18:52:57 ID:xWYeZh6e
.

937 名前:名無しさん@編集中:2009/02/18(水) 18:52:57 ID:xWYeZh6e
.

938 名前:名無しさん@編集中:2009/02/18(水) 18:52:57 ID:xWYeZh6e
.

939 名前:名無しさん@編集中:2009/02/18(水) 18:52:57 ID:xWYeZh6e
.

940 名前:名無しさん@編集中:2009/02/18(水) 18:52:57 ID:xWYeZh6e
.

941 名前:名無しさん@編集中:2009/02/18(水) 18:52:57 ID:xWYeZh6e
.

942 名前:名無しさん@編集中:2009/02/18(水) 18:52:57 ID:xWYeZh6e
.

943 名前:名無しさん@編集中:2009/02/18(水) 18:52:57 ID:xWYeZh6e
.

944 名前:名無しさん@編集中:2009/02/18(水) 18:52:57 ID:xWYeZh6e
.

945 名前:名無しさん@編集中:2009/02/18(水) 18:52:58 ID:xWYeZh6e
.

946 名前:名無しさん@編集中:2009/02/18(水) 18:52:58 ID:xWYeZh6e
.

947 名前:名無しさん@編集中:2009/02/18(水) 18:52:58 ID:xWYeZh6e
.

948 名前:名無しさん@編集中:2009/02/18(水) 18:52:58 ID:xWYeZh6e
.

949 名前:名無しさん@編集中:2009/02/18(水) 18:52:58 ID:xWYeZh6e
.

950 名前:名無しさん@編集中:2009/02/18(水) 18:52:58 ID:xWYeZh6e
.

951 名前:名無しさん@編集中:2009/02/18(水) 18:52:58 ID:xWYeZh6e
.

952 名前:名無しさん@編集中:2009/02/18(水) 18:52:58 ID:xWYeZh6e
.

953 名前:名無しさん@編集中:2009/02/18(水) 18:52:59 ID:xWYeZh6e
.

954 名前:名無しさん@編集中:2009/02/18(水) 18:52:59 ID:xWYeZh6e
.

955 名前:名無しさん@編集中:2009/02/18(水) 18:52:59 ID:xWYeZh6e
.

956 名前:名無しさん@編集中:2009/02/18(水) 18:52:59 ID:xWYeZh6e
.

957 名前:名無しさん@編集中:2009/02/18(水) 18:52:59 ID:xWYeZh6e
.

958 名前:名無しさん@編集中:2009/02/18(水) 18:52:59 ID:xWYeZh6e
.

959 名前:名無しさん@編集中:2009/02/18(水) 18:53:00 ID:xWYeZh6e
.

960 名前:名無しさん@編集中:2009/02/18(水) 18:53:00 ID:xWYeZh6e
.

961 名前:名無しさん@編集中:2009/02/18(水) 18:53:00 ID:xWYeZh6e
.

962 名前:名無しさん@編集中:2009/02/18(水) 18:53:00 ID:xWYeZh6e
.

963 名前:名無しさん@編集中:2009/02/18(水) 18:53:01 ID:xWYeZh6e
.

964 名前:名無しさん@編集中:2009/02/18(水) 18:53:01 ID:xWYeZh6e
.

965 名前:名無しさん@編集中:2009/02/18(水) 18:53:01 ID:xWYeZh6e
.

966 名前:名無しさん@編集中:2009/02/18(水) 18:53:01 ID:xWYeZh6e
.

967 名前:名無しさん@編集中:2009/02/18(水) 18:53:01 ID:xWYeZh6e
.

968 名前:名無しさん@編集中:2009/02/18(水) 18:53:01 ID:xWYeZh6e
.

969 名前:名無しさん@編集中:2009/02/18(水) 18:53:02 ID:xWYeZh6e
.

970 名前:名無しさん@編集中:2009/02/18(水) 18:53:02 ID:xWYeZh6e
.

971 名前:名無しさん@編集中:2009/02/18(水) 18:53:02 ID:xWYeZh6e
.

972 名前:名無しさん@編集中:2009/02/18(水) 18:53:03 ID:xWYeZh6e
.

973 名前:名無しさん@編集中:2009/02/18(水) 18:53:03 ID:xWYeZh6e
.

974 名前:名無しさん@編集中:2009/02/18(水) 18:53:03 ID:xWYeZh6e
.

975 名前:名無しさん@編集中:2009/02/18(水) 18:53:04 ID:xWYeZh6e
.

976 名前:名無しさん@編集中:2009/02/18(水) 18:53:04 ID:xWYeZh6e
.

977 名前:名無しさん@編集中:2009/02/18(水) 18:53:04 ID:xWYeZh6e
.

978 名前:名無しさん@編集中:2009/02/18(水) 18:53:04 ID:xWYeZh6e
.

979 名前:名無しさん@編集中:2009/02/18(水) 18:53:05 ID:xWYeZh6e
.

980 名前:名無しさん@編集中:2009/02/18(水) 18:53:05 ID:xWYeZh6e
.

981 名前:名無しさん@編集中:2009/02/18(水) 18:53:05 ID:xWYeZh6e
.

982 名前:名無しさん@編集中:2009/02/18(水) 18:53:06 ID:xWYeZh6e
.

983 名前:名無しさん@編集中:2009/02/18(水) 18:53:06 ID:xWYeZh6e
.

984 名前:名無しさん@編集中:2009/02/18(水) 18:53:07 ID:xWYeZh6e
.

985 名前:名無しさん@編集中:2009/02/18(水) 18:53:07 ID:xWYeZh6e
.

986 名前:名無しさん@編集中:2009/02/18(水) 18:53:07 ID:xWYeZh6e
.

987 名前:名無しさん@編集中:2009/02/18(水) 18:53:07 ID:xWYeZh6e
.

988 名前:名無しさん@編集中:2009/02/18(水) 18:53:07 ID:xWYeZh6e
.

989 名前:名無しさん@編集中:2009/02/18(水) 18:53:07 ID:xWYeZh6e
.

990 名前:名無しさん@編集中:2009/02/18(水) 18:53:07 ID:xWYeZh6e
.

991 名前:名無しさん@編集中:2009/02/18(水) 18:53:07 ID:xWYeZh6e
.

992 名前:名無しさん@編集中:2009/02/18(水) 18:53:08 ID:xWYeZh6e
.

993 名前:名無しさん@編集中:2009/02/18(水) 18:53:08 ID:xWYeZh6e
.

994 名前:名無しさん@編集中:2009/02/18(水) 18:53:08 ID:xWYeZh6e
.

995 名前:名無しさん@編集中:2009/02/18(水) 18:53:08 ID:xWYeZh6e
.

996 名前:名無しさん@編集中:2009/02/18(水) 18:53:08 ID:xWYeZh6e
.

997 名前:名無しさん@編集中:2009/02/18(水) 18:53:08 ID:xWYeZh6e
.

998 名前:名無しさん@編集中:2009/02/18(水) 18:53:08 ID:xWYeZh6e
.

999 名前:名無しさん@編集中:2009/02/18(水) 18:53:08 ID:xWYeZh6e
.

1000 名前:名無しさん@編集中:2009/02/18(水) 18:53:08 ID:xWYeZh6e
.

1001 名前:1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


全部 最新50
DAT2HTML 0.35d Converted.