Bink Video!

Bink SDK Features

Bink SDK에는, Bink 무비를 빠르고 간단하게 재생하기 위한 모든 툴이 갖추어져 있습니다. Bink SDK는, Windows, 소니 플레이 스테이션(R) 3, 소니 PSP, 소니 PS2, Xbox, Xbox 360, 닌텐도 DS, 닌텐도 게임 큐브, Macintosh (PPC 및 Intel), x86 GNU/Linux로 이용할 수 있습니다.

소니 플레이 스테이션(R) 3 콘솔

  • 스태틱 라이브러리로 판매되고 있습니다.
  • 백그라운드에서의 압축해제에 SPU가 사용됩니다. PPU 오버헤드를 발생시키는 일 없이, 백그라운드에서 최대 10개의 1280 x720 또는 36개의 640 x480를 압축해제할 수 있습니다.
  • SPU 압축해제에서는, SPU 쓰레드, RAW, SPURS 태스크가 지원됩니다.
  • 초기설정의 PS/3툴 체인(GCC 및 SN시스템)과 연동합니다.
  • 7.1 채널까지의 오디오 출력(LibAudio를 사용)이 지원됩니다. PS/3은 훌륭한 사운드 기능을 갖추고 있어 Bink는 그것을 최대한으로 활용할 수 있습니다.
  • 프래그먼트 쉐이더를 사용해 블리팅을 행하기 위한 모든 API가 포함되어 있습니다. 이것은 Windows,Xbox, 및 Xbox 360으로 호환성이 있는 크로스 플랫폼입니다. 비디오의 품질을 높이기 위해서, GPU를 사용합니다.
  • Bink 라이브러리의 사이즈는 약242 KB입니다. 이것은 스탠드얼론으로 작동합니다. 다른 라이브러리는 필요 없습니다.
  • 재생시에 필요하게 되는 것은, 메모리내의 2개의 YUV12 비디오 버퍼(1 픽셀 당 12비트) 의 1초간의 데이터 레이트 버퍼입니다. 이것은 다른 코덱으로 필요한 메모리와 비교하고, 꽤 적은 양입니다. 그 외의 텍스처 메모리는 필요 없습니다. 직접 텍스처 메모리에 압축을 풀 수 있습니다.
  • 초기설정의 메모리 기능을 완전히 오버로드할 수 있습니다. 이 때문에, 사용자가 지정한 콜백으로 모든 메모리 관리를 할 수 있습니다.
  • 파일이름으로 파일을 로드하거나, OS 파일핸들, 입출력 함수를 오버로드 할 수 있습니다.

닌텐도Wii콘솔

  • 스태틱 라이브러리로 판매되고 있습니다.
  • 초기설정의 Wii 툴 체인(CodeWarrior)과 연동합니다.
  • Wii의 GPU 레지스터 컴비너를 사용해 블리팅을 행하기 위한 모든 API가 포함되어 있습니다. 이것은 Windows, Xbox, 및 Xbox 360으로 호환성이 있는 크로스 플랫폼입니다. 비디오의 질을 높이기 위해서, GPU를 사용합니다.
  • Bink 라이브러리의 사이즈는 약142 KB입니다. 이것은 스탠드얼론으로 작동합니다. 다른 라이브러리는 필요 없습니다.
  • 재생시에 필요하게 되는 것은, 메모리내의 2개의 YUV12 비디오 버퍼(1 픽셀 당 12비트) 의 1초간의 데이터 레이트 버퍼입니다. 이것은 다른 코덱으로 필요한 메모리와 비교하고, 꽤 적은 양입니다. 그 외의 텍스처 메모리는 필요 없습니다. 직접 텍스처 메모리에 압축을 풀 수 있습니다.
  • 초기설정의 메모리 기능을 완전히 오버로드할 수 있습니다. 이 때문에, 사용자가 지정한 콜백으로 모든 메모리 관리를 할 수 있습니다.
  • 파일이름으로 파일을 로드하거나, OS 파일핸들, 입출력 함수를 오버로드 할 수 있습니다.

