Bink video — the video codec for games

Benchmark: CPU Usage

  • CPU usage is the most important consideration in gaming.
  • Even though recent CPUs have improved dramatically, game developers still want to have more CPU power.
  • As a subsidiary role in games, a video library must not consume too much CPU power.
  • Bandicam Video Library is the best solution which uses the least CPU power.

Testing

The following test has been conducted on the Intel Atom 330@1.6Ghz CPU. On Core2 Duo/Quad the difference is too small to compare.(On Core2 Duo CPU average usage is about 1~2%.)
Same video file(1080p video file) is used to compare codecs .

  • CPU: Intel Atom 330@1.6Ghz
  • BINK Test video: Robotica_1080_500k.bik (10,095KB)
  • BINK Test Program: The RAD Video Tools
  • Bandicam Video Library test video: Robotica_1080_4500k.avi (10,059KB)
  • Bandicam Video Library test program: HBitmapSample.exe in Bandicam Video SDK

50~60% CPU Usage.

30%~40% CPU Usage.

Summary

Because of the difference in platform architectures, Bandicam Video Library uses about 20%~30% less CPU resources than BINK.

Как скачать бесплатно RAD Video Tools от RAD Game?!

Пакет RAD Video Tools представляет собой набор библиотек и кодеков для декомпрессии и воспроизведения видео-файлов в разных популярных играх — к примеру, Saints Row, Mass Effect, GTA 4. Такую популярность он получил благодаря маленькому размеру и высокой скорости работы. В случае, если он у Вас не установлен, либо был по какой-нибудь причине поврежден — игра начнет ругаться разными ошибками, типа «на компьютере отсутствует binkw32 dll» и т.п.

Решение таких проблем — проще некуда. Надо всего лишь скачать The Rad Video Tools — по этой ссылке, и запустить установку:

Затем просто кликаем на «Далее (Next)». После установки пакета кодеков — перезагружаем компьютер. После этого можно пробовать запускать игру.

источник

DICOM-specific metadata functions

Each DICOM file has its own header containing metadata for one slice.

Get the metadata for all slices as a matrix, where rows are attributes
and columns are slices:

dicom_metadata_matrix <- dicom_header_as_matrix(dicom_data_3d)
kable(dicom_metadata_matrix)
group element name code slice_1 slice_2
0002 0000 GroupLength UL 196 196
0002 0001 FileMetaInformationVersion OB
0002 0002 MediaStorageSOPClassUID UI 1.2.840.10008.5.1.4.1.1.4 1.2.840.10008.5.1.4.1.1.4
0002 0003 MediaStorageSOPInstanceUID UI 1.3.6.1.4.1.14519.5.2.1.7307.2101.420604470287150790758949858236 1.3.6.1.4.1.14519.5.2.1.7307.2101.192741832082705219013781007567
0002 0010 TransferSyntaxUID UI 1.2.840.10008.1.2.1 1.2.840.10008.1.2.1
0002 0012 ImplementationClassUID UI 1.2.40.0.13.1.1.1 1.2.40.0.13.1.1.1
0002 0013 ImplementationVersionName SH dcm4che-1.4.31 dcm4che-1.4.31
0008 0005 SpecificCharacterSet CS ISO_IR 100 ISO_IR 100
0008 0008 ImageType CS ORIGINAL PRIMARY M NORM DIS2D ORIGINAL PRIMARY M NORM DIS2D
0008 0012 InstanceCreationDate DA 20030816 20030816

Many metadata attributes will be identical for all slices. Get a list of
these contstant attributes and their values:

const_attributes <- dicom_constant_header_values(dicom_data_3d)
head(const_attributes)
#> $GroupLength
#>  196
#> 
#> $FileMetaInformationVersion
#>  "\001"
#> 
#> $MediaStorageSOPClassUID
#>  "1.2.840.10008.5.1.4.1.1.4"
#> 
#> $TransferSyntaxUID
#>  "1.2.840.10008.1.2.1"
#> 
#> $ImplementationClassUID
#>  "1.2.40.0.13.1.1.1"
#> 
#> $ImplementationVersionName
#>  "dcm4che-1.4.31"

Exploring the DICOM standard

