HOME

TheInfoList



OR:

SWF () is a defunct
Adobe Flash Adobe Flash (formerly Macromedia Flash and FutureSplash) is a mostly discontinuedAlthough it is discontinued by Adobe Inc., for the Chinese market it is developed by Zhongcheng and for the international enterprise market it is developed by Ha ...
file format A file format is a Computer standard, standard way that information is encoded for storage in a computer file. It specifies how bits are used to encode information in a digital storage medium. File formats may be either proprietary format, pr ...
that was used for
multimedia Multimedia is a form of communication that uses a combination of different content forms, such as Text (literary theory), writing, Sound, audio, images, animations, or video, into a single presentation. T ...
,
vector graphics Vector graphics are a form of computer graphics in which visual images are created directly from geometric shapes defined on a Cartesian plane, such as points, lines, curves and polygons. The associated mechanisms may include vector displ ...
and
ActionScript ActionScript is an object-oriented programming language originally developed by Macromedia Inc. (later acquired by Adobe). It is influenced by HyperTalk, the scripting language for HyperCard. It is now an implementation of ECMAScript (mean ...
. Originating with FutureWave Software, then transferred to
Macromedia Macromedia, Inc. was an American graphics, multimedia, and web development software company headquartered in San Francisco, California, that made products such as Adobe Flash, Flash and Adobe Dreamweaver, Dreamweaver. It was purchased by its riv ...
, and then coming under the control of Adobe, SWF files can contain
animation Animation is a filmmaking technique whereby still images are manipulated to create moving images. In traditional animation, images are drawn or painted by hand on transparent celluloid sheets to be photographed and exhibited on film. Animati ...
s or applets of varying degrees of interactivity and function. They may also occur in programs, commonly browser games, using
ActionScript ActionScript is an object-oriented programming language originally developed by Macromedia Inc. (later acquired by Adobe). It is influenced by HyperTalk, the scripting language for HyperCard. It is now an implementation of ECMAScript (mean ...
. Programmers can generate SWF files from within several Adobe products, including Flash, Flash Builder (an IDE), Adobe Animate (a rename of Adobe Flash since 2016), and After Effects, as well as through MXMLC, a command-line application compiler which forms part of the freely-available Flex SDK. Although Adobe
Illustrator An illustrator is an artist who specializes in enhancing writing or elucidating concepts by providing a visual representation that corresponds to the content of the associated text or idea. The illustration may be intended to clarify complicate ...
can generate SWF format files through its "export" function, it cannot open or edit them. Other than using Adobe products, one can build SWFs with
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
Motion-Twin ActionScript 2 Compiler (MTASC), the open-source Ming library and the free-software suite SWFTools. Various other third-party programs can also produce files in this format, such as Multimedia Fusion 2, Captivate and SWiSH Max. The term "SWF" originated as an abbreviation for ShockWave Flash. This usage was changed to the
backronym A backronym is an acronym formed from an already existing word by expanding its letters into the words of a phrase. Backronyms may be invented with either serious or humorous intent, or they may be a type of false etymology or folk etymology. The ...
Small Web Format to eliminate confusion with a different technology, Shockwave, from which SWF derived. There is no official resolution to the initialism "SWF" by Adobe. Adobe declared its Flash player EOL on December 31, 2020. On January 12, 2021, it pushed an update to its Flash player that blocked all Flash content from running.


History

The small company FutureWave Software originally defined the file format with one primary objective: to create small files for displaying entertaining animations. The idea involved a format which player software could run on any system and which would work with slower network connections. FutureWave released FutureSplash Animator in May 1996. In December 1996 Macromedia acquired FutureWave and FutureSplash Animator became Macromedia Flash 1.0. The original naming of SWF came out of Macromedia's desire to capitalize on the well-known Macromedia Shockwave brand; Macromedia Director produced Shockwave files for the end user, so the files created by their newer Flash product tried to capitalize on the already established brand. As Flash became more popular than Shockwave itself, this branding decision became more of a liability, so the format started to be referred to as simply SWF. Adobe acquired Macromedia in 2005. On May 1, 2008, Adobe dropped its licensing restrictions on the SWF format specifications, as part of the Open Screen Project. However, Rob Savoye, a member of the Gnash development team, has pointed to some parts of the Flash format which remain closed. On July 1, 2008, Adobe released code to Google and Yahoo, which allowed their search engines to crawl and index SWF files.


Description

The main graphical primitive in SWF is the path, which is a chain of segments of primitive types, ranging from lines to splines or
Bézier curve A Bézier curve ( , ) is a parametric equation, parametric curve used in computer graphics and related fields. A set of discrete "control points" defines a smooth, continuous curve by means of a formula. Usually the curve is intended to approxima ...
s. Additional primitives like rectangles, ellipses, and even text can be built from these. The graphical elements in SWF are thus fairly similar to SVG and MPEG-4 BIFS. SWF also uses display lists and allows naming and reusing previously defined components. The binary stream format SWF uses is fairly similar to QuickTime atoms, with a tag, length and payload an organization that makes it very easy for (older) players to skip contents they don't support.C. Concolato and J. C. Dufourd.
Comparison of MPEG-4 BIFS and some other multimedia description languages
. Workshop and Exhibition on MPEG-4, WEPM. 2002.
Originally limited to presenting vector-based objects and images in a simple sequential manner, the format in its later versions allows audio (since Flash 3) and video (since Flash 6). Adobe introduced a new, low-level 3D API in version 11 of the Flash Player. Initially codenamed Molehill, the official name given to this API was ultimately
Stage3D Stage3D (codenamed ''Molehill'') is an Adobe Flash Player API for rendering interactive 3D graphics with GPU-acceleration, within Flash games and applications. Flash Player or AIR applications written in ActionScript 3 may use Stage3D to render ...
. It was intended to be an equivalent of
OpenGL OpenGL (Open Graphics Library) is a Language-independent specification, cross-language, cross-platform application programming interface (API) for rendering 2D computer graphics, 2D and 3D computer graphics, 3D vector graphics. The API is typic ...
or
Direct3D Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware ...
. In Stage3D
shader In computer graphics, a shader is a computer program that calculates the appropriate levels of light, darkness, and color during the rendering of a 3D scene—a process known as '' shading''. Shaders have evolved to perform a variety of s ...
s are expressed in a low-level language called Adobe Graphics Assembly Language (AGAL).


Adoption

Adobe makes available plugins, such as
Adobe Flash Player Adobe Flash Player (known in Internet Explorer, Firefox, and Google Chrome as Shockwave Flash) is a discontinuedExcept in China, where it continues to be used, as well as Harman for enterprise users. computer program for viewing multimedia ...
and Adobe Integrated Runtime, to play SWF files in
web browser A web browser, often shortened to browser, is an application for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's scr ...
s on many desktop operating systems, including
Microsoft Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
,
Mac OS X macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
, and
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
on the
x86 architecture x86 (also known as 80x86 or the 8086 family) is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel, based on the 8086 microprocessor and its 8-bit-external-bus variant, the 8088. T ...
and
ARM architecture ARM (stylised in lowercase as arm, formerly an acronym for Advanced RISC Machines and originally Acorn RISC Machine) is a family of reduced instruction set computer, RISC instruction set architectures (ISAs) for central processing unit, com ...
(
ChromeOS ChromeOS, sometimes styled as chromeOS and formerly styled as Chrome OS, is an operating system designed and developed by Google. It is derived from the open-source operating system and uses the Google Chrome web browser as its principal user ...
only). GNU has started developing a
free software Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, distribut ...
SWF player called Gnash under the
GNU General Public License The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was the first ...
(GPL). Despite being a declared high-priority GNU project, funding for Gnash was fairly limited. Another player is the
LGPL The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own ...
-licensed Swfdec. Lightspark is a continuation of Gnash supporting more recent SWF versions. Adobe has incorporated SWF playback and authoring in other product and technologies of theirs, including in Adobe Shockwave, which renders more complex documents. SWF can also be embedded in
PDF Portable document format (PDF), standardized as ISO 32000, is a file format developed by Adobe Inc., Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, computer hardware, ...
files; these are viewable with Adobe Reader 9 or later. InDesign CS6 can also produce some limited forms of SWF animations directly. Sony
PlayStation Portable The PlayStation Portable (PSP) is a handheld game console developed and marketed by Sony Interactive Entertainment, Sony Computer Entertainment. It was first released in Japan on December 12, 2004, in North America on March 24, 2005, and in PA ...
consoles can play limited SWF files in Sony's web browser, beginning with firmware version 2.71. Both the
Nintendo is a Japanese Multinational corporation, multinational video game company headquartered in Kyoto. It develops, publishes, and releases both video games and video game consoles. The history of Nintendo began when craftsman Fusajiro Yamauchi ...
Wii and the
Sony is a Japanese multinational conglomerate (company), conglomerate headquartered at Sony City in Minato, Tokyo, Japan. The Sony Group encompasses various businesses, including Sony Corporation (electronics), Sony Semiconductor Solutions (i ...
PS3 consoles can run SWF files through their web browsers. Scaleform GFx is a commercial alternative SWF player that features full hardware acceleration using the GPU and has high conformance up to Flash 8 and AS2. Scaleform GFx is licensed as a game middleware solution and used by many PC and console 3D games for user interfaces, HUDs, mini games, and video playback. The newer 3D features of SWF have been seen as an alternative to
WebGL WebGL (short for Web Graphics Library) is a JavaScript Application programming interface, API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-in (computing), plug-ins. WebGL is fully integra ...
, with a spurt of 3D engines like
Papervision3D Papervision3D is an open-source, 3D graphics engine for rendering 3D content within Adobe Flash Player and Adobe AIR. Unlike modern Flash 3D engines such as Away3D and Flare3D, Papervision3D is not built for Stage3D and renders 3D content fu ...
,
Away3D Away3D is an open-source platform for developing interactive 3D graphics for video games and applications, in Adobe Flash or HTML5. The platform consists of a 3D world editor (Away Builder),
, Sandy 3D, and Alternativa 3D targeting 3D SWF. Although some of these projects started around 2005, until Flash Player 10 however they had no support of GPU acceleration, and even in that version of the Flash Player, shaders could be used for same materials, but vertex information still had to be processed on the CPU (using BSP trees etc.) After version 11 of the Flash Player added the new Stage3D low-level API, some but not all of these projects migrated to the new API. One that did migrate was Away3D, version 4. Based on an independent study conducted by Millward Brown and published by Adobe, in 2010, over 99% of desktop web browsers in the "mature markets" (defined as United States, Canada, United Kingdom, France, Germany, Japan, Australia, and New Zealand) had a SWF plugin installed, with around 90% having the latest version of the Flash Player. Due to the increasing popularity of HTML5 for games and animations, as well as the numerous security holes that had plagued Adobe's SWF player, Adobe declared its Flash player EOL on December 31, 2020. On January 12, 2021, it pushed an update to its Flash player that blocked all Flash content from running.


Published specifications

Adobe makes available a partial specification of SWF, most recently updated in January 2013 to reflect changes in SWF version 19. SWF versions have been decoupled from Flash player versions after Flash 10. Afterwards the version number of the SWF progressed rapidly; SWF version 19 corresponds to the new features added in Flash Player 11.6. Flash Player 14 uses SWF version 25. In 2008, the specifications document was criticized by Rob Savoye, the lead developer of the Gnash project, as missing "huge amounts" of information needed to completely implement SWF, omitting specifications for RTMP and Sorenson Spark. The RTMP specification was released publicly in June 2009. The Sorenson Spark codec is not Adobe's property.


Licensing

Until May 1, 2008, implementing software that plays SWF was disallowed by the specification's license. On that date, as part of its Open Screen Project, Adobe dropped all such restrictions on the SWF and FLV formats. Implementing software which creates SWF files has always been permitted, on the condition that the resulting files render "error free in the latest publicly available version of Adobe Flash Player."


Related file formats and extensions

Other formats related to SWF authoring in the Adobe tool chain remain without a public specification. One example is FLA, which is the editable version of SWF used by Adobe's Flash, but not by other Adobe tools that can also output SWF, albeit with fewer features.


See also

;Adobe Flash *
ActionScript ActionScript is an object-oriented programming language originally developed by Macromedia Inc. (later acquired by Adobe). It is influenced by HyperTalk, the scripting language for HyperCard. It is now an implementation of ECMAScript (mean ...
* ActionScript code protection *
Adobe Flash Player Adobe Flash Player (known in Internet Explorer, Firefox, and Google Chrome as Shockwave Flash) is a discontinuedExcept in China, where it continues to be used, as well as Harman for enterprise users. computer program for viewing multimedia ...
, the runtime that executes and plays back Flash movies * Adobe Flash Lite, a lightweight version of Flash Player for devices that lack the resources to run regular Flash movies * Flash Video * Ming library * Saffron Type System, the anti-aliased text-rendering engine used in version 8 onwards * Local Shared Object * SWFObject, a JavaScript library used to embed Flash content into webpages. ;Other * OpenLaszlo * Personal video recorders some possibly record and play swf files * FutureSplash Animator * SWFTools * SWiSH Max *
Java Applet Java applets were applet, small applications written in the Java (programming language), Java programming language, or another programming language that Compiled language, compiles to Java bytecode, and delivered to users in the form of Ja ...


References


External links


Adobe Systems Flash SWF reference

SWF File Format Specification
(Version 19)
Adobe SWF Investigator
a disassembler of sorts

{{DEFAULTSORT:Swf Adobe Flash Computer file formats Graphics file formats