Bink Video!

Bink SDK 特性

Bink SDK 包含了快速且容易回放Bink视频所需的所有功能,它支持Windows, Sony PLAYSTATION (R) 3, Sony PSP, Sony PS2, Xbox, Xbox 360, Nintendo DS, Nintendo GameCube, Macintosh (PPC and Intel) and x86 GNU/Linux.

Sony PLAYSTATION (R) 3 Console

  • 以静态库(static library)的形式提供。
  • 使用SPUs来实现后台解压!
  • 支持SPU线程, RAW, 以及SPURS任务来进行SPU解压.
  • 和缺省的 PS/3 toolchain (GCC and SN Systems)一起工作.
  • 使用LibAudio支持 7.1 声音输出 - PS/3 有非常了不起的声音系统,而Bink能够最大化它。
  • 包含一套完整的API以支持Biltting,它使用跨平台的fragment shaders以兼容绝大多数的Bink平台!使用GPU来得到最美的视频!
  • Bink library大约242 KB,它是完全独立的(无需其他的任何库).
  • 在回放的时候,Bink在内存中需要两个完全的YUV12视频缓冲区(每像素12位)和一个一秒数据率(one second data rate)缓冲区。这远远小于其它编解码器所需要的内存。我们甚至不需要额外的纹理内存 - 我们直接解压到纹理里!
  • 能够完全重载缺省的内存函数,因此所有的内存管理都是通过用户提供的回调来发生的。
  • 能够从一个文件名字符打开一个OS文件句柄,或者你可以完全重载所有的IO函数。

Nintendo Wii Console

  • 以静态库(static library)的形式提供。
  • 和缺省的Wii toolchain(CodeWarrior)一起工作。
  • 包含一套完整的API以支持Biltting,它使用跨平台的Wii's GPU register combiners以兼容绝大多数的Bink平台!使用GPU来得到最美的视频!
  • Bink library大约142 KB,它是完全独立的(无需其他的任何库).
  • 在回放的时候,Bink在内存中需要两个完全的YUV12视频缓冲区(每像素12位)和一个一秒数据率(one second data rate)缓冲区。这远远小于其它编解码器所需要的内存。我们甚至不需要额外的纹理内存 - 我们直接解压到纹理里!
  • 能够完全重载缺省的内存函数,因此所有的内存管理都是通过用户提供的回调来发生的。
  • 能够从一个文件名字符打开一个OS文件句柄,或者你可以完全重载所有的IO函数。

Nintendo 3DS Handheld

  • 以静态库(static library)的形式提供。
  • 直接支持Nintendo 3DS音频硬件。
  • 包含一套完整的API以支持Biltting,它使用跨平台的3DS's GPU register combiners以兼容绝大多数的Bink平台!使用GPU来得到最美的视频!
  • Bink library大约145 KB,它是完全独立的(无需其他的任何库).
  • 在回放的时候,Bink在内存中需要两个完全的YUV12视频缓冲区(每像素12位)和一个一秒数据率(one second data rate)缓冲区。这远远小于其它编解码器所需要的内存。
  • 能够完全重载缺省的内存函数,因此所有的内存管理都是通过用户提供的回调来发生的。
  • 能够从一个文件名字符打开一个OS文件句柄,或者你可以完全重载所有的IO函数。 缺省情况下,Bink IO系统使用所有的异步后台读取.

Sony Playstation (R) Portable (PSP) Handheld

  • 以静态库(static library)的形式提供。
  • 和缺省的PSP toolchain (GCC and SN Systems) 一起工作。
  • 支持libwave和simple audio输出。
  • 包含一套完整的API以支持Biltting,它使用跨平台的multi-pass palettes以兼容绝大多数的Bink平台!使用GPU来得到最美的视频!
  • Bink library大约165 KB,它是完全独立的(无需其他的任何库).
  • 在回放的时候,Bink在内存中需要两个完全的YUV12视频缓冲区(每像素12位)和一个一秒数据率(one second data rate)缓冲区。这远远小于其它编解码器所需要的内存。我们甚至不需要额外的纹理内存 - 我们直接解压到纹理里!
  • 能够完全重载缺省的内存函数,因此所有的内存管理都是通过用户提供的回调来发生的。
  • 能够从一个文件名字符打开一个OS文件句柄,或者你可以完全重载所有的IO函数。

Sony PS Vita Handheld

  • 以静态库(static library)的形式提供。
  • 和缺省的Vita toolchain 一起工作。
  • 包含一套完整的API以支持Biltting,它使用跨平台的Vita's GPU register combiners以兼容绝大多数的Bink平台!使用GPU来得到最美的视频!
  • Bink library大约182 KB,它是完全独立的(无需其他的任何库).
  • 在回放的时候,Bink在内存中需要两个完全的YUV12视频缓冲区(每像素12位)和一个一秒数据率(one second data rate)缓冲区。这远远小于其它编解码器所需要的内存。我们甚至不需要额外的纹理内存 - 我们直接解压到纹理里!
  • 能够完全重载缺省的内存函数,因此所有的内存管理都是通过用户提供的回调来发生的。
  • 能够从一个文件名字符打开一个OS文件句柄,或者你可以完全重载所有的IO函数。