Several functions are provided to explore aspects of the DICOM standard
itself. These functions do not use or analyze any actual data.

Get the DICOM standard version reported here, the web URL describing the
standard, and the time it was accessed during package development:

dicom_standard_version()
#>  "PS3.6 2018d"
dicom_standard_web()
#>  "http://dicom.nema.org/medical/dicom/current/output/html/part06.html"
dicom_standard_timestamp()
#>  "2018-10-15 15:45:47 MDT"

The DICOM standard specifies a tag, name, and keyword for each allowable
metadata attribute. The following functions return complete lists of
these attributes. These functions are self-contained and the orderings
of the returned lists do not correspond.

Tags:

tags <- dicom_all_valid_header_tags()
length(tags)
#>  4297
head(tags, 10)
#>   "(0002,0000)" "(0002,0001)" "(0002,0002)" "(0002,0003)" "(0002,0010)"
#>   "(0002,0012)" "(0002,0013)" "(0002,0016)" "(0002,0017)" "(0002,0018)"

Names:

names <- dicom_all_valid_header_names()
length(names)
#>  4294
head(names, 10)
#>   ""                                               
#>   "2D Degree of Freedom Axis"                      
#>   "2D Degree of Freedom Sequence"                  
#>   "2D Implant Template Group Member Matching Axes" 
#>   "2D Implant Template Group Member Matching Point"
#>   "2D Line Coordinates"                            
#>   "2D Line Coordinates Sequence"                   
#>   "2D Mating Axes"                                 
#>   "2D Mating Feature Coordinates Sequence"         
#>  "2D Mating Point"

Keywords:

keywords <- dicom_all_valid_header_keywords()
length(keywords)
#>  4294
head(keywords, 10)
#>   ""                             "AbortFlag"                   
#>   "AbortReason"                  "AbsoluteChannelDisplayScale" 
#>   "AbstractPriorCodeSequence"    "AbstractPriorValue"          
#>   "AccessionNumber"              "AccessoryCode"               
#>   "AcquiredImageAreaDoseProduct" "AcquiredSoundpathLength"

You can also search the DICOM standard for attribute names and keywords
matching a given string.

dicom_search_header_names("manufacturer")
#>   "Application Manufacturer"                          
#>   "Application Setup Manufacturer"                    
#>   "Component Manufacturer"                            
#>   "Detector Manufacturer Name"                        
#>   "Detector Manufacturer's Model Name"                
#>   "Hardcopy Device Manufacturer"                      
#>   "Hardcopy Device Manufacturer's Model Name"         
#>   "Information From Manufacturer Sequence"            
#>   "IOL Manufacturer"                                  
#>  "Manufacturer"                                      
#>  "Manufacturer's Model Name"                         
#>  "Manufacturer's Related Model Group"                
#>  "Modifying Device Manufacturer"                     
#>  "Notification From Manufacturer Sequence"           
#>  "Receive Coil Manufacturer Name"                    
#>  "Secondary Capture Device Manufacturer"             
#>  "Secondary Capture Device Manufacturer's Model Name"
#>  "Source Applicator Manufacturer"                    
#>  "Source Manufacturer"                               
#>  "Transmit Coil Manufacturer Name"                   
#>  "Wedge Manufacturer Name"
dicom_search_header_keywords("manufacturer")
#>   "ApplicationManufacturer"                    
#>   "ApplicationSetupManufacturer"               
#>   "ComponentManufacturer"                      
#>   "DetectorManufacturerModelName"              
#>   "DetectorManufacturerName"                   
#>   "HardcopyDeviceManufacturer"                 
#>   "HardcopyDeviceManufacturerModelName"        
#>   "InformationFromManufacturerSequence"        
#>   "IOLManufacturer"                            
#>  "Manufacturer"                               
#>  "ManufacturerModelName"                      
#>  "ManufacturerRelatedModelGroup"              
#>  "ModifyingDeviceManufacturer"                
#>  "NotificationFromManufacturerSequence"       
#>  "ReceiveCoilManufacturerName"                
#>  "SecondaryCaptureDeviceManufacturer"         
#>  "SecondaryCaptureDeviceManufacturerModelName"
#>  "SourceApplicatorManufacturer"               
#>  "SourceManufacturer"                         
#>  "TransmitCoilManufacturerName"               
#>  "WedgeManufacturerName"