소니 플레이 스테이션(R) 휴대용(PSP) 소형

  • 스태틱 라이브러리로 판매되고 있습니다.
  • 초기설정의PSP툴 체인(GCC 및 SN시스템)과 연동합니다.
  • 오디오 출력에 libwave와 심플 오디오가 지원됩니다.
  • 멀티 패스 팔레트를 사용해 블리팅을 행하기 위한 모든 API가 포함되어 있습니다. 이것은 Windows, Xbox, 및 Xbox 360으로 호환성이 있는 크로스 플랫폼 에 가까운 존재입니다. 비디오의 질을 높이기 위해서, GPU를 사용합니다.
  • Bink 라이브러리의 사이즈는 약165 KB입니다. 이것은 스탠드얼론으로 작동합니다. 다른 라이브러리는 필요 없습니다.
  • 재생시에 필요하게 되는 것은, 메모리내의 2개의 YUV12 비디오 버퍼(1 픽셀 당 12비트) 의 1초간의 데이터 레이트 버퍼입니다. 이것은 다른 코덱으로 필요한 메모리와 비교하고, 꽤 적은 양입니다. 그 외의 텍스처 메모리는 필요 없습니다. 직접 텍스처 메모리에 압축을 풀 수 있습니다.
  • 초기설정의 메모리 기능을 완전히 오버로드할 수 있습니다. 이 때문에, 사용자가 지정한 콜백으로 모든 메모리 관리를 할 수 있습니다.
  • 파일이름으로 파일을 로드하거나, OS 파일핸들, 입출력 함수를 오버로드 할 수 있습니다.

소니 플레이 스테이션 2 콘솔

  • 스태틱 라이브러리로 판매되고 있습니다.
  • SN시스템과 CodeWarrior와 연동됩니다. 내부적으로는 SN시스템이 사용됩니다.
  • 사운드 출력에는, 2개의 PCM 출력 채널(각 SPU에 1개) 중 1개가 사용됩니다. 다른 사운드 시스템과 문제 없이 동시에 실행할 수 있습니다.
  • 고도로 어셈블리 최적화된 YUV로부터 RGB(16비트 또는 32비트)로의 컨버터가 제공되고 있습니다.
  • YUV 비트(YUV12) 에 직접 억세스할 수 있습니다.
  • 표준의 Bink 플레이어는, 코드와 데이터의 링크에 의해서 약 115 KB 사이즈로, 스탠드얼론으로 작동합니다. 다른 라이브러리는 필요 없습니다.
  • 재생시에 필요하게 되는 것은, 메모리내의 2개의 YUV12 비디오 프레임(1 픽셀 당 12비트) 의 1초간의 데이터 레이트 버퍼입니다. 이것은 다른 코덱으로 필요한 메모리와 비교하고, 꽤 적은 양입니다.
  • 초기설정의 메모리 기능을 완전히 오버로드할 수 있습니다. 이 때문에, 사용자가 지정한 콜백으로 모든 메모리 관리를 할 수 있습니다.
  • 파일 이름의 문자열, OS파일 핸들, 또는 논리 섹터의 시작 번호로부터 열 수 있습니다. 또한, 모든 I/O함수를 오버로드할 수 있습니다.
  • Bink에는, 세련된 IOP측의 스트리밍 시스템이 준비되어 있습니다. 이 시스템은, 완전하게 비동기의 스트리밍을 실시해, 또한, 다른 시스템 I/O와 동시에 실행할 수 있습니다. 이 때문에, 레벨의 로드안도 비디오를 재생할 수 있습니다.

Microsoft Windows 95, 98, Me, NT, 2000, XP, Vista 및 Windows 64

  • DLL 파일로써 어플리케이션에 들어 있습니다.
  • 다른 Windows C/C++컴파일러(빌드에 사용한 Microsoft Visual Studio 6 및. NET를 포함한다)와 조합해 사용할 수 있습니다.
  • 백 그라운드 쓰레드에서 압축해제 기능이 구성되어 있기 때문에, 듀얼 코어 PC에서는 2배의 속도로 재생을 실행할 수 있습니다.
  • 사운드 출력에는 Miles Sound System, DirectSound, 또는 waveOut가 지원됩니다. 또한, Miles를 사용한 5.1 또는 7.1 멀티 채널 출력이 지원됩니다.
  • 매우 빠른 MMX 에 최적화된 YUV로부터 RGB (16비트,32비트, 및 24비트)로의 컨버터가 준비되어 있습니다.
  • 여러 개 형식(YUY2, UYUV, YUV12), 그리고 YUV 비트로 직접 억세스할 수 있습니다.
  • Bink DLL 의 사이즈는 약170 KB입니다. 이것은 스탠드얼론으로 작동합니다. 다른 DLL는 필요 없습니다.
  • 재생시에 필요하게 되는 것은, 메모리내의 2개의 YUV12 비디오 프레임(1 픽셀 당 12비트) 의 1초간의 데이터 레이트 버퍼입니다. 이것은 다른 코덱으로 필요한 메모리와 비교하고, 꽤 적은 양입니다.
  • 파일이름으로 파일을 로드하거나, 파일핸들, 입출력 함수를 오버로드 할 수 있습니다. 초기설정에서 Bink의 I/O시스템은, 낮은 오버헤드의 백그라운드 쓰레드로 모두 읽어들입니다.
  • Windows에서는, 모든 블리팅 기능 및 버퍼링 API를 사용할 수 있습니다. 이 BinkBuffer API에서는, DirectDraw와 DIBSections, 및 RGB 모드 또는 YUV 모드로 오버레이를 사용할 수 있습니다. Windows에서는, 일반적으로, API의 수가 대량이기 위해서 블리팅이 복잡해지게 됩니다. Bink에서는, API를 1개의 심플한 API에 정리하여 이것을 단순화 하고 있습니다.
  • OpenGL, Direct X 7, Direct X 8, Direct X 9, 또는 D3D9로부터 픽셀 쉐이더를 사용해 알파 블리팅을 행하기 위한 래퍼가 포함되어 있습니다. 이 레이어에는 원시 코드가 포함되어 있기 때문에, 나머지 3D게임과 간단하게 통합할 수 있습니다. GL 또는 DX의 지식이 없어도, Bink의 3D버퍼 API를 사용할 수 있습니다.
  • 초기설정의 메모리 기능을 완전히 오버로드할 수 있습니다. 이 때문에, 사용자가 지정한 콜백으로 모든 메모리 관리를 할 수 있습니다.

Microsoft Xbox 360 콘솔

  • 스태틱 라이브러리와 스태틱 링크시 코드 생성(LTCG) 라이브러리 양쪽 다 이용할 수 있습니다. 실행시에는 LTCG 라이브러리 쪽이 조금 빠르게 처리되어 20 KB 정도 절약할 수 있습니다. 다만, 링크는 느려집니다.
  • Visual Studio 2005와 조합해 사용할 수 있습니다.
  • 백 그라운드 쓰레드로의 압축해제 기능이 구성되어있으므로, Bink로의 압축해제에는, 임의의 Xbox 코어를 사용할 수 있습니다.
  • 사운드 출력에는 XAudio가 지원됩니다. 5.1 무비가 지원됩니다. 오디오의 6개의 채널이 디코드되고, 올바른 믹스빈에 전달됩니다.
  • 픽셀 쉐이더를 사용해 블리팅을 행하기 위한 모든 API가 포함되어 있습니다. 이것은 Windows, 소니 플레이 스테이션(R) 3, 및 Xbox와 호환성이 있는 크로스 플랫폼입니다. 비디오의 질을 높이기 위해서 GPU를 사용합니다.
  • YUV 비트(YUY2 및 YUV12)에 직접 억세스하고, YUV 텍스쳐에 고속으로 복사할 수 있습니다.
  • Bink 라이브러리는, 약 200 KB의 XBE 이미지에 링크하고 있어, 여러 개의 섹션으로 나누어서 들어가 있습니다. 이 때문에, Bink를 사용하지 않을 때는 언로드할 수 있습니다
  • 재생시에 필요하게 되는 것은, 메모리내의 2개의 YUV12 비디오 프레임(1 픽셀 당 12비트) 의 1초간의 데이터 레이트 버퍼입니다. 이것은 다른 코덱으로 필요한 메모리와 비교하고, 꽤 적은 양입니다. 그 외의 텍스처 메모리는 필요 없습니다. 직접 텍스처 메모리에 압축을 풀 수 있습니다.
  • 파일이름으로 파일을 로드하거나, 파일핸들, 입출력 함수를 오버로드 할 수 있습니다. 초기설정에서 Bink의 I/O시스템은, 낮은 오버헤드의 백그라운드 쓰레드로 모두 읽어들입니다.
  • 픽셀 쉐이더 및 알파 텍스쳐의 사용예가 포함되어 있습니다.
  • 초기설정의 메모리 기능을 완전히 오버로드할 수 있습니다. 이 때문에, 사용자가 지정한 콜백으로 모든 메모리 관리를 할 수 있습니다.
  • 2006년 여름 현재, Bink는 Xbox 360의 거의 모든 타이틀에 내장되어 있습니다.