Sony PlayStation 2 Console

  • 以静态库(static library)的形式提供。
  • 可以同时与SN Systems 和CodeWarrior 一起工作(我们内部使用SN Systems).
  • 使用两个PCM输出通道中的一个 (每个SPU处理一个) 来输出声音. 将与其他的声音系统完美的同时工作。
  • 提供极大优化的YUV to RGB转换器转换为16-bit, 和32-bit RGB.
  • 能够直接访问YUV位 (YUV12).
  • 一个标准的Bink播放器将会链接进去,大约有115KB的代码和数据,它是完全独立的(无需其他的任何库).
  • 在回放的时候,Bink在内存中需要两个完全的YUV12视频缓冲区(每像素12位)和一个一秒数据率(one second data rate)缓冲区。它所需要的内存远小于其它编解码器。我们甚至不需要额外的纹理内存 - 我们直接解压到纹理里!
  • 能够完全重载缺省的内存函数,因此所有的内存管理都是通过用户提供的回调来发生的。
  • 能够从一个文件名字符打开一个OS文件句柄,或者一个起始逻辑扇区号,或者你可以完全重载所有的IO函数。
  • Bink提供复杂的IOP-side流系统,它实现完美的异步流,并且能够同时和任何其他的系统IO一起工作(因此您可以在加载关卡时播放视频).

Microsoft Windows (all versions, 32-bit and 64-bit)

  • 以一个DLL文件的方式,可以和您的应用一起发布。
  • 应该能够和任何Windoes C/C++编译器良好工作 (包括Microsoft Visual Studio 6 和我们所使用的.NET).
  • 内嵌支持后台线程解压 - 双核电脑将能够获得两倍的回放速度!
  • 包含一套完整的API以支持Biltting,它使用跨平台的fragment shaders以兼容绝大多数的Bink平台!使用GPU来得到最美的视频!
  • 支持 Miles Sound System, DirectSound, 或waveout 输出. 通过使用Miles,我们也支持5.1或7.1多声道输出。
  • 提供super-fast MMX优化后的YUV to RGB转换器以转换为16-bit, 32-bit, 和24-bit RGB.
  • 能够在多种格式(YUY2, UYUV, YUV12)下直接访问YUV位.
  • Bink DLL大约有170 KB,它是完全独立的(无需其他的任何库)。
  • 在回放的时候,Bink在内存中需要两个完全的YUV12视频缓冲区(每像素12位)和一个一秒数据率(one second data rate)缓冲区。它所需要的内存远小于其它编解码器。
  • 能够从一个文件名字符串,一个OS文件句柄打开,或者一个起始逻辑扇区号,或者你可以完全重载所有的IO函数。缺省情况下,Bink IO系统在一个低开销(low-overhead)的后台线程中完成所有读取。
  • 包含一个Windows下完全功能的blitting 和buffering API. 在RGB或YUV模式下,这个BinkBuffer API能够使用DirectDraw, DIBSections, and overlays. 在Windows下,Blitting通常都很复杂,因为有巨量的APIs - Bink将它简化为一个简单的API。
  • 通过OpenGL, Direct X 7, Direct X 8,Direct X 9, or 带有pixel shaders的D3D9,为alpha-blittin提供wrappers.这一层的源代码同时也会提供,因此您可以很容易整合到您的3D游戏中。可能在完全不需要了解GL或DX的前提下来使用Bink 3D buffer API。
  • 能够完全重载缺省的内存函数,因此所有的内存管理都是通过用户提供的回调来发生的。

Microsoft Xbox 360 Console

  • 有静态库和link time code generation library (LTCG库运行时效率高一些,可以节省大约20K的内存,但是link时会慢一些)两种形式可以提供。
  • 和Visual Studio 2005一起完美工作。
  • 内建支持后台线程解压 - 使用任何Xbox核心来做Bink解压.
  • 支持XAudio输出,包含支持5.1视频(6通道解码且输出到正确的混合bin)。
  • 包含一套完整的API以支持Biltting,它使用跨平台的fragment shaders以兼容绝大多数的Bink平台!使用GPU来得到最美的视频!
  • 能够直接访问YUV bits(YUY2 and YUV12) 以快速复制YUV纹理。
  • Bink库大约占用您的XBE image的200KB,并且是被分段包容,所以在没有使用Bink的时候,您可以在内存中卸载它们。
  • 在回放的时候,Bink在内存中需要两个完全的YUV12视频缓冲区(每像素12位)和一个一秒数据率(one second data rate)缓冲区。它所需要的内存远远小于其它编解码器。我们甚至不需要额外的纹理内存 - 我们直接解压到纹理里!
  • 能够从一个文件名字符打开一个OS文件句柄,或者一个起始逻辑扇区号,或者你可以完全重载所有的IO函数。缺省情况下,Bink IO系统在一个低开销(low-overhead)的后台线程中完成所有读取。
  • 包含使用pixel shaders和alpha纹理的范例。
  • 能够完全重载缺省的内存函数,因此所有的内存管理都是通过用户提供的回调来发生的。
  • 截至2006夏天,几乎所有的Xbox 360游戏都随游戏发布Bink。

