Bink Video!

Bink SDK Features

ビンク( Bink )SDK は、Bink ムービーを直ぐ簡単に再生するために必要なものをすべて備えています。全ゲーム用プラットフォームをサポートしています。

Microsoft Windows (全バージョン 32-bit/64-bit)

  • Bink 1 と Bink 2 両方がサポート!Bink 2 には SSE 2 が必要です。
  • DLL ファイルです。ユーザーアプリケーションに付属して出荷してください。
  • あらゆる Windows C/C++ コンパイラで使用できます。(ビルドには Microsoft Visual Studio 6 と .NET を使いました。)
  • バックグラウンド スレッドでの解凍機能をビルトインでサポートしています。デュアル コア マシンでは 2 倍の速さで再生できます!
  • フラグメント シェーダを用いたブリッティングのための完全な API を持っています。この API は、ほとんどの Bink サポートプラットフォームと互換性を保ちます。GPU を駆使した美麗なビデオをエンジョイしてください!
  • サウンド出力に、マイルズ( Miles Sound System )、DirectSound、または waveout をサポートしています。マイルズ( Miles )を使った 5.1ch または 7.1ch 出力をサポートします。
  • 超高速な MMX に最適化された YUV to RGBコンバータを提供します。16ビット、32 ビット、と 24 ビット RGB に変換できます。
  • 複数の形式( YUY2、UYUV、YUV12 )で YUV ビットにダイレクトにアクセスできます。
  • Bink DLLは、約 170 KB です。スタンドアロンで動作します。他 DLL は一切必要ありません。
  • 再生時 Bink は、イン・メモリで、フル YUV12 ビデオバッファを 2 個必要( 12-bit/ピクセル )で、1 秒分のデータレート バッファを 1 個必要とします。他のコーデックが必要とするより、非常に小さなメモリ量です。
  • ファイル名の文字列から、またはファイル ハンドルから開くことができます。あるいは、全 I/O 関数をオーバーロードすることも可能です。デフォルトで Bink の I/O システムは、あらゆる読み込みを低負荷バックグラウンドスレッドで行います。
  • フル機能のブリッティングとバッファリング API が Windows に提供されています。このBinkBuffer API は、DirectDraw と DIBSections、さらに RGB モードまたは YUV モードのオーバーレイも使用できます。Windows でのブリッティングは、通常 API が多数存在するため複雑化してしまいますが、Bink は API を 1 個のシンプルな API にまとめることで単純化してあります。
  • ピクセル シェーダを持った OpenGL、Direct X 7、Direct X 8、Direct X 9、または D3D9 を介してアルファ ブリッティングを行うためのラッパーが提供されます。このレイヤにはソースコードが含まれているので、3D ゲームの他の部分に容易に統合できます。GL または DX の知識がなくても、Bink の 3D バッファ API を使うことは充分可能です。
  • デフォルトのメモリ関数を全てオーバーロードできるので、ユーザー指定のコールバックですべてのメモリ管理を行うことができます。

Sony PLAYSTATION ® 4

  • Bink 1 および Bink 2 がサポート - PS4 はすごい!
  • スタティック ライブラリで提供します。
  • デフォルトの PS4 ツールチェインで動作します。
  • PS4 のすばらしい GPU を使用するブリッティング用の完全な API を持っています。この API はまた、ほとんどの Bink サポートプラットフォームと互換性があります。PS4 GPU で美しいビデオの再現性をエンジョイしてください!
  • Bink ライブラリは、約 282 KB で、完全にスタンドアロンです(他のいかなるライブラリも不要です)。
  • 再生時 Bink は イン・メモリで フル YUV12 ビデオバッファが 2 個必要( 12-bit/ピクセル )で、 1 秒分のデータレート バッファを 1 個必要とします。他コーデックが使うメモリに比べはるかに少ないメモリですみます。追加のテクスチャ メモリも必要ありません - Bink はテクスチャにダイレクトに解凍されます!
  • デフォルトのメモリ関数を全てオーバーロードすることができます。このため、ユーザー指定のコールバックで全てのメモリ管理が可能です。
  • ファイル名の文字列 または OS ファイル ハンドルから起動できます。あるいは、全 I/O 関数をオーバーロードすることも可能です。

