15:01:48 @azyobuzin@xxx.azyobuzi.net
icon

PCにつなぐときはUSB、iPadにつなぐといはBTみたいに切り替えられる無線ヘッドセットほしさあるけど、ヘッドセットに4000円以上出したくない……

15:03:25 @azyobuzin@xxx.azyobuzi.net
icon

ガジェットに対する予算感が大体低すぎて、まともなものが買えず、逆に損する人生

15:26:07 @azyobuzin@xxx.azyobuzi.net
icon

Rakuten Hand は当分ドコモ回線で使えそうにないので、 Xperia か AQUOS からいい感じのが出るまで耐えるしかない……

15:29:18 @azyobuzin@xxx.azyobuzi.net
icon

スマホを持ってない方の手 じゃん

15:57:27 @azyobuzin@xxx.azyobuzi.net
icon

H.264, H.265 をひたすら勉強する秋を過ごしてきた身としては、 SIMD が多少は効きそうなのはわかるけど、でも相当に前のデータに依存するし、ハードウェアコーデック並列もりもり回路でドーンとは簡単にはいかなそうという感情でいっぱいになった

16:00:25 @azyobuzin@xxx.azyobuzi.net
icon

パラメータ探索は、動きベクトル探索がダイヤモンド型に範囲を広めていったりとか、インター圧縮に使える参照画素の方向が30個以上あるだとか、まぁ30並列くらいできるとうれしい要素はありますね

16:11:20 @azyobuzin@xxx.azyobuzi.net
icon

ハードウェアデコーダ高速化の論文とかあるので、それを読むとハードウェアコーデックが何であるかがわかりそう。僕はタイトルしか読んでないので中身が分かりません

16:13:11 @azyobuzin@xxx.azyobuzi.net
icon

ただエントロピー符号化器が過程やデコード状況に応じた確率分布の使い分けをやっているので、バンバン並列化できるという感覚があんまりわからない

16:17:42 @azyobuzin@xxx.azyobuzi.net
icon

ちゃんと仕様策定にはハード屋も噛んでるので、ハード屋も納得の仕様なんですよ。たぶん。

16:19:48 @azyobuzin@xxx.azyobuzi.net
icon

食器を洗おうとして、風呂を洗う準備をしてしまった

16:54:48 @azyobuzin@xxx.azyobuzi.net
icon

英語読めん!ってなった。参照フレームをDRAMに入れつつ、デコードしたいブロック周辺だけSRAMに持ってきてデコード、を多段パイプラインとして組むことで1フレームをがーっとハードウェアでデコードできるって感じだろうか? https://doi.org/10.1145/1118299.1118473 https://doi.org/10.2478/v10177-010-0039-7

Web site image
Hardware architecture design of an H.264/AVC video codec | Proceedings of the 2006 Asia and South Pacific Design Automation Conference
Web site image
Architecture Design of The Hardware H.264/AVC Video Decoder - International Journal of Electronics and Telecommunications - PAS Journals Repository
16:58:50 @azyobuzin@xxx.azyobuzi.net
icon

NAL(H.264/H.265のパケットとしての単位)を解釈してバッファーに詰め込むところまでをソフトウェアからやって、その後が専用回路の出番かな? だからまぁ発端になったmp4(もともとコンテナだから違うとしても、ストリーム)のバイナリを回路に云々とはちょっと違うかな

17:21:38 @azyobuzin@xxx.azyobuzi.net
icon

GPGPU でエンコードって話もあったけど GPGPU に動きベクトル探索、補間、復号化、デブロッキングフィルター(次のフレームを符号化するには量子化でデータが欠損された後の参照画像が必要なので)あたりをやらせると、 GPU 1個で 2.6 倍速くなったし、いっぱい GPU 積めばそれぞれにタスク振り分けられる仕組み作ったぜって論文も見つけました https://ieeexplore.ieee.org/document/6626595

Web site image
Dynamic Load Balancing for Real-Time Video Encoding on Heterogeneous CPU+GPU Systems
17:28:04 @azyobuzin@xxx.azyobuzi.net
icon

専用回路だと作った時点で使えるツールが決まっちゃうけど、 GPGPU ならツールとか探索範囲とか変えられる利点があるね

17:28:49 @azyobuzin@xxx.azyobuzi.net
icon

デコーダは対応するプロファイルが決まればそれで終わりなので、変更可能という利点はなーし!

17:30:29 @azyobuzin@xxx.azyobuzi.net
icon

こんなことをしている場合ではない年末

17:33:17 @azyobuzin@xxx.azyobuzi.net
icon

