Bink SDK 1.5v

Bink Reference

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.