Sony PLAYSTATION ® 3

  • Bink 1 および Bink 2 両方ともサポートしています。
  • スタティック ライブラリで提供します。
  • Bink 1 は、SPUをバックグラウンドで解凍に使います。最大 10 個の 1280x720 あるいは 640x480 のビデオを36 個まで、バックグラウンドで PPU オーバーヘッド全くなく解凍します。
  • Bink 1 は SPU スレッド、RAW、SPU での解凍用 SPURS タスクをサポートしています。Bink 2 は 2 本の PPU スレッドに跨がった動作をサポートしています。
  • GCC および SN システムといった、デフォルトの PS3 ツールチェーンと連動します。
  • 7.1ch オーディオ出力 ( LibAudio 使用 )をサポートします。PS3 の素晴らしいサウンドを Bink で最大限に活かすことができます。
  • フラグメント シェーダを用いたブリッティングのための完全な API を持っています。この API は、ほとんどの Bink サポートプラットフォームと互換性を保ちます。GPU を駆使した美麗なビデオをエンジョイしてください!
  • Bink ライブラリのサイズは約 242 KB で、完全にスタンドアロンで動作します。他のライブラリは一切必要ありません。
  • 再生時 Bink は イン・メモリで フル YUV12 ビデオバッファが 2 個必要( 12-bit/ピクセル )で、 1 秒分のデータレート バッファを 1 個必要とします。他コーデックが使うメモリに比べはるかに少ないメモリですみます。追加のテクスチャ メモリも必要ありません - Bink はテクスチャにダイレクトに解凍されます!
  • デフォルトのメモリ関数を全てオーバーロードすることができます。このため、ユーザー指定のコールバックで全てのメモリ管理が可能です
  • ファイル名の文字列 または OS ファイル ハンドルから起動できます。あるいは、全 I/O 関数をオーバーロードすることも可能です。

Microsoft Xbox One Console

  • Bink 1 および Bink 2 がサポートしています。 - 素晴らしいハードです!
  • スタティック ライブラリとスタティック リンク タイム コード生成 ( LTCG )ライブラリの両方で提供します。( LTCG ライブラリは、ランタイムでやや高速で 20 KB ほどセーブできます。ただし、リンク速度は遅くなります。)
  • Visual Studio と完璧に連動します。
  • Xbox GPU を利用する完成したブリッティング API を持っています。この API は、Bink がサポートする殆どのプラットフォームに互換性があります。GPU を駆使して美しいビデオを作成してください!
  • Xbox EXE にリンクする Bink ライブラリは、おおよそ 200KB です。
  • 再生時 Bink は イン・メモリで フル YUV12 ビデオバッファが 2 個必要( 12-bit/ピクセル )で、 1 秒分のデータレート バッファを 1 個必要とします。他コーデックが使うメモリに比べ "はるかに" 少ないメモリですみます。追加のテクスチャ メモリも必要ありません - Bink はテクスチャにダイレクトに解凍されます!
  • デフォルトのメモリ関数を全てオーバーロードすることができますので、ユーザー指定のコールバックで全メモリ管理が可能です。.
  • ファイル名の文字列から、またはファイル ハンドルから開くことができます。あるいは、全ての I/O 関数をオーバーロードすることも可能です。

