QuickTime の挙動に悩まされ続けています(現在進行形)が、とりあえずこんな感じ。

Read the rest of this entry

2011年08月にいただいた寄付は以下の2件です。ありがとうございました。

日付 お名前 方法 金額
08/05 血管美男 銀行振り込み 3,000円
08/08 すいすい 銀行振り込み 10,000円

なお、2011年05月から07月には寄付はありませんでした。

先週買ってきた 2.5TB の HDD の初期不良チェックが終わったのでメインマシンに繋いでフォーマットしようとしたのですが、なぜか 300GB 弱しか認識されてません。Windows 7 なのに。インテル・ラピッド・ストレージ・テクノロジー のコンソールを見てもちゃんと 2.3TB と表示されていたはずなのに(スクリーンショットは撮り忘れたので勘違いの可能性アリ

ちょろっとググると、どうやらドライバが 10.1 以降でないとダメっぽい?(10.0 を使っていた)ので、インテルに行って最新版の 10.6 をダウンロード。ストレージデバイスのドライバを更新するのはドキドキしますが、何事もなく再起動してあっさり解決。

しかし、今年に入ってから買ったマザーなのに、添付のCDに入っているドライバが 2TB 超えをサポートしていないって点には釈然としないものがあります。

友人Mが Eearth Defence Force: Insect Armageddon (EDF:IA) を買ってきやがったので遊んでました。旧来の(サンドロット制作の)EDF とはだいぶ違うらしいし、敵(虫)のテクスチャがリアルな感じなのでちょっと勘弁願いたいし、EDF2P 終わってないしで積極的に買うつもりはなかったんですが、まあ買ってきたんなら遊ぶか、というノリです。

ちなみに記事名を「北米からの使者」ってことにしてますが普通に日本語版です。単にゲームの舞台が北米だってだけで。

Read the rest of this entry

箱○の方の ACV CBT に参加していました。書いてなかったけど。

しょっぱなからサーバダウンするわよくフリーズするわで大変でしたが、βテストだしバグ出しとしては妥当な結果なのではないでしょうか(出すぎな気もするけど)。発売延期になりましたが、それでもちゃんとしたものになって出てくるのかは不安だらけです。ゲームバランスはあとからいくらでも調整できる(AC4/fA でもレギュレーションの配布してたし)けど、ゲームシステムはそう簡単に変えられるわけでもなし。

さて、AC4/fA は ALL S ランクにする程度にはやりましたが、対人とは全く違うわけで、当初はオペ志望ということにしていました。が、実際のところ、オペはAC操作能力は必ずしも必要ないんですが、戦場把握能力はAC搭乗者より高いものが要求されるわけで、考えが甘かったな、と。チームに入った後は中量二脚で練習してましたけど、ものすごい勢いで囲まれて落とされまくっていててんでダメです。オペになったらなったであまり役に立たない…というかAC搭乗者の皆さんの方が能力が高くて、せいぜい敵をマーキングするぐらいしかやってませんでした。

感想とか要望とかまとめないとなー

そういえば昔(1年ちょっと前)、KMC(京大マイコンクラブ)が IRCnet に参加して、国内の特定ブロバイダからのみ接続を受け付けるようにする、という話がありました。 過去記事1 過去記事2

Read the rest of this entry

バグ修正
  • ULY2: DMO エンコーダで、RGB24/32 以外のフォーマットで入力すると、自分で提示した出力フォーマットを受け入れていなかった。
  • ULY0: DMO エンコーダで、RGB24/32 以外のフォーマットで入力すると、自分で提示した出力フォーマットを受け入れていなかった。
その他
  • DMO エンコーダおよびデコーダで、入出力フォーマットをチェックする際に、一部のパラメータをチェックしないようにした。

Read the rest of this entry

Ut Video Codec Suite では既にサポート外にした YVYU フォーマットですが、アップルの記事を見ていたらバイト順序について疑念が出てきました。

FOURCC.org の記述を見ると、バイト順序は Y0 Cr(V) Y1 Cb(U) となっていますが、アップルの記事によると k2vuyPixelFormat = UYVY を4バイト単位でエンディアンを逆転した Y1 Cr(V) Y0 Cb(U) と説明されています。つまり、輝度の情報が逆になっています。

「ほとんど使われていない」フォーマット (“This is not a common format.”) であるし、再サポートする気もないのですけど、どちらが正しいんでしょうかね。

とにかく QuickTime の技術的メモ

  • AVI ファイルを開いてデコーダにフォーマットが渡されるとき、一般的な情報(幅、高さ、dpi、など)以外は BITMAPINFOHEADER の状態で渡される。特に、BITMAPINFOHEADER の後ろに独自の拡張情報を格納するコーデック(Huffyuv や Ut Video Codec など)は、このことを知った上で情報を取り出す必要がある。
  • これはつまり、コーデックは自分の拡張情報がどうコンテナに格納されるかを知っていなければならない、ということである。コーデックはコンテナを知っていなければならない。(拡張情報が不要なコーデックの場合はこの限りではない)
  • 一方、インポーター(データストリームをコンテナフォーマットにしたがって解釈して映像/音声ストリームに分解するコンポーネント)は、コーデックを知っている必要はない。実際、QuickTime 標準の AVI インポーターで、 ULRG な AVI ファイルを開き、ULRG のデコーダに渡すことができる。コンテナはコーデックを知らなくてもよい。まあ、そりゃそうだ。

Ut Video Codec Suite 的には元々 AVI ファイルだけしか対応するつもりはないので、別にこれでも問題ないんですけどね。

引き続き QuickTime のメモ。

  • QuickTime Player からデコーダを使う場合、CodecDecompressParams::wantedDestinationPixelTypes にデコーダから「k24RGBPixelFormat だけをサポートする」という情報を設定してやると、k32ARGBPixelFormat な PixMap が渡されてくる。お前人の話聞いてないだろ。
  • 「k32ARGBPixelFormat だけをサポートする」という情報を設定してやると、これは正しく k32ARGBPixelFormat な PixMap が渡されてくる。「何もサポートしない」という情報を設定すると無限ループし、NULL を設定してもやはり無限ループする。
  • よくよく調べてみると、Image Codec Reference for QuickTime には、
    wantedDestinationPixelTypes
    Filled in by the codec during the execution of ImageCodecPreDecompress. Contains a handle to a zero-terminated list of non-RGB pixels that the codec can decompress to. Leave set to NIL if the codec does not support non-RGB pixel spaces. The ICM copies this data structure, so it is up to the codec to dispose of it later. Since the predecompress call can be called often, it is suggested that codecs allocate this handle during the Open function and dispose of it during the Close function.

    と書いてある。つまり、RGB な pixel type はここには設定しないのが正しい状態であり、なにも設定しない = RGB のみをサポートする のはずであるが、そうなっていない。他のドキュメントを見ると、RGB な pixel type もここに設定するのが正しいような記述がある。たとえばこれ

  • あと、RGB でない pixel type をサポートしない場合は NIL を設定しろ、と書いてあるが、NIL なんてシンボルは <Carbon/Carbon.h> にも <QuickTime/QuickTime.h> にも存在しない。
  • ともかく、渡された PixMap の pixelFormat はちゃんと確認しないといけない。ここだけは今まで調査した範囲でも信用できる値が入っているようなので。