Changes from 1.8w to 1.8x (08-11-2007)
- Fixed a problem in the Bink file header validation where partially compressed Bink files would be seen as corrupted. This meant you couldn't preview Bink files while they were still compressing in the front-end tool.
- Added more bulletproofing to the audio frame reader to handle additional corrupted input Bink files.
- Switched to the 1.90 PS3 SDK, and built with GCC 4.11. The new GCC is terrific - it sped up decompression on the PS3 by 10%!
- In the Bink compression tool, added an option to apply the alpha pre-multiplication before compressing. Pre-multiplied alpha gives better quality, it filters better, and it's faster - everyone should use it. Also, added an option to use pre-multiplied alpha during filtering (like resizing) and then convert back before compression.
- Updated the examples on all of the platforms to allow you to specify whether you used pre-multiplied alpha.
- Updated the PS3 GCM example to included a simple manager for mapped memory.
- On Xbox 360 and PS3, rewrote the pixel shaders to be more efficient (although the GPUs are so fast on these platforms that it doesn't matter much).
- On Windows, rewrote the 2.0 pixel shaders to be more efficient, and added an optional pixel shader 1.1 path to run on older DX8-class hardware.
- On Wii, changed the example code to take into account as much information about the Wii texture iterators as is public to minimize resampling errors when scaling a Bink video texture. It's always best to try to play the movies at 1 to 1, though, since it seems impossible to remove all possible scaled sampling errors.
- On Wii, fixed the pause feature so that it resumes the audio tracks immediately. Previously, it could take up to 700 ms for the audio to begin when you paused and then resumed audio.
- Fixed a problem in the front-end tools, where filenames in a list file had to be less than 128 characters long.
Changes from 1.8v to 1.8w (07-13-2007)
- Wrote new optimizations for Xbox 360 and PS3 that give around a 5% speed improvement.
- Fixed an overflow bug where Bink movies around the 400 MB range might be preloaded rather than streamed.
- Fixed a bug on the PS3 where a small amount of audio could be dropped at the beginning of playback if the system was under load.
- Added more bulletproofing when reading the Bink header.
- Fixed a bug on Wii and GameCube where very small files (and preloaded files) using a file offset wouldn't open.
- Added new documentation describing best practices for handling critical errors on each of our platforms.
- Made 8-bit audio tracks play on Wii, PS2, PS3, and PSP. Note that you should normally use 16-bit audio, since 8-bit input is simply scaled up to 16-bit anyway.
- Compiled the Nintendo DS SDK to allow it to be called from 32-bit or 16-bit code.
- Fixed a bug where the Windows Bink player wouldn't clear the bottom of the playback window, if the window was scaled.
- Made the File Info button show up to 256 tracks in a Bink file (it previously only showed 8).
Changes from 1.8u to 1.8v (05-22-2007)
- Fixed a bug on Windows that caused a crash on machines that have SSE, but not SSE2 (older Athlons mostly).
- Added a delay in the PSP audio shutdown to make sure the sound buffer has spun down.
Changes from 1.8t to 1.8u (05-22-2007)
- Bulletproofed the video and audio decoders against bad input file data - Bink can play right through any data corruptions now.
- Changed the frame skipping logic to handle playback at incorrect fixed frame rates more smoothly. Playing an NTSC movie on PAL device will be much nicer now, for example.
- Worked around three, count 'em, three code generation bugs with VC 2005 that were causing the RAD Video Tools to exit.
- Increased a few of the internal buffer sizes to handle super long filenames.
Changes from 1.8s to 1.8t (05-10-2007)
- Changed the default video blitter on Windows to DIBSection. DirectDraw is becoming less reliable and modern machines are more than fast enough to use DIBs.
- Fixed a very rare compression issue when compressing with alpha planes (which also improves alpha quality).
- A bunch of changes under the hood of the Bink audio compressor.
- Bink decompression could previously only open 8 tracks per Bink due to a stupid bug - you can now open 32 per movie.
- Added restrict to many of the internal decoder pointers so that RISC compilers can do a bit better optimizing.
- Added an option for pure mono out on the Wii.
- Fixed the Bink version info so that it shows up on Vista correctly.
- Added internal SSE versions of memcpy, memmove and memset on Win32.
Put a few of the small global allocations into a fixed pool to avoid fragmentation or remnant allocations (especially for PS3).
- Updated to the PS3 1.60 SDK.
- Updated to the Xbox 360 April SDK.
- Updated to the Visual Studio 2005 on Windows.
- Updated to the Wii 2.4 patch 3 SDK.
- Renamed a few of the fft math routines to avoid conflicting with other middleware.
- Fixed a few of the example programs for the PS3 for SDK 1.60.
- Forced the first Bink frame to always be a key frame (avoids surprises if you use the compression hint window incorrectly).
Changes from 1.8r to 1.8s (01-25-2007)
- On the PS3, added GCM library example code - now you can get Bink running with a GCM based game almost immediately.
- Change the PS3 library to free the background threads when you call BinkFreeGlobals instead of when you close the last Bink file. This lets you run Bink on other threads without having to worry so much about thread shutdown deadlocks.
- Made the PS3 examples using cellFs directory functions to avoid a memory leak in the C runtime library directory functions.
- Rebuilt the library for version 2.4 of the Wii system libraries. If you are using 2.4, then you must upgrade to this version.
- Added some docs about handling the home button on the PSP.
- Fixed the DX9 pixel shader example code for Windows so that it sets the vertex declaration each frame instead of at setup time.
- Made the tools handle the maximum length Windows file names.
- Changed the way Bink handles small delays (60 to 400 ms) during playback - avoids a very rare pathological case where Bink would keep skipping frames, thinking it was lagging behind the audio.
Changes from 1.8q to 1.8r (10-04-2006)
- Fixed a very rare bug in the threaded IO provider that is used on Windows, Xbox 360, and PS3. If you are using one of these platforms, you must update.
- Fixed a problem where a mono sound track couldn't be spacialized to the back right speaker on Xbox 360. Stereo tracks worked fine.
- Fixed a problem in the simple Win32 3D example where the second frame was always skipped.
- Fixed a bug on PS3 and PSP where file IO errors weren't being detected properly, leading to a crash on media eject - updating is required.
- Updated the PS3 library and examples to the 096.002 SDK.
- Updated to the Xbox 360 September XDK build.
Changes from 1.8p to 1.8q (09-13-2006)
- Fixed a silly bug where the batch editor window wasn't popping up.
- Fixed a bug in the optional VRAM allocator in the PSP SDK (not sure if anyone actually uses this).
- Fixed a bug in the 360 SDK where pausing and resuming a Bink would put the audio tracks slightly out of phase.
- Made file IO a little more efficient on files with a data rate less than 128KBps.
- Fixed an IO problem when reading from the very end of a file that had a data rate of less than 128KBps.
Changes from 1.8o to 1.8p (09-07-2006)
- Added a new video texturing example for the Wii that uses the GPU to do color conversion (for video texturing).
- Updated the GameCube SDK to also use GPU based color conversion and removed the old software blitters (which saves a bunch of runtime memory).
- Fixed a problem where the JPEG library would infinite loop if it attempted to open some types of PNG files.
- Fixed a regression bug in the 16-bit blitters on the NDS.
- Removed the CRT library from the Bink tools and DLL on Win32 - saves about 60K in the player and DLL.
- Updated the Japanese Bink SDK manual to the latest version of the docs.
Changes from 1.8n to 1.8o (08-07-2006)
- Added a Nintendo Wii version of Bink!
- Fixed a bug when importing resized TGAs with an alpha channel.
- Changed the Windows, Mac, Xbox, 360, PS3 and PSP IO functions to stay on aligned file offsets when reading. This can make the data reading faster, since the OS doesn't have to break up each IO into multiple chunks (especially good for the Xbox and Xbox 360).
Changes from 1.8m to 1.8n (07-21-2006)
- Fixed a crash in the Bink compressor when compressing a file with an alpha channel to very low data rates.
- Fixed a bug where the X and Y offsets were being ignored when importing a file with an alpha channel.
- Fixed a rare, nasty crash in several of the RAD Video Tools when memory returned from the system was oddly aligned.
- Added PSP support for the system simple audio library (and made the example use it).
- Fixed a thread handle leak on PSP.
- Fixed the global audio buffer memory being leaked on PSP.
Changes from 1.8L to 1.8m (07-17-2006)
- Added a Sony PSP version of Bink! The PSP SDK is available immediately.
- Fixed a mutex locking bug on the PS3 that would lock if you played two movies in a row on a background thread.
Changes from 1.8k to 1.8L (06-22-2006)
- Added a Sony Playstation 3 version of Bink! The PS3 SDK is available immediately.
- Changed a D3D setup flag in the Windows 3D examples that was preventing ATI 1900 cards from rendering.
Updated a few of the Xbox and Xbox 360 examples to play lumpy data rate movies more smoothly.
- Added details in the Bink docs about the Bink cross platform pixel shader blitting API (supplied in BinkTextures.h). This API automates pixel shader blitting on Windows, Sony PS3, Xbox, and Xbox 360.
Changes from 1.8J to 1.8k (05-07-2006)
- Added a Mac Intel version of Bink. The MacIntel SDK is available immediately, and a Bink player for Mac Intel machines can be downloaded from our website.
Changes from 1.8i to 1.8J (05-02-2006)
- Added a Win64 version of the Bink player. You can even compile to Win64 video EXEs. On Win64, playback is about 15% faster than the 32-bit version of Bink. A beta Win64 SDK is also available. Thanks to AMD for their kind support of this porting effort!
- Added new DirectX 9 pixel shader example code for Win32 and Win64. Pixel shaders are the fastest and highest quality method to display Bink videos. If you are using Bink in a 3D game on Windows, you should definitely update and use the new pixel shader example code.
- Fixed some stuttering when closing and re-opening the cover of a Nintendo DS. You must call BinkSetSoundOnOff around the close and re-open.
- Fixed the 5.1 speaker channel settings on Xbox 360 for newer versions of the XDK.
- Sped up the loading of single image series from a network drive (sometimes massively).
- Fixed a crash when using an offset to crop a series of single images that had alpha.
- Cleaned up and simplified the Windows 3D texture examples.
Changes from 1.8h to 1.8i (02-23-2006)
- Fixed a problem in the dirty rectangle calculations when the height wasn't divisible by 16.
- Added the latest version of Smacker Player in the RAD Video Tools.
Changes from 1.8g to 1.8h (02-14-2006)
- Compressor uses a slightly different error metric to help really low data rate Binks (like for NDS).
- Fixed a bug when converting QuickTime files that have internal scale factors (very rare).
- Changed the TGA detection code to avoid matching some QuickTime movie files.
- We now free a global 30K static audio buffer on the NDS when all Bink files are closed (saves 30K when Binks aren't in use).
- Worked around a deadlock problem on some DirectSound drivers when pausing or stopping a DirectSound buffer.
- Set the alpha bit on in the 5551 format on Nintendo (since they do only have alpha blitters).
- Fix a bug on some sound formats where a looping Bink file would play as static every other loop.
- Switched to the new RAD_IOP from Miles (you can now control the hardware audio directly, if you want to replace Multistream.
- Fixed a problem where specifying a sound track in a Bink file to convert to an AVI or wave file was converting the wrong track.
- Made the 3D example code on Windows and Xbox use the discard flag if all of the pixels are going to be updated (for speeding up full frame copies). This lets the D3D render a frame ahead on full frame updates.