Microsoft Xbox 360

  • Bink 1 と Bink 2 両方がサポート!
  • スタティック ライブラリとスタティック リンク タイム コード生成 ( LTCG )ライブラリの両方で提供します。( LTCG ライブラリは、ランタイムでやや高速で 20 KB ほどセーブできます。ただし、リンク速度は遅くなります。)
  • Visual Studio 2005 と完璧に連動します。
  • バックグラウンド スレッド解凍機能がビルトインされています。Bink 解凍には、どの Xbox コアも使えます。
  • XAudio をサウンド出力としてサポートします。5.1ch ムービーがサポートされています。6 個のオーディオ チャネルをデコードして最適なミックス ビンに送ります。
  • フラグメント シェーダを用いたブリッティングのための完全な API を持っています。この API は、ほとんどの Bink サポートプラットフォームと互換性を保ちます。GPU を駆使した美麗なビデオをエンジョイしてください!
  • YUV ビットにダイレクトにアクセス( YUY2 および YUV12 )して、YUV テクスチャに高速コピーします。
  • Bink ライブラリは、ユーザー XBE イメージで、約 200 KB でリンクします。また、複数のセクションに分けて格納されていますので、Bink を使わないときは、アンロードしておけます。
  • 再生時 Bink は イン・メモリで フル YUV12 ビデオバッファが 2 個必要( 12-bit/ピクセル )で、 1 秒分のデータレート バッファを 1 個必要とします。他コーデックが使うメモリに比べはるかに少ないメモリですみます。追加のテクスチャ メモリも必要ありません - Bink はテクスチャにダイレクトに解凍されます!
  • ファイル名の文字列から、またはファイル ハンドルから開くことができます。あるいは、全ての I/O 関数をオーバーロードすることも可能です。デフォルトで、Bink I/O システムは、あらゆる読み込みを低負荷でバックグラウンド スレッドで行います。
  • ピクセル シェーダとアルファ テクスチャ使用例のサンプルプログラムが付属しています。
  • デフォルトのメモリ関数を全てオーバーロードすることができますので、ユーザー指定のコールバックで全メモリ管理が可能です。
  • 2006年夏の時点では、ほとんど全てのXbox 360タイトルに Bink が採用されていました。

Nintendo Wii U™

  • 現在 Bink 1 のみサポート。
  • スタティック ライブラリで提供します。
  • Wii U デフォルトのツールチェインで動作します。
  • フラグメント シェーダを用いたブリッティングのための完全な API を持っています。この API は、ほとんどの Bink サポートプラットフォームと互換性を保ちます。GPU を駆使した美麗なビデオをエンジョイしてください!
  • Bink ライブラリのサイズは約 290 KB で、完全にスタンドアロンで動作します。他のライブラリは一切必要ありません。
  • 再生時 Bink は イン・メモリで フル YUV12 ビデオバッファが 2 個必要( 12-bit/ピクセル )で、 1 秒分のデータレート バッファを 1 個必要とします。他コーデックが使うメモリに比べはるかに少ないメモリですみます。追加のテクスチャ メモリも必要ありません - Bink はテクスチャにダイレクトに解凍されます!
  • デフォルトのメモリ関数を全てオーバーロードすることができます。このため、ユーザー指定のコールバックで全てのメモリ管理が可能です。
  • ファイル名の文字列 または OS ファイル ハンドルから起動できます。あるいは、全 I/O 関数をオーバーロードすることも可能です。

Nintendo Wii™

  • Bink 1 のみサポートしています。
  • スタティック ライブラリで提供します。
  • デフォルトの Wii ツールチェーンで動作します。
  • Wii GPU のレジスターコンバイナを使用するブリッティング用の完全な API を持っています。この API は、ほとんどの Bink サポートプラットフォームと互換性を保ちます。GPU を駆使した美麗なビデオをエンジョイしてください!
  • Bink ライブラリのサイズは約 142 KB で、スタンドアロンで動作します。他ライブラリは一切必要ありません。
  • 再生時 Bink は イン・メモリで フル YUV12 ビデオバッファが 2 個必要( 12-bit/ピクセル )で、 1 秒分のデータレート バッファを 1 個必要とします。他コーデックが使うメモリに比べはるかに少ないメモリですみます。追加のテクスチャ メモリも必要ありません - Bink はテクスチャにダイレクトに解凍されます!
  • デフォルトのメモリ関数を全てオーバーロードすることができます。このため、ユーザー指定のコールバックで全てのメモリ管理が可能です。
  • ファイル名の文字列 または OS ファイル ハンドルから起動できます。あるいは、全 I/O 関数をオーバーロードすることも可能です。

