Вышла новая версия "Воспроизведение видео в формате BIK" 1.3:
https://disk.yandex.ru/d/whvlf1oJ9V7yEw
ИСТОРИЯ ИЗМЕНЕНИЙ ВЕРСИЙ
17.09.2022
1)Исправлен баг: игра запускается с задержкой на 3 секунды. (на моде "Video menu for the launcher2" - более минуты) от suftfree.
2)Исправлен баг: свечение кнопки, например, на моде "Video for the launcher_Final" от suftfree.
18.09.2022
1)Исправлен баг: если 23.97 кадров в секунду, то происходит сияние кнопки. (на моде "Случайное видео в главном меню ERA 3") Теперь нет сияния кнопки. (бета 1.3)
2)Обновлён Binkw32a.dll с (1.6b) (28 август 2004 год) до 1.8g (15.12.2005 год).
Это решает проблему: в моде "TavernVideos BIK" - многоразовый клик на портрет приводит к разрыву видео и или к черным пятнам.
Тестировал с ЭРА 3.9.3+HD-mod 5.3 R12, Windows XP SP3 и Windows 7 - проблемы не возникли!
Bink Development History
Changes from 1.8f to 1.8g (09-28-2005)
1.Fixed a channel assignment bug with stereo tracks on the Xbox 360.
2.Built with latest Xbox 360 system software.
Changes from 1.8e to 1.8f (09-18-2005)
1.Worked around a bug in QueryPerformance Counter on the Xbox 360.
2.Don't try to check the sound format of still images which cause DirectShow to occasionally crash on importing.
Changes from 1.8d to 1.8e (09-14-2005)
1.Built with final version of Xbox 360 system software.
2.Added support for Miles 7 on Windows (you can now do 5.1 on Windows)! The Miles example shows how to do 5.1 with just a few code changes.
3.Worked around an Xbox 360 deadlock problem when playing audio with the system audio player while a Bink is playing.
4.Fixed the mix bin volume calculation on Xbox and Xbox 360, where the linear to loudness scale was being applied twice.
5.Fixed a crash in BinkOpen if you ran out of memory on a little allocation that followed a larger allocation.
6.Fixed a crash in the BinkGetRealTime function when run on a 1 fps movie.
7.Fixed BinkShouldSkip on Bink files that don't have an audio track.
8.Moved the minimum read size on Xbox and Xbox 360 up to 128K since most movies are use HD data rates.
9.Fixed importing of QuickTime files that are wider than 4096 pixels.
10.Fixed a crash when using a pixel offset on a still image that had an alpha plane.
11.Fixed importing of still image files that are wider than 4096 pixels.
12.Detect dual-core Athlons.
13.Fixed the Smacker player not playing off another drive letter.
Changes from 1.8b to 1.8c (05-22-2005)
1.Added a new function called BinkControlCPUFeatures to turn on and off various features on different platforms.
2.Fixed some pixel center bugs in the DX sample code that bilinear blending usually hid.
3.Totally rewrote the entire YcRcB to RGB color conversion system. All new infrastructure, all new assembly blitters. This means almost 30% of Bink was replaced in this version.
4.All new x86 blitters for MMX and non-MMX: almost twice as fast, less buggy, no more corner cases, and saved almost 200K in the Bink DLL!
5.Added dithering to the 16-bit RGB color conversion blitters. 16-bit looks almost as good as 32-bit now.
6.Added a new 8-bit palettized output mode. Also added a BinkGetPalette function to retrieve the global Bink palette.
7.Moved a few more source files and data tables into Bink sections, so you save another 64K or so, when you unload the Bink section on Xbox.
8.Changed a few of the examples to use BinkShouldSkip, so that they avoid locking a texture completely, if we are just going to skip the frame anyway.
Changes from 1.8b to 1.8c (03-25-2005)
1.In the Bink player, when using the full-screen stretch parameters (/w-1 /h-1), we now maintain the aspect ratio, so the video doesn't stretch oddly.
2.Fixed a bug where if you paused a Bink movie before the first frame, then Bink would think it was way behind in playback and keep struggling to catch up.
3.Bumped to the March XDK for the Xbox 360.
4.Fixed a bug in the Redmon next-gen console version where setting the volume could cause an assert in XAudio.
5.Updated to CodeWarrior 9.4 on MacOS.
Changes from 1.8a to 1.8b (03-02-2005)
1.Added new Bink for Xbox examples for both normal video and alpha video pixel shader playback.
2.Fixed a silly typo that caused the pause key in the Bink player not to pause the movie.
3.Made a tweak to the QuickTime audio importer. This should fix the -108 error when loading of QT audio tracks (which happens on a lot of camera movies).
4.Added a option on the Linux player to not play audio. This avoids a crash in SDL on some Linux machines.
5.For sound input files with a .QT or .MOV file extension, we now always try QuickTime first. This prevents broken DirectShow filters (say for MPEG splitting) from preventing QT files from converting (when they really should be read with QT anyway). We did this for video files previously, now we do it for sound too.
Changes from 1.7d to 1.8a (02-18-2005)
1.Added BinkGetFrameBuffersInfo and BinkRegisterFrameBuffers functions. These functions allow you to allocate the Y, cR, and cB color buffers that Bink uses internally. This allows you to do a lot of cool things, like allocating the frame buffers as 8-bit luminance textures on Xbox, and then using a pixel shader to do the YcRcB to RGB conversion so that there is no blitting overhead at all (example of this coming soon)! This also allows you to share the same frame buffer memory for multiple Bink files and save memory (as long as you don't play them all at once).
2.Added a BinkControlBackgroundIO function that allows you to suspend and resume the background IO that Bink performs. This makes it really easy to load other game data while a Bink is playing - you just suspend Bink when the Bink buffer is mostly full and resume it when it is mostly empty. Great for playing a movie while your game loads level data.
3.Added a BinkShouldSkip function that allows you to query whether a frame or blit should be skipped. This allows you to avoid calling BinkCopyToBuffer completely to check whether you are falling behind, so you don't have to lock a texture or DDraw surface just to find out you should have skipped anyway. It's also useful when using the BinkRegisterFrameBuffers function with textures, since you will never call BinkCopyToBuffer.
4.Made an adjustment to the audio encoder that makes deep bassy tones compress much better.
5.Fixed a goofy bug in the 32-bit still image importer that would cause the right-most pixels to display garbage.
6.Fixed a bug in the 16-bit YUV tables that caused unaligned 16-bit blits to be slightly dim.
7.For input files with a .QT or .MOV file extension, we now always try QuickTime first. This prevents broken DirectShow filters (say for MJPEG files) from preventing QT files from converting (when they really should be read with QT anyway).
Changes from 1.7c to 1.7d (01-08-2005)
1.Fixed a problem where the DirectShow importing code could lock up on the final frame.
2.Fixed a problem importing some QuickTime sound files.
3.Added a warning for long filenames with QuickTime.
4.Fixed a problem with flic output when the final frame palette was different than the first palette.
Changes from 1.7b to 1.7c (12-10-2004)
1.Fixed a problem on the PS2 where the system libraries occasionally fail to report a disk error. We now use an IO timeout, so after 400 ms, we will fail the read.
2.Added a warning when QuickTime doesn't have all of the components available to decompress an audio track.
Changes from 1.7a to 1.7b (11-28-2004)
1.DirectShow was trying to load JPEG files (presumably with the M-JPEG codec) - changed to use our internal JPEG decoder (which is way faster).
2.DirectShow was trying to load GIF files - changed to use our internal GIF decoder (which is way faster) unless it is a multiframe GIF.
3.Fixed a lock up with DirectShow files that don't specify an image pitch.
4.Fixed a crash with DirectShow files that had a time duration of zero (which makes no sense, but whatever).
Changes from 1.6g to 1.7a (11-22-2004)
1.Added a DirectShow video and audio importer - this allows us to import a bunch of new file types! We can now import AVIs larger than 2GB, MPEG 1 videos (including the audio track), MPEG 2 videos (if you have a decoder installed), WMV videos (Windows Media), ASF files, MPEG-4 video files, DV video files, MJPEG videos, and tons of compressed audio formats (MP3 and WMA in particular). Many file types that were previously decoded with QuickTime (which is really slow) are now handled by DirectShow.
2.Added support for LZW-compressed GIF and TIF files (patent expired).
Added AMD 64, AMD Opteron, SSE3, Hyperthreading, EM64T and Windows 2003 Server detection to the System Info button.
Switched to building radutil.dll with VS 2003 which has slightly faster code generation.
F3.ixed a bug when reading 48-bit TIFF files (which we only compress as 24-bit files).
4.Fixed a bug in the File Info button where the fractional part of the frame rate was reported incorrectly.
5.Bink now tries to refill the IO buffer when it falls under 75% of the highest one second's worth of data rate of the file. In previous versions, Bink tried to refill the IO buffer when it fell under 75% of the total IO buffer size. This change allows you to now optionally use large IO buffers without having to worry causing occasional long delays to refill it.
6.You can now use the BINKNOFILLIOBUF flag in BinkCopyToBuffer to tell Bink not to refill the IO buffer when it falls under 75% of the data rate. This is useful if you are holding a system lock and you always need BinkCopyToBuffer to complete as quickly as possible.
7.Bumped the Xbox stack size up to 32K.
Changes from 1.6f to 1.6g (11-03-2004)
Fixed a bug where the the audio track would lose sync with the video if you paused and resumed the audio over and over (problem was most noticeable on Xbox and Windows).
Changes from 1.6f to 1.6g (9-01-2004)
1.Fixed a bug on the Mac and GameCube where an uncommon block type was not being byte-swapped as it was loaded.
2.Fixed a bug in the YUV lookup tables on the Mac, GameCube and non-MMX PC where the RGB pixels were too dim (which was most noticable when clamped pixels showed up as too bright).
3.Fixed a bug in BinkGetRealTime when called on the very first frame.
4.Made the input YUV converter more accurate (during compression).
Changes from 1.6e to 1.6f (8-22-2004)
1.Fixed a crash in the Bink compressor on XP Service Pack 2 (SP2).
2.Added some additional file I/O error checking in BinkOpen.
3.Fixed a bug in the Bink for Linux where the background IO thread was taking way too much CPU.
4.Fixed a bug on the Nintendo GameCube in the 64-bit divider routine that would cause sound to skip.
5.Fixed a bug on the GameCube where async IO were not being cancelled when the cover was opened during BinkOpen.
6.Fixed a lock up on Windows when you started playing a movie with a USB headset, but then removed it during playback.
7.Moved the Bink decoder DLL base address to avoid conflicts with some XP SP2 DLLs.
8.Optimized the 64-bit divider on the MacOS platforms.
9.Upgraded to CodeWarrior 9.3 on MacOS.
Changes from 1.6d to 1.6e (7-30-2004)
1.Fixed a crash in BinkSoundUseDirectSound that only happened if you called it while a Bink video was still playing.
Changes from 1.6b to 1.6c (2-28-2004)
1.Fixed a bug in the Linux system where playing two Binks at once would reset the system sound format.
2.Removed the mono and 2X blitters from the GameCube library to make it smaller (and because you can use the graphics hardware to do these effects faster anyway).