NIfTI-specific metadata functions

As NIfTI images can have more than three dimensions, a simple function
returns the number of dimensions:

nifti1_num_dim(nifti_data_3d)
#>  3
nifti1_num_dim(nifti_data_4d)
#>  4

A function is provided to get all metadata attributes and values as a
named list:

nifti_header_vals <- nifti1_header_values(nifti_data_4d)
# Display the first few metadata values other than the image itself
head(nifti_header_vals)
#> $sizeof_hdr
#>  348
#> 
#> $data_type
#>  ""
#> 
#> $db_name
#>  ""
#> 
#> $extents
#>  0
#> 
#> $session_error
#>  0
#> 
#> $regular
#>  "r"

Extracting image data

The image itself can be extracted as a matrix of pixel intensities using
a generic function:

mat_dicom_2d <- img_data_to_mat(dicom_data_2d)
#> Warning in oro.dicom::create3D(img_data): ImagePositionPatient is moving in
#> more than one dimension.
dim(mat_dicom_2d)
#>  384 384   1
mat_dicom_3d <- img_data_to_mat(dicom_data_3d)
#> Warning in oro.dicom::create3D(img_data): ImagePositionPatient is moving in
#> more than one dimension.
dim(mat_dicom_3d)
#>  384 384  19
mat_nifti_3d <- img_data_to_mat(nifti_data_3d)
dim(mat_nifti_3d)
#>   91 109  91
mat_nifti_4d <- img_data_to_mat(nifti_data_4d)
dim(mat_nifti_4d)
#>   64  64  21 180

For images with more than three dimensions (e.g. some NIfTI datasets),
you can hold the additional dimensions constant and just get a 3D matrix
by selecting a single coordinate for each
dimension:

mat_nifti_4d_to_3d <- img_data_to_3D_mat(nifti_data_4d, coord_extra_dim = 90)
dim(mat_nifti_4d_to_3d)
#>  64 64 21

Viewing images

The function is generic and works for DICOM or NIfTI data.

View a single-slice dataset:

view_slice(dicom_data_2d)
#> Warning in oro.dicom::create3D(img_data): ImagePositionPatient is moving in
#> more than one dimension.

View one slice of a 3D image:

view_slice(dicom_data_3d, slice = 10)
view_slice(nifti_data_3d, slice = 20)

A function is also provided to view a slice of an intensity matrix
instead of a DICOM or NIfTI data object. In particular, this is useful
for viewing slices of NIfTI images with more than three dimensions. In
that case, you can create a 3D matrix by holding extra dimensions
constant using , then pass that matrix to
.

view_slice_mat(mat_nifti_4d_to_3d, slice = 10)

RAD Video Tools Help

The RAD Video Tools are a set of utilities for processing video, animation, and sound data. They include both of our video codecs: Bink Video, our current 24-bit true-color codec, and Smacker, our much older 256-color codec. All modern games now use Bink — Smacker is rarely used now-a-days.

Bink Video is a «better-than-DVD» video codec. That is, it compresses better than DVD at up to three times the playback speed! Bink scales from the low-end Nintendo DS all the way up to HD video on the latest consoles and PCs.

Smacker was designed to compress 256-color video and animation for the previous generation of games. It is now used mostly with games that need to run on very low-end hardware (the education market, for example). It is unlikely that you will need to use Smacker for your videos.

File name: Enter the filename that you want to work with here. For example, if you just want to play a file, then just highlight it and click the «Play» button. You can change the default playback parameters in the «Advanced play» window.

Files of type: By default, the RAD Video Tools will display all media files, but you can use this pulldown to change the file selection list.

Bink it: This button opens the Bink compressor window where you can compress your movies with our true-color Bink codec.

Smack it: This button opens the Smacker compressor window where you can compress your movies with the Smacker codec.

Advanced play: The «Advanced Play» button opens the playback options screen, where you can customize the settings to use to on playback of your video. Advanced play options are available for Bink and Smacker files. If you’ve highlighted a Bink file, then the Bink Advanced play screen will open. Similarly, if you highlight a Smacker file, and hit the «Advanced Play» button, then the Smacker Advanced play window, which is a little different, will open.