冷凍便が届いても冷凍庫の空きが足りない問題が発生したので、高速に展開を行わねば

17:39:03 @azyobuzin@xxx.azyobuzi.net
icon

夕飯だー!

Attach image
17:42:42 @azyobuzin@xxx.azyobuzi.net
icon

夕飯にするためには冷凍ではなく解凍をやっていくべきと気づいたので冷蔵庫に放り込んだ

17:44:10 @azyobuzin@xxx.azyobuzi.net
icon

冷凍だと3月まで持つらしく、マジかって言った。便利じゃん

18:23:17 @azyobuzin@xxx.azyobuzi.net
icon

暇があったとして、勉強や研究ができますか?

18:25:40 @azyobuzin@xxx.azyobuzi.net
icon

どうして研究ができないのに院生やってるんですか? 以上、さようなら

18:26:06 @azyobuzin@xxx.azyobuzi.net
icon

このままでは二度目の諦めのポエムをやってしまう

18:32:45 @azyobuzin@xxx.azyobuzi.net
icon

有名人ウォッチをしてないので、まず嫌いになるほど発言を見てないというところがあります

18:36:00 @azyobuzin@xxx.azyobuzi.net
icon

就活中アカウントの発言です https://twitter.com/azyobuzin/status/1337079644269514761

18:44:13 @azyobuzin@xxx.azyobuzi.net
icon

天空カフェテリア、音符ひとつに歌詞を詰め込みすぎでしょどうしてこうなったの

19:34:20 @azyobuzin@xxx.azyobuzi.net
icon

🤔

Attach image
21:19:32 @azyobuzin@xxx.azyobuzi.net
icon

人間にループは難しいし、非同期も難しいし、コンピュータは難しいんですね

21:38:20 @azyobuzin@xxx.azyobuzi.net
icon

後置 if は書き順と評価順が違うので絶対許しません

21:44:13 @azyobuzin@xxx.azyobuzi.net
icon

Java のドキュメント見てるんだけど sequential stream と ordered stream があって、これ違うの?になってる

21:47:21 @azyobuzin@xxx.azyobuzi.net
icon

あっはい。 sequential は parallel との対比 ordered は入力データに順番がついてるかどうかか

21:50:02 @azyobuzin@xxx.azyobuzi.net
icon

C# の LINQ も昔はすごい素直な挙動だったのに、 .NET Core では大胆に必要な部分しか実行されなくなったりしてるから、まぁあの手のメソッドチェーンでウェイってできるやつの map に相当する機能で順番通りに実行されることは期待してはいけないですね

21:53:03 @azyobuzin@xxx.azyobuzi.net
icon

実例

Attach image
22:02:22 @azyobuzin@xxx.azyobuzi.net
icon

C言語得意マン、実際地雷率高そう

22:03:26 @azyobuzin@xxx.azyobuzi.net
icon

自称C言語得意マン、C言語得意マンなのか、C言語しか知らないマンなのかを見極めるところから始めないといけないので、次の質問が大事になる

22:06:58 @azyobuzin@xxx.azyobuzi.net
icon

Enumerable.Distinct の順序が保証されてない問題(保証されていないが破壊する実装が存在しないため、順序を仮定したコードを書いてしまいがち)

22:11:54 @azyobuzin@xxx.azyobuzi.net
icon

JS の linter があんなに発達したの、人がとりあえず解釈の間違えようのない安全なコードを書いた上で、機械に自動でプログラムの意味を変えないように可読性の高い書き方に変換してもらう必要があったからだと思うと悲しくて悲しくて

22:17:28 @azyobuzin@xxx.azyobuzi.net
icon

@kb10uy IListProvider とか IPartition とかいうインターフェイスが internal で定義されていて、範囲を絞ったり、要素数を数えたりするのが容易なときはショートカットできるルートがある

22:19:51 @azyobuzin@xxx.azyobuzi.net
icon

ちょうどこういうのがありましたね: .NETや.NET CoreのOrderBy(keySelector).First()はO(n log n)でなくてO(n)な件 https://qiita.com/RyotaMurohoshi/items/5b515bf2ee544cc1b016

Web site image
.NETや.NET CoreのOrderBy(keySelector).First()はO(n log n)でなくてO(n)な件 - Qiita
22:27:32 @azyobuzin@xxx.azyobuzi.net
icon

C#、 ValueTask が登場した頃からパフォーマンスハックが高レイヤーにも見え隠れするのが気に入らない。ランタイムが隠蔽するべき案件が高レイヤーライブラリのシグネチャに現れてきているその妥協が気に入らない。互換性を捨てる気がないのに、中途半端な遺産を増やさないでほしい