10月
09
いつでも QuickTime の挙動調査。今回はちょっとだけ。
- QuickTime には asynchronous decompression といって、表示されるタイミングと同期せずに、さらにマルチスレッドで複数フレームを同時にデコードする仕組みが実装されている。
- 同様に asynchronous compression も実装されているらしい。こちらの挙動は調査していない。
- 困ったことに、コンポーネントが asynchronous decompression に対応していない場合、QuickTime Player では再生できなくなる(真っ黒になる)。Ut Video Codec Suite のコーデックエンジンはスレッドセーフではないので、仕方がないのでコンポーネントの入り口でロックをかけてスレッドセーフにして asynchronous decompression に見かけ上対応させているが、そうすると QuickTime Player で見た時に極端にパフォーマンスが落ち、フレームドロップしまくる。asynchronous decompression を使わないコーデッククライアントではこのようなことはなく、たとえば Javie ではそれほどひどいことにはならない(伝聞)。
no comment untill now