Mix in sound: This button opens the Bink or Smacker audio mixer. You only need to use the audio mixer when you want to replace or add another audio track to a video file. Normally, you won’t have to utilize this feature, because our compressors will automatically compress the audio track of an AVI or QuickTime file in with the video frames.

Convert a file: The RAD converter can convert almost any type of file to another type. For example, you can convert a bunch of BMPs into an AVI, GIFs into JPEGs, Smackers into flics, QuickTimes into AVIs, wave files into different sample rates, 24-bit images into 8-bit images, etc.

Analyze file: The «Analyze» button opens one of the handiest features in the RAD Video Tools. It displays a visual representation of a Bink or Smacker file’s data rate.

List files: You can create a list file by clicking this button. A list file is a text file that contains a list of other file names that you want to be treated as one big file. This allows you to compress multiple input files into one output file.

New version?: Use this to check your Bink version. It is a quick and easy way to make sure you’re always using the latest-and-greatest update to the RAD Video Tools.

Batch: This button will start the RAD Batch editor. You can use the batch editor to create a list of tasks that can be run unattended.

File info: Click the «File info» button to display a description of the highlighted media file.

System info: The «System info» button displays information about your computer.

Help: A mouse click on the «Help» button will open your browser window to this Help page.

FAQs: If you click the «FAQs» button, your browser will open our Frequently Asked Questions page.

About: The «About» button will open a window that gives you version information on the RAD Video Tools.

Источник

Rad Video Tools 2.7q

Rad Video Tools представляет собой уникальную и очень полезную утилиту, которая предназначена для конвертирования файлов, имеющих формат Bink или Smacker. Запустить данные графические компоненты не способно большинство современных мультимедийных проигрывателей, так как они используют совершенно противоположные кодеки воспроизведения.

Поэтому с помощью данной утилиты можно будет попросту изменить формат этих файлов, и адаптировать уже для большинства современных проигрывателей. Приложение поддерживает широкий набор расширений, и может выполнить конвертацию файла даже в exe-формат.

Пароль ко всем архивам: 1progs

Bink и Smacker использовались в видеоиграх, которые выпускались несколько лет назад, поэтому сейчас эти файлы сильно устарели. Сами компоненты представляют собой интерактивные видео-заставки, либо сцены, которые использовались для перехода между уровнями.

  • Поддержка всех современных форматов;
  • Высокая скорость конвертации;
  • Удобный интерфейс;
  • Работа на 32-х и 64-х битных системах;

Запуск и знакомство

После установки ПО оно автоматически будет запущено. Для тех, у кого ПО уже было установлено, запустить главное окно можно с помощью ярлыка на рабочем столе или в меню пуск — ярлык называется AMD Radeon Software. Либо более практичным и быстрым способом, нажав одновременно комбинацию Alt+R.

Главное окно встречает нас содержательным, но в то же время логично сгруппированным по блокам интерфейсом с темным исполнением, полюбившимся многим.

В новой версии интерфейса видно желание разработчиков превратить ПО в некий игровой рабочий стол. Интерфейс содержит в себе все ключевые модули:

  • Быстрый запуск игр
  • Мониторинг статистики производительности уже сыгранных игр
  • Обновления драйвера и ПО
  • Свежие новости от компании AMD
  • Записи, трансляция и снимки экрана игры
  • Подключение мобильного устройства

Так как данная статья посвящена именно записи уникальных моментов игры, то углубляться в большую часть модулей было бы лишним. Перейдем непосредственно к настройкам записи видео.

DICOM-specific metadata functions

Each DICOM file has its own header containing metadata for one slice.

Get the metadata for all slices as a matrix, where rows are attributes
and columns are slices:

