らファイルのインポートができなくなった。
versionを0.62にしたのですが、
mp4box -add input.m4a video.mp4
とやると、
Error removing file video.mp4
Error:I/O Eror
とか出てくる。
mp4boxのversionをさかのぼっていくと、
0.51まではできたけど0.52から上書きができなくなってるっぽい?
理由はわかりませんが、
http://forum.doom9.org/archive/index.php/t-94541.html
の辺のもう10年前の議論を見ると、
mp4box -add input.m4a video.mp4 -out output.mp4
とやれということに。
なんとなくchangelogの
「UTF16 name handling.」
が怪しい気がします。(0.52以降のmpo4boxはutf8で文字列を吐くので・・・)
まぁ、ファイルを上書きするんだから、多少気を遣うのもわからんではないですが・・・
オプションの説明には
-out filename specifies output file name
* Note: By default input (MP4,3GP) file is overwritten
と書いてあるのに、なんででしょうね。
2016/09/25
2016/09/21
台風の影響
今日気が付いたこと。
昨日のNEW GAMEが録れてない!
地上波のテレビが映らない!
共用の漏電ブレーカが落ちてる!
→とりあえず入れてテレビが映ることを確認
・・・取れてない番組はいずれもBSでやっているやつでよかった・・・
昨日のNEW GAMEが録れてない!
地上波のテレビが映らない!
共用の漏電ブレーカが落ちてる!
→とりあえず入れてテレビが映ることを確認
・・・取れてない番組はいずれもBSでやっているやつでよかった・・・
2016/09/20
MDR-1ADACの癖
MDR-1ADAC
去年、東京にいるときに近くのビックカメラで買ったんですよ。
というか、オーディオシステムはさすがに持って行かなかったので、オールインワンのまともな再生環境を、と。
思えば
・引っ越した日にノートパソコンを買う
・その数日後?にヘッドホンを買う
・その2か月後?ぐらいに耐えられなくなって適当なモニタを買う→後輩にあげて帰ってくる、
とか結構散財してましたね。
いや、モニタは買った後になぜもっと早く買わなかったか後悔しましたが。
んで、DAC付きのヘッドホンを買ったのですが、東京にいる間は気が付かなかったものの、こいつが結構癖があるような気がしてきました。
前々からうすうす気が付いてはいたのですが、なぜか僕の環境ではUSB 3.0のポートに刺さないとちゃんと動作しません。
最高でも192kHz*24bit・・・だった気がするので、帯域はUSB2.0あれば十分なはずですが・・・
仕様上もUSB2.0 HighSpeedと書いてあるのに、謎です。
まぁ、USB2.0の方につながっているハブは何なのか確認していないので、単純にチップレベル(というかおそらくドライバ)の相性なんでしょうが。
ちなみに、Nexus7(2013)では特に問題なく動作します。(周波数は知りませんが)
→どうも入力電流の関係ではないかと思い始めました。
最大入力電流:1.5Aとなっているので、PCからの給電部に0.5Aまでしか流せないUSB2.0のポートをつなぐと正常動作しない、という。
もっと流せるポートにつなぐ、もしくはヘッドホン側のPC/CHARGEではない口につなげば、別にUSBの対応規格に関係なく行けるのでは。(規格上USB3.0のほうが0.9Aなので有利でしょうが)
自分の部屋に帰ってくるとまともなスピーカでそこそこ音量を上げて鳴らせるためあまり出番がありませんが、好みの音と程よいフィット感で好きな機材です。
・・・そして先日、なぜか新幹線・飛行機用にwirelessでNCに対応したMDR-100ABNを買ってしまうという暴挙に・・・
いや、また別の話ですね。
去年、東京にいるときに近くのビックカメラで買ったんですよ。
というか、オーディオシステムはさすがに持って行かなかったので、オールインワンのまともな再生環境を、と。
思えば
・引っ越した日にノートパソコンを買う
・その数日後?にヘッドホンを買う
・その2か月後?ぐらいに耐えられなくなって適当なモニタを買う→後輩にあげて帰ってくる、
とか結構散財してましたね。
いや、モニタは買った後になぜもっと早く買わなかったか後悔しましたが。
んで、DAC付きのヘッドホンを買ったのですが、東京にいる間は気が付かなかったものの、こいつが結構癖があるような気がしてきました。
前々からうすうす気が付いてはいたのですが、なぜか僕の環境ではUSB 3.0のポートに刺さないとちゃんと動作しません。
最高でも192kHz*24bit・・・だった気がするので、帯域はUSB2.0あれば十分なはずですが・・・
仕様上もUSB2.0 HighSpeedと書いてあるのに、謎です。
まぁ、USB2.0の方につながっているハブは何なのか確認していないので、単純にチップレベル(というかおそらくドライバ)の相性なんでしょうが。
ちなみに、Nexus7(2013)では特に問題なく動作します。(周波数は知りませんが)
→どうも入力電流の関係ではないかと思い始めました。
最大入力電流:1.5Aとなっているので、PCからの給電部に0.5Aまでしか流せないUSB2.0のポートをつなぐと正常動作しない、という。
もっと流せるポートにつなぐ、もしくはヘッドホン側のPC/CHARGEではない口につなげば、別にUSBの対応規格に関係なく行けるのでは。(規格上USB3.0のほうが0.9Aなので有利でしょうが)
自分の部屋に帰ってくるとまともなスピーカでそこそこ音量を上げて鳴らせるためあまり出番がありませんが、好みの音と程よいフィット感で好きな機材です。
・・・そして先日、なぜか新幹線・飛行機用にwirelessでNCに対応したMDR-100ABNを買ってしまうという暴挙に・・・
いや、また別の話ですね。
2016/09/19
アニメは難しい
Speakeasyさんたちの作品を1話からマラソンして見てみました。
といってもアニメだけ、最終回はまだですが。
(小説はすべて発売日に買ったのにまだ読んでいないという体たらく・・・)
といってもアニメだけ、最終回はまだですが。
(小説はすべて発売日に買ったのにまだ読んでいないという体たらく・・・)
2016/09/18
驚異の海外通販
cyclingexpressというのがあるらしいのですが、そこでCanondaleとかDE ROSAの完成車やフレームが安く売ってました。
2年落ちとかですが、Super six carbon 6(frameset)が39999とか、SuperSixEVOのSRAM REDverが255kとか、IDOL ultegra Di2が325kとか。
まじか・・・
ここまでであればまぁ海外ならね、と思うだけなのですが、なんと、国内のお店で組み立てとかもやってくれるという・・・
僕の家の近く?にも対応店舗があったのでアフターサポートとかも受けられそう・・・(ブラジルの方らしい?ので英語で会話する必要があるかもしれませんが)
思わずポチりそうになります。
フレームが40kなら失敗してもあきらめがつくので、自分で組んでみたくなってしまいます。
いや、深夜のハイテンションは怖いですね。
それもこれも天気が悪い所為です。
2年落ちとかですが、Super six carbon 6(frameset)が39999とか、SuperSixEVOのSRAM REDverが255kとか、IDOL ultegra Di2が325kとか。
まじか・・・
ここまでであればまぁ海外ならね、と思うだけなのですが、なんと、国内のお店で組み立てとかもやってくれるという・・・
僕の家の近く?にも対応店舗があったのでアフターサポートとかも受けられそう・・・(ブラジルの方らしい?ので英語で会話する必要があるかもしれませんが)
思わずポチりそうになります。
フレームが40kなら失敗してもあきらめがつくので、自分で組んでみたくなってしまいます。
いや、深夜のハイテンションは怖いですね。
それもこれも天気が悪い所為です。
2016/09/17
force
でもダースベイダーではありません。
今日自転車を漕ごうとしたらアウタートップにしたとき、クランク1周で一回チェーンがずれるような音が・・・
はて?と思ってみてみるとチェーンリングの歯が1か所曲がっているようです。
とりあえず曲げなおして元に戻りましたが・・・そういえばこの間乗っているときに1回チェーンが落ちましたね。
と思って久しぶりにヤフオクを見てみると、force22のコンポセットが76k。
・・・あれ?とポチってしまいそうになりました。怖い怖い。
買ってしまったが最後、フレームを買うか、今の自転車を組みなおすかしかなくなります。
日本では人気がないからでしょうかね。
Ultegraとほぼ同じ価格で買えるなら良いような気がします。
今日自転車を漕ごうとしたらアウタートップにしたとき、クランク1周で一回チェーンがずれるような音が・・・
はて?と思ってみてみるとチェーンリングの歯が1か所曲がっているようです。
とりあえず曲げなおして元に戻りましたが・・・そういえばこの間乗っているときに1回チェーンが落ちましたね。
と思って久しぶりにヤフオクを見てみると、force22のコンポセットが76k。
・・・あれ?とポチってしまいそうになりました。怖い怖い。
買ってしまったが最後、フレームを買うか、今の自転車を組みなおすかしかなくなります。
日本では人気がないからでしょうかね。
Ultegraとほぼ同じ価格で買えるなら良いような気がします。
2016/08/21
でれむ
あ…ありのまま 先日 起こった事を話すぜ!
「おれは リゼロを見ていたと思ったら いつのまにかamazonのカートにBDを9個入れてポチっていた・・・」
な・・何を言っているのか わからねーと思うが、おれも 何をされたのかわからなかった・・・
催眠術だとか超スピードだとか(以下略)
世の中には恐ろしいことがいっぱいありますね。
「おれは リゼロを見ていたと思ったら いつのまにかamazonのカートにBDを9個入れてポチっていた・・・」
な・・何を言っているのか わからねーと思うが、おれも 何をされたのかわからなかった・・・
催眠術だとか超スピードだとか(以下略)
世の中には恐ろしいことがいっぱいありますね。
2016/08/17
2016/08/16
ダイキンの調査結果
・日中は35分までの外出であれば、エアコンを「つけっぱなし」の方が安い。
・夜は18分までの外出であれば、エアコンを「つけっぱなし」の方が安い。
とのこと。
具体的な数値を挙げてくれているのがありがたいです。
というか30分程度であればつけっぱなしのほうが安い、というのは感覚通りですね。
・夜は18分までの外出であれば、エアコンを「つけっぱなし」の方が安い。
とのこと。
具体的な数値を挙げてくれているのがありがたいです。
というか30分程度であればつけっぱなしのほうが安い、というのは感覚通りですね。
データから見る最近の傾向
5s 出力:783W(843)
1min出力:355W(413)
5min出力:238W(238)
20min出力:204W(209)
60min出力:186W(186)
が直近3か月での最大および、全データの最大(カッコ内)です。
5s出力については覚えがあり、確かに最近スプリントをしていません。
60minについてはベスト4がいずれもイベントでの値となっていることから、如何に普段追い込んでいないかということが分かってしまいます。
というかどこかへ行くときには信号なりなんなりがありますし、どうしても後先を考えてしまうため追い込めませんね・・・
部屋の中でもそこまで集中力がないことから連続では20min程度で終わってしまっていることが多いですし。
1minについては単純に素材の・・・というか普段部屋の中で回す時にはアニメのOP/EDで全力でこぐ、ということをしているため好きな曲かどうか、というのが大きいような・・・
というか根本的に練習の頻度をもっと上げないとだめですね。
1min出力:355W(413)
5min出力:238W(238)
20min出力:204W(209)
60min出力:186W(186)
が直近3か月での最大および、全データの最大(カッコ内)です。
5s出力については覚えがあり、確かに最近スプリントをしていません。
60minについてはベスト4がいずれもイベントでの値となっていることから、如何に普段追い込んでいないかということが分かってしまいます。
というかどこかへ行くときには信号なりなんなりがありますし、どうしても後先を考えてしまうため追い込めませんね・・・
部屋の中でもそこまで集中力がないことから連続では20min程度で終わってしまっていることが多いですし。
1minについては単純に素材の・・・というか普段部屋の中で回す時にはアニメのOP/EDで全力でこぐ、ということをしているため好きな曲かどうか、というのが大きいような・・・
というか根本的に練習の頻度をもっと上げないとだめですね。
2016/08/15
サイクルキャリア
車に自転車を積んで出かけることが多いので、サイクルキャリアなるものを買ってみようと思い立ちました。
僕が知ってるキャリアメーカーはTHULEかinnoかterzoですが、Terzoはフォークマウント式のみでラインナップが少ないのでひとまずTHULEかinnoで。
フォークマウント式はフルカーボンフォーク不可、と書いてある場合があるのでひとまず選外。
ディスクブレーキ化したときにだめかもしれですし、(スルーアクスル対応というのもありますが)自転車をそのまま屋根の上に乗っける感じのやつで行こうかと。
というわけでTHULEのProRide598を買ってみました。
グランツールとかでチームカーに乗ってるアレです。
というか合わせてTH775(足)とTH960(108cmのエアロバー)も。
んで、とりあえず自転車を乗っけ・・・るのが大変だった。
僕の車はフィールダーなので背が高いわけでもないのですが、脚立があった方がやりやすいかと。(なしでもなんとかなりましたが慣れで何とかなるのかならないのか・・・)
速度は70km/h程度でしか走っていないのでわかりませんが、特に問題なさそうです。
というかもともと自転車でも70km/hぐらいは出ますしね。
多少風切り音がするな、と思っていたら、別に自転車を乗っけてなくてもキャリア(TH598)を付けて走ると風切り音がすることが判明。→どうもエアロバーのT-track部分にゴムのふたをしていなかったからではないかと思い始めました。
いや、しょうがないですし音楽を鳴らしていれば気にならないのですが、使わない時は外しておこうと思いました。
キャリアだけなら取り外しもとても簡単で、1分かからないくらいで外れるのが良いです。
バーも外そうとするとたくさん回さなければならない箇所があるのでちょっと大変(3分ぐらい?)かも。
で、外すのはまだ簡単ですが、つけるときにまた位置決めをしなければならないのが面倒です。(気にしなければよいという話もありますが)
というわけで普段はバーはつけたまま、キャリアは外して荷室に放り込むことにしました。
別にロードバイクなので3人・3台は特に問題ないのですが、積み下ろしが楽になるといいな、ということで。
実際に使ってみて問題なければもう1個TH598を買って、ルーフ上に2台、荷室に2台で、4人・4台を乗っけられるようにする計画です。
現状は3(4)人・3台が限界で、セダンでも3人・3台は可能だったのでステーションワゴンにした意味があまりないという・・・。
僕が知ってるキャリアメーカーはTHULEかinnoかterzoですが、Terzoはフォークマウント式のみでラインナップが少ないのでひとまずTHULEかinnoで。
フォークマウント式はフルカーボンフォーク不可、と書いてある場合があるのでひとまず選外。
ディスクブレーキ化したときにだめかもしれですし、(スルーアクスル対応というのもありますが)自転車をそのまま屋根の上に乗っける感じのやつで行こうかと。
というわけでTHULEのProRide598を買ってみました。
グランツールとかでチームカーに乗ってるアレです。
というか合わせてTH775(足)とTH960(108cmのエアロバー)も。
んで、とりあえず自転車を乗っけ・・・るのが大変だった。
僕の車はフィールダーなので背が高いわけでもないのですが、脚立があった方がやりやすいかと。(なしでもなんとかなりましたが慣れで何とかなるのかならないのか・・・)
速度は70km/h程度でしか走っていないのでわかりませんが、特に問題なさそうです。
というかもともと自転車でも70km/hぐらいは出ますしね。
いや、しょうがないですし音楽を鳴らしていれば気にならないのですが、使わない時は外しておこうと思いました。
キャリアだけなら取り外しもとても簡単で、1分かからないくらいで外れるのが良いです。
バーも外そうとするとたくさん回さなければならない箇所があるのでちょっと大変(3分ぐらい?)かも。
で、外すのはまだ簡単ですが、つけるときにまた位置決めをしなければならないのが面倒です。(気にしなければよいという話もありますが)
というわけで普段はバーはつけたまま、キャリアは外して荷室に放り込むことにしました。
別にロードバイクなので3人・3台は特に問題ないのですが、積み下ろしが楽になるといいな、ということで。
実際に使ってみて問題なければもう1個TH598を買って、ルーフ上に2台、荷室に2台で、4人・4台を乗っけられるようにする計画です。
現状は3(4)人・3台が限界で、セダンでも3人・3台は可能だったのでステーションワゴンにした意味があまりないという・・・。
2016/08/14
2016/08/12
ある日家に帰ったら
鯖から「ピー」という音が・・・。
音のもとはRAIDカード(RR2720)で、
Disk 'WDC WD30EFRX*' at Controller1-Channel4 failed.
とのこと。
ひとまず重要なデータだけ別ディスクにバックアップし、予備のHDDを付けて復帰しました。
異常を出したHDDはC5(Currend Pending Sector Count)が1個ありましたが・・勝手にリトライはしてくれないのでしょうか。
「Enable Continue Rebuilding on error」をDisableにしてるからかもしれませんね。
SMART情報は
09(稼働時間):21700時間
0C(電源投入回数):22回
C1(ヘッド退避回数):9771回 (70)
となってますが、不良になっていない(まだRAIDで動かしている)ほかのディスクの情報をRaidManagementユーディリティから見るとC1が軒並み30(/255?)ぐらいまで減っているのが気になる・・・
HighPointの管理ユーティリティでは生の値が見れないので一体いくつなのかいまいちわかりませんが。
C1自体はそこまで気にしなくてもよいと思いますが、C1が0になってSMART failureになった場合(なるのかな?)にどんな挙動になるんでしょうね。
いずれにしても3年したらHDDを交換するつもりでいたのですが、最近は大容量ディスクも安くなってきたので考え物です。
今買うとすればWD red 8TBか、Deskstar NAS 4/6TBあたりでしょうか。
・・・そういえばHGSTはWesternDigitalに買収されていたので、実はWD red 8TBってハードはHGSTと同じだったりしたりして・・・(ヘリウム充填とかも一緒ですし)
8TB*4 RAID5で24TBとか胸が熱くなりますが・・・別に3TB*4の9TBで困っていないという話もあります。
録画済みの動画が3TBもあるのが圧迫しているだけで、実際、1クールで必要なHDDって20作品録るとしても800GB程度で、1TBあれば十分です。
ということは保存領域を8TB*2でRAID1として、作業領域は3TB*2のRAID0とか、*3のRAID5で適当に作る、という手も。
悩ましいものです。
音のもとはRAIDカード(RR2720)で、
Disk 'WDC WD30EFRX*' at Controller1-Channel4 failed.
とのこと。
ひとまず重要なデータだけ別ディスクにバックアップし、予備のHDDを付けて復帰しました。
異常を出したHDDはC5(Currend Pending Sector Count)が1個ありましたが・・勝手にリトライはしてくれないのでしょうか。
「Enable Continue Rebuilding on error」をDisableにしてるからかもしれませんね。
SMART情報は
09(稼働時間):21700時間
0C(電源投入回数):22回
C1(ヘッド退避回数):9771回 (70)
となってますが、不良になっていない(まだRAIDで動かしている)ほかのディスクの情報をRaidManagementユーディリティから見るとC1が軒並み30(/255?)ぐらいまで減っているのが気になる・・・
HighPointの管理ユーティリティでは生の値が見れないので一体いくつなのかいまいちわかりませんが。
C1自体はそこまで気にしなくてもよいと思いますが、C1が0になってSMART failureになった場合(なるのかな?)にどんな挙動になるんでしょうね。
いずれにしても3年したらHDDを交換するつもりでいたのですが、最近は大容量ディスクも安くなってきたので考え物です。
今買うとすればWD red 8TBか、Deskstar NAS 4/6TBあたりでしょうか。
・・・そういえばHGSTはWesternDigitalに買収されていたので、実はWD red 8TBってハードはHGSTと同じだったりしたりして・・・(ヘリウム充填とかも一緒ですし)
8TB*4 RAID5で24TBとか胸が熱くなりますが・・・別に3TB*4の9TBで困っていないという話もあります。
録画済みの動画が3TBもあるのが圧迫しているだけで、実際、1クールで必要なHDDって20作品録るとしても800GB程度で、1TBあれば十分です。
ということは保存領域を8TB*2でRAID1として、作業領域は3TB*2のRAID0とか、*3のRAID5で適当に作る、という手も。
悩ましいものです。
2016/07/27
handbrakeの音声がおかしい
Handbrake ver10.5にはいふりのOPをエンコードさせたところ、音がおかしくなりました。
変なエフェクトがかかってるような音です。
調べたらほかにもそう言っている人がいました。
http://tdcat.com/2015/10/audio-problem-in-handbrake/
出力フォーマットをmp3にすれば問題ないのですが、libavもFDK-AACもどっちもおかしいような・・・。
エンコード方法を変えれば問題ない、ということはデコーダが悪いわけでもないようです。
単純にエンコーダの問題でしょうか。もしくは入力が24bitWaveだからとか・・・
いつもはNeroを使っているので良いのですが、Handbrakeも万能ではない、ということで。
変なエフェクトがかかってるような音です。
調べたらほかにもそう言っている人がいました。
http://tdcat.com/2015/10/audio-problem-in-handbrake/
出力フォーマットをmp3にすれば問題ないのですが、libavもFDK-AACもどっちもおかしいような・・・。
エンコード方法を変えれば問題ない、ということはデコーダが悪いわけでもないようです。
単純にエンコーダの問題でしょうか。もしくは入力が24bitWaveだからとか・・・
いつもはNeroを使っているので良いのですが、Handbrakeも万能ではない、ということで。
2016/05/31
2016/04/03
5年間
最近、SSEとかAVXとかの中身を調べていて思ったこと。
AVXは浮動小数点が256bit化され、AVX2は整数演算も256bit化されたらしいです。
だからAVX2ではx264の性能が上がってるんですね・・・
それにしても、CPUの最新モデルであまり変わり映えがしなくなって早数年、
PCの性能を左右する自作のキーパーツ ~CPU再入門編 その1~
でも5年前のCPUにもかかわらず、OC前提ならまだいけるのでは?(意訳)と言ってしまっているように、実質、今でも5年前のCPUであるところのi7-2600Kから乗り換えるメリットは薄いといっていいでしょう。なにせ、定格から30%もOCして常用できます。
この差を電力効率の向上でペイできるかというと実際のところ大半の人の使い方では「NO」でしょう。
電力が50W違って24時間365日動かしっぱなしにしても1万円/年も変わりません。
1998年ごろからの目まぐるしく変わるCPU市場を見慣れてしまった分、最近は「何も変わらない」という気がしてしまいます。
その理由を求めるなら、ついこの間Intelが認めたようにムーアの法則が崩れたこと、パソコンの主目的がシミュレーションやゲームなどの演算能力を必要とするものからただ単にインターネットができればよいというように変わってしまったこと、単にライバル(AMD)の停滞といったことも挙げられます。
スマホの普及により、ネット利用向けのパソコンの市場は縮小している昨今ですが、縮小すればこそ、コアな人たち向けの自作PC、という時代が再度来てほしいと願ってしまったりもします。
AVXは浮動小数点が256bit化され、AVX2は整数演算も256bit化されたらしいです。
だからAVX2ではx264の性能が上がってるんですね・・・
それにしても、CPUの最新モデルであまり変わり映えがしなくなって早数年、
PCの性能を左右する自作のキーパーツ ~CPU再入門編 その1~
でも5年前のCPUにもかかわらず、OC前提ならまだいけるのでは?(意訳)と言ってしまっているように、実質、今でも5年前のCPUであるところのi7-2600Kから乗り換えるメリットは薄いといっていいでしょう。なにせ、定格から30%もOCして常用できます。
この差を電力効率の向上でペイできるかというと実際のところ大半の人の使い方では「NO」でしょう。
電力が50W違って24時間365日動かしっぱなしにしても1万円/年も変わりません。
1998年ごろからの目まぐるしく変わるCPU市場を見慣れてしまった分、最近は「何も変わらない」という気がしてしまいます。
その理由を求めるなら、ついこの間Intelが認めたようにムーアの法則が崩れたこと、パソコンの主目的がシミュレーションやゲームなどの演算能力を必要とするものからただ単にインターネットができればよいというように変わってしまったこと、単にライバル(AMD)の停滞といったことも挙げられます。
スマホの普及により、ネット利用向けのパソコンの市場は縮小している昨今ですが、縮小すればこそ、コアな人たち向けの自作PC、という時代が再度来てほしいと願ってしまったりもします。
2016/03/26
コンパイラの吐くアセンブリコードがほぼ手書きと同じレベルな件
というかもはや最適化はインラインアセンブリではなく、
「如何にコンパイラが最適化しやすいCコードを書くか」ということに尽きる気がします。
というわけで21500ぐらいまで来ました。
何はともあれ、自分の環境(DevilsCannyon=Haswell)4.5GHzで普段使っているフィルタをかけて25~26fps出るようになったため、24フレームのアニメをフィルタをかけてリアルタイム再生できます。
参考にいつものフィルタは↓(TFMは事前処理(1pass目)なので2pass目では実質バイパス)
TFM(mode=1,order=-1,PP=1,slow=2,input=TFMout,batch=true)
TDecimate(mode=1,tfmIn=TFMout,input=TDout,batch=true)
FluxSmoothT(temporal_threshold=3)
Spline144Resize(resizex,resizey)
block=32
dfttest(ftype=0,f0beta=1,sigma=4,sbsize=block,sosize=block/2,smode=1,swin=0,tbsize=1,tmode=0,twin=7,dither=1,opt=0)
unsharpHQ(STR=1.0)
「如何にコンパイラが最適化しやすいCコードを書くか」ということに尽きる気がします。
というわけで21500ぐらいまで来ました。
何はともあれ、自分の環境(DevilsCannyon=Haswell)4.5GHzで普段使っているフィルタをかけて25~26fps出るようになったため、24フレームのアニメをフィルタをかけてリアルタイム再生できます。
参考にいつものフィルタは↓(TFMは事前処理(1pass目)なので2pass目では実質バイパス)
TFM(mode=1,order=-1,PP=1,slow=2,input=TFMout,batch=true)
TDecimate(mode=1,tfmIn=TFMout,input=TDout,batch=true)
FluxSmoothT(temporal_threshold=3)
Spline144Resize(resizex,resizey)
block=32
dfttest(ftype=0,f0beta=1,sigma=4,sbsize=block,sosize=block/2,smode=1,swin=0,tbsize=1,tmode=0,twin=7,dither=1,opt=0)
unsharpHQ(STR=1.0)
2016/03/21
7日間の残り
フロイド-スタインバーグ・ディザリング
ネックはdfttestのdither処理難ではないかというところで。
単純に最新のVCでコンパイルするだけで2割速くなりました。
が、そこからがなかなか短くならない・・・
コードの最適化もしているのですが、1000フレームのアニメをエンコードするのに
VC2015 communicateのプロファイラでモジュールのサンプル時間(1ms/sample)を測定したところ
dfttest 1.9:30123
dfttest VC14 /Ox /Arch:SSE2:25118
dfttest VC14 /Ox /Arch:SSE2 Optimized Code:22230
ほどかかっているようです。
ちなみにほかにも
fftw:39781
DGDecode:7348
FluxSmooth:3348
unsharpHW:3113
SplineResize:2457
となっています。
fftwは並列化されているためボトルネックにはならないのですが、やはりdfttestの関数自体の20s超が気になります・・・。
ディザリングをしなければこれが劇的に減るのですが、ね。
もうちょっとコードを弄ってみましょう。
というか、コンパイラで早くなったのはどうも浮動小数点の精度の所為な気がします。
というのも演算結果が変わるので・・・。
まぁ、SNは90dB以上=0.002%程度の差、1digit程度の差しかないため、実質問題はないかと。
/fp:preciseを指定しているのですが、謎です。
ネックはdfttestのdither処理難ではないかというところで。
単純に最新のVCでコンパイルするだけで2割速くなりました。
が、そこからがなかなか短くならない・・・
コードの最適化もしているのですが、1000フレームのアニメをエンコードするのに
VC2015 communicateのプロファイラでモジュールのサンプル時間(1ms/sample)を測定したところ
dfttest 1.9:30123
dfttest VC14 /Ox /Arch:SSE2:25118
dfttest VC14 /Ox /Arch:SSE2 Optimized Code:22230
ほどかかっているようです。
ちなみにほかにも
fftw:39781
DGDecode:7348
FluxSmooth:3348
unsharpHW:3113
SplineResize:2457
となっています。
fftwは並列化されているためボトルネックにはならないのですが、やはりdfttestの関数自体の20s超が気になります・・・。
ディザリングをしなければこれが劇的に減るのですが、ね。
もうちょっとコードを弄ってみましょう。
というか、コンパイラで早くなったのはどうも浮動小数点の精度の所為な気がします。
というのも演算結果が変わるので・・・。
まぁ、SNは90dB以上=0.002%程度の差、1digit程度の差しかないため、実質問題はないかと。
/fp:preciseを指定しているのですが、謎です。
2016/03/09
どこへ行こうというのかね?
MASM refference
x86/x64 SIMD命令一覧表 (SSE~AVX2)
・・・なんでこんなことを調べているのでしょうか・・・
visual studio expressを2015にしたんですよ。
んで、よくよく調べるとMASMってちゃんとVCに入ってるんですね。
というわけで今までMASM6.15でアセンブルしていたのを最新版でアセンブルしようと・・・したらできなかったという話です。
masm6では問題なくアセンブルできていたのに、その後継の14でできなくなるとは之如何に。
エラー A2022 instruction operands must be the same size
と言われるという・・・
如何せん僕はwindowsのソフトをほとんど弄ったことがありません。
見たことがある(わかるわけではない)のも386のアセンブラぐらいというロートルなので、そもそもオペコードの意味が分からない・・・
とかいろいろグーグル先生に尋ねた結果、アドレスの書き方が良くない?らしいということが判明。
まぁ、あまり原因はわかっていないのですが。
_DATA SEGMENT PARA PUBLIC USE32 'DATA'とか書いてあるのが多少気になりますが、そもそも意味が分からない・・・
という話とは多分関係ないのですが、ひとまず、DGIndexをAVX2を有効にしてコンパイルすると
同一ソースで150MB/s→170MB/s@Haswell4.5GHzぐらいになりました。fpsは調べてませんが。
大体1割早くなった感じでしょうか。
AVX2>AVX=SSE2ぐらいで。
TIVTCも早くなったりするだろうか。
というわけで試してみたけど変わりませんでした。
そして別にコンパイラ最適かじゃなくて、Tdecimateの差分算出を並列処理させれば早くなるんじゃね?とか思って
ベクター化と並列化のメッセージ
を眺めている今日この頃。
深みにはまるだけな気がして仕方がない・・・
x86/x64 SIMD命令一覧表 (SSE~AVX2)
・・・なんでこんなことを調べているのでしょうか・・・
visual studio expressを2015にしたんですよ。
んで、よくよく調べるとMASMってちゃんとVCに入ってるんですね。
というわけで今までMASM6.15でアセンブルしていたのを最新版でアセンブルしようと・・・したらできなかったという話です。
masm6では問題なくアセンブルできていたのに、その後継の14でできなくなるとは之如何に。
table1 sword 16384, 21407, 16384, 8867というようなコードをアセンブルすると
movdqa xmm0,[table1]
エラー A2022 instruction operands must be the same size
と言われるという・・・
如何せん僕はwindowsのソフトをほとんど弄ったことがありません。
見たことがある(わかるわけではない)のも386のアセンブラぐらいというロートルなので、そもそもオペコードの意味が分からない・・・
とかいろいろグーグル先生に尋ねた結果、アドレスの書き方が良くない?らしいということが判明。
movdqa xmm0,xmmword ptr[table1]というようにしたら治りました。
まぁ、あまり原因はわかっていないのですが。
_DATA SEGMENT PARA PUBLIC USE32 'DATA'とか書いてあるのが多少気になりますが、そもそも意味が分からない・・・
という話とは多分関係ないのですが、ひとまず、DGIndexをAVX2を有効にしてコンパイルすると
同一ソースで150MB/s→170MB/s@Haswell4.5GHzぐらいになりました。fpsは調べてませんが。
大体1割早くなった感じでしょうか。
AVX2>AVX=SSE2ぐらいで。
TIVTCも早くなったりするだろうか。
というわけで試してみたけど変わりませんでした。
そして別にコンパイラ最適かじゃなくて、Tdecimateの差分算出を並列処理させれば早くなるんじゃね?とか思って
ベクター化と並列化のメッセージ
を眺めている今日この頃。
深みにはまるだけな気がして仕方がない・・・
2016/03/06
登録:
投稿 (Atom)