FFmpeg Release Plan: Difference between revisions

From MultimediaWiki
Jump to navigation Jump to search
(start thinking about the mechanics of a release process)
(0.6 changelog/press release, starting draft)
 
(27 intermediate revisions by 11 users not shown)
Line 2: Line 2:


==Things that need doing==
==Things that need doing==
* Fix DV regression tests on PPC
* Fix SVQ3 regression test?
* Approximately 95% test coverage in FATE.
* Approximately 95% test coverage in FATE.
* Add an API/ABI changelog
* AAC Conformance sweep
* Make sure API/ABI changelog is up-to-date
 
=== Release 0.6 "Works with HTML5" ===
 
Pending features that would be nice to have in 0.6
 
* LATM demuxing support
* Theora speedup work


==Release Criteria==
==Release Criteria==
Line 10: Line 18:
* FATE test coverage passes for all platforms of interest.
* FATE test coverage passes for all platforms of interest.
* All 'important' bugs reported in roundup fixed/closed.
* All 'important' bugs reported in roundup fixed/closed.
:Except 46, 127 and possibly 192 and 452 --[[User:Ce|Ce]] 05:36, 3 February 2010 (EST)
* No half-implemented functionality that may break existing user apps.
* No half-implemented functionality that may break existing user apps.
* Endurance/memleak testing on film-length files.
* Endurance/memleak testing on film-length files.
Line 15: Line 24:
==Rationale for releases==
==Rationale for releases==
* Provide endorsed snapshots for external software developers to develop against
* Provide endorsed snapshots for external software developers to develop against
* Avoid sitation where external software developers using SVN head when head has transient limitations.
* Avoid situation where external software developers using SVN head when head has transient limitations.
* Discourage external software developers using ancient snapshots that we don't support.
* Discourage external software developers using ancient snapshots that we don't support.


