/*!\mainpage AMedia Codec SDK

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

  \section main_intro Introduction
  Welcome to the AMedia Codec SDK. This SDK allows you to integrate your
  applications with the AOM and AV1 video codecs.

  This distribution of the AOMedia Codec SDK includes the following support:

  \if aom_encoder
  - \ref aom_encoder
  \endif
  \if aom_decoder
  - \ref aom_decoder
  \endif


  \section main_startpoints Starting Points
  - Consult the \ref changelog for a complete list of improvements in this
    release.
  - \ref readme contains instructions on compiling 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 AOMedia 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
  codec-devel@webmproject.org.
*/

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

/*!\page readme README.md
   \include README.md
*/

/*!\defgroup codecs Supported Codecs */
