Quantcast
Channel: Cell Phone Resele
Viewing all 161 articles
Browse latest View live

AviUtlのスムージングフィルタSIMDが更新されたみたいなので…

$
0
0
※ 2012/02/10 追記
MosquitoNR.dllが出たのでこれはもはや必要ありません.


AviUtlのスムージングフィルタSIMDが更新されたようです.( BeanのAviUtlプラグイン置き場
POPさんが紹介してた『「低周波成分保護フィルタ」を利用した疑似モスキートノイズリダクションフィルタ 』をavisynthで使うと色空間変換などを挟むためavsが数行にわたって必要になり煩雑になることとその他のフィルタと「.」でチェーンにできないからこれまた煩雑になるのが嫌だったので(あとは関数の書き方のお勉強.エンコード初めてそんなに経っていないので…)関数化してavsiをひっそりと公開していたのですがそれなりに需要あったみたいなので今回のスムージングフィルタSIMDの更新に対応したものを置いておきます.
waveletaf_smoothing_v0.2.avsi
名前は適当.中を見てもらえればだいたいわかるかと思います.autoloadフォルダに突っ込んでください.
avsiにも書いてるようにプレビューのオン・オフしやすくなるっていうのとavsがすっきりするっていうだけでPOPさんが紹介しているものから特に変更もしていないのでなんの面白味もありませんが…
要は1行で書けるってだけです.
入力はseraphy氏のwarpsharpパッケージ付属のwarpsharp内臓ConvertYUY2ToAviUtlYC()を使うのであればYUY2のclipならそのまま,それ以外のclipなら関数内でConvertToYUY2()を噛ますようにしているので色空間変換はしなくていいです.
Makki氏のConvertToAviUtlYCFix()を使うのであればYUY2/RGB24/RGB32のclipならそのまま,それ以外のclipなら同じく関数内でYUY2に変換します.
出力はYUY2のままかYV12にするか選択できるようにしてます.
AviUtl グローバル環境変数の編集は忘れないように.

使用例とか必要なものとかもavsiに書いてます.


非常におもしろく便利なモスキートノイズ低減の手法を公開してくださったPOPさんに感謝感謝です.

参考リンク:
POP@4bit(「低周波成分保護フィルタ」を利用した疑似モスキートノイズリダクションフィルタ)

※ 2012/02/01 追記
入出力周りを修正.オプションの変更.
自分の使用用途に合わせ使いやすくしただけ(4:2:2でエンコードする際waveletaf_smoothingFix()の出力段階でYV16とし,そのままf3kdb()に渡したかったため.あとはRGBで出力したかったため)
waveletaf_smoothing_v0.2.1.avsi

スレッド数増やしすぎても遅くなります.4くらいがちょうどいいです.差し替えるの面倒なのでi7とかブル使ってても4とかに書きなおして使ってください.

※2012/02/02 追記
低周波成分保護フィルタ更新に伴い微調整
waveletaf_smoothing_v0.2.3.avsi

書き忘れてたけどYV16とか使うのはavisynth2.6以降でないといけない.
2.5xは? 知らない
MTは? 知らない( http://mod16.org/hurfdurf/?p=234 )
avisynth64は? 知らない(例の画像ry

某所を見ての事なんですが個人的にはmakki氏のFixの方を使ってlumaのみにするのが一番いいかと思います.
というか意味がわかってたらそうするよね…

単位ー単位ーどこにあるの?つらいーつらいー5年目があるの?怠惰がー留年をつーれーてーきーたー(問題山積!)

$
0
0
テスト終わりました… いろんな意味で終わりました. 留年はごぶごぶって感じ
終わったことを考えても仕方ないので溜まってるエンコして積みラノベ消化して積みフィギュア開封祭に興じたいと思います.

Read more »

x264のr2183に関して

$
0
0
昨日まで帰省してゲーム三昧していたのでx264のビルドサボっていたんですが今日ビルドしてみるとどうもwin32threadでビルドするとクラッシュするみたいです.
win32threadが原因かと思った経緯ですが,初めはうちのビルド環境やlibavなどのライブラリが原因かと思い,自ビルドのmingw-w64/gccではなく某所から拾ってきたものに変えたりr2164をビルドした際に使用したライブラリを使用したりしたのですが解決せず…
そこで他の人のビルドでも試してみたところ同様の現象が確認されたのでx264側の問題かなということに
更新分のどれが原因か検証するのめんどいから放置でいいかなと思ってたところでkomisar氏が更新されていたのでそのバイナリで試してみたところクラッシュせず…ん?ということでクラッシュするバイナリとの違いを考えたところそういえばkomisar氏はpthreads使ってたなあと思ってposixでビルドしてみるとクラッシュしない…
じゃあthreads関連いじってるのどれかなと見てみると,これですね→http://git.videolan.org/?p=x264.git;a=commit;h=c522ad1fed167d0e985e4f9dcdee042473cf74db

試しにこいつをリバートしてwin32threadでビルドしてみると…クラッシュしない\(^o^)/
リバートしてwin32threadでビルドするかposixでビルドすればいいんですが次回更新待ってもいいかなとか思ったり今からアニメ見たいしってことで今回はスルーで

※2012/03/13 追記
r2184で修正されました.
BugMaster氏曰く,r2183での変更はwin64環境でsliced threadsを用いた場合にエンコード中にクラッシュしたり遅くなりsliced threadsを用いなくてもエンコード終了時にクラッシュする.バグは全ての環境で起こり得たはずなのに64bitのwin32threadsでビルドしたバイナリのみがクラッシュするのはなんとも奇妙だ.(超意訳)とのこと.

batでbashのコマンド置換もどきをする

$
0
0
先日友人にbatでコマンド置換ってどうやんの?と聞かれました.どうもavs2pipemodの-x264rawオプションをbatで使いたいらしい…
私はコマンド置換にはmsysのbashでシェルスクリプト使っていたので特に考えたこともなかったのですが確かにどうすればいいんだろと気になったので考えてみました.
結論としてはforの/fオプション使ってコマンドの実行結果を変数に格納すればいいんでないかって感じです.
@echo off
set a2pm="D:\encode\tools\avs2pipemod.exe"
set x264="D:\encode\tools\x264_x64-10bit.exe"
set bd=16
set options=--crf 25 --preset ultrafast
for /f "usebackq tokens=*" %%i in (`%a2pm% -x264raw^=%bd% %~1`) do set xr=%%i

%a2pm% -rawvideo %~1 | %x264% %xr% %options% -o %~n1.mp4

pause
こんな感じでいけるはず.変数は適当に変えてください.
`%a2pm% -x264raw^=%bd% %~1`のクォートはバッククォートです.シングルクォートではありません.
-x264raw^= の^(キャレット)を忘れないように.
あとbat内では%i ではなく%%i とする必要があるので注意.

これを考えてる時に気付いたのだが-x264rawオプションのエラー判定がどうもおかしい.そこでChikuzen氏に聞いたところ早速修正してくださったのでこれを使う場合は最新のバイナリに変更してください.(これを書いている段階ではまだ修正版のバイナリは配布されていないので自分でビルドするか配布されるまで待ってください)
※ 2012/03/16 追記
公開されたようです.

x264_L-SMASHをr2184に,L-SMASHをr564,L-SMASH-Worksをr119に更新

$
0
0
腰痛がやばい今日この頃…
まとめて更新です.

x264はr2184へ更新しました.Bugfix中心ですが大半がビルドのみに関するものやlibx264に関するものなど直接ユーザー側に影響のあるものは少なめな印象.
最も関係があるのがr2167でのrgb出力のfix.
R・G・Bの並び替えがミスってたみたいです.BGRやBGRAでの入力でなら以前のものでも正しかったとのこと.

L-SMASHはr564へ更新しました.
AviUtlのx264guiExがv1.35でL-SMASHに対応したようです.

L-SMASH-Worksは久しぶりの更新.最終フレームをシークした時にクラッシュする問題が修正されています.
Read more »

4月になってしまったわけだが…

$
0
0
ただの日記的なものとアニメの感想とか

早くも4月になってしまい新年度が憂鬱です…
つい先日丸3年間働いていたバイトを辞めて完全な学生ニートにクラスチェンジしました.
大学の方が忙しくなるからなんですがあいも変わらず勉強はしてないのでやばいとにかくやばい.
ただ,アニメ見る数減らそうとかは全く考えていなかったりするし,ゲームばっかしてる.思えば高校受験も大学受験もこんな感じだったような…
自堕落な性格は死ぬまで治らんのです.

で,1月スタートアニメの感想ですが非常に豊作だったと思います.
個人的1位はダントツでなつまち,続いて盲牌,BRSって感じです.

Read more »

ditherで遊んでみる

$
0
0
高ビット深度をavisynthで扱う時何かと使うことになるditherですが何分dither自体にかなりの種類のフィルタや関数が含まれていて,ditherを使う関数もかなり出てきているのでほんの一例を紹介.

まずavisynthで高ビット深度のclipを扱う時に知っておくといいことをかなり大雑把に説明します.
avisynthは8bit pixel値しか扱うことができないため16bit pixel値を8bit pixelずつに分けて扱うということをします.
このようなpixelを作り出す方法は幾つかあるのですがavisynthでエンコードをする上で関係があるのが主に2つで,上位8bitを示すMSBと下位8bitを示すLSBを完全に2つに分け上下に並べたstacked formatと交互に横に並べたinterleaved formatです.
とりあえず難しい話は置いといてノイズ除去などはstacked formatで処理して最後にinterleaved formatにしてx264に渡すと思っておけばまず問題ないです.
Read more »

L-SMASH-Worksをr144に,L-SMASHをr589に更新

$
0
0
※2012/04/17 L-SMASH-Works r148をUPしました.BDのLPCMに対応しました.

L-SMASH-Worksがr144に更新されました.
今回の更新でLibav + L-SMASH Reader,FFMS Readerの他にLibav Readerが追加されました.
Libav Readerはffms2よりも正確にTSをシークできます.また,Libav + L-SMASH Readerと同様にインターレースにも対応しています.
Read more »

L-SMASH-Worksをr215に更新

$
0
0
※2012/06/19 r231をskydriveにUPしています.記事を書く時間がなかったので… 

久しぶりにビルドしたの上げときます.
前回から結構変更点がありますので更新をおすすめします.
Read more »

最近のエンコード事情とか

$
0
0
今期のアニメの一言感想・エンコード状況
BS映るようになったよー
zenbook買ったよー
LAV Filtersのこと
などなど

Read more »

x264のqpfile

7月だ

$
0
0
※2012/06/28 L-SMASH-Works r252をupしました.r248では音声が映像と同期しない問題(私が試した限りではBS11のTS)があるため更新を推奨します.

4月アニメ感想と7月アニメ視聴予定.それとL-SMASH-Works更新とか

4月アニメで一番はダントツでヨルムンガンドでした.これ以外にないでしょう.ストーリー,キャラクター,音楽…全部良かった.ココちゃんかわいいヨナくんかわいい!
あとはAWとかも良かったです.ハルユキさんまじイケメン!
氷菓はえるたそかわいいけどマヤカがうざい.というか氷菓はえるたそでブヒブヒできる人以外つまらんのではないだろうか…
それ以外の作品はところどころ積んでいるので8月以降に消化しようと思います
Read more »

プレイヤーとか再生環境の設定メモ そのに

$
0
0
!検索でこのページに来る人が多いようですがこの投稿内容は既に古いものですし,今後更新する予定もありません.以下の其ノ参を参照して下さい
 → http://k4095-takuan.blogspot.jp/2012/12/nv-ver.html  

※2012/10/03 追記: 其ノ壹の記事戻すのめんどかったのでmadVRの設定追加した.以上追記

※2012/11/03 若干修正・追記
※2012/11/12 MPEG-TSのスプリッターに関して追記

以前の投稿 プレイヤーとか再生環境の設定メモ (←どうやら編集して下書きにしたつもりがいつの間にか消してしまってたようなのでそのうち暇があれば戻しておきます(汗)) の其ノ貮
ちょっとごちゃごちゃしてきたしそれなりに変更があるので壱から書き直し

Read more »

L-SMASH-Worksをr289に更新

$
0
0
※追記:音声読み込みに対応したのでr294をupしました.

更新しました.
r287からAvisynth用PluginのLSMASHSource.dllが追加されています.

新たに追加されたLSMASHSourceはr289時点でYUV 4:2:0 12bpp, YUV 4:2:2 16bpp, RGB 24bpp, RGBA 32bppの映像の読み込みに対応しています.
対応するファイルフォーマットはlsmashinputのL-SMASH + Libav Readerのそれと同じです.(つまりMP4, MOV, 3GPP)

使い方などは同梱のreadme.txt及びexample.avsを参考にして下さい.

DL:
L-SMASH-Works r294

L-SMASH-Works r306

院試

$
0
0
受かってました.
一応研究室も第一志望のところ(今いる研究室).
これで来年の桂流しが決定してしまった.桂とか何もないから引き籠りが加速する…
正直院試1日目は数学は難化するし機力は質量mを2mで計算しててそれ以降全滅だしで生きた心地しなくて,2日目も熱力でサイクル忘れてもうだめぽって感じだったのでほんとよかったです.
後期からは卒論の実験やりはじめないといけないけどとりあえずそれまでに今まで溜め込んだ200数十本のエンコードを消化しなければ(無理
積みラノベも消化しないといけないし.
そういえば今日気付いたけどcretindesalpes氏のdither toolsが更新されてDither_removegrain16 / Dither_repair16 が追加されてました.
今まではリサイズ後のリンギング低減などにremovegrainを使おうとするとせっかくDither_resizeとかで16bitでリサイズ処理をしても一度8bitに戻さなければいけなかったのがこれで必要なくなります.
ありがてえありがてえ.


2012年秋アニメ視聴予定とか

$
0
0
※ 2012/09/11 追記
来期MANPAは第一部:緋色2期,第二部:ぬら孫ベストセレクション,第三部:はんた の構成になりました.
やはり4 -> 3作品に縮小されたようです.ぬら孫ベストセレクションはOVA発売記念としてファン投票でベスト11話を決め放送するようです.
ということで自分はMANPA全切り確定ですね.
追記ここまで

そろそろKBSオンリー圏の秋アニメの話も出てきたとこなので視聴予定と放送時間根拠なし予想(妄想)とか
来期注目は何といっても関西アニメの勢力図が変わっていく節目になりそう?ということです.
ただしKBSしかU局が映らずTVOが映らないテレ東系不毛地帯地域の情報しかわかりません.(つまり大阪の方は知りません.めちゃくちゃ限られた地域です…)
まず,なぜ関西アニメの勢力図が変わる節目になりそうかというと
1. ABCが深夜アニメ(枠?)を復活させた
2. 日テレの深夜枠が現状ない(休止?)ためMANPAのクール遅れ日テレアニメネット枠に入る作品がなくMANPA自体2 or 3作品へ縮小される可能性がある
という2点があります.

Read more »

x264更新.VSのhigh bit-depth y4mに対応.

$
0
0
x264バイナリをr2230に更新しました.
今回の更新でVapourSynth (VS) のhigh bit-depth y4m拡張に対応しました.
VSはYUV420P10などに対応しているのでAVSのように所謂dither hackをしなくてもhigh bit-depthを扱うことができますが,今回の更新でその利点をより利用しやすくなったかと思います.
以下幾つかサンプルスクリプト・・・
Read more »

GTX 660買った

$
0
0
ちょっと前に玄人志向のGF-GTX660-E2GHD/DF/OCをIYH!!してしまいました
GalaxyのGF PGTX660-OC/2GD5のOEMです.
週末にツクモ見るとIYH!!が捗りますね.
Read more »

プレイヤーとか再生環境の設定メモ そのさん (Nv ver.)

Nexus7買うたった

$
0
0
エロ漫画閲覧専用端末のNexus7を買いましたん.

漫画viewer的には思ってたより良い感じですな.
特に端末に関して語る程の知識も興味もあまりない私には十分でしょう.
動画再生に関しては評判通りTegra3 微妙すなあ.
あと,Android版のVLCが出た時にtwitterで言ってたんですが colormatrixを認識できるのVLCしかまだないみたいですね.
ちょっと期間が空いてたので他のプレイヤーでもいけるかな?と思ったのだけれども残念.
VLCはBT.709もBT.601もエンコード時に指定したcolormatrixを読み取ってちゃんと再生してくれるのだけれど他のアプリでは強制BT.601表示.初期のvitaみたいな感じです.
まだ私が知らないプレイヤーでVLCのようなものがあるかもしれないので他にもあるよと言う方は教えていただきたいです.
ただこれがAndroid OSの仕様なのかHW的な仕様なのかプレイヤーアプリの仕様なのかはわかりません.
VLCがソフトウェア的に何らかの処理をしてBT.709を表示しているかどうかはわかりませんから.
PCやVita用と共通の設定でエンコードしたものを再生したい場合,BT.709なものを再生したいのであればVLC一択状態なのですがいかんせんTegra3自体がしょぼいのとAndroid版のVLCがまだbeta状態ではっきり言ってこれも微妙という…
できるだけストレスレスで再生したいのであればVLC以外のプレイヤーでBT.601でエンコードしたものを再生するのが現状では良さそう.
できるだけ負荷を少なく再生するためには再生時にアップスケールもダウンスケールもしないように1280x720でエンコードしてフルスクリーンで再生すればいいかと.
10bitも再生出来ますがわざわざ携帯端末向けに10bit使う意味は無いでしょう.
open-gopなもののHWデコードは問題なく出来ました.
ちなみにリサイズとカラーマトリクス変換に使ったのは以下の関数

/******************************************************************************
* HQResampleResize : Function HQResampleResize()
* gamma aware resize function for Android devices
* this resizer is mainly for downscaling.
* cm_mode means colormatrix mode.
* iirc, media players for Android devices cannot understand colormatirx
* and colormatirx is forced to BT.601 except VLC.
* So, output colormatrix is set to BT.601 when cm_mode == "nonVLC".
* input colormatrix is automatically selected depending on the clip definition.
* when cm_mode == "VLC", output colormatrix is automatically
* selected depending on the clip definition, too.
* Written by Takuan (K4095)
* v0.1.5 - 07 January 2013
******************************************************************************
* +----------+
* | Required |
* +----------+
* dll:
* dither (v1.22.0 or higher)
* MaskTools2 (v2a48 or higher)
* avsi:
* dither.avsi
* mt_xxpand_multi.avsi
*
* +-------------+
* | restriction |
* +-------------+
* This function assumes only tvrange && progressive sources.
*****************************************************************************/

Function HQResampleResize(clip input, int "w", int "h", float "src_left", float "src_top", float "src_width", float "src_height", \
bool "lsb_in", bool "lsb_out", int "d_mode", string "cm_mode")
{
/* Default settings */
lsb_in = Default( lsb_in, False)
iw = input.Width()
ih16 = input.Height()
ih = (lsb_in) ? int((ih16)/2) : ih16
w = Default( w, iw)
h = Default( h, ih)
src_left = Default( src_left, 0)
src_top = Default( src_top, 0)
src_width = Default( src_width, 0)
src_height = Default(src_height, 0)
lsb_out = Default( lsb_out, False)
d_mode = Default( d_mode, 6) /* dithering mode for 8-bit output */
cm_mode = Default( cm_mode, "VLC") /* colormatrix mode */

/* cm_num setting */
cm_num = (cm_mode == "VLC" ) ? 0 : \
(cm_mode == "nonVLC" ) ? 1 : \
(cm_mode == "709->601") ? 2 : \
(cm_mode == "601->709") ? 3 : \
(cm_mode == "709" ) ? 4 : \
(cm_mode == "601" ) ? 5 : \
Assert(False, "HQResampleResize: wrong cm_mode value!")

/* res detection */
in_cm = (cm_num <= 1) ? (((iw > 1050) || (ih > 576)) ? "709" : "601") : \
(cm_num == 2) ? "709" : \
(cm_num == 3) ? "601" : \
(cm_num == 4) ? "709" : "601"

out_cm = (cm_num == 0) ? ((( w > 1050) || ( h > 576)) ? "709" : "601") : \
(cm_num == 1) ? "601" : \
(cm_num == 2) ? "601" : \
(cm_num == 3) ? "709" : \
(cm_num == 4) ? "709" : "601"

/* Y'CbCr -> R'G'B'
* Algorithm for Chroma up-sampling should be that does not ring too much to avoid false colors.
* Here, using blackmanminlobe, taps=2. */
rgb48 = (!lsb_in) ? input.Dither_convert_yuv_to_rgb(matrix=in_cm, interlaced=False, tv_range=True, cplace="MPEG2", chromak="blackmanminlobe", \
taps=2, lsb_in=False, output="rgb48y", noring=True) : \
input.Dither_convert_yuv_to_rgb(matrix=in_cm, interlaced=False, tv_range=True, cplace="MPEG2", chromak="blackmanminlobe", \
taps=2, lsb_in=True, output="rgb48y", noring=True)

/* R'G'B' -> RGB */
yg2l = rgb48.Dither_y_gamma_to_linear(tv_range_in=True, tv_range_out=True, curve="709", u=1, v=1)

/* Resizing section
I like Catmull-Rom Resizing algorithm. */
resized = yg2l.Dither_resize16nr(w, h, src_left=src_left, src_top=src_top, src_width=src_width, src_height=src_height, \
kernel="cubic", a1=0, a2=0.5, cplace="MPEG2", y=3, u=1, v=1, noring=True)

/* RGB -> R'G'B' */
yl2g = resized.Dither_y_linear_to_gamma(tv_range_in=True, tv_range_out=True, curve="709", u=1, v=1)

/* R'G'B' -> Y'CbCr
* Here, using blackmanminlobe, taps=2 for Chroma up-sampling, too. */
R = yl2g.SelectEvery(3, 0)
G = yl2g.SelectEvery(3, 1)
B = yl2g.SelectEvery(3, 2)
output = (lsb_out) ? Dither_convert_rgb_to_yuv(R, G, B, matrix=out_cm, interlaced=False, tv_range=True, cplace="MPEG2", chromak="blackmanminlobe", \
taps=2, lsb=True, output="YV12", noring=True) : \
Dither_convert_rgb_to_yuv(R, G, B, matrix=out_cm, interlaced=False, tv_range=True, cplace="MPEG2", chromak="blackmanminlobe", \
taps=2, lsb=False, mode=d_mode, ampn=0, ampo=1, output="YV12", noring=True)
return output
}

一応テスト用に幾つかエンコードして再生させましたがVLC以外を使うのであればBT.601に変換しないといけないことやぶっちゃけNexus7自体の能力不足がアレなのでこいつで動画を再生することは無いでしょうな.
vitaあるし
やはりNexus7はエロ漫画閲覧専用端末・・・ 

DL: HQResampleResize.avsi
Viewing all 161 articles
Browse latest View live