v210 という YUV422 10bpc の非圧縮映像フォーマットがあります。このフォーマットは16バイトに6ピクセルを pack するようになっています。4バイトごとに2ビット余りますが、そこは0を埋めます。

さて、AVI ファイル…というか BITMAPINFOHEADER には biBitCount という WORD メンバがあって、非圧縮のフォーマットの場合は平均 bpp を格納することになっています。上記のとおり16バイトに6ピクセルなので、21.333…bpp と非整数です。結局何を入れればいいのか分からないので手元のソフトウェアの動作を見てみると以下のようになりました。

VirtualDub 1.9.11 (ちょっと古い)
20 = 4バイトごとに余った2ビットを計算に入れない場合の bpp
Premiere Elements 4 (これまた結構古い)
16 = 8bpc として計算した場合(例: UYVY)の bpp

うーん?

あと、v210 を定義している(と思われる)文書では、QuickTime の場合では 24 にしろ、と書いてあるように読めます。

てんでバラバラなのでどうしたものやら。

バージョン 11.0.0 で、Mac 上で QuickTime 経由で MOV ファイルにエンコードすることができるようになりました。一方、昔からある Windows 版では AVI ファイルにエンコードします。この記事では、相互にどのように読み込みができるかを説明します。

Read the rest of this entry

機能追加
  • QuickTime for Mac 用エンコーダコンポーネントを追加した。RGB24/ARGB32 からのエンコードのみ。ULY2 は Windows と比較してあまり速くない。
バグ修正
  • ULY2: QuickTime デコーダで、映像の幅や出力バッファの寸法によっては、映像が乱れてデコードされる。

Read the rest of this entry

POSIX 環境で非同期的なタイマを使うには setitimer() を使いますが、これだとタイマが 1 個しか使えません。(正確には SIGALRM, SIGVALRM, SIGPROF という性質の違うタイマをそれぞれ 1 個ずつ)

さすがにこれでは厳しいということで、POSIX.1b には timer_create() という関数が定義されていて、これだと好きなだけタイマを作ることができます。さらに、setitimer() と違い、タイマごとに好きなシグナルを発生させることができますし、シグナルを発生させる代わりにスレッドを起動して通知関数を呼び出させることもできます。

Read the rest of this entry

正確には「UTF-8 で見えるように設定することができる」ですが。さらに言うと、2008年7月時点(Cygwin 1.7.0 リリース時)でそうなっているようです。情報古いよ俺。

たとえば、「漢字.txt」というファイルだけがあるディレクトリにおいて以下のようになります。

umezawa@umewin /cygdrive/c/Users/umezawa/Documents/test
$ ls | od -t x1
0000000 e6 bc a2 e5 ad 97 2e 74 78 74 0a
0000013

Read the rest of this entry

VMware vSphere Hypervisor 5 (ESXi 5) 上の Linux (CentOS 6) で OProfile を使おうとして全然データが取れなくて頭をひねっていたんですが、VM 上では(VMware 固有かどうかは不明)パフォーマンスカウンタインターフェースを使ったプロファイルができないんですな (FAQ)

OProfile がどのようにカウンタの存在を検出しているのかはわかりませんが(CPUID だろうか?)、CPU のパフォーマンスカウンタが存在しているように見えるのに実際には使えない(イベントが来ない)ため、こういう状態になります。確かに CPU のパフォーマンスカウンタを仮想化するのは手間の割に得るものが少なそうなので、VM の中から CPU のパフォーマンスカウンタが使えないというのは、言われてみればそうだよねぇ、という感じです。

Read the rest of this entry

socket(2) の man ページなどを見ると分かりますが、SOCK_STREAM, SOCK_DGRAM, SOCK_RAW などと同じ並びに SOCK_SEQPACKET というのがあります。

IP ネットワークでは普通サポートされないので使ったことのない人も多いと思います。実際私も15年ぐらいソケットプログラミングやってますが、使ったことはありませんでした。ちょいと必要になってしまったので備忘録も兼ねてまとめておきます。

Read the rest of this entry

ニコ動のコンテンツツリーで親に指定するための静画を諸事情により更新しました。

Read the rest of this entry

AsiaBSDCon 帰りの同僚に先週聞いたんですが、OpenBSD 5.0 の pthread 実装では、複数スレッド走らせても 1 コアしか使わない(ので速くならない)そうです。

Read the rest of this entry

その他
  • Windows のインストーラで、インストール前の注意を表示するようにした。
  • Mac で、コーデック名をより適切に報告するようにした。

Read the rest of this entry