Bink Video!
 
Home
 
Bink
Main
Advantages
SDK Features
Customers
Download
History
FAQ
Tools Help
 
Miles
 
Granny
 
Pixomatic
 
Smacker
 
Sales
 
Support
 
About RAD
 
 
 
 

Bink SDK Features

 
425.893.4300 phone      New! 425.609.2463 fax      sales3@radgametools.com
 
 
 

The Bink SDK includes everything necessary to playback Bink movies quickly and easily. It is available for 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
  • Available as a static library.
  • Uses the SPUs for background decompression - decompress up to ten 1280x720 or thirty-six 640x480 in the background without any PPU overhead!
  • Support SPU-threads, RAW, and SPURS tasks for SPU decompression.
  • Works with the default PS/3 toolchain (GCC and SN Systems).
  • Supports 7.1 audio output using LibAudio - PS/3 has terrific sound and Bink can maximize it!
  • Includes a complete API for blitting using fragment shaders that is cross platform compatible with Windows, Xbox, and Xbox 360! Use the GPU for beautiful video!
  • The Bink library is about 242 KB and is completely standalone (no other libraries are required).
  • At playback time, Bink needs two full YUV12 video buffers in memory (12-bits per pixel) and a one second data rate buffer. This is WAY less memory than other codecs need. We don't even need extra texture memory - we can decompress directly into the textures!
  • Can completely overload the default memory functions, so that all memory management happens through user-supplied callbacks.
  • Can open from a filename string, an OS file handle, or you can completely overload all of the IO functions.

Nintendo Wii Console
  • Available as a static library.
  • Works with the default Wii toolchain (CodeWarrior).
  • Includes a complete API for blitting using the Wii's GPU register combiners that is cross platform compatible with Windows, Xbox, and Xbox 360! Use the GPU for beautiful video!
  • The Bink library is about 142 KB and is completely standalone (no other libraries are required).
  • At playback time, Bink needs two full YUV12 video buffers in memory (12-bits per pixel) and a one second data rate buffer. This is WAY less memory than other codecs need. We don't even need extra texture memory - we can decompress directly into the textures!
  • Can completely overload the default memory functions, so that all memory management happens through user-supplied callbacks.
  • Can open from a filename string, an OS file handle, or you can completely overload all of the IO functions.

Sony Playstation (R) Portable (PSP) Handheld
  • Available as a static library.
  • Works with the default PSP toolchain (GCC and SN Systems).
  • Supports libwave and simple audio for audio output.
  • Includes a complete API for blitting using multi-pass palettes that is mostly cross platform compatible with Windows, Xbox, and Xbox 360! Use the GPU for beautiful video!
  • The Bink library is about 165 KB and is completely standalone (no other libraries are required).
  • At playback time, Bink needs two full YUV12 video buffers in memory (12-bits per pixel) and a one second data rate buffer. This is WAY less memory than other codecs need. We don't even need extra texture memory - we can decompress directly into the textures!
  • Can completely overload the default memory functions, so that all memory management happens through user-supplied callbacks.
  • Can open from a filename string, an OS file handle, or you can completely overload all of the IO functions.

Sony PlayStation 2 Console
  • Available as a static library.
  • Works with both SN Systems and CodeWarrior (we use SN Systems internally).
  • Uses one of the two PCM output channels (one on each SPU) for sound output. Will run simultaneously with other sound systems perfectly.
  • Supplies massively optimized assembly YUV to RGB converters to 16-bit, and 32-bit RGB.
  • Can access the YUV bits directly (YUV12).
  • A standard Bink player will link in about 115 KB of code and data and is completely standalone (no other libraries are required).
  • At playback time, Bink needs two full YUV12 video frames in memory (12-bits per pixel) and a one second data rate buffer. This is much less memory than other codecs need.
  • Can completely overload the default memory functions, so that all memory management happens through user-supplied callbacks.
  • Can open from a filename string, an OS file handle, or a starting logic sector number, or you can completely overload all of the IO functions.
  • Bink supplies a sophisticated IOP-side streaming system that does perfect asynchronous streaming and can run simultaneously with any other system IO being performed at the same time (so you can play videos during level loads).

Microsoft Windows 95, 98, Me, NT, 2000, XP, Vista and Windows 64
  • Available as a DLL file that ships with your application.
  • Should work fine with any Windows C/C++ compiler (including Microsoft Visual Studio 6 and .NET which we build with).
  • Built-in support for background thread decompression - playback is twice as fast on a dual core machine!
  • Supports the Miles Sound System, DirectSound, or waveout for sound output. We also support 5.1 or 7.1 multi-channel output using Miles.
  • Supplies super-fast MMX optimized YUV to RGB converters to 16-bit, 32-bit, and 24-bit RGB.
  • Can access the YUV bits directly in several formats (YUY2, UYUV, YUV12).
  • The Bink DLL is about 170 KB and is completely standalone (no other DLLs are required).
  • At playback time, Bink needs two full YUV12 video frames in memory (12-bits per pixel) and a one second data rate buffer. This is much less memory than other codecs need.
  • Can open from a filename string, a file handle, or you can completely overload all of the IO functions. By default, the Bink IO system does all reading on a low-overhead background thread.
  • Includes a full-featured blitting and buffering API on Windows. This BinkBuffer API can use DirectDraw, DIBSections, and overlays in RGB or YUV mode. Blitting is normally complicated on Windows due to the huge number of APIs - Bink simplies this down to one simple API.
  • Includes wrappers for alpha-blitting through OpenGL, Direct X 7, Direct X 8, Direct X 9, or D3D9 with pixel shaders. Source code included to this layer, so you can easily integrate with the rest of your 3D game. Possible to use the Bink 3D buffer API without knowing GL or DX.
  • Can completely overload the default memory functions, so that all memory management happens through user-supplied callbacks.

Microsoft Xbox 360 Console
  • Available as both both a static library and a static link time code generation library (LTCG libs are little faster at runtime and save about 20K, but they link much slower).
  • Works perfectly with Visual Studio 2005.
  • Built-in support for background thread decompression - use any of the Xbox cores to do the Bink decompression.
  • Supports XAudio for sound output. Includes support for 5.1 movies (decodes 6 channels of audio and routes them to the proper mix bin).
  • Supplies super-fast MMX assembly optimized YUV to RGB converters to 16-bit, and 32-bit RGB.
  • Includes a complete API for blitting using pixels shaders that is cross platform compatible with Windows, Sony PLAYSTATION (R) 3, and Xbox! Use the GPU for beautiful video!
  • Can access the YUV bits directly (YUY2 and YUV12) for fast copying to YUV textures.
  • The Bink libraries link to about 200 KB in your XBE image, and are contained in sections, so you can unload them when you aren't using Bink.
  • At playback time, Bink needs two full YUV12 video frames in memory (12-bits per pixel) and a one second data rate buffer. This is much less memory than other codecs need. We don't even need extra texture memory - we can decompress directly into the textures!
  • Can open from a filename string, a file handle, or you can completely overload all of the IO functions. By default, the Bink IO system does all reading on a low-overhead background thread.
  • Includes examples of using pixel shaders, and alpha textures.
  • Can completely overload the default memory functions, so that all memory management happens through user-supplied callbacks.
  • Bink has shipped in nearly all Xbox 360 titles as of summer 2006.

Microsoft Xbox Console
  • Available as both both a static library and a static link time code generation library (LTCG libs are little faster at runtime and save about 20K, but they link much slower).
  • Works perfectly with Visual Studio 6 or .NET.
  • Supports DirectSound for sound output. Includes support for 5.1 movies (decodes 6 channels of audio and routes them to the proper mix bin).
  • Supplies super-fast MMX assembly optimized YUV to RGB converters to 16-bit, and 32-bit RGB.
  • Includes a complete API for blitting using pixels shaders that is cross platform compatible with Windows, Sony PLAYSTATION (R) 3, and Xbox 360! Use the GPU for beautiful video!
  • Can access the YUV bits directly (YUY2 and YUV12) for fast copying to YUV textures or YUV overlays.
  • The Bink libraries link to about 200 KB in your XBE image, and are contained in sections, so you can unload them when you aren't using Bink.
  • At playback time, Bink needs two full YUV12 video frames in memory (12-bits per pixel) and a one second data rate buffer. This is much less memory than other codecs need. We don't even need extra texture memory - we can decompress directly into the textures!
  • Can open from a filename string, a file handle, or you can completely overload all of the IO functions. By default, the Bink IO system does all reading on a low-overhead background thread.
  • Includes examples of using pixel shaders, decompressing to the back buffer, to a 3D RGB texture, to an alpha texture, to a YUV overlay, and to a 3D YUV texture.
  • Can completely overload the default memory functions, so that all memory management happens through user-supplied callbacks.
  • Bink shipped in the vast majority of Xbox titles.

Nintendo DS Handheld
  • Available as a static library.
  • Works with both SN Systems and CodeWarrior (we use SN Systems internally).
  • Supports both the Nintendo DS audio hardware directly.
  • Supplies fast assembly optimized YUV to RGB converters to 8- and 16-bit RGB. Can color convert directly into back buffer or video textures.
  • Can access the YUV bits directly (YUV12).
  • The Bink library is about 145 KB and is completely standalone (no other libraries are required).
  • At playback time, Bink needs two full YUV12 video frames in memory (12-bits per pixel) and a one second data rate buffer. This is much less memory than other codecs need.
  • Can completely overload the default memory functions, so that all memory management happens through user-supplied callbacks.
  • Can open from a filename string, an OS file handle, or you can completely overload all of the IO functions. By default, the Bink IO system uses all asynchronous background reading.

Nintendo GameCube Console
  • Available as a static library.
  • Works with both SN Systems and CodeWarrior (we use SN Systems internally).
  • Supports both AX and MusyX for sound output.
  • Supplies fast assembly optimized YUV to RGB converters to 16-bit, and 32-bit RGB.
  • Can access the YUV bits directly (YUV12).
  • The Bink library is about 204 KB and is completely standalone (no other libraries are required).
  • At playback time, Bink needs two full YUV12 video frames in memory (12-bits per pixel) and a one second data rate buffer. This is much less memory than other codecs need.
  • Can completely overload the default memory functions, so that all memory management happens through user-supplied callbacks.
  • Can open from a filename string, an OS file handle, or you can completely overload all of the IO functions. By default, the Bink IO system uses all asynchronous background reading.

Macintosh
  • Available as both a PEF Carbon shared library, a MachO Carbon shared library, and a CFM shared library.
  • Should work fine with any Mac C/C++ compiler including GCC, Xcode, and CodeWarrior (which is what we build with).
  • Supports the Sound Manager (and sits along side the Miles Sound System) for sound output.
  • Supplies fast assembly optimized YUV to RGB converters to 16-bit, and 32-bit RGB.
  • Access the YUV bits directly (YUV12).
  • The Bink libraries are about 204 KB and are completely standalone (no other libraries are required).
  • At playback time, Bink needs two full YUV12 video frames in memory (12-bits per pixel) and a one second data rate buffer.
  • Can open from a filename string, an FSSpec pointer, or you can completely overload all of the IO functions. By default, the Bink IO system uses all asynchronous background reading on MacOS 9 and uses a low-overhead background thread on 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.
  • Can completely overload the default memory functions, so that all memory management happens through user-supplied callbacks.

GNU/Linux for x86 CPUs
  • Available as a static library built with GCC 3.2.2.
  • Supports SDL_mixer for sound output.
  • Supplies super-fast MMX optimized YUV to RGB converters to 16-bit, 32-bit, and 24-bit RGB.
  • Can access the YUV bits directly in several formats (YUY2, UYUV, YUV12).
  • The Bink library is about 200 KB and is completely standalone (only pthreads and glibc required).
  • At playback time, Bink needs two full YUV12 video frames in memory (12-bits per pixel) and a one second data rate buffer.
  • Can open from a filename string, a file handle, or you can completely overload all of the IO functions. By default, the Bink IO system does all reading on a low-overhead background thread.
  • Can completely overload the default memory functions, so that all memory management happens through user-supplied callbacks.

Bink Functions:

This is the primary Bink API. This API controls the decompression and playback of a Bink Video movie.

  • BinkOpen / Bink MacOpen
  • BinkClose
  • BinkDoFrame
  • BinkCopyToBuffer
  • BinkCopyToBufferRect
  • BinkWait
  • BinkNextFrame
  • BinkPause
  • BinkGetRects
  • BinkGoto
  • BinkGetKeyFrame
  • BinkSoundUseMiles
  • BinkSoundUseDirectSound
  • BinkSoundUseSoundManager
  • BinkSoundUseAX
  • BinkSoundUseMusyX
  • BinkGetError
  • BinkSetIO
  • BinkSetSoundSystem
  • BinkSetVolume
  • BinkSetPan
  • BinkSetMixBins
  • BinkSetMixBinVolumes
  • BinkSetVideoOnOff
  • BinkSetSoundOnOff
  • BinkGetSummary
  • BinkGetRealtime
  • BinkSetFrameRate
  • BinkSetSoundTrack
  • BinkSetSimulate
  • BinkSetIOSize
  • BinkService
  • BinkGetLogoAddress
  • BinkSetMemory

BinkBuffer Functions for Win32, Win64 and MacOS:

The BinkBuffer API for Win32, Win64 and MacOS was written to make it extremely easy to add true-color blitting to your applications. The BinkBuffer API supports 4 basic DirectDraw buffer styles (primary, overlay, YUV off-screen and RGB off-screen) and allows you to switch easily between them. The BinkBuffer API will get your applications up and running almost immediately, but it is optional. If you already have DirectDraw up and running, you can skip the whole BinkBuffer API completely, and just have the Bink API copy right into your surface pointers. BinkBuffers don't necessarily use any extra system memory - overlays and most of the off-screen surfaces exist in video memory, and primary surface BinkBuffers don't require any extra memory at all!

  • BinkBufferOpen
  • BinkBufferClose
  • BinkBufferLock
  • BinkBufferUnlock
  • BinkBufferBlit
  • BinkBufferCheckWinPos
  • BinkBufferGetError
  • BinkBufferSetScale
  • BinkBufferSetResolution
  • BinkBufferGetDescription
  • BinkBufferSetDDPrimary
  • BinkBufferSetGDPrimary
  • BinkDDSurfaceType
  • BinkIsSoftwareCursor
  • BinkCheckCursor
  • BinkRestoreCursor
  • BinkBufferSetOffset
 
 

 
Home       Bink       Miles       Granny       Pixomatic       Sales       Support       About RAD
 
send comments to:
the webmaster
 
Copyright © 1991-2008
RAD Game Tools, Inc.
425.893.4300
updated 2/18/08