Showing posts with label AviSynth. Show all posts
Showing posts with label AviSynth. Show all posts

7 May 2014

AviSynth+ vim syntax file

GW中書いた.
2014.11.07 追記: ミスってgist消しちゃったので https://github.com/nak5124/build_env を参考にして下さい.
https://gist.github.com/nak5124/6a6d82e90c010a849200
一応AviSynth+のMT版の2014/05/05時点での内蔵関数・フィルタとStatements全てに対応してるはず.
ただmolokaiでしか確認してない.
molokaiで出来る限りAvsPmodライクな色分けするために構文グループを決めたから外部フィルタをTitleグループにしてたりいろいろおかしいけど気にしたら負けだと思うことにした.
外部フィルタを登録したい時はavsExternalFiltersに追加すればいい.
ユーザー定義関数を登録したい時はavsUserDefinedFunctionsに追加すればいい.
既に書いてあるのは私が普段使う関数でありおそらく必要ないので消してOK.
オペレータをハイライトしたい時は.vimrcにlet g:avs_operator = 1を追加すればいい.
後は
au BufNewFile,BufRead *.avs set filetype=avsplus
au BufNewFile,BufRead *.avsi set filetype=avsplus
とか書いとけば自動的にハイライトが有効になる.
こんな感じ

10 Apr 2014

AviSynth: 32bit/64bit 使い分け

AviSynth+の登場により64bitなAviSynthの利用が以前に比べ格段に容易になった.
しかも32bitに遜色ない程度に安定している.
メモリを多く必要とされる場面で64bitなAviSynthを使えることはかなりのメリットである.
実際私が日常的にエンコードに使用しているスクリプトはかなりメモリを食う類のものであり重宝している.
しかしそれでもなかなか64bitに移行できない理由があるようだ.
その1つがtwitterのTLでも話題になってたことだが64bit版のAvsPmodの入手性にあるようだ.
現在64bit版のAvsPmodは2つのtest buildがircで配布されただけで公には公開されていない.
編集は32bitでやればいいじゃないと思うかもしれないがおそらくそういう人達はごく最近AviSynthを触るようになったのだと思う.
それなりに古くから使ってる人や古い情報でAviSynthを学び使い始めた人はAviSynthのプラグインオートローディングをあまり信用していない.LoadPluginで手動でロードする.
そんな傾向がある.私も手動でロードしている.
だが,現在AviSynth+を使う場合気にせずオートロードして問題があるかと言われればおそらくないだろう.
それでもなかなか習慣というのは変えられるものではないしオートローディングフォルダを使わず自分でフォルダ分けした方が管理が容易だということもある.
それではどうすればいいか?
いちいち編集時は64bit用のLoadPluginはコメントアウトしてエンコーダに渡す前にアンコメントし32bit用の方をコメントアウトするか.勿論それで上手くいくがまあ面倒ではある.
そんな時は64bit/32bitで処理を分岐させればいい
avs制御用ユーザー定義関数 で書いたように

function is_x86_64()
{
    ver_str = VersionString()
    ver_str = LeftStr( RightStr( ver_str, 4 ), 3 )

    return StrCmpi( ver_str, "x64" ) == 0 ? true : false
}

といった関数を使い

PluginDir = is_x86_64() ? "path/to/64bit_plugins_dir" \
                        : "path/to/32bit_plugins_dir"
とする.あとは32bit用のフォルダと64bit用のフォルダの下位ディレクトリ構成を一致させればいい
勿論avsを読み込むプログラムによって読み込み先を変えてもいい.
※2014/04/11 追記
"path/to/64bit_plugins_dir"の後ろに"\"(バックスラッシュ)忘れてたので付け足した
---追記ココまで---

22 Mar 2014

avs制御用ユーザー定義関数

あまり使いドコロのない小技を幾つか
ただしavs+を想定

24 Jan 2014

x264をr2391に更新

x264更新しました.
r2389じゃないのはr2390でr2386絡みの修正がされたから
というのは建前で自分のローカルリポジトリのリモート先にx264-develの方はあったけどvideolanのがなくてめんどかったからなだけという…

avs+のオートロードの問題はavs+側で修正されるまで取り敢えず蟲師氏のpatch当てることにした.

avs+といえばMTが実装真最中
手元のフィルタはいい感じで動いてくれてる.内蔵リサイザなら4倍くらいになる.
f3kdbとかもMT_NICE_PLUGINで動く.
SangNom2とかmasktoolsとかAviSynth+開発チームのプラグインはすでにavs+ MTのAPIへの対応が進められてる.
ただ,結構頻繁に使用するStackVertical/HorizontalがMTで動かなかったりまだまだexperimentalな模様.
(追記: 2014/01/31現在ではStackVertical/Horizontal含めて大半の内蔵フィルタが既にMT対応が成されてます)

3 Dec 2013

ShowFiveVersionsとAntiCombを使う例のアレをAntiComb無しでする

説明すると長くなるので省略するが,AntiComb無しでアレをしたい状況になったので作った.

29 Nov 2013

VSとAVSの64bit版

L-SMASH-Works r702からLSMASHSource.dllとvslsmashsource.dllの64bit版も同梱しています.
VapourSynthとAviSynthの64bit版について少し.