| Bink SDK 1.5v |
The Bink Reference is a hyperlinked version of the Bink SDK's printed reference manual.

| Acknowledgments | |
| Introduction | |
|---|---|
| Bink Overview | |
| Compressing with Bink | |
| Bink Video Playback | |
| Colorspace - RGB vs. YUV | |
| Audio Tracks in Bink | |
| Critical File I/O handling in Bink | |
| The Win32 Platform | |
| Installation for Win32 | |
| Integrating Bink into a Win32 Build Environment | |
| Distributing the Bink DLL under Win32 | |
| Bink Playback under Win32 | |
| Pros and Cons of Software Blitting under Win32 | |
| Pros and Cons of YUV Overlays under Win32 | |
| Pros and Cons of YUV Off-screen Buffers under Win32 | |
| BinkBuffers to the Rescue | |
| Sound under Win32 | |
| Memory management under Win32 | |
| Sharing the CPU under Win32 | |
| Bink Examples for Win32 | |
| The Nintendo GameCube Platform | |
| Installation for the Nintendo GameCube | |
| Integrating Bink into an Nintendo GameCube Build Environment | |
| Distributing Bink on the Nintendo GameCube | |
| Bink Playback on the Nintendo GameCube | |
| NTSC and PAL on the Nintendo GameCube | |
| Gamma on the Nintendo GameCube | |
| Sound on the Nintendo GameCube | |
| Memory management on the Nintendo GameCube | |
| Sharing the CPU on the Nintendo GameCube | |
| Bink Examples for the Nintendo GameCube | |
| The Xbox Platform | |
| Installation for the Xbox | |
| Integrating Bink into an Xbox Build Environment | |
| Distributing Bink on the Xbox | |
| Bink Playback on the Xbox | |
| Sections on the Xbox | |
| NTSC and PAL on the Xbox | |
| Gamma on the Xbox | |
| Sound on the Xbox | |
| Memory management on the Xbox | |
| Sharing the CPU on the Xbox | |
| Bink Examples for the Xbox | |
| The MacOS Platform | |
| Installation for MacOS | |
| Integrating Bink into a MacOS Build Environment | |
| Distributing the Bink Shared Library under MacOS | |
| Bink Playback under MacOS | |
| Pros and Cons of Direct to Screen Blitting under MacOS | |
| Pros and Cons of GWorld Blitting under MacOS | |
| Simplifying MacOS Blitting with BinkBuffers | |
| Sound under MacOS | |
| Memory management under MacOS | |
| Sharing the CPU under MacOS | |
| Bink Examples for MacOS | |
| Basic Types | |
| S8 | describes a signed 8-bit integer. |
| U8 | describes an unsigned 8-bit integer. |
| S16 | describes a signed 16-bit integer. |
| U16 | describes an unsigned 16-bit integer. |
| S64 | describes a signed 64-bit integer. |
| U64 | describes an unsigned 64-bit integer. |
| S32 | describes a signed 32-bit integer. |
| U32 | describes an unsigned 32-bit integer. |
| s32_ptr | describes a pointer to a signed 32-bit integer. |
| u32_ptr | describes a pointer to an unsigned 32-bit integer. |
| VOID_PTR | describes a standard C/C++ untyped memory pointer. |
| F32 | describes a standard 32-bit floating-point number. |
| F64 | describes a standard 64-bit double-precision floating-point number. |
| void | describes a standard C/C++ void return type. |
| NULL | describes a standard C/C++ NULL pointer. |
| OS_WND | describes a standard HWND window handle on Win32, or a standard WindowPtr under MacOS. |
| HCURSOR | describes a standard Win32 HCURSOR cursor handle. |
| LPDIRECTSOUND | describes a pointer to a DirectSound object. |
| LPDIRECTDRAW | describes a pointer to a DirectDraw object. |
| LPDIRECTDRAWSURFACE | describes a pointer to a DirectDraw surface object. |
| LPDIRECT3DSURFACE8 | describes a pointer to a DirectX 8 Direct3D surface object. |
| FSSpec_PTR | describes a pointer to a MacOS filespec. |
| GDHandle | describes a standard MacOS Graphics Device pointer. |
| VOID_PTR | describes a standard C/C++ untyped memory pointer. |
| BINK_STRING | describes a normal zero-terminated C-style string. |
| HBINK | is a handle to an opened Bink file. |
| HBINKTRACK | is a handle to an opened Bink audio track. |
| HBINKBUFFER | is a handle to an opened BinkBuffer. |
| BINKRECT | is a structure describing a rectangular area. |
| BINKRECT_ARRAY | is an array of structures describing rectangular areas. |
| Bink API | |
| BinkOpen | opens the specified Bink file for decompression. |
| BinkMacOpen | opens the specified Bink file for decompression. |
| BINK | is a structure returned from BinkOpen. |
| BINK_OPEN_FLAGS | describes the special or unusual ways of opening a Bink file. |
| BinkClose | closes the specified Bink handle. |
| BinkDoFrame | decompresses the next frame of video. |
| BinkCopyToBuffer | copies a video frame from the internal Bink memory buffers to a specified memory address. |
| BinkCopyToBufferRect | copies a piece of the video frame from the internal Bink memory buffers to a specified memory address. |
| BINK_COPY_FLAGS | describes the destination buffer type as well as special or unusual ways of converting Bink's internal YUV data. |
| BinkNextFrame | moves to the next video frame in the Bink file. |
| BinkWait | tells you when to move to the next Bink frame (based on the frame rate of the file). |
| BinkPause | pauses and resumes playback of a Bink file. |
| BinkGetRects | returns the dirty rectangles of the last decompressed video frame. |
| BINK_GETRECTS_FLAGS | Specifies the type of rectangle list you'd prefer from the BinkGetRects function. |
| BinkGoto | jumps to a new frame inside the Bink file. |
| BINK_GOTO_FLAGS | Specifies the type of jump to perform. |
| BinkGetKeyFrame | finds a key frame near another specified frame. |
| BINK_GETKEY_FLAGS | Specifies the type of key frame search to perform. |
| BinkService | gives some explicit idle time to Bink to service any of its internal tasks. |
| BinkSoundUseMiles | tells Bink to use the Miles Sound System as its sound output system. |
| BinkSoundUseDirectSound | tells Bink to use DirectSound as its sound output system. |
| BinkSoundUseSoundManager | tells Bink to use the MacOS Sound Manager as its sound output system. |
| BinkSoundUseAX | tells Bink to use AX as its sound output system on the Nintendo GameCube. |
| BinkSoundUseMusyX | tells Bink to use MusyX as its sound output system on the Nintendo GameCube. |
| RADARAMCALLBACKS | specifies a set of replacement audio RAM memory management functions for use with AX on the Nintendo GameCube. |
| RADARAMALLOC | points to a function that will allocate audio memory on Bink's behalf when using AX on the Nintendo GameCube. |
| RADARAMFREE | points to a function that will free memory allocated by a previous call to the RADARAMALLOC function. |
| BinkSetSoundSystem | tells Bink to use a custom sound provider as its sound output system. |
| BinkSetVolume | sets the volume of a Bink sound track. |
| BinkSetPan | sets the speaker pan (left to right balance) of a Bink sound track. |
| BinkSetMixBins | sets the mix bin destination of the sound track on an Xbox. |
| BinkSetMixBinVolumes | sets the volumes of the individual mix bins on an Xbox. |
| BinkSetVideoOnOff | tells Bink not to decompress the video frames when BinkDoFrame is called. |
| BinkSetSoundOnOff | tells Bink not to decompress the audio and release any audio resources. |
| BinkGetSummary | returns playback information about the specified Bink handle. |
| BINKSUMMARY | is a structure used to return playback summary information from BinkGetSummary. |
| BinkGetRealtime | returns realtime playback information about the specified Bink handle. |
| BINKREALTIME | is a structure used to return realtime playback information from BinkGetRealtime. |
| BinkGetTrackID | returns the track ID for the specified track index. |
| BinkOpenTrack | opens a handle to the low-level audio track decoder. |
| BINKTRACK | is a structure returned from BinkOpenTrack. |
| BinkCloseTrack | closes a low-level audio track decoder handle. |
| BinkGetTrackData | extracts all of the sound in the current video frame. |
| BinkSetFrameRate | overrides the Bink file's built-in frame rate. |
| BinkSetSoundTrack | overrides the Bink file's default sound track. |
| BinkSetSimulate | tells Bink to simulate a specified device I/O speed. |
| BinkSetIOSize | Specifies the size of the I/O memory buffer that Bink reads into. |
| BinkSetIO | specifies a set of replacement file I/O functions. |
| RADSetMemory | specifies a set of replacement memory management functions. |
| RADMEMALLOC | points to a function that will allocate memory on Bink's behalf. |
| RADMEMFREE | points to a function that will free memory allocated by a previous call to the RADMEMALLOC function. |
| BinkGetError | returns a string that describes the last global Bink error. |
| BinkGetLogoAddress | returns a pointer to an embedded Bink logo file. |
| BinkLoad | reloads the Bink sections on an Xbox (if it had been unloaded by BinkUnload). |
| BinkUnload | unloads the Bink sections on an Xbox. |
| BinkLoadConverter | reloads one or more of the Bink YUV to RGB converters (if they had been unloaded by BinkUnloadConverter). |
| BinkUnloadConverter | unloads one or more of the Bink YUV to RGB converters. |
| BINK_CONVERTER_FLAGS | Specifies the class of Bink YUV converters to load or unload. |
| BinkBuffer API | |
| BinkBufferOpen | opens a BinkBuffer (which simplifies blitting YUV data onto the screen). |
| BINKBUFFER | is a structure returned from BinkBufferOpen. |
| BINKBUFFER_OPEN_FLAGS | describes the type and capabilities of the BinkBuffer that you wish to open. |
| BinkBufferClose | closes the specified BinkBuffer handle. |
| BinkBufferSetDirectDraw | sets the DirectDraw object and primary surface pointers. |
| BinkBufferLock | locks the BinkBuffer for reading or writing to the pixel buffer. |
| BinkBufferUnlock | unlocks a BinkBuffer that has been locked with BinkBufferLock. |
| BinkBufferBlit | copies the pixel data onto the screen (for the off-screen variety of BinkBuffers). |
| BinkBufferCheckWinPos | adjusts the specified window position coordinates for validity with the current BinkBuffer type. |
| BinkBufferSetOffset | tells the BinkBuffer that either the window position on the desktop or that the playback offset within the window has changed. |
| BinkBufferSetScale | sets a new shrinking or stretching scale to use during blitting. |
| BinkBufferSetResolution | tells Bink to switch video resolution when opening the BinkBuffer. |
| BinkBufferGetDescription | returns a string describing the blitting style being used by the BinkBuffer. |
| BinkBufferGetError | returns a string that describes the last global BinkBuffer error. |
| BinkDDSurfaceType | returns a value describing the format of the specified DirectDraw surface. |
| BinkDX8SurfaceType | returns a value describing the format of the specified DirectX 8 surface. |
| BinkGDSurfaceType | returns a value describing the format of the specified MacOS Graphics Device. |
| BinkIsSoftwareCursor | determines whether the specified mouse cursor is software-based on the specified DirectDraw surface pointer. |
| BinkCheckCursor | checks to see if the mouse is currently inside the specified window rectangle, and, if so, hides it. |
| BinkRestoreCursor | restores the mouse cursor to its original state after a BinkCheckCursor call. |
| Background Concepts | |
| Open and Close | |
| Locking and Unlocking | |
| Alpha Planes | |
| OpenGL | |
| Direct3D | |
| Scaling | |
| Mouse Cursors | |
| Change Log | |
For technical support, e-mail Bink1@radgametools.com
© Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.