Microsoft Xbox 콘솔

  • 스태틱 라이브러리와 스태틱 링크시 코드 생성(LTCG) 라이브러리 양쪽 다 이용할 수 있습니다. 실행시에는 LTCG 라이브러리 쪽이 조금 빠르게 처리되어 20 KB 정도 절약할 수 있습니다. 다만, 링크는 느려집니다.
  • Visual Studio 6또는. NET와 조합해 사용할 수 있습니다.
  • 사운드 출력에는 DirectSound가 지원됩니다. 5.1 무비가 지원됩니다. 오디오의 6개의 채널이 디코드되고, 올바른 믹스빈에 전달됩니다.
  • 매우 빠른 MMX 어셈블리에 최적화된 YUV로부터 RGB (16비트,및 32비트)로의 컨버터가 준비되어 있습니다.
  • 픽셀 쉐이더를 사용해 블리팅을 행하기 위한 모든 API가 포함되어 있습니다. 이것은 Windows, Sony 플레이 스테이션(R) 3, 및 Xbox 360으로 호환성이 있는 크로스 플랫폼입니다. 비디오의 품질을 높이기 위해서, GPU를 사용합니다.
  • YUV 비트(YUY2 및 YUV12)에 직접 억세스하고, YUV 텍스쳐 또는 YUV 오버레이에 고속으로 복사할 수 있습니다.
  • Bink 라이브러리는, 약 200 KB의 XBE 이미지에 링크하고 있어, 여러 개의 섹션으로 나누어서 들어가 있습니다. 이 때문에, Bink를 사용하지 않을 때는 언로드할 수 있습니다
  • 재생시에 필요하게 되는 것은, 메모리내의 2개의 YUV12 비디오 프레임(1 픽셀 당 12비트) 의 1초간의 데이터 레이트 버퍼입니다. 이것은 다른 코덱으로 필요한 메모리와 비교하고, 꽤 적은 양입니다. 그 외의 텍스처 메모리는 필요 없습니다. 직접 텍스처 메모리에 압축을 풀 수 있습니다.
  • 파일이름으로 파일을 로드하거나, 파일핸들, 입출력 함수를 오버로드 할 수 있습니다. 초기설정에서 Bink의 I/O시스템은, 낮은 오버헤드의 백그라운드 쓰레드로 모두 읽어들입니다.
  • 픽셀 쉐이더의 사용 예의 외 , 백 버퍼, 3D RGB 텍스쳐, 알파 텍스쳐, YUV 오버레이, 및 3D YUV 텍스쳐에의 압축해제의 예가 포함되어 있습니다.
  • 초기설정의 메모리 기능을 완전히 오버로드할 수 있습니다. 이 때문에, 사용자가 지정한 콜백으로 모든 메모리 관리를 할 수 있습니다.
  • Bink는 Xbox의 대부분의 타이틀에 내장되고 있습니다.

닌텐도 DS 핸드헬드

  • 스태틱 라이브러리로 판매되고 있습니다.
  • SN시스템과 CodeWarrior와 연동됩니다. 내부적으로는 SN시스템이 사용됩니다.
  • 닌텐도 DS의 오디오 하드웨어가 직접 지원됩니다.
  • 어셈블리 최적화된 고속의 YUV로부터 RGB (8및 16비트) 에의 컨버터가 준비되어 있습니다. 색을 백 버퍼 또는 비디오 텍스쳐에 직접 변환할 수 있습니다.
  • YUV 비트(YUV12) 에 직접 억세스할 수 있습니다.
  • Bink 라이브러리의 사이즈는 약145 KB입니다. 이것은 스탠드얼론으로 작동합니다. 다른 라이브러리는 필요 없습니다.
  • 재생시에 필요하게 되는 것은, 메모리내의 2개의 YUV12 비디오 프레임(1 픽셀 당 12비트) 의 1초간의 데이터 레이트 버퍼입니다. 이것은 다른 코덱으로 필요한 메모리와 비교하고, 꽤 적은 양입니다.
  • 초기설정의 메모리 기능을 완전히 오버로드할 수 있습니다. 이 때문에, 사용자가 지정한 콜백으로 모든 메모리 관리를 할 수 있습니다.
  • 파일이름으로 파일을 로드하거나, OS 파일핸들, 입출력 함수를 오버로드 할 수 있습니다. Bink의 초기설정 I/O시스템은, 백그라운드에서 비동기적으로 읽어들이는 방식을 이용합니다.