== Release Process==
==Release Process==
* Create a tag/branch in SVN
* Create a branch in Subversion.
* Get source code
* Add VERSION file that hardcodes 0.6.
* Create tarball
* Create release tarballs (repeat the process for gzip compression)
* Checksums?
** svn export svn://svn.ffmpeg.org/ffmpeg/tags/0.6/ ffmpeg-0.6
** tar -cjf ffmpeg-0.6.tar.bz2 ffmpeg-0.6
** md5sum ffmpeg-0.6.tar.bz2 > ffmpeg-0.6.tar.bz2.md5
** sha1sum ffmpeg-0.6.tar.bz2 > ffmpeg-0.6.tar.bz2.sha
** signatures from the release managers (concatenate all signatures into one file)
*** gpg --armor --detach-sign ffmpeg-0.6.tar.bz2
* Upload to ffmpeg.org
* Upload to ffmpeg.org
* Update website
* Update website
* Who needs to be notified?
* Who needs to be notified?
** Major dependent projects, major distribution package maintainers --[[User:Rathann|Rathann]] 09:43, 29 January 2009 (EST)
==Release Notes/Press release English version==
* To start with just the changelog. To be transformed into something nice.
* Group things in old and new technology and related areas.
* Remove uninteresting changelog items, ie deprecation stuff.
* Amount of added/changed/removed code lines since last release.
* Amount of people involved
* Time since last release
* Arm optimizations
  7 - PB-frame decoding for H.263
  8 - deprecated vhook subsystem removed
  9 - deprecated old scaler removed
  10 - VQF demuxer
  11 - Alpha channel scaler
  12 - PCX encoder
  13 - RTP packetization of H.263
  14 - RTP packetization of AMR
  15 - RTP depacketization of Vorbis
  16 - CorePNG decoding support
  17 - Cook multichannel decoding support
  18 - introduced avlanguage helpers in libavformat
  19 - 8088flex TMV demuxer and decoder
  20 - per-stream language-tags extraction in asfdec
  21 - V210 decoder and encoder
  22 - remaining GPL parts in AC-3 decoder converted to LGPL
  23 - QCP demuxer
  24 - SoX native format muxer and demuxer
  25 - AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
  26 - DPX image decoder
  27 - Electronic Arts Madcow decoder
  28 - DivX (XSUB) subtitle encoder
  29 - nonfree libamr support for AMR-NB/WB decoding/encoding removed
  30 - experimental AAC encoder
  31 - RTP depacketization of ASF and RTSP from WMS servers
  32 - RTMP support in libavformat
  33 - noX handling for OPT_BOOL X options
  34 - Wave64 demuxer
  35 - IEC-61937 compatible Muxer
  36 - TwinVQ decoder
  37 - Bluray (PGS) subtitle decoder
  38 - LPCM support in MPEG-TS (HDMV RID as found on Blu-ray disks)
  39 - WMA Pro decoder
  40 - Core Audio Format demuxer
  41 - Atrac1 decoder
  42 - MD STUDIO audio demuxer
  43 - RF64 support in WAV demuxer
  44 - MPEG-4 Audio Lossless Coding (ALS) decoder
  45 - -formats option split into -formats, -codecs, -bsfs, and -protocols
  46 - IV8 demuxer
  47 - CDG demuxer and decoder
  48 - R210 decoder
  49 - Auravision Aura 1 and 2 decoders
  50 - Deluxe Paint Animation playback system
  51 - SIPR decoder
  52 - Adobe Filmstrip muxer and demuxer
  53 - RTP depacketization of H.263
  54 - Bink demuxer and audio/video decoders
  55 - enable symbol versioning by default for linkers that support it
  56 - IFF PBM/ILBM bitmap decoder
  57 - concat protocol
  58 - Indeo 5 decoder
  59 - RTP depacketization of AMR
  60 - WMA Voice decoder
  61 - ffprobe tool
  62 - AMR-NB decoder
  63 - RTSP muxer
  64 - HE-AAC v1 decoder
  65 - Kega Game Video (KGV1) decoder
  66 - VorbisComment writing for FLAC, Ogg FLAC and Ogg Speex files
  67 - RTP depacketization of Theora
  68 - HTTP Digest authentication
  69 - RTMP/RTMPT/RTMPS/RTMPE/RTMPTE protocol support via librtmp
  70 - Psygnosis YOP demuxer and video decoder
  71 - spectral extension support in the E-AC-3 decoder
  72 - unsharp video filter


[[Category:FFmpeg]]
[[Category:FFmpeg]]

Latest revision as of 04:33, 12 May 2010

Ideas and suggestions concerning FFmpeg software releases.

Things that need doing

  • Fix SVQ3 regression test?
  • Approximately 95% test coverage in FATE.
  • AAC Conformance sweep
  • Make sure API/ABI changelog is up-to-date

Release 0.6 "Works with HTML5"

Pending features that would be nice to have in 0.6

  • LATM demuxing support
  • Theora speedup work

Release Criteria

  • make test passes.
  • FATE test coverage passes for all platforms of interest.
  • All 'important' bugs reported in roundup fixed/closed.
Except 46, 127 and possibly 192 and 452 --Ce 05:36, 3 February 2010 (EST)
  • No half-implemented functionality that may break existing user apps.
  • Endurance/memleak testing on film-length files.

Rationale for releases

  • Provide endorsed snapshots for external software developers to develop against
  • Avoid situation where external software developers using SVN head when head has transient limitations.
  • Discourage external software developers using ancient snapshots that we don't support.