dicom_metadata_matrix <- dicom_header_as_matrix(dicom_data_3d)
kable(dicom_metadata_matrix)
group element name code slice_1 slice_2
0002 0000 GroupLength UL 196 196
0002 0001 FileMetaInformationVersion OB
0002 0002 MediaStorageSOPClassUID UI 1.2.840.10008.5.1.4.1.1.4 1.2.840.10008.5.1.4.1.1.4
0002 0003 MediaStorageSOPInstanceUID UI 1.3.6.1.4.1.14519.5.2.1.7307.2101.420604470287150790758949858236 1.3.6.1.4.1.14519.5.2.1.7307.2101.192741832082705219013781007567
0002 0010 TransferSyntaxUID UI 1.2.840.10008.1.2.1 1.2.840.10008.1.2.1
0002 0012 ImplementationClassUID UI 1.2.40.0.13.1.1.1 1.2.40.0.13.1.1.1
0002 0013 ImplementationVersionName SH dcm4che-1.4.31 dcm4che-1.4.31
0008 0005 SpecificCharacterSet CS ISO_IR 100 ISO_IR 100
0008 0008 ImageType CS ORIGINAL PRIMARY M NORM DIS2D ORIGINAL PRIMARY M NORM DIS2D
0008 0012 InstanceCreationDate DA 20030816 20030816

Many metadata attributes will be identical for all slices. Get a list of
these contstant attributes and their values:

const_attributes <- dicom_constant_header_values(dicom_data_3d)
head(const_attributes)
#> $GroupLength
#>  196
#> 
#> $FileMetaInformationVersion
#>  "\001"
#> 
#> $MediaStorageSOPClassUID
#>  "1.2.840.10008.5.1.4.1.1.4"
#> 
#> $TransferSyntaxUID
#>  "1.2.840.10008.1.2.1"
#> 
#> $ImplementationClassUID
#>  "1.2.40.0.13.1.1.1"
#> 
#> $ImplementationVersionName
#>  "dcm4che-1.4.31"

Файлы мультимедиа

Место сохранения мультимедиа — данный параметр определяет место сохранения записанных вами видео. Рекомендуется выбрать жесткий диск или накопитель с наибольшим объемом свободной памяти, так как видеозаписи при отличном качестве занимают немало места. Если же вы уверены, что на системном диске достаточно памяти, данный параметр можно не менять. По умолчанию папка называется «Видео» и находится в папке ваших документов или в вашей «Библиотеке», если вы владелец Windows 10.
Повторный показ — это та самая волшебная функция, которая не позволит вам упустить уникальный игровой момент. Более того, данная функция не обязывает вас вести видеозапись игры полностью с целью потом нарезать его в видеоредакторе на интересные моменты. Она самостоятельно в фоновом режиме ведет запись последних нескольких минут, длительность которых мы можем настроить в следующем пункте. От вас лишь необходимо при появлении в игре того самого момента, который вы хотите сохранить или поделиться, нажать комбинацию клавиш, находясь в игре. И последний отрезок указанного ранее времени сохранится, после чего начнется автоматическая запись, чтобы вы вновь не упустили ничего интересного.
Длительность мгновенного повтора — здесь вы вправе выбрать длительность последнего отрезка времени, который сохранит Повторный показ. Чем дольше этот отрезок, тем больше весит и дольше обрабатывается конечный видеофайл. В моем примере стоит 1 минута, так как для динамичных шутеров этого достаточно. Выбирайте этот параметр, исходя из игры и потребностей.
Буфер для мгновенного повтора — этот параметр определяет, где хранить временное записываемое видео в фоне до того, как вы решите сохранить его. Доступны два варианта:
Дисковая память — временное фоновое видео хранится на накопителе или жестком диске. Рекомендуется выбирать, если ваш системный диск — SSD.
Системная память — временное фоновое видео хранится в оперативной памяти вашего ПК. Это более быстрый и лучший способ в том случае, если объем вашей оперативной памяти достаточен для игры и записи одновременно. Советую использовать параметр в случае, если объем оперативной памяти не менее 8 ГБ.
Мгновенный GIF — включение этого параметра позволит вам сохранять игровые моменты не в видеофайле, а в файле анимации изображения, которое используется в большом количестве соцсетей и развлекательных ресурсах. Также этот параметр имеет и минусы: Длительность одной анимации ограничена 15 секундами, что может быть недостаточно чтобы передать весь сюжет происходящего. Размер такого файла в соотношении куда больше, чем видеофайл такой же длительности аналогичного качества. Качество такой анимации больше подходит для просмотра на маленьких экранах мобильных устройств. Видеокарта снижает производительность в связи со сложностью кодирования такого формата
Повторный показ в игре — эта функция несет в себе сугубо визуальный эффект. При вызове этой функции вы видите поверх вашей игры видео последних минут, указанных в «Длительности мгновенного повтора» в маленьком окне. Необходимо, если вы хотите, не выходя из игры, просмотреть еще раз, какой момент вы записали последним. Из минусов: На слабых конфигурациях ПК может понижать производительность игры на период воспроизведения