닌텐도 게임 큐브콘솔

  • 스태틱 라이브러리로 판매되고 있습니다.
  • SN시스템과 CodeWarrior와 연동됩니다. 내부적으로는 SN시스템이 사용됩니다.
  • 사운드 출력에는, AX와 MusyX의 양쪽 다 지원됩니다.
  • 어셈블리 최적화된 고속의 YUV로부터 RGB (16및 32비트) 에의 컨버터가 준비되어 있습니다.
  • YUV 비트(YUV12) 에 직접 억세스할 수 있습니다.
  • Bink 라이브러리의 사이즈는 약 204 KB입니다. 이것은 스탠드얼론으로 작동합니다. 다른 라이브러리는 필요 없습니다.
  • 재생시에 필요하게 되는 것은, 메모리내의 2개의 YUV12 비디오 프레임(1 픽셀 당 12비트) 의 1초간의 데이터 레이트 버퍼입니다. 이것은 다른 코덱으로 필요한 메모리와 비교하고, 꽤 적은 양입니다.
  • 초기설정의 메모리 기능을 완전히 오버로드할 수 있습니다. 이 때문에, 사용자가 지정한 콜백으로 모든 메모리 관리를 할 수 있습니다.
  • 파일이름으로 파일을 로드하거나, OS 파일핸들, 입출력 함수를 오버로드 할 수 있습니다. Bink의 초기설정 I/O시스템은, 백그라운드에서 비동기적으로 읽어들이는 방식을 이용합니다.

Apple Macintosh

  • PEF(PPC 및 x86) Carbon 공유 라이브러리, MachO Carbon 공유 라이브러리, 및 CRM 공유 라이브러리로서 입수 가능합니다.
  • 빌드에 사용한 GCC, Xcode, 및 CodeWarrior를 포함한 임의의 Mac C/C++컴파일러와 조합해 사용할 수 있습니다.
  • 사운드 출력에는 Sound Manager가 지원되고 있어 Miles Sound System와 공존할 수 있습니다.
  • 어셈블리 최적화된 고속의 YUV로부터 RGB (16및 32비트) 에의 컨버터가 준비되어 있습니다.
  • YUV 비트(YUV12) 에 직접 억세스합니다.
  • Bink 라이브러리의 사이즈는 약 204 KB입니다. 이것은 스탠드얼론으로 작동합니다. 다른 라이브러리는 필요 없습니다.
  • 재생시에 필요하게 되는 것은, 메모리내의 2개의 YUV12 비디오 프레임(1 픽셀 당 12비트) 의 1초간의 데이터 레이트 버퍼입니다.
  • 파일이름으로 파일을 로드하거나, FSSpec 포인터, 입출력 함수를 오버로드 할 수 있습니다. MacOS 9로 Bink I/O시스템을 사용할 경우, 초기설정으로는 완전하게 비동기의 읽기를 백그라운드에서 실시합니다. 또한, MacOS X에서는, 저오버헤드의 박크그라운드쓰레드가 사용됩니다.
  • MacOS에서는, 모든 블리팅 기능 및 버퍼링 API를 사용할 수 있습니다. 이 BinkBuffer API에서는, QuickDraw를 사용하고, MacOS 8으로부터 X까지의 frame buffer에 직접 억세스 합니다. 이 API와 Windows 버전의 API와의 사이에는 호환성이 있습니다. 이 때문에, Windows와 MacOS의 양쪽 다 간단하게 같은 Bink를 재생할 수 있습니다.
  • 초기설정의 메모리 기능을 완전히 오버로드할 수 있습니다. 이 때문에, 사용자가 지정한 콜백으로 모든 메모리 관리를 할 수 있습니다.

x86 CPU를 지원하는 GNU/Linux

  • GCC 3.2. 2로 구축된 스태틱 라이브러리로 판매되고 있습니다.
  • 사운드 출력에는 SDL_mixer가 지원됩니다.
  • 매우 빠른 MMX 에 최적화된 YUV로부터 RGB (16비트,32비트, 및 24비트)로의 컨버터가 준비되어 있습니다.
  • 여러 개 형식(YUY2, UYUV, YUV12), 그리고 YUV 비트로 직접 억세스할 수 있습니다.
  • Bink 라이브러리의 사이즈는 약200 KB입니다. 이것은 스탠드얼론으로 작동합니다. pthreads와 glibc만이 필요합니다.
  • 재생시에 필요하게 되는 것은, 메모리내의 2개의 YUV12 비디오 프레임(1 픽셀 당 12비트) 의 1초간의 데이터 레이트 버퍼입니다.
  • 파일이름으로 파일을 로드하거나, 파일핸들, 입출력 함수를 오버로드 할 수 있습니다. 초기설정에서 Bink의 I/O시스템은, 낮은 오버헤드의 백그라운드 쓰레드로 모두 읽어들입니다.
  • 초기설정의 메모리 기능을 완전히 오버로드할 수 있습니다. 이 때문에, 사용자가 지정한 콜백으로 모든 메모리 관리를 할 수 있습니다.