Release Process

  • Create a branch in Subversion.
  • Add VERSION file that hardcodes 0.6.
  • Create release tarballs (repeat the process for gzip compression)
    • svn export svn://svn.ffmpeg.org/ffmpeg/tags/0.6/ ffmpeg-0.6
    • tar -cjf ffmpeg-0.6.tar.bz2 ffmpeg-0.6
    • md5sum ffmpeg-0.6.tar.bz2 > ffmpeg-0.6.tar.bz2.md5
    • sha1sum ffmpeg-0.6.tar.bz2 > ffmpeg-0.6.tar.bz2.sha
    • signatures from the release managers (concatenate all signatures into one file)
      • gpg --armor --detach-sign ffmpeg-0.6.tar.bz2
  • Upload to ffmpeg.org
  • Update website
  • Who needs to be notified?
    • Major dependent projects, major distribution package maintainers --Rathann 09:43, 29 January 2009 (EST)


Release Notes/Press release English version

  • To start with just the changelog. To be transformed into something nice.
  • Group things in old and new technology and related areas.
  • Remove uninteresting changelog items, ie deprecation stuff.
  • Amount of added/changed/removed code lines since last release.
  • Amount of people involved
  • Time since last release
  • Arm optimizations
  7 - PB-frame decoding for H.263
  8 - deprecated vhook subsystem removed
  9 - deprecated old scaler removed
 10 - VQF demuxer
 11 - Alpha channel scaler
 12 - PCX encoder
 13 - RTP packetization of H.263
 14 - RTP packetization of AMR
 15 - RTP depacketization of Vorbis
 16 - CorePNG decoding support
 17 - Cook multichannel decoding support
 18 - introduced avlanguage helpers in libavformat
 19 - 8088flex TMV demuxer and decoder
 20 - per-stream language-tags extraction in asfdec
 21 - V210 decoder and encoder
 22 - remaining GPL parts in AC-3 decoder converted to LGPL
 23 - QCP demuxer
 24 - SoX native format muxer and demuxer
 25 - AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
 26 - DPX image decoder
 27 - Electronic Arts Madcow decoder
 28 - DivX (XSUB) subtitle encoder
 29 - nonfree libamr support for AMR-NB/WB decoding/encoding removed
 30 - experimental AAC encoder
 31 - RTP depacketization of ASF and RTSP from WMS servers
 32 - RTMP support in libavformat
 33 - noX handling for OPT_BOOL X options
 34 - Wave64 demuxer
 35 - IEC-61937 compatible Muxer
 36 - TwinVQ decoder
 37 - Bluray (PGS) subtitle decoder
 38 - LPCM support in MPEG-TS (HDMV RID as found on Blu-ray disks)
 39 - WMA Pro decoder
 40 - Core Audio Format demuxer
 41 - Atrac1 decoder
 42 - MD STUDIO audio demuxer
 43 - RF64 support in WAV demuxer
 44 - MPEG-4 Audio Lossless Coding (ALS) decoder
 45 - -formats option split into -formats, -codecs, -bsfs, and -protocols
 46 - IV8 demuxer
 47 - CDG demuxer and decoder
 48 - R210 decoder
 49 - Auravision Aura 1 and 2 decoders
 50 - Deluxe Paint Animation playback system
 51 - SIPR decoder
 52 - Adobe Filmstrip muxer and demuxer
 53 - RTP depacketization of H.263
 54 - Bink demuxer and audio/video decoders
 55 - enable symbol versioning by default for linkers that support it
 56 - IFF PBM/ILBM bitmap decoder
 57 - concat protocol
 58 - Indeo 5 decoder
 59 - RTP depacketization of AMR
 60 - WMA Voice decoder
 61 - ffprobe tool
 62 - AMR-NB decoder
 63 - RTSP muxer
 64 - HE-AAC v1 decoder
 65 - Kega Game Video (KGV1) decoder
 66 - VorbisComment writing for FLAC, Ogg FLAC and Ogg Speex files
 67 - RTP depacketization of Theora
 68 - HTTP Digest authentication
 69 - RTMP/RTMPT/RTMPS/RTMPE/RTMPTE protocol support via librtmp
 70 - Psygnosis YOP demuxer and video decoder
 71 - spectral extension support in the E-AC-3 decoder
 72 - unsharp video filter