/*!\mainpage WebM VP8 Codec SDK

  \section main_contents Page Contents
  - \ref main_intro
  - \ref main_startpoints
  - \ref main_support

  \section main_intro Introduction
  Welcome to the WebM VP8 Codec SDK. This SDK allows you to integrate your
  applications with the VP8 video codec, a high quality, royalty free, open
  source codec deployed on millions of computers and devices worldwide.

  This distribution of the WebM VP8 Codec SDK includes the following support:
  
  \if vp8_encoder    - \ref vp8_encoder   \endif
  \if vp8_decoder    - \ref vp8_decoder   \endif


  \section main_startpoints Starting Points
  - Consult the \ref changelog for a complete list of improvements in this
    release.
  - The \ref readme contains instructions on recompiling the sample applications.
  - Read the \ref usage "usage" for a narrative on codec usage.
  - Read the \ref samples "sample code" for examples of how to interact with the
    codec.
  - \ref codec reference
    \if encoder - \ref encoder reference \endif
    \if decoder - \ref decoder reference \endif

  \section main_support Support Options & FAQ
  The WebM project is an open source project supported by its community. For
  questions about this SDK, please mail the apps-devel@webmproject.org list.
  To contribute, see http://www.webmproject.org/code/contribute and mail
  vpx-devel@webmproject.org.
*/

/*!\page changelog CHANGELOG
   \verbinclude CHANGELOG
*/

/*!\page readme README
   \verbinclude README
*/

/*!\defgroup codecs Supported Codecs */
