Opened 11 years ago

Closed 11 years ago

Last modified 13 months ago

#7672 closed enhancement

Add smk (smacker) decoding support

Reported by: SF/paletta Owned by: sev-
Priority: normal Component: Video
Keywords: Cc:
Game: Broken Sword 1

Description

The README file says: Broken Sword 1 and 2 both come with in-game cutscenes compressed using RAD Game Tools' legacy Smacker(tm) format. As RAD is unwilling to open the older legacy versions of this format to us, and have requested we not reverse engineer it, Revolution Software has kindly allowed us to provide re-encoded Broken Sword cutscenes for download on our website:

ffmpeg is now supporting smacker file format since some years: http://ffmpeg.mplayerhq.hu/changelog.html

It would be nice to add smk support to SCUMMVM, as that would: 1) simplify the game use with SCUMMVM to end users (no need to download the dxa files); 2) decrease the size of the game (smk files are smaller than dxa); 3) smk decoding should be faster than dxa.

Apparently there were some legal doubts related to integrate smk support in SCUMMVM, however consider that: 1) the format was not reverse engineered by the SCUMMVM team (as requested by RAD); 2) including smk support in SCUMMVM should not cause any ulterior loss to RAD (SCUMMVM only supports limited and already released games, which the original developers have already paid smk licensing cost, also the format is already public); 3) whatever RAD can says reverse engineering is legally in most parts of the world; 4) there are no known patent on the format; 5) SCUMMVM is already including some more "dangerous" formats (e.g. the reverse engineered game engines and MP3 and MPEG2 file formats which are patented and know to be enforced to some big companies (e.g. Microsoft)); 6) there were no legal problems since when the smk format was included in ffmpeg some years ago.

Thanks

Ticket imported from: #2416330. Ticket imported from: feature-requests/488.

Change History (11)

comment:1 by sev-, 11 years ago

Thanks for the request. We will consider it.

comment:2 by sev-, 11 years ago

Owner: set to sev-

comment:3 by Kirben, 11 years ago

As more time passes, there seems to be less reason to add support for the Smacker format:

1. The latest releases (Broken Sword Trilogy, The Feeble Files on GoG.com) use ScummVM, so the cutscenes are in DXA format already. 2. Actually the DXA format will provide smaller sizes. 3. DXA decoding should be equal or faster, although I don't think anyone has actually measured the speed difference.

Actual decoding of MP3 and MPEG2 isn't actually included in ScummVM, rather we make sure of the decoding provided by the libmad and libmpeg2 libraries. While I expect Smacker support would be added internally, unless a much smaller library (wasn't someone working on Smacker specific library?) was available for multiple platforms.

While Smacker support has been available in ffmpeg for long time, I recall there were problems with specific smacker files in the past. Although maybe those problems have all been fixed by now?

comment:4 by Kirben, 11 years ago

Owner: sev- removed

comment:5 by Kirben, 11 years ago

Owner: set to sev-

comment:6 by SF/paletta, 11 years ago

> Actually the DXA format will provide smaller sizes. I rember that the DXA files downloaded from the ScummVM site were larger than the original (which also included the sound). DXA are also lossless compressed, while smk are lossy, so I doubt converting from smk to DXA could reduce the filesize. I'll check again if I find my original CD.

> Actual decoding of MP3 and MPEG2 isn't actually included in ScummVM, > rather we make sure of the decoding provided by the libmad and libmpeg2 > libraries. I don't think that using an external library instead of integrating it into the code make a difference, since the binaries provided by the SCUMMVM include the MP3 and MPEG2.

> While Smacker support has been available in ffmpeg for long time, I recall > there were problems with specific smacker files in the past. Although maybe > those problems have all been fixed by now? I played the BS files fine with VLC (which uses ffmpeg as a backend).

Anyway, thanks for considering it.

comment:7 by sev-, 11 years ago

It is in SVN now, but we still will not add support of SMK to sword engines.

comment:8 by sev-, 11 years ago

Status: newclosed

comment:9 by SF/paletta, 11 years ago

> It is in SVN now, but we still will not add support of SMK to sword > engines.

Cool!

> Actually the DXA format will provide smaller sizes.

Actually, you are rigth. The DXA files currently available for download are a bit smaller than the original smk files (both BS1 and BS2).

comment:10 by wjp, 6 years ago

Component: Engine: SCUMM

comment:11 by digitall, 13 months ago

Component: Video
Game: Broken Sword 1
Note: See TracTickets for help on using tickets.