
Bink SDK Features
The Bink SDK includes everything necessary to play back Bink movies quickly and easily. It is available for every gaming platform. Bink is built into Unreal Engine, and the SDK includes a complete Unity integration.
On every platform, Bink needs two full YUV12 video buffers in memory (12-bits per pixel) and a one second data rate buffer - much less memory than other codecs need. We don't even need extra texture memory - we can decompress directly into the textures. You can completely overload the default memory functions, so that all memory management happens through user-supplied callbacks, and you can open from a filename string, an OS file handle, from memory, from inside a stored zip file, 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.
Sony PlayStation ® 5 and PlayStation 4 Consoles
- Bink 2 support (Bink 1 is also available on PS4).
- Available as a static library that works with the default Sony toolchain.
- Allows you to offload much of the video decoding onto the GPU using compute shaders - this is up to four times faster than CPU-only decoding!
- Includes a complete API for blitting using the console's GPU that is cross platform compatible with the other Bink platforms! Use the GPU for beautiful video!
- Native multichannel sound output on both consoles.
- The Bink library is completely standalone (no other libraries are required).
Microsoft Xbox Series X|S and Xbox One Consoles
- Bink 2 support (Bink 1 is also available on Xbox One). Built against the Microsoft GDK.
- Available as a static library that works with Visual Studio.
- Allows you to offload much of the video decoding onto the GPU using compute shaders - this is up to four times faster than CPU-only decoding!
- Includes a complete API for blitting using the Xbox GPU that is cross platform compatible with the other Bink platforms! Use the GPU for beautiful video!
- The Bink library is completely standalone (no other libraries are required).
Nintendo Switch and Switch 2 Consoles
- Bink 2 support.
- Available as a static library that works with the default Nintendo toolchain.
- Includes a complete API for blitting using pixel shaders that is cross platform compatible with the other Bink platforms! Use the GPU for beautiful video!
- The Bink library is completely standalone (no other libraries are required).
Microsoft Windows (x86, x64 and Arm64)
- Bink 1 and Bink 2!
- Available as a DLL file that ships with your application.
- Should work fine with any Windows C/C++ compiler (including Microsoft Visual Studio of course).
- Built-in support for background thread decompression - decoding scales across multiple cores.
- Allows you to offload much of the video decoding onto the GPU using compute shaders (D3D11, D3D12 and Vulkan) - this is two to three times faster than CPU-only decoding (and the higher the resolution, the bigger the win).
- Includes a complete API for blitting using pixel shaders that is cross platform compatible with the other Bink platforms! Use the GPU for beautiful video!
- Windows Audio (WASAPI) sound output with multichannel support and selectable output device (for easy headphone or VR headset support). DirectSound is also available.
- Supplies super-fast SIMD optimized YUV to RGB converters, or access the YUV bits directly.
- The Bink DLL is completely standalone.
- Includes wrappers for alpha-blitting through D3D 11/12, Vulkan and OpenGL. 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.
Apple macOS
- Bink 1 and Bink 2!
- Available as both Intel and Apple Silicon libraries.
- Supports CoreAudio for multichannel sound output.
- Access the YUV bits directly (YUV12).
- The Bink libraries are completely standalone (no other libraries are required).
- Includes wrappers for alpha-blitting through Metal or OpenGL. Source code included to this layer, so you can easily integrate with the rest of your 3D game.
Apple iOS and tvOS - iPhone/iPad/Apple TV
- Bink 1 and Bink 2!
- Available as a static library that works with Xcode.
- The Bink library is completely standalone (no other libraries are required).
- Includes wrappers for alpha-blitting through Metal. Source code included to this layer, so you can easily integrate with the rest of your 3D game.
Android
- Bink 1 and Bink 2! Supports x86 and Arm, 32-bit and 64-bit. Shared libraries are 16 KB page aligned.
- Available as a static or shared library that works with the Android NDK toolchain.
- The Bink library is completely standalone (no other libraries are required).
- Includes wrappers for alpha-blitting through Vulkan or OpenGL ES. Source code included to this layer, so you can easily integrate with the rest of your 3D game.
GNU/Linux for x86 and Arm CPUs
- Bink 1 and Bink 2! Supports x86 and Arm, 32-bit and 64-bit.
- Available as a static library for GCC and clang.
- Supports PulseAudio for sound output.
- Allows you to offload much of the video decoding onto the GPU using Vulkan or OpenGL compute shaders - this is two to three times faster than CPU-only decoding (and the higher the resolution, the bigger the win).
- Includes wrappers for alpha-blitting through Vulkan or OpenGL. Source code included to this layer, so you can easily integrate with the rest of your 3D game.
- Can access the YUV bits directly in several formats (YUY2, UYUV, YUV12).
- The Bink library is completely standalone (only pthreads and glibc required).
Web (WebAssembly via Emscripten)
- Bink 2 support - play Binks right from a web page.
- Includes standard emcc libraries as well as JavaScript bindings, with multichannel audio output.
- Works with Unity web builds too - deploy Unity projects with video directly to the web.