by Mike Melanson

Created

November 17, 2008

The version 10 updates of both the SWF and FLV specs are available for your inspection:

Here are some of the things added, changed, or corrected:

  • new DefineBitsJPEG4 tag (90), with deblocking filter
  • new DefineFont4 tag (91)
  • described how to embed Speex into SWF and FLV
  • described how to embed XMP metadata in FLV
  • new flags in the FileAttributes tag describe whether a SWF requires the new ‘gpu’ or ‘direct’ WMODEs (only useful when running a SWF in a standalone player where there is no encompassing HTML to specify WMODE)
  • new flag in DefineShape4 describes whether the shape uses fill winding rule
  • rearranged some chapters to (hopefully) make the SWF spec flow better
  • revised DefineBitsJPEG2 and DefineBitsJPEG3 to mention how they can be used to store GIF and PNG data as well as JPEG (as can the new DefineBitsJPEG4 tag; yes, the tag names are a bit misleading, but they’re a bit too entrenched to be changed now)
  • revised description of the Flash Screen Video v2 codec format
  • in F4V, several signed values were incorrectly marked as unsigned
  • fixed description of Flash ADPCM (initial predictors are signed, not unsigned; block size was off by 1)
  • both documents now thoroughly describe which parameters (channels, bit resolution, sample rate) are fixed or flexible depending on the audio codec
  • the FileAttributes tag came about in SWF 8 rather than SWF 1
  • fixed the FileAttributes tag, which specifies a Metadata data structure — not a SymbolClass — with the hasMetadata flag
  • in ButtonRecord and PlaceObject3, list the correct codes for the difference, add, and subtract blend modes
  • PlaceObject3 tag description was missing a bitmap caching byte (should have been there since SWF 8 spec)
  • in FillStyle, a GradientMatrix is also present for fill style 0×13
  • SWF spec now uses “opacity” instead of “transparency” in many places in order to more accurately describe blending behavior
  • clarified the maximum length of a SWF file
  • fixed several examples
  • fixed numerous inconsistencies in the Actions chapter

Thanks to Michael, Baptiste, both Benjamins, Bobby, Amol, Cody, Matthew, Romi, and anyone else I might have missed who also offered corrections and suggestions for improvements.

COMMENTS

  • By Mikael Gueck - 11:01 PM on November 16, 2008  

    How about some RTMP protocol specifications, please?

  • By Amir - 7:12 AM on November 20, 2008  

    thank you for this, works great on my centos64 box! :-)

  • By Ralph Hyre - 4:19 PM on December 29, 2008  

    Cool! Does that free up resources to get the 32-bit Linux platforms (Ubuntu for PPC, Yellow Dog Linux for PPC) going again?

  • By twojeanonse - 12:16 PM on January 20, 2009  

    Nice to see so good informations. Very good blog.

  • By Rene - 11:44 PM on February 23, 2009  

    Thank you. Great work.