Может отвлечь от важного момента или вовсе перекрыть обзор в игре. Устройство звукозаписи — если у вас имеется микрофон и вы хотите записывать видео с вашей речью, то здесь вы можете выбрать его

Далее запись микрофона можно отключать в следующих настройках.

Audio settings:

Compression level: This option controls how much audio compression Bink applies. Bink’s powerful audio codec is capable of up to 10 to 1 compression in perceptually lossless mode (which basically means you can save a ton of space in your audio tracks without hearing any compression artifacts). Quality level 4 is perceptually lossless on most files, and many files can even use a setting of 5 or 6. Settings of 9 and higher get pretty noisy.

Convert to rate/format: These settings let you convert the sound format as it is compressed into the Bink file. They are there for your convenience, but for maximum quality, you should always start with original high-quality recordings. The RAD Converter can convert a 22 Khz file up to a 44 Khz file, but it can’t make it magically sound any better that the original 22 Khz

OVT TV Player 9.1 Portable [2013, ТВ плеер]

Год выпуска: 2013Жанр: ТВ плеерРазработчик: OVTsoftСайт разработчика: http://ovtsoft.3dn.ru/Язык интерфейса: РусскийТип сборки: PortableРазрядность: 32/64-bitОперационная система: Windows XP, Vista, 7 Системные требования: Браузер Internet Explorer Доступ к Интернету Adobe Flash Player для браузеров Internet Explorer и Mozilla Firefox (Или Opera) Windows Media Player (для радио онлайн) Torrent Stream (для просмотра ТВ каналов на 4-ом и 5-ом серверах)Описание: OVT TV Player – бесплатный ТВ плеер c помощью которого можно смотреть телевидение онлайн, смотреть фильмы онлайн, слушать радио …

Программы / Интернет и сети / Разное (RSS, ТВ, радио и др)
Подробнее  

