diff --git a/aom/aomcx.h b/aom/aomcx.h
index a7b8f1e..c4480d0 100644
--- a/aom/aomcx.h
+++ b/aom/aomcx.h
@@ -11,7 +11,7 @@
 #ifndef AOM_AOMCX_H_
 #define AOM_AOMCX_H_
 
-/*!\defgroup aom_encoder WebM AOM/AV1 Encoder
+/*!\defgroup aom_encoder AOMedia AOM/AV1 Encoder
  * \ingroup aom
  *
  * @{
diff --git a/aom/aomdx.h b/aom/aomdx.h
index 366e178..c1b71c7 100644
--- a/aom/aomdx.h
+++ b/aom/aomdx.h
@@ -9,7 +9,7 @@
  * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
  */
 
-/*!\defgroup aom_decoder WebM AOM/AV1 Decoder
+/*!\defgroup aom_decoder AOMedia AOM/AV1 Decoder
  * \ingroup aom
  *
  * @{
diff --git a/av1/av1_dx_iface.c b/av1/av1_dx_iface.c
index 1116d2b..a10288f 100644
--- a/av1/av1_dx_iface.c
+++ b/av1/av1_dx_iface.c
@@ -1046,7 +1046,7 @@
 #define VERSION_STRING
 #endif
 CODEC_INTERFACE(aom_codec_av1_dx) = {
-  "WebM Project AV1 Decoder" VERSION_STRING,
+  "AOMedia Project AV1 Decoder" VERSION_STRING,
   AOM_CODEC_INTERNAL_ABI_VERSION,
   AOM_CODEC_CAP_DECODER |
       AOM_CODEC_CAP_EXTERNAL_FRAME_BUFFER,  // aom_codec_caps_t
diff --git a/build/make/configure.sh b/build/make/configure.sh
index 48fb69b5..cc3dcfa 100644
--- a/build/make/configure.sh
+++ b/build/make/configure.sh
@@ -389,7 +389,7 @@
 }
 
 write_common_config_banner() {
-  print_webm_license config.mk "##" ""
+  print_aomedia_license config.mk "##" ""
   echo '# This file automatically generated by configure. Do not edit!' >> config.mk
   echo "TOOLCHAIN := ${toolchain}" >> config.mk
 
@@ -419,7 +419,7 @@
   saved_CXX="${CXX}"
   enabled ccache && CC="ccache ${CC}"
   enabled ccache && CXX="ccache ${CXX}"
-  print_webm_license $1 "##" ""
+  print_aomedia_license $1 "##" ""
 
   cat >> $1 << EOF
 # This file automatically generated by configure. Do not edit!
@@ -471,7 +471,7 @@
 }
 
 write_common_target_config_h() {
-  print_webm_license ${TMP_H} "/*" " */"
+  print_aomedia_license ${TMP_H} "/*" " */"
   cat >> ${TMP_H} << EOF
 /* This file automatically generated by configure. Do not edit! */
 #ifndef AOM_CONFIG_H
@@ -1446,7 +1446,7 @@
   done
 }
 
-print_webm_license() {
+print_aomedia_license() {
   saved_prefix="${prefix}"
   destination=$1
   prefix="$2"
diff --git a/configure b/configure
index 34b2326..198a063 100755
--- a/configure
+++ b/configure
@@ -699,7 +699,7 @@
 ##
 CONFIGURE_ARGS="$@"
 process "$@"
-print_webm_license ${BUILD_PFX}aom_config.c "/*" " */"
+print_aomedia_license ${BUILD_PFX}aom_config.c "/*" " */"
 cat <<EOF >> ${BUILD_PFX}aom_config.c
 #include "aom/aom_codec.h"
 static const char* const cfg = "$CONFIGURE_ARGS";
diff --git a/libs.doxy_template b/libs.doxy_template
index 047cada..23400b4 100644
--- a/libs.doxy_template
+++ b/libs.doxy_template
@@ -35,7 +35,7 @@
 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded
 # by quotes) that should identify the project.
 
-PROJECT_NAME           = "WebM Codec SDK"
+PROJECT_NAME           = "AOMedia Codec SDK"
 
 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
 # base path where the generated documentation will be put.
diff --git a/libs.mk b/libs.mk
index 79b1bbc..e61687e 100644
--- a/libs.mk
+++ b/libs.mk
@@ -295,7 +295,7 @@
 	$(qexec)echo 'includedir=$${prefix}/include' >> $@
 	$(qexec)echo '' >> $@
 	$(qexec)echo 'Name: aom' >> $@
-	$(qexec)echo 'Description: WebM Project AVx codec implementation' >> $@
+	$(qexec)echo 'Description: AOMedia Project AVx codec implementation' >> $@
 	$(qexec)echo 'Version: $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH)' >> $@
 	$(qexec)echo 'Requires:' >> $@
 	$(qexec)echo 'Conflicts:' >> $@
diff --git a/mainpage.dox b/mainpage.dox
index 1d24d7c..9a82f43 100644
--- a/mainpage.dox
+++ b/mainpage.dox
@@ -1,4 +1,4 @@
-/*!\mainpage WebM Codec SDK
+/*!\mainpage AMedia Codec SDK
 
   \section main_contents Page Contents
   - \ref main_intro
@@ -6,11 +6,10 @@
   - \ref main_support
 
   \section main_intro Introduction
-  Welcome to the WebM Codec SDK. This SDK allows you to integrate your
-  applications with the AOM and AV1 video codecs, high quality, royalty free,
-  open source codecs deployed on billions of computers and devices worldwide.
+  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 WebM Codec SDK includes the following support:
+  This distribution of the AOMedia Codec SDK includes the following support:
 
   \if aom_encoder
   - \ref aom_encoder
@@ -36,7 +35,7 @@
   \endif
 
   \section main_support Support Options & FAQ
-  The WebM project is an open source project supported by its community. For
+  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.
diff --git a/test/decode_test_driver.cc b/test/decode_test_driver.cc
index 43de363..59fabb9 100644
--- a/test/decode_test_driver.cc
+++ b/test/decode_test_driver.cc
@@ -19,7 +19,7 @@
 
 namespace libaom_test {
 
-const char kAOMName[] = "WebM Project AOM";
+const char kAOMName[] = "AOMedia Project AOM";
 
 aom_codec_err_t Decoder::PeekStream(const uint8_t *cxdata, size_t size,
                                     aom_codec_stream_info_t *stream_info) {