Nintendo 3DS™

  • Bink 1 のみサポートしています。
  • スタティック ライブラリで提供します。
  • Nintendo 3DS オーディオ ハードウェアを直接サポートしています。
  • 3DS GPU のレジスターコンバイナを使用するブリッティング用の完全な API を持っています。この API は、ほとんどの Bink サポートプラットフォームと互換性を保ちます。GPU を駆使した美麗なビデオをエンジョイしてください!
  • Bink ライブラリは、約 145KB サイズで、完全なスタンドアロンになっています(他のライブラリは一切必要ありません)。
  • 再生時 Bink は、イン・メモリで、フル YUV12 ビデオバッファを 2 個必要( 12-bit/ピクセル )で、1 秒分のデータレート バッファを 1 個必要とします。他のコーデックが必要とするより、非常に小さなメモリ量です。
  • デフォルトのメモリ関数を全てオーバーロードすることができます。このため、ユーザー指定のコールバックで全てのメモリ管理が可能です。
  • ファイル名の文字列 または OS ファイル ハンドルから起動できます。あるいは、全 I/O 関数をオーバーロードすることも可能です。デフォルトでは、Bink の IO システムは、完全に非同期のバックグラウンド読み込みを使用します。

Sony Playstation ® Portable (PSP) ハンドヘルド

  • Bink 1 のみサポートしています。
  • スタティック ライブラリで提供します。
  • デフォルトの PSP ツールチェーン( GCC または SN システム )で動作します。
  • libwave とシンプル オーディオをオーディオ出力としてサポートします。
  • マルチパス パレットを用いたブリッティングのための完全な API を持っています。この API は、ほとんどの Bink サポートプラットフォームと互換性を保ちます。GPU を駆使した美麗なビデオをエンジョイしてください!
  • Bink ライブラリのサイズは約 165 KB で、スタンドアロンで動作します。他のライブラリは一切必要ありません。
  • 再生時 Bink は イン・メモリで フル YUV12 ビデオバッファが 2 個必要( 12-bit/ピクセル )で、 1 秒分のデータレート バッファを 1 個必要とします。他コーデックが使うメモリに比べはるかに少ないメモリですみます。追加のテクスチャ メモリも必要ありません - Bink はテクスチャにダイレクトに解凍されます!
  • デフォルトのメモリ関数を全てオーバーロードすることができます。このため、ユーザー指定のコールバックで全てのメモリ管理が可能です。
  • ファイル名の文字列 または OS ファイル ハンドルから起動できます。あるいは、全 I/O 関数をオーバーロードすることも可能です。

Sony PS Vita ® ハンドヘルド

  • Bink 1 がサポート。( Bink 2 も近日中にサポート)
  • スタティック ライブラリで提供します。
  • デフォルトの PS Vita ツールチェインで動作します。
  • PS Vita GPU のレジスターコンバイナを使用するブリッティング用の完全な API を持っています。この API は、ほとんどの Bink サポートプラットフォームと互換性を保ちます。GPU を駆使した美麗なビデオをエンジョイしてください!
  • Bink ライブラリは、約 182 KB サイズで、完全スタンドアロンです(他のライブラリは一切必要ありません)。
  • 再生時 Bink は イン・メモリで フル YUV12 ビデオバッファが 2 個必要( 12-bit/ピクセル )で、 1 秒分のデータレート バッファを 1 個必要とします。他コーデックが使うメモリに比べはるかに少ないメモリですみます。追加のテクスチャ メモリも必要ありません - Bink はテクスチャにダイレクトに解凍されます!
  • デフォルトのメモリ関数を完全にオーバーロードできます。このため、ユーザーが提供するコールバック経由で全てのメモリ管理が可能です。
  • ファイル名の文字列、または OS のファイルハンドルから起動可能です。あるいは、全 IO 関数群をオーバーロードすることも可能です。

