Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Smacker video

From Wikipedia, the free encyclopedia
Digital video file format
Smacker
Filename extension
.smk
Internet media typevideo/vnd.radgamettools.smacker
Type codeSmk2
Developed byEpic Games Tools
Type of formatVideo codec
Container forSmacker

Smacker video is avideo file format (with the.SMKfile extension) developed byRAD Game Tools, and primarily used forfull-motion video invideo games.[1] Smacker uses an adaptive 8-bitRGB palette. RAD's format for video at higher color depths isBink Video. The Smacker format specifies acontainer format, a video compression format, and an audio compression format.[2] Since its release in 1994, Smacker has been used in over 2300 games.[1] Blizzard used this format for the cinematic videos seen in its gamesWarcraft II,StarCraft andDiablo I.[3]

The format has been reverse engineered and implemented inlibavcodec.[4][5][6] A non-commercialSourceForge projectlibsmacker released an open source decoder in 2013.[7]

Technical details

[edit]

File format (container)

[edit]

Smacker defines its owncontainer format.[2] A Smacker file can contain a Smacker video track and up to seven audio tracks. Each audio track can have either one channel (mono) or two channels (stereo) with abit depth of either 8-bit or 16-bit. The audio can either be uncompressedPCM, compressed in the Smacker Audio format, or, in newer versions of Smacker, compressed in theBink Audio format.[2]

Video

[edit]

Smacker video supports 256 colors, but no transparency support.[2] While being apalette-based format, which is inherently limited to having not more than 256 colors in each frame, Smacker videos may still contain more colors in total due to "palette rotation", whereby the palette is updated on a per-frame basis.[2] This usually results in SMK files that look better if the source video has more than 256 colors. The compression rate depends on the content. The encoding of a video consisting of still or barely moving frames is after the first frame practically free.[2] Frames with random colors might more than double the raw size.[citation needed]

In Smacker video, a frame is split into 4×4 blocks in raster-scan order.[2] Each block can be coded in one of six coding modes: skip, fill, mono, and three full modes. Each mode can be signaled for multiple blocks in arun-length encoding scheme. In skip mode, the current block is copied from the previous frame in aconditional replenishment fashion. In fill mode, the current block is filled with a single color. In mono mode, the palette is locally reduced from 256 colors to two colors. Both colors are written to the bitstream and one bit per pixel is used to indicate which of the two colors a pixel should be.[2] The mono mode can be interpreted asvector quantization, where a three-dimensional vector with the components red, green, and blue isquantized using an adaptive codebook with two entries. There are three full modes, one was specified in version 2 of the Smacker format, while the other two were added in version 4.[2] In the original full mode, 16 colors are transmitted, one for each pixel, equivalent to raw uncompressed PCM. The two full modes added in version 4 use 4 and 8 colors in a block, respectively.[2] In the 4-color mode, the 4×4 block is split into four 2×2 blocks, each of which is filled with a solid color. In the 8-color mode, the 4×4 block is split into eight 1×2 blocks, each of which is filled with a solid color.[2]

Further compression is achieved byentropy coding usingHuffman coding of the various bitstream elements that result from the process above.[2] There are four separate Huffman tables, each with 16-bit entries: one for mode decision, run-length, and fill color in fill color mode, one for the color indices in mono mode, one for the bitmap in mono mode, and one for all data in the full mode. Each table is adaptive and transmitted once per file in the header. The Huffman tables in the header are themselves compressed: the 16 bit values in the leaves of the code tree are split into a high byte and a low byte. Each byte is compressed using a Huffman table that is also contained in the header.[2]

Audio

[edit]

Smacker audio is one of the audio formats that can be used in the Smacker container. For compression,Differential pulse code modulation (DPCM) is used. The difference between two successive samples is compressed usingHuffman coding. The Huffman tables are adapted once per audio frame.[2]

See also

[edit]

References

[edit]
  1. ^ab"Smacker video Technology". RAD Game Tools. Retrieved4 May 2013.
  2. ^abcdefghijklmn"Smacker".MultimediaWiki. 11 April 2007. Retrieved4 April 2013.
  3. ^Ladislav Zezula (2010)."MPQ Archives - Overview". Retrieved4 May 2013.
  4. ^"FFmpeg Documentation".FFmpeg. Retrieved4 April 2013.
  5. ^FFmpeg:Smacker video and Smacker audio decoder
  6. ^FFmpeg:Smacker container demuxer
  7. ^SourceForge projectlibsmacker

External links

[edit]
Video
compression
ISO,IEC,
MPEG
ITU-T,VCEG
SMPTE
TrueMotion and AOMedia
Chinese Standard
  • AVS1 P2/AVS+(GB/T 20090.2/16)
  • AVS2 P2(GB/T 33475.2,GY/T 299.1)
    • HDR Vivid(GY/T 358)
  • AVS3 P2(GY/T 368)
Others
Audio
compression
ISO,IEC,
MPEG
ITU-T
IETF
3GPP
ETSI
Bluetooth SIG
Chinese Standard
Others
Image
compression
IEC,ISO,IETF,
W3C,ITU-T,JPEG
Others
Containers
ISO,IEC
ITU-T
IETF
SMPTE
Others
Collaborations
Methods
Lists
SeeCompression methods for techniques andCompression software for codecs
Retrieved from "https://en.wikipedia.org/w/index.php?title=Smacker_video&oldid=1310311577"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp