/libsmacker

C library for decoding Smacker Video files produced by RAD Game Tools.

Primary LanguageCGNU Lesser General Public License v2.1LGPL-2.1

libsmacker
A C library for decoding .smk Smacker Video files

version 1.2.0
2021-06-02

(c) Greg Kennedy 2013-2021
http://libsmacker.sourceforge.net
----

---
Introduction
---
libsmacker is a cross-platform C library which can be used for decoding Smacker Video files produced by RAD Game Tools. Smacker Video was the king of video middleware in the 1990s, and its 256-color compressed video format was used in over 2600 software titles.

libsmacker implements the minimum feature set required from smackw32.dll to get an smk off a disk and the frames / audio into a buffer in the correct order.

---
License
---
libsmacker is released under the Lesser GNU Public License, v2.1.  See the file COPYING for more information.

---
Usage
---
See the webpage for sample code and function documentation.  The source package additionally includes a pair of driver programs:
* driver.c - dumps all frames of a file to a bmp/ subdirectory, and all audio as raw streams to out_*.raw files in CWD
* smk2avi.c - converts smk file(s) to AVI files - uncompressed 24-bit color and PCM audio stream.

Though the libraries are "bulletproofed" the sample apps are not: be cautious if you plan to implement in some critical environment.

---
Changelog
---
1.2.0
* Major refactor of data structures for performance
* Merge all files into a single unified .c source file
* Support audio-only .smk files
1.1.1
* Re-license under LGPL 2.1
1.1
* Switch to autotools-based build
* Incorporates patches from Dalerank Slim, Gennady Trafimenkov, and Bianca van Schaik
* Performance improvements and code cleanup / safety.
1.0
* Initial revision

---
Contact
---
Questions/comments:
* by email: kennedy.greg@gmail.com
* by website: http://libsmacker.sourceforge.net

Enjoy!