SWF And FLV 10 Specs

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.