Sony PLAYSTATION ® 2

  • Bink 1 のみサポートしています。
  • スタティック ライブラリで提供します。
  • SN システムおよび CodeWarrior の両方で動作します。(Bink 開発には SN システムを使用しました。)
  • 2 本の PCM 出力チャネル( SPU に1本ずつ)のうち、1 本をサウンド出力に使います。他のサウンド システムと完璧に同時動作します。
  • 高度に最適化されたアセンブリ YUV to RGB コンバータ( 16 ビットまたは 32 ビット RGB への変換用)が提供されています。
  • YUV ビット( YUV12 )に、ダイレクトにアクセスできます。
  • 標準 Bink プレイヤーは、プログラムとデータで、約 115 KB のサイズでリンクできます。完全なスタンドアロン動作なので、他のライブラリは、一切必要ありません。
  • 再生時 Bink は、イン・メモリで、フル YUV12 ビデオバッファを 2 個必要( 12-bit/ピクセル )で、1 秒分のデータレート バッファを 1 個必要とします。他のコーデックが必要とするより、非常に小さなメモリ量です
  • デフォルトのメモリ関数を全てオーバーロードすることができるので、ユーザー指定のコールバックで全てのメモリ管理が可能です。
  • ファイル名の文字列、または、OSファイル ハンドルから、あるいは論理セクタの開始番号からも起動することができます。あるいは、全ての I/O 関数をオーバーロードすることも可能です。
  • Bink は、高度な IOP 側のストリーミング システムを提供しています。完全非同期でストリーミングを行い、また、他のシステム I/O と同時に実行することができます。このため、ゲームステージの読み込みとビデオ再生を同時に実行できます。

Nintendo DS

  • Bink 1 のみサポート。
  • スタティック ライブラリで提供します。
  • SN システムおよび CodeWarrior の両方と連動します。( 開発には SN システムを使いました。)
  • Nintendo DS オーディオ ハードウェアを直接サポートしています。
  • アセンブリ最適化された高速な YUV to RGB コンバータ( 8 ビットおよび 16 ビット RGB に変換)を提供します。バックバッファまたはビデオテクスチャでダイレクトに色変換できます。
  • YUV ビット( YUV12 )に、ダイレクトにアクセスできます。
  • Bink ライブラリ サイズは約 145 KB です。スタンドアロンで動作します。他のライブラリは一切必要ありません。
  • 再生時 Bink は、イン・メモリで、フル YUV12 ビデオバッファを 2 個必要( 12-bit/ピクセル )で、1 秒分のデータレート バッファを 1 個必要とします。他のコーデックが必要とするより、非常に小さなメモリ量です。
  • デフォルトのメモリ関数を全てオーバーロードすることができますので、ユーザー指定のコールバックで全メモリ管理が可能です。
  • ファイル名の文字列から、または、OSファイル ハンドルから開くことができます。あるいは、全 I/O 関数をオーバーロードすることもできます。Bink I/O システムは、デフォルトで全非同期読み込みをバックグラウンドで行います。

Apple Macintosh

  • Bink 1 と Bink 2 両方でサポートしています。Bink 2 には x86 が必須です( Bink 2 は PPC サポートしていません)。
  • PPC および x86 Mach-O 共有ライブラリで提供します。
  • サウンド出力は Sound Manager をサポートしています。マイルズ(Miles Sound System)と共存させられます。
  • アセンブリ最適化された高速な YUV to RGBコンバータ( 16 ビット および 32 ビット RGB に変換)が、提供されます。
  • YUV ビット( YUV12 )にダイレクトにアクセスします。
  • Bink ライブラリのサイズは約 204 KBです。スタンドアロンで動作します。他ライブラリは一切必要ありません。
  • 再生に必要なのは、イン・メモリの全 YUV12 ビデオ フレーム(ピクセルあたり 12 ビット)を 2 個と、1 秒分のデータ レート バッファだけです。
  • ファイル名の文字列から、または FSSpec ポインタから開くことができます。または、全ての I/O 関数をオーバーロードすることもできます。MacOS 9 で Bink I/O システムを使用する場合、デフォルトで、全非同期読み込みをバックグラウンドで行います。MacOS X では、低オーバーヘッドのバックグラウンド スレッドを使用します。
  • MacOS では、全機能を備えたブリッティングおよびバッファリング API が提供されています。この BinkBuffer APIは、QuickDraw を使って、MacOS 8 から X までのフレーム バッファにダイレクトにアクセスします。この API とWindowsバージョンのAPIは、互換性があるので、Windows と MacOS の両方で同一の Bink ビデオを容易に再生できます。
  • デフォルトのメモリ関数を、完全にオーバーロードすることができますので、ユーザー指定のコールバックを使って全メモリ管理を行うことができます。

Apple iOS - iPhone/iPad

  • Bink 1 サポート。( 近日中に Bink 2 もサポート! Neon 必須です)
  • スタティック ライブラリで提供します。( ARM6、ARM7 そして シミュレータ用に切り分けてあります)
  • Xcode で使用可能です。
  • Bink ライブラリのサイズは、ランタイムで、約 182 KB、完全スタンドアロンです(他のライブラリは一切必要ありません)。
  • 再生時 Bink は イン・メモリで フル YUV12 ビデオバッファが 2 個必要( 12-bit/ピクセル )で、 1 秒分のデータレート バッファを 1 個必要とします。他コーデックが使うメモリに比べはるかに少ないメモリですみます。追加のテクスチャ メモリも必要ありません - Bink はテクスチャにダイレクトに解凍されます!
  • デフォルトのメモリ関数を完全にオーバーロードできますので、ユーザーが提供するコールバック経由で全メモリ管理が可能です。
  • ファイル名の文字列、または OS のファイルハンドルから起動可能です。あるいは、全 IO 関数群をオーバーロードすることも可能です。

Android

  • Bink 1 サポート。( 近日中に Bink 2 もサポート! Neon 必須です)
  • スタティック ライブラリで提供します。
  • GCC ツールチェインで動作します。
  • Bink ライブラリのサイズは、ランタイムで、約 164 KB、完全スタンドアロンです(他のライブラリは一切必要ありません)
  • 再生時 Bink は イン・メモリで フル YUV12 ビデオバッファが 2 個必要( 12-bit/ピクセル )で、 1 秒分のデータレート バッファを 1 個必要とします。他コーデックが使うメモリに比べはるかに少ないメモリですみます。追加のテクスチャ メモリも必要ありません - Bink はテクスチャにダイレクトに解凍されます!
  • デフォルトのメモリ関数を完全にオーバーロードできますので、ユーザーが提供するコールバック経由で全メモリ管理が可能です。
  • ファイル名の文字列、または OS のファイルハンドルから起動可能です。あるいは、全 IO 関数群をオーバーロードすることも可能です。

GNU/Linux for x86 CPUs

  • Bink 1 と Bink 2 両方でサポートしています。
  • GCC 用スタティック ライブラリで提供します。
  • サウンド出力には SDL_mixer がサポートされています。
  • 超高速 MMX に最適化された YUV to RGBコンバータ(16 ビット、32 ビット、および 24 ビット RGB に変換)を提供します。
  • 複数の形式( YUY2、UYUV、YUV12 )で、 YUV ビットにダイレクトにアクセスできます。
  • Bink ライブラリのサイズは約 200 KBです。スタンドアロンで動作します。(他に pthreads と glibc だけ必要になります)
  • 再生時 Bink は イン・メモリでフル YUV12 ビデオバッファが、2 個必要( 12-bit/ピクセル )で、1 秒分のデータレート バッファを 1 個必要とします。
  • ファイル名の文字列から、または、OSファイル ハンドルから開くことができます。あるいは、全 I/O 関数をオーバーロードすることもできます。Bink I/O システムは、デフォルトで低負荷にバックグラウンドで行います。
  • デフォルトのメモリ関数を、完全にオーバーロードすることができますので、ユーザー指定のコールバックで全メモリ管理を行うことができます。