Some Reasons Why Folks Love Bink:

  • Bink videos look amazing! Bink 2 videos look absolutely perfect — we use a
    sophisticated deblocking algorithm, so your videos will look great even
    at super low data rates. Bink will always
    make the best possible video for your data rate.
  • Bink runs on most game engine middleware natively. We supply pre-written plugins for both Unreal 4
    and Unity for many platforms. For other platforms and engines, source to the Bink plugin can be used
    as a starting point.
  • Bink 2 has HDR support built right in! Compress and playback high color-depth videos in your HDR game!
  • Bink comes with simple integrated tools for compressing and viewing your videos. We also now include
    an Adobe Premiere and Adobe Media Encoder plugin for direct Bink exporting!
  • Bink 2’s SDK is simple and powerful. Your game is always in control — there are
    no callbacks or other difficult-to-debug constructs. Using Bink is
    like using a codec that you wrote yourself.
  • Bink 2 is completely self-contained — it needs no special system software, it needs
    no other audio codec, it needs no other surrounding architecture. Just one
    small library and you are good to go — there are no external installation or
    dependencies.
  • Bink 2 is super, super fast. In some cases, up to 10 times faster than other modern
    codecs. It’s fast enough to use for in-game videos, as well as cut-scene videos. Bink 2
    takes this speed to the next level — a video frame decode is 75% SIMD instructions,
    and we now have near perfect two core scaling for even more speed.
  • Using compute shaders on Windows, Linux,
    Sony PS4 and Xbox One, you can offload much of the Bink video decoding to the GPU! This
    is two to four times faster than CPU-only decode (and even more for 4K video). Decode
    4K video frames in 2.3ms on PS4/Xbox One, and 1.4 ms on a PC!
  • Since it’s so fast, Bink 2 can play 4K video (3840×2160) on PCs, Sony PS4 and Xbox One —
    using 4 cores, it can decode a 4K frame in 4 ms on PC, and 11 ms on PS4 or Xbox! Using
    compute shaders on the GPU, it can do 4K frames in 1.4 ms on PC, and 2.3 ms on PS4! Crazy fast!
  • Bink 2 is built for multi-core. By default, it slices the screen in half and decompresses
    each on a separate core. But you can also compress using 3 or 4 slices for more
    speed on consoles with a lot of cores, or when you are playing high resolution video (like 4K video)!
  • Bink uses as little memory as possible. In some cases, up to 16 MB to 120 MB less than
    other codecs! You don’t have to worry about a simple video codec hogging all your
    memory. Bink 2 uses the same total amount of memory as Bink 1 (except when doing GPU-based decoding
    which does use more memory).
  • Bink runs on every platform. You can use the same API and data files on
    16 different platforms.
  • Bink 2 has powerful alpha channel features for video sprites and compositing.
  • Bink 2 now uses a full range colorspace (from 0 to 255, instead of the more common 16 to 235). This makes a huge difference in gradients if you use RGB input files (make sure you don’t
    use input files that already use a crushed Y range colorspace)!
  • Bink has a VBR psycho-acoustic based audio codec capable up to 15:1 compression
    built-in. You don’t need to license another codec for your audio.
  • Bink can play many audio tracks at once — this allows the playback of 5.1 and
    7.1 sound tracks (on supported platforms) as well as optional language tracks
    where you can turn on and off a language based on the system setting.
  • Bink runs on every game platform
    and is customized to take advantage of each one. It uses
    SPUs on PS3, VMX on Xbox360, SSE 2 on x86, compute shader where available, massive assembly optimizations, etc.
  • Bink includes sound support for every platform it supports. We have 16
    different modules for sound playback on the various platforms.
  • Bink is super robust. The fact that it ships in so many games makes it
    better and better — it just doesn’t crash. Bink can also handle bad
    input data — it just keeps chugging along until the input data gets
    better again.
  • Game Developers love Bink so much that they voted it into the Game Developer Hall of Fame! Joins the Miles Sound System!

Think Bink!

Mixing settings:

Sound compression level: The Sound compression level controls how much audio compression Bink applies. Bink’s powerful audio codec is capable of up to 10 to 1 compression in perceptually lossless mode (which basically means you can save a ton of space in your audio tracks without hearing any compression artifacts). Bink compresses 44Khz data the best, and because it compresses the data so well, you should just get used to leaving 11 and 22 Khz behind. Bink still supports 11 and 22 Khz, but the compression ratios are lower (3 to 1 and 5 to 1). Quality level 4 is perceptually lossless on most files, and many files can even use a setting of 5 or 6. Settings of 9 and higher get pretty noisy.

Mix into Bink track ID: This option lets you choose a specific track ID number to mix the audio into. Track ID numbers are completely under your control — you can use whatever number you like — they don’t have to be contiguous, monotonic, or even increasing. If you use a track ID that alreay exists in the file, then that track data is replaced with the new track data.

Start mixing at what frame number: Here is where you choose the frame number that you want the mixing to begin on. Actually, the mixing really always starts from the first frame, and this function pads the input data with enough silence to cause the sound track to begin exactly on your chosen frame number. You can also use a millisecond offset by entering a negative number. For example, 2000 would start the sound 2 seconds into the movie.

Force frame rate: Use this option to force a new frame rate on the output Bink file. You’ll need to set this option when you compress still images, because they have a default rate of 10 frames per second.

Source code

  • natively supports all common compilers and platforms with an ANSI-C standard library
  • no templates, inheritance, or other undersupported C++ features, so there are no hassles even on non-compliant C++ compilers
    • compile under MSVC, GCC, SN, ARMCC, etc.
    • compiles on nearly every platform with floating point support: WinXX, Mac OS X, XBox 360, Wii, 3DS, PS3, PSP, PS Vita, Linux, etc.
  • extremely clean, segmented design makes user-added features easy to implement and maintain
  • no «new»s or «delete»s — all memory management calls go through centralized allocate and free function pointers so memory management can be over-ridden through the API or at the source level
  • no hard-coded file opening or closing — all file calls go through centralized open, read, write, and close function pointers for easy replacement through the API or at the source level
Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий