いつでも QuickTime の挙動調査。今回はちょっとだけ。

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

no comment untill now

Add your comment now