Nintendo DS Handheld

  • 以静态库(static library)的形式提供。
  • 可以同时与SN Systems 和CodeWarrior 一起工作(我们内部使用SN Systems).
  • 直接支持Nintendo DS音频硬件。
  • 提供快速装配优化后的YUV to RGB转换器,以转换为 8-bit 和 16-bit RGB. 色彩转换数据能够直接写入后端缓冲区或视频纹理。
  • 能够直接访问YUV bits (YUV12).
  • Bink 库大约有145 KB,它是完全独立的(无需其他的任何库)。
  • 在回放的时候,Bink在内存中需要两个完全的YUV12视频缓冲区(每像素12位)和一个一秒数据率(one second data rate)缓冲区。它所需要的内存远小于其它编解码器。
  • 能够完全重载缺省的内存函数,因此所有的内存管理都是通过用户提供的回调来发生的。
  • 能够从一个文件名字符打开一个OS文件句柄,或者你可以完全重载所有的IO函数。缺省情况下,Bink IO系统使用异步后台读取。

Apple Macintosh

  • 同时提供一个PPC和x86 Mach0共享库。
  • 支持Sound Manager(和 Miles Sound System) 声音输出。
  • 提供快速装配优化后的YUV to RGB转换器,以转换为 16-bit, 和 32-bit RGB.
  • 能够直接访问YUV bits (YUV12)
  • Bink 库大约有204 KB,它是完全独立的(无需其他的任何库)。
  • 在回放的时候,Bink在内存中需要两个完全的YUV12视频缓冲区(每像素12位)和一个一秒数据率(one second data rate)缓冲区。
  • 能够从一个文件名字符打开一个FSSpec指针,或者你可以完全重载所有的IO函数。缺省情况下,在MacOS平台,Bink IO系统使用所有的异步后台读取,在MacOS X则使用一个低开销的后台线程。
  • Includes a full-featured blitting and buffering API on MacOS. This BinkBuffer API uses QuickDraw to gain direct access to the frame buffer on MacOS 8 to X. This API is compatible with the Windows version, so moving Bink playback between Windows and MacOS is painless. 包含一个MacOS完全功能的blitting和buffering API。该BinkBuffer API使用QuickDraw来从MacOS 8到X系统里获得对帧buffer的直接访问。
  • 能够完全重载缺省的内存函数,因此所有的内存管理都是通过用户提供的回调来发生的。

Apple iOS - iPhone/iPad

  • 以静态库(static library)的形式提供 (fat with slices for ARM6, ARM7, and simulator).
  • 与 Xcode 一起工作.
  • 运行时Bink库大约有182 KB,它是完全独立的(无需其他的任何库)。
  • 在回放的时候,Bink在内存中需要两个完全的YUV12视频缓冲区(每像素12位)和一个一秒数据率(one second data rate)缓冲区。它所需要的内存远远小于其它编解码器。我们甚至不需要额外的纹理内存 - 我们直接解压到纹理里!
  • 能够完全重载缺省的内存函数,因此所有的内存管理都是通过用户提供的回调来发生的。
  • 能够从一个文件名字符打开一个OS文件句柄,或者你可以完全重载所有的IO函数。

GNU/Linux for x86 CPUs

  • 为GCC提供以静态库(static library)。
  • 支持SDL_mixer声音输出。
  • 提供super-fast MMX优化后的YUV to RGB转换器以转换为16-bit, 32-bit, 和24-bit RGB。
  • 能够在多种格式(YUY2, UYUV, YUV12)下直接访问YUV位。
  • Bink 库大约有 200 KB,并且是它是完全独立的 (只需用pthreads and glibc).
  • 在回放的时候,Bink在内存中需要两个完全的YUV12视频缓冲区(每像素12位)和一个一秒数据率(one second data rate)缓冲区。
  • 能够从一个文件名字符打开一个文件句柄,或者你可以完全重载所有的IO函数。缺省情况下,Bink IO系统在一个低开销的后台线程中完成所有读取。
  • 能够完全重载缺省的内存函数,因此所有的内存管理都是通过用户提供的回调来发生的。