diff --git a/test/accounting_test.cc b/test/accounting_test.cc
index c45a0d7..8d8d964 100644
--- a/test/accounting_test.cc
+++ b/test/accounting_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <math.h>
diff --git a/test/acm_random.h b/test/acm_random.h
index 6a1a104..e92daef 100644
--- a/test/acm_random.h
+++ b/test/acm_random.h
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #ifndef AOM_TEST_ACM_RANDOM_H_
diff --git a/test/altref_test.cc b/test/altref_test.cc
index 188288d..95f5b7a 100644
--- a/test/altref_test.cc
+++ b/test/altref_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include "third_party/googletest/src/googletest/include/gtest/gtest.h"
diff --git a/test/aom_integer_test.cc b/test/aom_integer_test.cc
index 6032cd4..7fed683 100644
--- a/test/aom_integer_test.cc
+++ b/test/aom_integer_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include "aom/aom_integer.h"
diff --git a/test/aq_segment_test.cc b/test/aq_segment_test.cc
index a560409..cff44f4 100644
--- a/test/aq_segment_test.cc
+++ b/test/aq_segment_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include "config/aom_config.h"
diff --git a/test/arf_freq_test.cc b/test/arf_freq_test.cc
index d7e52af..8a1c5d4 100644
--- a/test/arf_freq_test.cc
+++ b/test/arf_freq_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <memory>
diff --git a/test/av1_common_int_test.cc b/test/av1_common_int_test.cc
index 464be2f..d475242 100644
--- a/test/av1_common_int_test.cc
+++ b/test/av1_common_int_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include "third_party/googletest/src/googletest/include/gtest/gtest.h"
diff --git a/test/av1_config_test.cc b/test/av1_config_test.cc
index eb8f8cd..584df8a 100644
--- a/test/av1_config_test.cc
+++ b/test/av1_config_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 #include <string.h>
 
diff --git a/test/av1_convolve_scale_test.cc b/test/av1_convolve_scale_test.cc
index ff3c9e8..5565ebb 100644
--- a/test/av1_convolve_scale_test.cc
+++ b/test/av1_convolve_scale_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <tuple>
diff --git a/test/av1_convolve_test.cc b/test/av1_convolve_test.cc
index 0b4d264..37c96b1 100644
--- a/test/av1_convolve_test.cc
+++ b/test/av1_convolve_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <ostream>
diff --git a/test/av1_encoder_parms_get_to_decoder.cc b/test/av1_encoder_parms_get_to_decoder.cc
index 06cac89..29043b1 100644
--- a/test/av1_encoder_parms_get_to_decoder.cc
+++ b/test/av1_encoder_parms_get_to_decoder.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <memory>
diff --git a/test/av1_ext_tile_test.cc b/test/av1_ext_tile_test.cc
index afeddd2..7fe3d57 100644
--- a/test/av1_ext_tile_test.cc
+++ b/test/av1_ext_tile_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <assert.h>
diff --git a/test/av1_fwd_txfm1d_test.cc b/test/av1_fwd_txfm1d_test.cc
index 3b26e3d..35bba2a 100644
--- a/test/av1_fwd_txfm1d_test.cc
+++ b/test/av1_fwd_txfm1d_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include "av1/encoder/av1_fwd_txfm1d.h"
diff --git a/test/av1_fwd_txfm2d_test.cc b/test/av1_fwd_txfm2d_test.cc
index 274ad13..63f6c99 100644
--- a/test/av1_fwd_txfm2d_test.cc
+++ b/test/av1_fwd_txfm2d_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <math.h>
diff --git a/test/av1_highbd_iht_test.cc b/test/av1_highbd_iht_test.cc
index c0c6921..815d982 100644
--- a/test/av1_highbd_iht_test.cc
+++ b/test/av1_highbd_iht_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <tuple>
diff --git a/test/av1_horz_only_frame_superres_test.cc b/test/av1_horz_only_frame_superres_test.cc
index 067f809..932e0e5 100644
--- a/test/av1_horz_only_frame_superres_test.cc
+++ b/test/av1_horz_only_frame_superres_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <tuple>
diff --git a/test/av1_inv_txfm1d_test.cc b/test/av1_inv_txfm1d_test.cc
index b28f4d0..13fa73a 100644
--- a/test/av1_inv_txfm1d_test.cc
+++ b/test/av1_inv_txfm1d_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <math.h>
diff --git a/test/av1_inv_txfm2d_test.cc b/test/av1_inv_txfm2d_test.cc
index 305bd6d..9652167 100644
--- a/test/av1_inv_txfm2d_test.cc
+++ b/test/av1_inv_txfm2d_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <math.h>
diff --git a/test/av1_key_value_api_test.cc b/test/av1_key_value_api_test.cc
index bf700eb..88ba6af 100644
--- a/test/av1_key_value_api_test.cc
+++ b/test/av1_key_value_api_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <cstring>
diff --git a/test/av1_nn_predict_test.cc b/test/av1_nn_predict_test.cc
index 5539990..3e3125d 100644
--- a/test/av1_nn_predict_test.cc
+++ b/test/av1_nn_predict_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <tuple>
diff --git a/test/av1_quantize_test.cc b/test/av1_quantize_test.cc
index 5237739..c7b855a 100644
--- a/test/av1_quantize_test.cc
+++ b/test/av1_quantize_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 #include <stdlib.h>
 
diff --git a/test/av1_round_shift_array_test.cc b/test/av1_round_shift_array_test.cc
index d543b6c..7b61adb 100644
--- a/test/av1_round_shift_array_test.cc
+++ b/test/av1_round_shift_array_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <math.h>
diff --git a/test/av1_txfm_test.cc b/test/av1_txfm_test.cc
index f168872..7e8f43b 100644
--- a/test/av1_txfm_test.cc
+++ b/test/av1_txfm_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <stdio.h>
diff --git a/test/av1_txfm_test.h b/test/av1_txfm_test.h
index 463e2ef..c9c6bce 100644
--- a/test/av1_txfm_test.h
+++ b/test/av1_txfm_test.h
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #ifndef AOM_TEST_AV1_TXFM_TEST_H_
diff --git a/test/av1_wedge_utils_test.cc b/test/av1_wedge_utils_test.cc
index 3449b90..d60c30e 100644
--- a/test/av1_wedge_utils_test.cc
+++ b/test/av1_wedge_utils_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include "third_party/googletest/src/googletest/include/gtest/gtest.h"
diff --git a/test/binary_codes_test.cc b/test/binary_codes_test.cc
index 2d4be7d..68cb79c 100644
--- a/test/binary_codes_test.cc
+++ b/test/binary_codes_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <math.h>
diff --git a/test/blend_a64_mask_1d_test.cc b/test/blend_a64_mask_1d_test.cc
index 178dcf7..dd7a1f5 100644
--- a/test/blend_a64_mask_1d_test.cc
+++ b/test/blend_a64_mask_1d_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <math.h>
diff --git a/test/blend_a64_mask_test.cc b/test/blend_a64_mask_test.cc
index 07965ca..04ee527 100644
--- a/test/blend_a64_mask_test.cc
+++ b/test/blend_a64_mask_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <math.h>
diff --git a/test/block_test.cc b/test/block_test.cc
index 0d21e95..8cd4c33 100644
--- a/test/block_test.cc
+++ b/test/block_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include "aom/aom_codec.h"
diff --git a/test/boolcoder_test.cc b/test/boolcoder_test.cc
index cd9c1dc..1809309 100644
--- a/test/boolcoder_test.cc
+++ b/test/boolcoder_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <math.h>
diff --git a/test/borders_test.cc b/test/borders_test.cc
index f71c40f..f985db7 100644
--- a/test/borders_test.cc
+++ b/test/borders_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <climits>
diff --git a/test/cdef_test.cc b/test/cdef_test.cc
index 17cab3c..c101539 100644
--- a/test/cdef_test.cc
+++ b/test/cdef_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <cstdlib>
diff --git a/test/cfl_test.cc b/test/cfl_test.cc
index bacca54..fe8bdb0 100644
--- a/test/cfl_test.cc
+++ b/test/cfl_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <tuple>
diff --git a/test/clear_system_state.h b/test/clear_system_state.h
index b6cc722..513e5b8 100644
--- a/test/clear_system_state.h
+++ b/test/clear_system_state.h
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 #ifndef AOM_TEST_CLEAR_SYSTEM_STATE_H_
 #define AOM_TEST_CLEAR_SYSTEM_STATE_H_
diff --git a/test/cnn_test.cc b/test/cnn_test.cc
index 4de685d..4aea1f3 100644
--- a/test/cnn_test.cc
+++ b/test/cnn_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <assert.h>
diff --git a/test/codec_factory.h b/test/codec_factory.h
index f5c6fa6..90e77ea 100644
--- a/test/codec_factory.h
+++ b/test/codec_factory.h
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 #ifndef AOM_TEST_CODEC_FACTORY_H_
 #define AOM_TEST_CODEC_FACTORY_H_
diff --git a/test/coding_path_sync.cc b/test/coding_path_sync.cc
index 7ff24a7..edbe084 100644
--- a/test/coding_path_sync.cc
+++ b/test/coding_path_sync.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <vector>
diff --git a/test/comp_avg_pred_test.cc b/test/comp_avg_pred_test.cc
index 3c449e0..b53d60d 100644
--- a/test/comp_avg_pred_test.cc
+++ b/test/comp_avg_pred_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include "test/comp_avg_pred_test.h"
diff --git a/test/comp_avg_pred_test.h b/test/comp_avg_pred_test.h
index e60c34b..a879c12 100644
--- a/test/comp_avg_pred_test.h
+++ b/test/comp_avg_pred_test.h
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #ifndef AOM_TEST_COMP_AVG_PRED_TEST_H_
diff --git a/test/comp_mask_variance_test.cc b/test/comp_mask_variance_test.cc
index 2d7d6aa..f8e7f3e 100644
--- a/test/comp_mask_variance_test.cc
+++ b/test/comp_mask_variance_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <cstdlib>
diff --git a/test/convolve_round_test.cc b/test/convolve_round_test.cc
index e23c03e..e6911ca 100644
--- a/test/convolve_round_test.cc
+++ b/test/convolve_round_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <assert.h>
diff --git a/test/convolve_test.cc b/test/convolve_test.cc
index 672d0ef..105f291 100644
--- a/test/convolve_test.cc
+++ b/test/convolve_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <string.h>
diff --git a/test/corner_match_test.cc b/test/corner_match_test.cc
index 7d934a7..39927e6 100644
--- a/test/corner_match_test.cc
+++ b/test/corner_match_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 #include <tuple>
 
diff --git a/test/cpu_speed_test.cc b/test/cpu_speed_test.cc
index c92821a..bddd8ab 100644
--- a/test/cpu_speed_test.cc
+++ b/test/cpu_speed_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include "third_party/googletest/src/googletest/include/gtest/gtest.h"
diff --git a/test/decode_api_test.cc b/test/decode_api_test.cc
index 8344fdc..58b8fb1 100644
--- a/test/decode_api_test.cc
+++ b/test/decode_api_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include "third_party/googletest/src/googletest/include/gtest/gtest.h"
diff --git a/test/decode_multithreaded_test.cc b/test/decode_multithreaded_test.cc
index b83eb17..b196093 100644
--- a/test/decode_multithreaded_test.cc
+++ b/test/decode_multithreaded_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <cstdio>
diff --git a/test/decode_perf_test.cc b/test/decode_perf_test.cc
index 093316f..0bff17b 100644
--- a/test/decode_perf_test.cc
+++ b/test/decode_perf_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <string>
diff --git a/test/decode_test_driver.cc b/test/decode_test_driver.cc
index 2cb34fe..becb639 100644
--- a/test/decode_test_driver.cc
+++ b/test/decode_test_driver.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include "third_party/googletest/src/googletest/include/gtest/gtest.h"
diff --git a/test/decode_test_driver.h b/test/decode_test_driver.h
index 38b121c..d87467b 100644
--- a/test/decode_test_driver.h
+++ b/test/decode_test_driver.h
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #ifndef AOM_TEST_DECODE_TEST_DRIVER_H_
diff --git a/test/divu_small_test.cc b/test/divu_small_test.cc
index 0983c16..d11d1ae 100644
--- a/test/divu_small_test.cc
+++ b/test/divu_small_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <stdlib.h>
diff --git a/test/dr_prediction_test.cc b/test/dr_prediction_test.cc
index 8d2fa4f..e984800 100644
--- a/test/dr_prediction_test.cc
+++ b/test/dr_prediction_test.cc
@@ -1,12 +1,13 @@
 ﻿/*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <tuple>
diff --git a/test/ec_test.cc b/test/ec_test.cc
index e7b8e72..c0bf595 100644
--- a/test/ec_test.cc
+++ b/test/ec_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include "third_party/googletest/src/googletest/include/gtest/gtest.h"
diff --git a/test/edge_detect_test.cc b/test/edge_detect_test.cc
index 3e6204a..f5ffa02 100644
--- a/test/edge_detect_test.cc
+++ b/test/edge_detect_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <stdbool.h>
diff --git a/test/encode_api_test.cc b/test/encode_api_test.cc
index 2c5f4e0..30167aa 100644
--- a/test/encode_api_test.cc
+++ b/test/encode_api_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <cstdlib>
diff --git a/test/encode_small_width_height_test.cc b/test/encode_small_width_height_test.cc
index d2e3d0d..94da7b5 100644
--- a/test/encode_small_width_height_test.cc
+++ b/test/encode_small_width_height_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 // Tests for https://crbug.com/aomedia/2777.
diff --git a/test/encode_test_driver.cc b/test/encode_test_driver.cc
index 00aacdf..55b7ea3 100644
--- a/test/encode_test_driver.cc
+++ b/test/encode_test_driver.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <memory>
diff --git a/test/encode_test_driver.h b/test/encode_test_driver.h
index effa60e..995d3ff 100644
--- a/test/encode_test_driver.h
+++ b/test/encode_test_driver.h
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 #ifndef AOM_TEST_ENCODE_TEST_DRIVER_H_
 #define AOM_TEST_ENCODE_TEST_DRIVER_H_
diff --git a/test/encodetxb_test.cc b/test/encodetxb_test.cc
index 034cfa0..c130bab 100644
--- a/test/encodetxb_test.cc
+++ b/test/encodetxb_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <stdint.h>
diff --git a/test/end_to_end_test.cc b/test/end_to_end_test.cc
index 2763398..768dfcc 100644
--- a/test/end_to_end_test.cc
+++ b/test/end_to_end_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <memory>
diff --git a/test/error_block_test.cc b/test/error_block_test.cc
index caec7c1..03b89a4 100644
--- a/test/error_block_test.cc
+++ b/test/error_block_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <cmath>
diff --git a/test/error_resilience_test.cc b/test/error_resilience_test.cc
index b580125..700734e 100644
--- a/test/error_resilience_test.cc
+++ b/test/error_resilience_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include "third_party/googletest/src/googletest/include/gtest/gtest.h"
diff --git a/test/ethread_test.cc b/test/ethread_test.cc
index ca7367a..4d9edbf 100644
--- a/test/ethread_test.cc
+++ b/test/ethread_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <string>
diff --git a/test/fdct4x4_test.cc b/test/fdct4x4_test.cc
index 43632ea..325f1be 100644
--- a/test/fdct4x4_test.cc
+++ b/test/fdct4x4_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <math.h>
diff --git a/test/fft_test.cc b/test/fft_test.cc
index 13dd0dc..2415344 100644
--- a/test/fft_test.cc
+++ b/test/fft_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <math.h>
diff --git a/test/film_grain_table_test.cc b/test/film_grain_table_test.cc
index 1757a3d..89c538e 100644
--- a/test/film_grain_table_test.cc
+++ b/test/film_grain_table_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <string>
diff --git a/test/filterintra_test.cc b/test/filterintra_test.cc
index c74cc0e..0b75d0d 100644
--- a/test/filterintra_test.cc
+++ b/test/filterintra_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <tuple>
diff --git a/test/frame_error_test.cc b/test/frame_error_test.cc
index 7e437e8..f8e521b 100644
--- a/test/frame_error_test.cc
+++ b/test/frame_error_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <math.h>
diff --git a/test/function_equivalence_test.h b/test/function_equivalence_test.h
index 3639737..b56cea3 100644
--- a/test/function_equivalence_test.h
+++ b/test/function_equivalence_test.h
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #ifndef AOM_TEST_FUNCTION_EQUIVALENCE_TEST_H_
diff --git a/test/fwd_kf_test.cc b/test/fwd_kf_test.cc
index e53664c..e270523 100644
--- a/test/fwd_kf_test.cc
+++ b/test/fwd_kf_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <ostream>
diff --git a/test/fwht4x4_test.cc b/test/fwht4x4_test.cc
index e7517a3..1c77dcb 100644
--- a/test/fwht4x4_test.cc
+++ b/test/fwht4x4_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <math.h>
diff --git a/test/gf_pyr_height_test.cc b/test/gf_pyr_height_test.cc
index f3fc4b4..60924f0 100644
--- a/test/gf_pyr_height_test.cc
+++ b/test/gf_pyr_height_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <ostream>
diff --git a/test/hash_test.cc b/test/hash_test.cc
index 17e1d5f..6c921ac 100644
--- a/test/hash_test.cc
+++ b/test/hash_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <cstdlib>
diff --git a/test/hbd_metrics_test.cc b/test/hbd_metrics_test.cc
index 33ed87a..fa45654 100644
--- a/test/hbd_metrics_test.cc
+++ b/test/hbd_metrics_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <math.h>
diff --git a/test/hiprec_convolve_test.cc b/test/hiprec_convolve_test.cc
index bd635eb..267d315 100644
--- a/test/hiprec_convolve_test.cc
+++ b/test/hiprec_convolve_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <tuple>
diff --git a/test/hiprec_convolve_test_util.cc b/test/hiprec_convolve_test_util.cc
index f4cb39e..f25bdf0 100644
--- a/test/hiprec_convolve_test_util.cc
+++ b/test/hiprec_convolve_test_util.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include "test/hiprec_convolve_test_util.h"
diff --git a/test/hiprec_convolve_test_util.h b/test/hiprec_convolve_test_util.h
index e1fe3f0..084c562 100644
--- a/test/hiprec_convolve_test_util.h
+++ b/test/hiprec_convolve_test_util.h
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #ifndef AOM_TEST_HIPREC_CONVOLVE_TEST_UTIL_H_
diff --git a/test/horver_correlation_test.cc b/test/horver_correlation_test.cc
index 6075536..a98533d 100644
--- a/test/horver_correlation_test.cc
+++ b/test/horver_correlation_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <tuple>
diff --git a/test/horz_superres_test.cc b/test/horz_superres_test.cc
index 5779a23..a679db0 100644
--- a/test/horz_superres_test.cc
+++ b/test/horz_superres_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <memory>
diff --git a/test/i420_video_source.h b/test/i420_video_source.h
index 3f82ea0..e7e4faf 100644
--- a/test/i420_video_source.h
+++ b/test/i420_video_source.h
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 #ifndef AOM_TEST_I420_VIDEO_SOURCE_H_
 #define AOM_TEST_I420_VIDEO_SOURCE_H_
diff --git a/test/intra_edge_test.cc b/test/intra_edge_test.cc
index 10ffb89..6720db3 100644
--- a/test/intra_edge_test.cc
+++ b/test/intra_edge_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <math.h>
diff --git a/test/intrabc_test.cc b/test/intrabc_test.cc
index 57d8edd..25f8057 100644
--- a/test/intrabc_test.cc
+++ b/test/intrabc_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include "third_party/googletest/src/googletest/include/gtest/gtest.h"
diff --git a/test/intrapred_test.cc b/test/intrapred_test.cc
index e4bef90..137a4a7 100644
--- a/test/intrapred_test.cc
+++ b/test/intrapred_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <string>
diff --git a/test/invalid_file_test.cc b/test/invalid_file_test.cc
index 8910ae6..646ad54 100644
--- a/test/invalid_file_test.cc
+++ b/test/invalid_file_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <cstdio>
diff --git a/test/ivf_video_source.h b/test/ivf_video_source.h
index c65bc4c..e978800 100644
--- a/test/ivf_video_source.h
+++ b/test/ivf_video_source.h
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 #ifndef AOM_TEST_IVF_VIDEO_SOURCE_H_
 #define AOM_TEST_IVF_VIDEO_SOURCE_H_
diff --git a/test/kf_test.cc b/test/kf_test.cc
index 0d16184..62ebf7e 100644
--- a/test/kf_test.cc
+++ b/test/kf_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <ostream>
diff --git a/test/level_test.cc b/test/level_test.cc
index 60b9b53..7c053d1 100644
--- a/test/level_test.cc
+++ b/test/level_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 #include <memory>
 
diff --git a/test/log2_test.cc b/test/log2_test.cc
index ac232a0..3220948 100644
--- a/test/log2_test.cc
+++ b/test/log2_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <math.h>
diff --git a/test/lossless_test.cc b/test/lossless_test.cc
index bd09b55..a5cf3d7 100644
--- a/test/lossless_test.cc
+++ b/test/lossless_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include "third_party/googletest/src/googletest/include/gtest/gtest.h"
diff --git a/test/lpf_test.cc b/test/lpf_test.cc
index 1261717..0aadb6f 100644
--- a/test/lpf_test.cc
+++ b/test/lpf_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <cmath>
diff --git a/test/masked_sad_test.cc b/test/masked_sad_test.cc
index 13cbe31..55953a7 100644
--- a/test/masked_sad_test.cc
+++ b/test/masked_sad_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 #include <math.h>
 #include <stdlib.h>
diff --git a/test/masked_variance_test.cc b/test/masked_variance_test.cc
index 118e6c2..0763c83 100644
--- a/test/masked_variance_test.cc
+++ b/test/masked_variance_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <math.h>
diff --git a/test/md5_helper.h b/test/md5_helper.h
index 17d7fda..641767a 100644
--- a/test/md5_helper.h
+++ b/test/md5_helper.h
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #ifndef AOM_TEST_MD5_HELPER_H_
diff --git a/test/metadata_test.cc b/test/metadata_test.cc
index b6ffac2..26f5e47 100644
--- a/test/metadata_test.cc
+++ b/test/metadata_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include "third_party/googletest/src/googletest/include/gtest/gtest.h"
diff --git a/test/monochrome_test.cc b/test/monochrome_test.cc
index bf2c262..8e79b12 100644
--- a/test/monochrome_test.cc
+++ b/test/monochrome_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <climits>
diff --git a/test/motion_vector_test.cc b/test/motion_vector_test.cc
index 1ba80a5..1055513 100644
--- a/test/motion_vector_test.cc
+++ b/test/motion_vector_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <memory>
diff --git a/test/noise_model_test.cc b/test/noise_model_test.cc
index d4ef5d0..41548d7 100644
--- a/test/noise_model_test.cc
+++ b/test/noise_model_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <math.h>
diff --git a/test/obmc_sad_test.cc b/test/obmc_sad_test.cc
index 27e2009..dfc98f1 100644
--- a/test/obmc_sad_test.cc
+++ b/test/obmc_sad_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include "third_party/googletest/src/googletest/include/gtest/gtest.h"
diff --git a/test/obmc_variance_test.cc b/test/obmc_variance_test.cc
index bc7cf2e..b3a2da3 100644
--- a/test/obmc_variance_test.cc
+++ b/test/obmc_variance_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include "third_party/googletest/src/googletest/include/gtest/gtest.h"
diff --git a/test/opt_flow_test.cc b/test/opt_flow_test.cc
index 8417852..d48ce90 100644
--- a/test/opt_flow_test.cc
+++ b/test/opt_flow_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <set>
diff --git a/test/pickrst_test.cc b/test/pickrst_test.cc
index ecd316c..ce50e89 100644
--- a/test/pickrst_test.cc
+++ b/test/pickrst_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <tuple>
diff --git a/test/quant_test.cc b/test/quant_test.cc
index be9d397..9eeb257 100644
--- a/test/quant_test.cc
+++ b/test/quant_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 #include "config/aom_config.h"
 
diff --git a/test/quantize_func_test.cc b/test/quantize_func_test.cc
index ccc1c97..585fd61 100644
--- a/test/quantize_func_test.cc
+++ b/test/quantize_func_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <tuple>
diff --git a/test/reconinter_test.cc b/test/reconinter_test.cc
index b696cdd..59c0a9c 100644
--- a/test/reconinter_test.cc
+++ b/test/reconinter_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <stdint.h>
diff --git a/test/register_state_check.h b/test/register_state_check.h
index d535cd8..98fbb06 100644
--- a/test/register_state_check.h
+++ b/test/register_state_check.h
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #ifndef AOM_TEST_REGISTER_STATE_CHECK_H_
diff --git a/test/resize_test.cc b/test/resize_test.cc
index b7b924c..f4fc0ee 100644
--- a/test/resize_test.cc
+++ b/test/resize_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <climits>
diff --git a/test/sad_test.cc b/test/sad_test.cc
index ec2f9e5..627b7ad 100644
--- a/test/sad_test.cc
+++ b/test/sad_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <string.h>
diff --git a/test/sb_multipass_test.cc b/test/sb_multipass_test.cc
index a979f18..5c6d807 100644
--- a/test/sb_multipass_test.cc
+++ b/test/sb_multipass_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <initializer_list>
diff --git a/test/scan_test.cc b/test/scan_test.cc
index dbfeba9..558a47b 100644
--- a/test/scan_test.cc
+++ b/test/scan_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include "third_party/googletest/src/googletest/include/gtest/gtest.h"
diff --git a/test/screen_content_test.cc b/test/screen_content_test.cc
index e8bf043..a6199df 100644
--- a/test/screen_content_test.cc
+++ b/test/screen_content_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 #include "aom/aom_codec.h"
 #include "third_party/googletest/src/googletest/include/gtest/gtest.h"
diff --git a/test/segment_binarization_sync.cc b/test/segment_binarization_sync.cc
index ececa58..c00b754 100644
--- a/test/segment_binarization_sync.cc
+++ b/test/segment_binarization_sync.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include "third_party/googletest/src/googletest/include/gtest/gtest.h"
diff --git a/test/selfguided_filter_test.cc b/test/selfguided_filter_test.cc
index a65c6d3..af47dab 100644
--- a/test/selfguided_filter_test.cc
+++ b/test/selfguided_filter_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <ctime>
diff --git a/test/simd_avx2_test.cc b/test/simd_avx2_test.cc
index 10a34ca..bcd0c5e 100644
--- a/test/simd_avx2_test.cc
+++ b/test/simd_avx2_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #define ARCH AVX2
diff --git a/test/simd_cmp_avx2.cc b/test/simd_cmp_avx2.cc
index 8e3105c..45afdd0 100644
--- a/test/simd_cmp_avx2.cc
+++ b/test/simd_cmp_avx2.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #define ARCH AVX2
diff --git a/test/simd_cmp_impl.h b/test/simd_cmp_impl.h
index f268352..1640336 100644
--- a/test/simd_cmp_impl.h
+++ b/test/simd_cmp_impl.h
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <assert.h>
diff --git a/test/simd_cmp_neon.cc b/test/simd_cmp_neon.cc
index 26febd4..52b809e 100644
--- a/test/simd_cmp_neon.cc
+++ b/test/simd_cmp_neon.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #if defined(__OPTIMIZE__) && __OPTIMIZE__
diff --git a/test/simd_cmp_sse2.cc b/test/simd_cmp_sse2.cc
index b989bf3..23c47e0 100644
--- a/test/simd_cmp_sse2.cc
+++ b/test/simd_cmp_sse2.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #if (defined(__OPTIMIZE__) && __OPTIMIZE__) || \
diff --git a/test/simd_cmp_sse4.cc b/test/simd_cmp_sse4.cc
index f44ed58..6beab25 100644
--- a/test/simd_cmp_sse4.cc
+++ b/test/simd_cmp_sse4.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #if (defined(__OPTIMIZE__) && __OPTIMIZE__) || \
diff --git a/test/simd_cmp_ssse3.cc b/test/simd_cmp_ssse3.cc
index 7cffebf..e0b8f40 100644
--- a/test/simd_cmp_ssse3.cc
+++ b/test/simd_cmp_ssse3.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #if (defined(__OPTIMIZE__) && __OPTIMIZE__) || \
diff --git a/test/simd_impl.h b/test/simd_impl.h
index afe993d..82f6070 100644
--- a/test/simd_impl.h
+++ b/test/simd_impl.h
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <tuple>
diff --git a/test/simd_neon_test.cc b/test/simd_neon_test.cc
index 08cbda7..7367cd1 100644
--- a/test/simd_neon_test.cc
+++ b/test/simd_neon_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #if defined(__OPTIMIZE__) && __OPTIMIZE__
diff --git a/test/simd_sse2_test.cc b/test/simd_sse2_test.cc
index e106790..cd69c83 100644
--- a/test/simd_sse2_test.cc
+++ b/test/simd_sse2_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #if (defined(__OPTIMIZE__) && __OPTIMIZE__) || \
diff --git a/test/simd_sse4_test.cc b/test/simd_sse4_test.cc
index 9cae383..bf9f461 100644
--- a/test/simd_sse4_test.cc
+++ b/test/simd_sse4_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #if (defined(__OPTIMIZE__) && __OPTIMIZE__) || \
diff --git a/test/simd_ssse3_test.cc b/test/simd_ssse3_test.cc
index 4e7a41c..d556b98 100644
--- a/test/simd_ssse3_test.cc
+++ b/test/simd_ssse3_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #if (defined(__OPTIMIZE__) && __OPTIMIZE__) || \
diff --git a/test/sse_sum_test.cc b/test/sse_sum_test.cc
index cc8c64e..e070f9a 100644
--- a/test/sse_sum_test.cc
+++ b/test/sse_sum_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <cmath>
diff --git a/test/still_picture_test.cc b/test/still_picture_test.cc
index 8e90344..f78dc86 100644
--- a/test/still_picture_test.cc
+++ b/test/still_picture_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include "third_party/googletest/src/googletest/include/gtest/gtest.h"
diff --git a/test/stream_iter_test.cc b/test/stream_iter_test.cc
index 84d2318..179c4b6 100644
--- a/test/stream_iter_test.cc
+++ b/test/stream_iter_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <stdbool.h>
diff --git a/test/subgop_test.cc b/test/subgop_test.cc
index 2eb26bb..c54caec 100644
--- a/test/subgop_test.cc
+++ b/test/subgop_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include "third_party/googletest/src/googletest/include/gtest/gtest.h"
diff --git a/test/subtract_test.cc b/test/subtract_test.cc
index 5307c8f..be74d30 100644
--- a/test/subtract_test.cc
+++ b/test/subtract_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <tuple>
diff --git a/test/sum_squares_test.cc b/test/sum_squares_test.cc
index 7764b7b..53ba944 100644
--- a/test/sum_squares_test.cc
+++ b/test/sum_squares_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <cmath>
diff --git a/test/superframe_test.cc b/test/superframe_test.cc
index 898c38d..469dcad 100644
--- a/test/superframe_test.cc
+++ b/test/superframe_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <climits>
diff --git a/test/temporal_filter_test.cc b/test/temporal_filter_test.cc
index 263fec9..6ed0e12 100644
--- a/test/temporal_filter_test.cc
+++ b/test/temporal_filter_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <cmath>
diff --git a/test/test.cmake b/test/test.cmake
index 2eadd13..1c7cd8e 100644
--- a/test/test.cmake
+++ b/test/test.cmake
@@ -1,12 +1,12 @@
 #
 # Copyright (c) 2021, Alliance for Open Media. All rights reserved
 #
-# This source code is subject to the terms of the BSD 3-Clause Clear License and the
-# Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
-# not distributed with this source code in the LICENSE file, you can obtain it
-# at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
-# License 1.0 was not distributed with this source code in the PATENTS file, you
-# can obtain it at aomedia.org/license/patent-license/.
+# This source code is subject to the terms of the BSD 3-Clause Clear License and
+# the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+# License was not distributed with this source code in the LICENSE file, you can
+# obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance
+# for Open Media Patent License 1.0 was not distributed with this source code in
+# the PATENTS file, you can obtain it at aomedia.org/license/patent-license/.
 #
 if(AOM_TEST_TEST_CMAKE_)
   return()
@@ -21,225 +21,240 @@
 set(AOM_UNIT_TEST_DATA_LIST_FILE "${AOM_ROOT}/test/test-data.sha1")
 
 list(APPEND AOM_UNIT_TEST_WRAPPER_SOURCES "${AOM_GEN_SRC_DIR}/usage_exit.c"
-            "${AOM_ROOT}/test/test_libaom.cc")
+     "${AOM_ROOT}/test/test_libaom.cc")
 
-list(APPEND AOM_UNIT_TEST_COMMON_SOURCES
-            "${AOM_ROOT}/test/acm_random.h"
-            "${AOM_ROOT}/test/aom_integer_test.cc"
-            "${AOM_ROOT}/test/av1_config_test.cc"
-            "${AOM_ROOT}/test/av1_key_value_api_test.cc"
-            "${AOM_ROOT}/test/block_test.cc"
-            "${AOM_ROOT}/test/clear_system_state.h"
-            "${AOM_ROOT}/test/codec_factory.h"
-            "${AOM_ROOT}/test/decode_test_driver.cc"
-            "${AOM_ROOT}/test/decode_test_driver.h"
-            "${AOM_ROOT}/test/function_equivalence_test.h"
-            "${AOM_ROOT}/test/log2_test.cc"
-            "${AOM_ROOT}/test/md5_helper.h"
-            "${AOM_ROOT}/test/metadata_test.cc"
-            "${AOM_ROOT}/test/register_state_check.h"
-            "${AOM_ROOT}/test/test_vectors.cc"
-            "${AOM_ROOT}/test/test_vectors.h"
-            "${AOM_ROOT}/test/transform_test_base.h"
-            "${AOM_ROOT}/test/util.h"
-            "${AOM_ROOT}/test/video_source.h")
+list(
+  APPEND
+  AOM_UNIT_TEST_COMMON_SOURCES
+  "${AOM_ROOT}/test/acm_random.h"
+  "${AOM_ROOT}/test/aom_integer_test.cc"
+  "${AOM_ROOT}/test/av1_config_test.cc"
+  "${AOM_ROOT}/test/av1_key_value_api_test.cc"
+  "${AOM_ROOT}/test/block_test.cc"
+  "${AOM_ROOT}/test/clear_system_state.h"
+  "${AOM_ROOT}/test/codec_factory.h"
+  "${AOM_ROOT}/test/decode_test_driver.cc"
+  "${AOM_ROOT}/test/decode_test_driver.h"
+  "${AOM_ROOT}/test/function_equivalence_test.h"
+  "${AOM_ROOT}/test/log2_test.cc"
+  "${AOM_ROOT}/test/md5_helper.h"
+  "${AOM_ROOT}/test/metadata_test.cc"
+  "${AOM_ROOT}/test/register_state_check.h"
+  "${AOM_ROOT}/test/test_vectors.cc"
+  "${AOM_ROOT}/test/test_vectors.h"
+  "${AOM_ROOT}/test/transform_test_base.h"
+  "${AOM_ROOT}/test/util.h"
+  "${AOM_ROOT}/test/video_source.h")
 
 if(CONFIG_INTERNAL_STATS)
   list(APPEND AOM_UNIT_TEST_COMMON_SOURCES
-              "${AOM_ROOT}/test/hbd_metrics_test.cc")
+       "${AOM_ROOT}/test/hbd_metrics_test.cc")
 endif()
 
-list(APPEND AOM_UNIT_TEST_DECODER_SOURCES "${AOM_ROOT}/test/decode_api_test.cc"
-            "${AOM_ROOT}/test/external_frame_buffer_test.cc"
-            "${AOM_ROOT}/test/invalid_file_test.cc"
-            "${AOM_ROOT}/test/test_vector_test.cc"
-            "${AOM_ROOT}/test/ivf_video_source.h")
+list(
+  APPEND
+  AOM_UNIT_TEST_DECODER_SOURCES
+  "${AOM_ROOT}/test/decode_api_test.cc"
+  "${AOM_ROOT}/test/external_frame_buffer_test.cc"
+  "${AOM_ROOT}/test/invalid_file_test.cc"
+  "${AOM_ROOT}/test/test_vector_test.cc"
+  "${AOM_ROOT}/test/ivf_video_source.h")
 
-list(APPEND AOM_UNIT_TEST_ENCODER_SOURCES
-            "${AOM_ROOT}/test/aq_segment_test.cc"
-            "${AOM_ROOT}/test/borders_test.cc"
-            "${AOM_ROOT}/test/cpu_speed_test.cc"
-            "${AOM_ROOT}/test/encode_api_test.cc"
-            "${AOM_ROOT}/test/encode_small_width_height_test.cc"
-            "${AOM_ROOT}/test/encode_test_driver.cc"
-            "${AOM_ROOT}/test/encode_test_driver.h"
-            "${AOM_ROOT}/test/end_to_end_test.cc"
-            "${AOM_ROOT}/test/gf_pyr_height_test.cc"
-            "${AOM_ROOT}/test/horz_superres_test.cc"
-            "${AOM_ROOT}/test/i420_video_source.h"
-            "${AOM_ROOT}/test/level_test.cc"
-            "${AOM_ROOT}/test/monochrome_test.cc"
-            "${AOM_ROOT}/test/resize_test.cc"
-            "${AOM_ROOT}/test/y4m_test.cc"
-            "${AOM_ROOT}/test/y4m_video_source.h"
-            "${AOM_ROOT}/test/yuv_video_source.h"
-            "${AOM_ROOT}/test/time_stamp_test.cc")
+list(
+  APPEND
+  AOM_UNIT_TEST_ENCODER_SOURCES
+  "${AOM_ROOT}/test/aq_segment_test.cc"
+  "${AOM_ROOT}/test/borders_test.cc"
+  "${AOM_ROOT}/test/cpu_speed_test.cc"
+  "${AOM_ROOT}/test/encode_api_test.cc"
+  "${AOM_ROOT}/test/encode_small_width_height_test.cc"
+  "${AOM_ROOT}/test/encode_test_driver.cc"
+  "${AOM_ROOT}/test/encode_test_driver.h"
+  "${AOM_ROOT}/test/end_to_end_test.cc"
+  "${AOM_ROOT}/test/gf_pyr_height_test.cc"
+  "${AOM_ROOT}/test/horz_superres_test.cc"
+  "${AOM_ROOT}/test/i420_video_source.h"
+  "${AOM_ROOT}/test/level_test.cc"
+  "${AOM_ROOT}/test/monochrome_test.cc"
+  "${AOM_ROOT}/test/resize_test.cc"
+  "${AOM_ROOT}/test/y4m_test.cc"
+  "${AOM_ROOT}/test/y4m_video_source.h"
+  "${AOM_ROOT}/test/yuv_video_source.h"
+  "${AOM_ROOT}/test/time_stamp_test.cc")
 
 list(APPEND AOM_DECODE_PERF_TEST_SOURCES "${AOM_ROOT}/test/decode_perf_test.cc")
 list(APPEND AOM_UNIT_TEST_WEBM_SOURCES "${AOM_ROOT}/test/webm_video_source.h")
 list(APPEND AOM_TEST_INTRA_PRED_SPEED_SOURCES "${AOM_GEN_SRC_DIR}/usage_exit.c"
-            "${AOM_ROOT}/test/test_intra_pred_speed.cc")
+     "${AOM_ROOT}/test/test_intra_pred_speed.cc")
 
 if(NOT BUILD_SHARED_LIBS)
-  list(APPEND AOM_UNIT_TEST_COMMON_SOURCES
-              "${AOM_ROOT}/test/av1_common_int_test.cc"
-              "${AOM_ROOT}/test/cdef_test.cc"
-              "${AOM_ROOT}/test/cfl_test.cc"
-              "${AOM_ROOT}/test/convolve_test.cc"
-              "${AOM_ROOT}/test/hiprec_convolve_test.cc"
-              "${AOM_ROOT}/test/hiprec_convolve_test_util.cc"
-              "${AOM_ROOT}/test/hiprec_convolve_test_util.h"
-              "${AOM_ROOT}/test/intrabc_test.cc"
-              "${AOM_ROOT}/test/intrapred_test.cc"
-              "${AOM_ROOT}/test/lpf_test.cc"
-              "${AOM_ROOT}/test/opt_flow_test.cc"
-              "${AOM_ROOT}/test/scan_test.cc"
-              "${AOM_ROOT}/test/selfguided_filter_test.cc"
-              "${AOM_ROOT}/test/simd_cmp_impl.h"
-              "${AOM_ROOT}/test/simd_impl.h")
+  list(
+    APPEND
+    AOM_UNIT_TEST_COMMON_SOURCES
+    "${AOM_ROOT}/test/av1_common_int_test.cc"
+    "${AOM_ROOT}/test/cdef_test.cc"
+    "${AOM_ROOT}/test/cfl_test.cc"
+    "${AOM_ROOT}/test/convolve_test.cc"
+    "${AOM_ROOT}/test/hiprec_convolve_test.cc"
+    "${AOM_ROOT}/test/hiprec_convolve_test_util.cc"
+    "${AOM_ROOT}/test/hiprec_convolve_test_util.h"
+    "${AOM_ROOT}/test/intrabc_test.cc"
+    "${AOM_ROOT}/test/intrapred_test.cc"
+    "${AOM_ROOT}/test/lpf_test.cc"
+    "${AOM_ROOT}/test/opt_flow_test.cc"
+    "${AOM_ROOT}/test/scan_test.cc"
+    "${AOM_ROOT}/test/selfguided_filter_test.cc"
+    "${AOM_ROOT}/test/simd_cmp_impl.h"
+    "${AOM_ROOT}/test/simd_impl.h")
 
   if(CONFIG_ACCOUNTING)
     list(APPEND AOM_UNIT_TEST_COMMON_SOURCES
-                "${AOM_ROOT}/test/accounting_test.cc")
+         "${AOM_ROOT}/test/accounting_test.cc")
   endif()
 
   if(CONFIG_AV1_DECODER AND CONFIG_AV1_ENCODER)
-    list(APPEND AOM_UNIT_TEST_COMMON_SOURCES
-                "${AOM_ROOT}/test/altref_test.cc"
-                "${AOM_ROOT}/test/av1_encoder_parms_get_to_decoder.cc"
-                "${AOM_ROOT}/test/av1_ext_tile_test.cc"
-                "${AOM_ROOT}/test/binary_codes_test.cc"
-                "${AOM_ROOT}/test/boolcoder_test.cc"
-                "${AOM_ROOT}/test/cnn_test.cc"
-                "${AOM_ROOT}/test/coding_path_sync.cc"
-                "${AOM_ROOT}/test/decode_multithreaded_test.cc"
-                "${AOM_ROOT}/test/divu_small_test.cc"
-                "${AOM_ROOT}/test/dr_prediction_test.cc"
-                "${AOM_ROOT}/test/ec_test.cc"
-                "${AOM_ROOT}/test/error_resilience_test.cc"
-                "${AOM_ROOT}/test/ethread_test.cc"
-                "${AOM_ROOT}/test/film_grain_table_test.cc"
-                "${AOM_ROOT}/test/fwd_kf_test.cc"
-                "${AOM_ROOT}/test/kf_test.cc"
-                "${AOM_ROOT}/test/lossless_test.cc"
-                "${AOM_ROOT}/test/quant_test.cc"
-                "${AOM_ROOT}/test/sb_multipass_test.cc"
-                "${AOM_ROOT}/test/screen_content_test.cc"
-                "${AOM_ROOT}/test/segment_binarization_sync.cc"
-                "${AOM_ROOT}/test/still_picture_test.cc"
-                "${AOM_ROOT}/test/subgop_test.cc"
-                "${AOM_ROOT}/test/superframe_test.cc"
-                "${AOM_ROOT}/test/tile_config_test.cc"
-                "${AOM_ROOT}/test/tile_independence_test.cc"
-                "${AOM_ROOT}/test/temporal_filter_test.cc")
+    list(
+      APPEND
+      AOM_UNIT_TEST_COMMON_SOURCES
+      "${AOM_ROOT}/test/altref_test.cc"
+      "${AOM_ROOT}/test/av1_encoder_parms_get_to_decoder.cc"
+      "${AOM_ROOT}/test/av1_ext_tile_test.cc"
+      "${AOM_ROOT}/test/binary_codes_test.cc"
+      "${AOM_ROOT}/test/boolcoder_test.cc"
+      "${AOM_ROOT}/test/cnn_test.cc"
+      "${AOM_ROOT}/test/coding_path_sync.cc"
+      "${AOM_ROOT}/test/decode_multithreaded_test.cc"
+      "${AOM_ROOT}/test/divu_small_test.cc"
+      "${AOM_ROOT}/test/dr_prediction_test.cc"
+      "${AOM_ROOT}/test/ec_test.cc"
+      "${AOM_ROOT}/test/error_resilience_test.cc"
+      "${AOM_ROOT}/test/ethread_test.cc"
+      "${AOM_ROOT}/test/film_grain_table_test.cc"
+      "${AOM_ROOT}/test/fwd_kf_test.cc"
+      "${AOM_ROOT}/test/kf_test.cc"
+      "${AOM_ROOT}/test/lossless_test.cc"
+      "${AOM_ROOT}/test/quant_test.cc"
+      "${AOM_ROOT}/test/sb_multipass_test.cc"
+      "${AOM_ROOT}/test/screen_content_test.cc"
+      "${AOM_ROOT}/test/segment_binarization_sync.cc"
+      "${AOM_ROOT}/test/still_picture_test.cc"
+      "${AOM_ROOT}/test/subgop_test.cc"
+      "${AOM_ROOT}/test/superframe_test.cc"
+      "${AOM_ROOT}/test/tile_config_test.cc"
+      "${AOM_ROOT}/test/tile_independence_test.cc"
+      "${AOM_ROOT}/test/temporal_filter_test.cc")
   endif()
 
   list(APPEND AOM_UNIT_TEST_COMMON_INTRIN_NEON
-              "${AOM_ROOT}/test/simd_cmp_neon.cc")
+       "${AOM_ROOT}/test/simd_cmp_neon.cc")
   if(HAVE_NEON)
     list(APPEND AOM_UNIT_TEST_COMMON_SOURCES
-                "${AOM_ROOT}/test/simd_neon_test.cc")
+         "${AOM_ROOT}/test/simd_neon_test.cc")
   endif()
 
   list(APPEND AOM_UNIT_TEST_COMMON_INTRIN_SSE2
-              "${AOM_ROOT}/test/simd_cmp_sse2.cc")
+       "${AOM_ROOT}/test/simd_cmp_sse2.cc")
   if(HAVE_SSE2)
     list(APPEND AOM_UNIT_TEST_COMMON_SOURCES
-                "${AOM_ROOT}/test/simd_sse2_test.cc")
+         "${AOM_ROOT}/test/simd_sse2_test.cc")
   endif()
 
   list(APPEND AOM_UNIT_TEST_COMMON_INTRIN_SSSE3
-              "${AOM_ROOT}/test/simd_cmp_ssse3.cc")
+       "${AOM_ROOT}/test/simd_cmp_ssse3.cc")
   if(HAVE_SSSE3)
     list(APPEND AOM_UNIT_TEST_COMMON_SOURCES
-                "${AOM_ROOT}/test/simd_ssse3_test.cc")
+         "${AOM_ROOT}/test/simd_ssse3_test.cc")
   endif()
 
   if(HAVE_SSE4)
     list(APPEND AOM_UNIT_TEST_COMMON_SOURCES
-                "${AOM_ROOT}/test/simd_sse4_test.cc")
+         "${AOM_ROOT}/test/simd_sse4_test.cc")
   endif()
 
   if(HAVE_SSE4_1 OR HAVE_NEON)
     list(APPEND AOM_UNIT_TEST_COMMON_SOURCES
-                "${AOM_ROOT}/test/filterintra_test.cc")
+         "${AOM_ROOT}/test/filterintra_test.cc")
   endif()
 
   list(APPEND AOM_UNIT_TEST_COMMON_INTRIN_AVX2
-              "${AOM_ROOT}/test/simd_cmp_avx2.cc")
+       "${AOM_ROOT}/test/simd_cmp_avx2.cc")
   if(HAVE_AVX2)
     list(APPEND AOM_UNIT_TEST_COMMON_SOURCES
-                "${AOM_ROOT}/test/simd_avx2_test.cc")
+         "${AOM_ROOT}/test/simd_avx2_test.cc")
   endif()
 
-  list(APPEND AOM_UNIT_TEST_ENCODER_SOURCES
-              "${AOM_ROOT}/test/arf_freq_test.cc"
-              "${AOM_ROOT}/test/av1_convolve_test.cc"
-              "${AOM_ROOT}/test/av1_fwd_txfm1d_test.cc"
-              "${AOM_ROOT}/test/av1_fwd_txfm2d_test.cc"
-              "${AOM_ROOT}/test/av1_inv_txfm1d_test.cc"
-              "${AOM_ROOT}/test/av1_inv_txfm2d_test.cc"
-              "${AOM_ROOT}/test/av1_nn_predict_test.cc"
-              "${AOM_ROOT}/test/av1_round_shift_array_test.cc"
-              "${AOM_ROOT}/test/av1_txfm_test.cc"
-              "${AOM_ROOT}/test/av1_txfm_test.h"
-              "${AOM_ROOT}/test/av1_wedge_utils_test.cc"
-              "${AOM_ROOT}/test/avg_test.cc"
-              "${AOM_ROOT}/test/blend_a64_mask_1d_test.cc"
-              "${AOM_ROOT}/test/blend_a64_mask_test.cc"
-              "${AOM_ROOT}/test/comp_avg_pred_test.cc"
-              "${AOM_ROOT}/test/comp_avg_pred_test.h"
-              "${AOM_ROOT}/test/comp_mask_variance_test.cc"
-              "${AOM_ROOT}/test/edge_detect_test.cc"
-              "${AOM_ROOT}/test/encodetxb_test.cc"
-              "${AOM_ROOT}/test/error_block_test.cc"
-              "${AOM_ROOT}/test/fft_test.cc"
-              "${AOM_ROOT}/test/fwht4x4_test.cc"
-              "${AOM_ROOT}/test/fdct4x4_test.cc"
-              "${AOM_ROOT}/test/hadamard_test.cc"
-              "${AOM_ROOT}/test/horver_correlation_test.cc"
-              "${AOM_ROOT}/test/masked_sad_test.cc"
-              "${AOM_ROOT}/test/masked_variance_test.cc"
-              "${AOM_ROOT}/test/motion_vector_test.cc"
-              "${AOM_ROOT}/test/noise_model_test.cc"
-              "${AOM_ROOT}/test/obmc_sad_test.cc"
-              "${AOM_ROOT}/test/obmc_variance_test.cc"
-              "${AOM_ROOT}/test/pickrst_test.cc"
-              "${AOM_ROOT}/test/quantize_func_test.cc"
-              "${AOM_ROOT}/test/sad_test.cc"
-              "${AOM_ROOT}/test/stream_iter_test.cc"
-              "${AOM_ROOT}/test/subtract_test.cc"
-              "${AOM_ROOT}/test/reconinter_test.cc"
-              "${AOM_ROOT}/test/sum_squares_test.cc"
-              "${AOM_ROOT}/test/sse_sum_test.cc"
-              "${AOM_ROOT}/test/variance_test.cc"
-              "${AOM_ROOT}/test/wiener_test.cc"
-              "${AOM_ROOT}/test/frame_error_test.cc"
-              "${AOM_ROOT}/test/warp_filter_test.cc"
-              "${AOM_ROOT}/test/warp_filter_test_util.cc"
-              "${AOM_ROOT}/test/warp_filter_test_util.h"
-              "${AOM_ROOT}/test/webmenc_test.cc")
+  list(
+    APPEND
+    AOM_UNIT_TEST_ENCODER_SOURCES
+    "${AOM_ROOT}/test/arf_freq_test.cc"
+    "${AOM_ROOT}/test/av1_convolve_test.cc"
+    "${AOM_ROOT}/test/av1_fwd_txfm1d_test.cc"
+    "${AOM_ROOT}/test/av1_fwd_txfm2d_test.cc"
+    "${AOM_ROOT}/test/av1_inv_txfm1d_test.cc"
+    "${AOM_ROOT}/test/av1_inv_txfm2d_test.cc"
+    "${AOM_ROOT}/test/av1_nn_predict_test.cc"
+    "${AOM_ROOT}/test/av1_round_shift_array_test.cc"
+    "${AOM_ROOT}/test/av1_txfm_test.cc"
+    "${AOM_ROOT}/test/av1_txfm_test.h"
+    "${AOM_ROOT}/test/av1_wedge_utils_test.cc"
+    "${AOM_ROOT}/test/avg_test.cc"
+    "${AOM_ROOT}/test/blend_a64_mask_1d_test.cc"
+    "${AOM_ROOT}/test/blend_a64_mask_test.cc"
+    "${AOM_ROOT}/test/comp_avg_pred_test.cc"
+    "${AOM_ROOT}/test/comp_avg_pred_test.h"
+    "${AOM_ROOT}/test/comp_mask_variance_test.cc"
+    "${AOM_ROOT}/test/edge_detect_test.cc"
+    "${AOM_ROOT}/test/encodetxb_test.cc"
+    "${AOM_ROOT}/test/error_block_test.cc"
+    "${AOM_ROOT}/test/fft_test.cc"
+    "${AOM_ROOT}/test/fwht4x4_test.cc"
+    "${AOM_ROOT}/test/fdct4x4_test.cc"
+    "${AOM_ROOT}/test/hadamard_test.cc"
+    "${AOM_ROOT}/test/horver_correlation_test.cc"
+    "${AOM_ROOT}/test/masked_sad_test.cc"
+    "${AOM_ROOT}/test/masked_variance_test.cc"
+    "${AOM_ROOT}/test/motion_vector_test.cc"
+    "${AOM_ROOT}/test/noise_model_test.cc"
+    "${AOM_ROOT}/test/obmc_sad_test.cc"
+    "${AOM_ROOT}/test/obmc_variance_test.cc"
+    "${AOM_ROOT}/test/pickrst_test.cc"
+    "${AOM_ROOT}/test/quantize_func_test.cc"
+    "${AOM_ROOT}/test/sad_test.cc"
+    "${AOM_ROOT}/test/stream_iter_test.cc"
+    "${AOM_ROOT}/test/subtract_test.cc"
+    "${AOM_ROOT}/test/reconinter_test.cc"
+    "${AOM_ROOT}/test/sum_squares_test.cc"
+    "${AOM_ROOT}/test/sse_sum_test.cc"
+    "${AOM_ROOT}/test/variance_test.cc"
+    "${AOM_ROOT}/test/wiener_test.cc"
+    "${AOM_ROOT}/test/frame_error_test.cc"
+    "${AOM_ROOT}/test/warp_filter_test.cc"
+    "${AOM_ROOT}/test/warp_filter_test_util.cc"
+    "${AOM_ROOT}/test/warp_filter_test_util.h"
+    "${AOM_ROOT}/test/webmenc_test.cc")
 
   if((HAVE_SSE4_1 OR HAVE_NEON))
     list(APPEND AOM_UNIT_TEST_ENCODER_SOURCES
-                "${AOM_ROOT}/test/av1_highbd_iht_test.cc")
+         "${AOM_ROOT}/test/av1_highbd_iht_test.cc")
   endif()
 
-  list(APPEND AOM_UNIT_TEST_ENCODER_INTRIN_SSE4_1
-              "${AOM_ROOT}/test/av1_quantize_test.cc"
-              "${AOM_ROOT}/test/corner_match_test.cc"
-              "${AOM_ROOT}/test/simd_cmp_sse4.cc")
+  list(
+    APPEND AOM_UNIT_TEST_ENCODER_INTRIN_SSE4_1
+    "${AOM_ROOT}/test/av1_quantize_test.cc"
+    "${AOM_ROOT}/test/corner_match_test.cc" "${AOM_ROOT}/test/simd_cmp_sse4.cc")
 
   if(NOT (HAVE_SSE2 OR HAVE_NEON))
     list(REMOVE_ITEM AOM_UNIT_TEST_ENCODER_SOURCES
-                     "${AOM_ROOT}/test/quantize_func_test.cc")
+         "${AOM_ROOT}/test/quantize_func_test.cc")
   endif()
 
   if(HAVE_SSE4_1)
-    list(APPEND AOM_UNIT_TEST_ENCODER_SOURCES
-                "${AOM_ROOT}/test/av1_convolve_scale_test.cc"
-                "${AOM_ROOT}/test/av1_horz_only_frame_superres_test.cc"
-                "${AOM_ROOT}/test/intra_edge_test.cc")
+    list(
+      APPEND
+      AOM_UNIT_TEST_ENCODER_SOURCES
+      "${AOM_ROOT}/test/av1_convolve_scale_test.cc"
+      "${AOM_ROOT}/test/av1_horz_only_frame_superres_test.cc"
+      "${AOM_ROOT}/test/intra_edge_test.cc")
 
   endif()
 
@@ -253,9 +268,10 @@
   find_package(PythonInterp)
   if(NOT PYTHONINTERP_FOUND)
     message(
-      FATAL_ERROR "--- Unit tests require Python, rerun cmake with "
-                  "-DENABLE_TESTS=0 to avoid this error, or install Python and "
-                  "make sure it's in your PATH.")
+      FATAL_ERROR
+        "--- Unit tests require Python, rerun cmake with "
+        "-DENABLE_TESTS=0 to avoid this error, or install Python and "
+        "make sure it's in your PATH.")
   endif()
 
   if(BUILD_SHARED_LIBS AND APPLE) # Silence an RPATH warning.
@@ -300,14 +316,15 @@
     add_dependencies(test_aom_encoder aom)
   endif()
 
-  add_executable(test_libaom ${AOM_UNIT_TEST_WRAPPER_SOURCES}
-                             $<TARGET_OBJECTS:aom_common_app_util>
-                             $<TARGET_OBJECTS:test_aom_common>)
+  add_executable(
+    test_libaom
+    ${AOM_UNIT_TEST_WRAPPER_SOURCES} $<TARGET_OBJECTS:aom_common_app_util>
+    $<TARGET_OBJECTS:test_aom_common>)
   list(APPEND AOM_APP_TARGETS test_libaom)
 
   if(CONFIG_AV1_DECODER)
     target_sources(test_libaom PRIVATE $<TARGET_OBJECTS:aom_decoder_app_util>
-                   $<TARGET_OBJECTS:test_aom_decoder>)
+                                       $<TARGET_OBJECTS:test_aom_decoder>)
 
     if(ENABLE_DECODE_PERF_TESTS AND CONFIG_WEBM_IO)
       target_sources(test_libaom PRIVATE ${AOM_DECODE_PERF_TEST_SOURCES})
@@ -316,16 +333,16 @@
 
   if(CONFIG_AV1_ENCODER)
     target_sources(test_libaom PRIVATE $<TARGET_OBJECTS:test_aom_encoder>
-                   $<TARGET_OBJECTS:aom_encoder_app_util>)
+                                       $<TARGET_OBJECTS:aom_encoder_app_util>)
 
     if(ENABLE_ENCODE_PERF_TESTS)
       target_sources(test_libaom PRIVATE ${AOM_ENCODE_PERF_TEST_SOURCES})
     endif()
 
     if(NOT BUILD_SHARED_LIBS)
-      add_executable(test_intra_pred_speed
-                     ${AOM_TEST_INTRA_PRED_SPEED_SOURCES}
-                     $<TARGET_OBJECTS:aom_common_app_util>)
+      add_executable(
+        test_intra_pred_speed ${AOM_TEST_INTRA_PRED_SPEED_SOURCES}
+                              $<TARGET_OBJECTS:aom_common_app_util>)
       target_link_libraries(test_intra_pred_speed ${AOM_LIB_LINK_TYPE} aom
                             aom_gtest)
       list(APPEND AOM_APP_TARGETS test_intra_pred_speed)
@@ -379,11 +396,11 @@
       list(GET test_file_checksums ${test_index} test_file_checksum)
       add_custom_target(
         testdata_${test_index}
-        COMMAND ${CMAKE_COMMAND}
-                -DAOM_CONFIG_DIR="${AOM_CONFIG_DIR}" -DAOM_ROOT="${AOM_ROOT}"
-                -DAOM_TEST_FILE="${test_file}"
-                -DAOM_TEST_CHECKSUM=${test_file_checksum} -P
-                "${AOM_ROOT}/test/test_data_download_worker.cmake")
+        COMMAND
+          ${CMAKE_COMMAND} -DAOM_CONFIG_DIR="${AOM_CONFIG_DIR}"
+          -DAOM_ROOT="${AOM_ROOT}" -DAOM_TEST_FILE="${test_file}"
+          -DAOM_TEST_CHECKSUM=${test_file_checksum} -P
+          "${AOM_ROOT}/test/test_data_download_worker.cmake")
       list(APPEND testdata_targets testdata_${test_index})
     endforeach()
 
@@ -408,13 +425,14 @@
       math(EXPR max_shard_index "${num_test_targets} - 1")
       foreach(shard_index RANGE ${max_shard_index})
         set(test_name "test_${shard_index}")
-        add_custom_target(${test_name}
-                          COMMAND ${CMAKE_COMMAND}
-                                  -DGTEST_SHARD_INDEX=${shard_index}
-                                  -DGTEST_TOTAL_SHARDS=${num_test_targets}
-                                  -DTEST_LIBAOM=$<TARGET_FILE:test_libaom> -P
-                                  "${AOM_ROOT}/test/test_runner.cmake"
-                          DEPENDS testdata test_libaom)
+        add_custom_target(
+          ${test_name}
+          COMMAND
+            ${CMAKE_COMMAND} -DGTEST_SHARD_INDEX=${shard_index}
+            -DGTEST_TOTAL_SHARDS=${num_test_targets}
+            -DTEST_LIBAOM=$<TARGET_FILE:test_libaom> -P
+            "${AOM_ROOT}/test/test_runner.cmake"
+          DEPENDS testdata test_libaom)
         list(APPEND test_targets ${test_name})
       endforeach()
       add_custom_target(runtests)
@@ -457,5 +475,7 @@
     endforeach()
   endforeach()
 
-  set(AOM_APP_TARGETS ${AOM_APP_TARGETS} PARENT_SCOPE)
+  set(AOM_APP_TARGETS
+      ${AOM_APP_TARGETS}
+      PARENT_SCOPE)
 endfunction()
diff --git a/test/test_data_download_worker.cmake b/test/test_data_download_worker.cmake
index 78098cf..9615900 100644
--- a/test/test_data_download_worker.cmake
+++ b/test/test_data_download_worker.cmake
@@ -1,12 +1,12 @@
 #
 # Copyright (c) 2021, Alliance for Open Media. All rights reserved
 #
-# This source code is subject to the terms of the BSD 3-Clause Clear License and the
-# Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
-# not distributed with this source code in the LICENSE file, you can obtain it
-# at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
-# License 1.0 was not distributed with this source code in the PATENTS file, you
-# can obtain it at aomedia.org/license/patent-license/.
+# This source code is subject to the terms of the BSD 3-Clause Clear License and
+# the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+# License was not distributed with this source code in the LICENSE file, you can
+# obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance
+# for Open Media Patent License 1.0 was not distributed with this source code in
+# the PATENTS file, you can obtain it at aomedia.org/license/patent-license/.
 #
 include("${AOM_ROOT}/test/test_data_util.cmake")
 
diff --git a/test/test_data_util.cmake b/test/test_data_util.cmake
index 874a03a..ca22a15 100644
--- a/test/test_data_util.cmake
+++ b/test/test_data_util.cmake
@@ -1,580 +1,589 @@
 #
 # Copyright (c) 2021, Alliance for Open Media. All rights reserved
 #
-# This source code is subject to the terms of the BSD 3-Clause Clear License and the
-# Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
-# not distributed with this source code in the LICENSE file, you can obtain it
-# at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
-# License 1.0 was not distributed with this source code in the PATENTS file, you
-# can obtain it at aomedia.org/license/patent-license/.
+# This source code is subject to the terms of the BSD 3-Clause Clear License and
+# the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+# License was not distributed with this source code in the LICENSE file, you can
+# obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance
+# for Open Media Patent License 1.0 was not distributed with this source code in
+# the PATENTS file, you can obtain it at aomedia.org/license/patent-license/.
 #
 
-list(APPEND AOM_TEST_DATA_FILE_NAMES
-            "desktop1.320_180.yuv"
-            "hantro_collage_w352h288.yuv"
-            "hantro_odd.yuv"
-            "paris_352_288_30.y4m"
-            "park_joy_90p_10_420.y4m"
-            "park_joy_90p_10_422.y4m"
-            "park_joy_90p_10_444.y4m"
-            "park_joy_90p_12_420.y4m"
-            "park_joy_90p_12_422.y4m"
-            "park_joy_90p_12_444.y4m"
-            "park_joy_90p_8_420_a10-1.y4m"
-            "park_joy_90p_8_420.y4m"
-            "park_joy_90p_8_420_monochrome.y4m"
-            "park_joy_90p_8_420_vertical_csp.y4m"
-            "park_joy_90p_8_422.y4m"
-            "park_joy_90p_8_444.y4m"
-            "pixel_capture_w320h240.yuv"
-            "desktop_credits.y4m"
-            "niklas_1280_720_30.y4m"
-            "rush_hour_444.y4m"
-            "screendata.y4m"
-            "niklas_640_480_30.yuv"
-            "vase10x10.yuv"
-            "vase10x10_tiles.txt")
+list(
+  APPEND
+  AOM_TEST_DATA_FILE_NAMES
+  "desktop1.320_180.yuv"
+  "hantro_collage_w352h288.yuv"
+  "hantro_odd.yuv"
+  "paris_352_288_30.y4m"
+  "park_joy_90p_10_420.y4m"
+  "park_joy_90p_10_422.y4m"
+  "park_joy_90p_10_444.y4m"
+  "park_joy_90p_12_420.y4m"
+  "park_joy_90p_12_422.y4m"
+  "park_joy_90p_12_444.y4m"
+  "park_joy_90p_8_420_a10-1.y4m"
+  "park_joy_90p_8_420.y4m"
+  "park_joy_90p_8_420_monochrome.y4m"
+  "park_joy_90p_8_420_vertical_csp.y4m"
+  "park_joy_90p_8_422.y4m"
+  "park_joy_90p_8_444.y4m"
+  "pixel_capture_w320h240.yuv"
+  "desktop_credits.y4m"
+  "niklas_1280_720_30.y4m"
+  "rush_hour_444.y4m"
+  "screendata.y4m"
+  "niklas_640_480_30.yuv"
+  "vase10x10.yuv"
+  "vase10x10_tiles.txt")
 
 if(ENABLE_DECODE_PERF_TESTS AND CONFIG_AV1_ENCODER)
   list(APPEND AOM_TEST_DATA_FILE_NAMES "niklas_1280_720_30.yuv")
 endif()
 
 if(CONFIG_AV1_DECODER)
-  list(APPEND AOM_TEST_DATA_FILE_NAMES
-              "av1-1-b8-00-quantizer-00.ivf"
-              "av1-1-b8-00-quantizer-00.ivf.md5"
-              "av1-1-b8-00-quantizer-01.ivf"
-              "av1-1-b8-00-quantizer-01.ivf.md5"
-              "av1-1-b8-00-quantizer-02.ivf"
-              "av1-1-b8-00-quantizer-02.ivf.md5"
-              "av1-1-b8-00-quantizer-03.ivf"
-              "av1-1-b8-00-quantizer-03.ivf.md5"
-              "av1-1-b8-00-quantizer-04.ivf"
-              "av1-1-b8-00-quantizer-04.ivf.md5"
-              "av1-1-b8-00-quantizer-05.ivf"
-              "av1-1-b8-00-quantizer-05.ivf.md5"
-              "av1-1-b8-00-quantizer-06.ivf"
-              "av1-1-b8-00-quantizer-06.ivf.md5"
-              "av1-1-b8-00-quantizer-07.ivf"
-              "av1-1-b8-00-quantizer-07.ivf.md5"
-              "av1-1-b8-00-quantizer-08.ivf"
-              "av1-1-b8-00-quantizer-08.ivf.md5"
-              "av1-1-b8-00-quantizer-09.ivf"
-              "av1-1-b8-00-quantizer-09.ivf.md5"
-              "av1-1-b8-00-quantizer-10.ivf"
-              "av1-1-b8-00-quantizer-10.ivf.md5"
-              "av1-1-b8-00-quantizer-11.ivf"
-              "av1-1-b8-00-quantizer-11.ivf.md5"
-              "av1-1-b8-00-quantizer-12.ivf"
-              "av1-1-b8-00-quantizer-12.ivf.md5"
-              "av1-1-b8-00-quantizer-13.ivf"
-              "av1-1-b8-00-quantizer-13.ivf.md5"
-              "av1-1-b8-00-quantizer-14.ivf"
-              "av1-1-b8-00-quantizer-14.ivf.md5"
-              "av1-1-b8-00-quantizer-15.ivf"
-              "av1-1-b8-00-quantizer-15.ivf.md5"
-              "av1-1-b8-00-quantizer-16.ivf"
-              "av1-1-b8-00-quantizer-16.ivf.md5"
-              "av1-1-b8-00-quantizer-17.ivf"
-              "av1-1-b8-00-quantizer-17.ivf.md5"
-              "av1-1-b8-00-quantizer-18.ivf"
-              "av1-1-b8-00-quantizer-18.ivf.md5"
-              "av1-1-b8-00-quantizer-19.ivf"
-              "av1-1-b8-00-quantizer-19.ivf.md5"
-              "av1-1-b8-00-quantizer-20.ivf"
-              "av1-1-b8-00-quantizer-20.ivf.md5"
-              "av1-1-b8-00-quantizer-21.ivf"
-              "av1-1-b8-00-quantizer-21.ivf.md5"
-              "av1-1-b8-00-quantizer-22.ivf"
-              "av1-1-b8-00-quantizer-22.ivf.md5"
-              "av1-1-b8-00-quantizer-23.ivf"
-              "av1-1-b8-00-quantizer-23.ivf.md5"
-              "av1-1-b8-00-quantizer-24.ivf"
-              "av1-1-b8-00-quantizer-24.ivf.md5"
-              "av1-1-b8-00-quantizer-25.ivf"
-              "av1-1-b8-00-quantizer-25.ivf.md5"
-              "av1-1-b8-00-quantizer-26.ivf"
-              "av1-1-b8-00-quantizer-26.ivf.md5"
-              "av1-1-b8-00-quantizer-27.ivf"
-              "av1-1-b8-00-quantizer-27.ivf.md5"
-              "av1-1-b8-00-quantizer-28.ivf"
-              "av1-1-b8-00-quantizer-28.ivf.md5"
-              "av1-1-b8-00-quantizer-29.ivf"
-              "av1-1-b8-00-quantizer-29.ivf.md5"
-              "av1-1-b8-00-quantizer-30.ivf"
-              "av1-1-b8-00-quantizer-30.ivf.md5"
-              "av1-1-b8-00-quantizer-31.ivf"
-              "av1-1-b8-00-quantizer-31.ivf.md5"
-              "av1-1-b8-00-quantizer-32.ivf"
-              "av1-1-b8-00-quantizer-32.ivf.md5"
-              "av1-1-b8-00-quantizer-33.ivf"
-              "av1-1-b8-00-quantizer-33.ivf.md5"
-              "av1-1-b8-00-quantizer-34.ivf"
-              "av1-1-b8-00-quantizer-34.ivf.md5"
-              "av1-1-b8-00-quantizer-35.ivf"
-              "av1-1-b8-00-quantizer-35.ivf.md5"
-              "av1-1-b8-00-quantizer-36.ivf"
-              "av1-1-b8-00-quantizer-36.ivf.md5"
-              "av1-1-b8-00-quantizer-37.ivf"
-              "av1-1-b8-00-quantizer-37.ivf.md5"
-              "av1-1-b8-00-quantizer-38.ivf"
-              "av1-1-b8-00-quantizer-38.ivf.md5"
-              "av1-1-b8-00-quantizer-39.ivf"
-              "av1-1-b8-00-quantizer-39.ivf.md5"
-              "av1-1-b8-00-quantizer-40.ivf"
-              "av1-1-b8-00-quantizer-40.ivf.md5"
-              "av1-1-b8-00-quantizer-41.ivf"
-              "av1-1-b8-00-quantizer-41.ivf.md5"
-              "av1-1-b8-00-quantizer-42.ivf"
-              "av1-1-b8-00-quantizer-42.ivf.md5"
-              "av1-1-b8-00-quantizer-43.ivf"
-              "av1-1-b8-00-quantizer-43.ivf.md5"
-              "av1-1-b8-00-quantizer-44.ivf"
-              "av1-1-b8-00-quantizer-44.ivf.md5"
-              "av1-1-b8-00-quantizer-45.ivf"
-              "av1-1-b8-00-quantizer-45.ivf.md5"
-              "av1-1-b8-00-quantizer-46.ivf"
-              "av1-1-b8-00-quantizer-46.ivf.md5"
-              "av1-1-b8-00-quantizer-47.ivf"
-              "av1-1-b8-00-quantizer-47.ivf.md5"
-              "av1-1-b8-00-quantizer-48.ivf"
-              "av1-1-b8-00-quantizer-48.ivf.md5"
-              "av1-1-b8-00-quantizer-49.ivf"
-              "av1-1-b8-00-quantizer-49.ivf.md5"
-              "av1-1-b8-00-quantizer-50.ivf"
-              "av1-1-b8-00-quantizer-50.ivf.md5"
-              "av1-1-b8-00-quantizer-51.ivf"
-              "av1-1-b8-00-quantizer-51.ivf.md5"
-              "av1-1-b8-00-quantizer-52.ivf"
-              "av1-1-b8-00-quantizer-52.ivf.md5"
-              "av1-1-b8-00-quantizer-53.ivf"
-              "av1-1-b8-00-quantizer-53.ivf.md5"
-              "av1-1-b8-00-quantizer-54.ivf"
-              "av1-1-b8-00-quantizer-54.ivf.md5"
-              "av1-1-b8-00-quantizer-55.ivf"
-              "av1-1-b8-00-quantizer-55.ivf.md5"
-              "av1-1-b8-00-quantizer-56.ivf"
-              "av1-1-b8-00-quantizer-56.ivf.md5"
-              "av1-1-b8-00-quantizer-57.ivf"
-              "av1-1-b8-00-quantizer-57.ivf.md5"
-              "av1-1-b8-00-quantizer-58.ivf"
-              "av1-1-b8-00-quantizer-58.ivf.md5"
-              "av1-1-b8-00-quantizer-59.ivf"
-              "av1-1-b8-00-quantizer-59.ivf.md5"
-              "av1-1-b8-00-quantizer-60.ivf"
-              "av1-1-b8-00-quantizer-60.ivf.md5"
-              "av1-1-b8-00-quantizer-61.ivf"
-              "av1-1-b8-00-quantizer-61.ivf.md5"
-              "av1-1-b8-00-quantizer-62.ivf"
-              "av1-1-b8-00-quantizer-62.ivf.md5"
-              "av1-1-b8-00-quantizer-63.ivf"
-              "av1-1-b8-00-quantizer-63.ivf.md5"
-              "av1-1-b10-00-quantizer-00.ivf"
-              "av1-1-b10-00-quantizer-00.ivf.md5"
-              "av1-1-b10-00-quantizer-01.ivf"
-              "av1-1-b10-00-quantizer-01.ivf.md5"
-              "av1-1-b10-00-quantizer-02.ivf"
-              "av1-1-b10-00-quantizer-02.ivf.md5"
-              "av1-1-b10-00-quantizer-03.ivf"
-              "av1-1-b10-00-quantizer-03.ivf.md5"
-              "av1-1-b10-00-quantizer-04.ivf"
-              "av1-1-b10-00-quantizer-04.ivf.md5"
-              "av1-1-b10-00-quantizer-05.ivf"
-              "av1-1-b10-00-quantizer-05.ivf.md5"
-              "av1-1-b10-00-quantizer-06.ivf"
-              "av1-1-b10-00-quantizer-06.ivf.md5"
-              "av1-1-b10-00-quantizer-07.ivf"
-              "av1-1-b10-00-quantizer-07.ivf.md5"
-              "av1-1-b10-00-quantizer-08.ivf"
-              "av1-1-b10-00-quantizer-08.ivf.md5"
-              "av1-1-b10-00-quantizer-09.ivf"
-              "av1-1-b10-00-quantizer-09.ivf.md5"
-              "av1-1-b10-00-quantizer-10.ivf"
-              "av1-1-b10-00-quantizer-10.ivf.md5"
-              "av1-1-b10-00-quantizer-11.ivf"
-              "av1-1-b10-00-quantizer-11.ivf.md5"
-              "av1-1-b10-00-quantizer-12.ivf"
-              "av1-1-b10-00-quantizer-12.ivf.md5"
-              "av1-1-b10-00-quantizer-13.ivf"
-              "av1-1-b10-00-quantizer-13.ivf.md5"
-              "av1-1-b10-00-quantizer-14.ivf"
-              "av1-1-b10-00-quantizer-14.ivf.md5"
-              "av1-1-b10-00-quantizer-15.ivf"
-              "av1-1-b10-00-quantizer-15.ivf.md5"
-              "av1-1-b10-00-quantizer-16.ivf"
-              "av1-1-b10-00-quantizer-16.ivf.md5"
-              "av1-1-b10-00-quantizer-17.ivf"
-              "av1-1-b10-00-quantizer-17.ivf.md5"
-              "av1-1-b10-00-quantizer-18.ivf"
-              "av1-1-b10-00-quantizer-18.ivf.md5"
-              "av1-1-b10-00-quantizer-19.ivf"
-              "av1-1-b10-00-quantizer-19.ivf.md5"
-              "av1-1-b10-00-quantizer-20.ivf"
-              "av1-1-b10-00-quantizer-20.ivf.md5"
-              "av1-1-b10-00-quantizer-21.ivf"
-              "av1-1-b10-00-quantizer-21.ivf.md5"
-              "av1-1-b10-00-quantizer-22.ivf"
-              "av1-1-b10-00-quantizer-22.ivf.md5"
-              "av1-1-b10-00-quantizer-23.ivf"
-              "av1-1-b10-00-quantizer-23.ivf.md5"
-              "av1-1-b10-00-quantizer-24.ivf"
-              "av1-1-b10-00-quantizer-24.ivf.md5"
-              "av1-1-b10-00-quantizer-25.ivf"
-              "av1-1-b10-00-quantizer-25.ivf.md5"
-              "av1-1-b10-00-quantizer-26.ivf"
-              "av1-1-b10-00-quantizer-26.ivf.md5"
-              "av1-1-b10-00-quantizer-27.ivf"
-              "av1-1-b10-00-quantizer-27.ivf.md5"
-              "av1-1-b10-00-quantizer-28.ivf"
-              "av1-1-b10-00-quantizer-28.ivf.md5"
-              "av1-1-b10-00-quantizer-29.ivf"
-              "av1-1-b10-00-quantizer-29.ivf.md5"
-              "av1-1-b10-00-quantizer-30.ivf"
-              "av1-1-b10-00-quantizer-30.ivf.md5"
-              "av1-1-b10-00-quantizer-31.ivf"
-              "av1-1-b10-00-quantizer-31.ivf.md5"
-              "av1-1-b10-00-quantizer-32.ivf"
-              "av1-1-b10-00-quantizer-32.ivf.md5"
-              "av1-1-b10-00-quantizer-33.ivf"
-              "av1-1-b10-00-quantizer-33.ivf.md5"
-              "av1-1-b10-00-quantizer-34.ivf"
-              "av1-1-b10-00-quantizer-34.ivf.md5"
-              "av1-1-b10-00-quantizer-35.ivf"
-              "av1-1-b10-00-quantizer-35.ivf.md5"
-              "av1-1-b10-00-quantizer-36.ivf"
-              "av1-1-b10-00-quantizer-36.ivf.md5"
-              "av1-1-b10-00-quantizer-37.ivf"
-              "av1-1-b10-00-quantizer-37.ivf.md5"
-              "av1-1-b10-00-quantizer-38.ivf"
-              "av1-1-b10-00-quantizer-38.ivf.md5"
-              "av1-1-b10-00-quantizer-39.ivf"
-              "av1-1-b10-00-quantizer-39.ivf.md5"
-              "av1-1-b10-00-quantizer-40.ivf"
-              "av1-1-b10-00-quantizer-40.ivf.md5"
-              "av1-1-b10-00-quantizer-41.ivf"
-              "av1-1-b10-00-quantizer-41.ivf.md5"
-              "av1-1-b10-00-quantizer-42.ivf"
-              "av1-1-b10-00-quantizer-42.ivf.md5"
-              "av1-1-b10-00-quantizer-43.ivf"
-              "av1-1-b10-00-quantizer-43.ivf.md5"
-              "av1-1-b10-00-quantizer-44.ivf"
-              "av1-1-b10-00-quantizer-44.ivf.md5"
-              "av1-1-b10-00-quantizer-45.ivf"
-              "av1-1-b10-00-quantizer-45.ivf.md5"
-              "av1-1-b10-00-quantizer-46.ivf"
-              "av1-1-b10-00-quantizer-46.ivf.md5"
-              "av1-1-b10-00-quantizer-47.ivf"
-              "av1-1-b10-00-quantizer-47.ivf.md5"
-              "av1-1-b10-00-quantizer-48.ivf"
-              "av1-1-b10-00-quantizer-48.ivf.md5"
-              "av1-1-b10-00-quantizer-49.ivf"
-              "av1-1-b10-00-quantizer-49.ivf.md5"
-              "av1-1-b10-00-quantizer-50.ivf"
-              "av1-1-b10-00-quantizer-50.ivf.md5"
-              "av1-1-b10-00-quantizer-51.ivf"
-              "av1-1-b10-00-quantizer-51.ivf.md5"
-              "av1-1-b10-00-quantizer-52.ivf"
-              "av1-1-b10-00-quantizer-52.ivf.md5"
-              "av1-1-b10-00-quantizer-53.ivf"
-              "av1-1-b10-00-quantizer-53.ivf.md5"
-              "av1-1-b10-00-quantizer-54.ivf"
-              "av1-1-b10-00-quantizer-54.ivf.md5"
-              "av1-1-b10-00-quantizer-55.ivf"
-              "av1-1-b10-00-quantizer-55.ivf.md5"
-              "av1-1-b10-00-quantizer-56.ivf"
-              "av1-1-b10-00-quantizer-56.ivf.md5"
-              "av1-1-b10-00-quantizer-57.ivf"
-              "av1-1-b10-00-quantizer-57.ivf.md5"
-              "av1-1-b10-00-quantizer-58.ivf"
-              "av1-1-b10-00-quantizer-58.ivf.md5"
-              "av1-1-b10-00-quantizer-59.ivf"
-              "av1-1-b10-00-quantizer-59.ivf.md5"
-              "av1-1-b10-00-quantizer-60.ivf"
-              "av1-1-b10-00-quantizer-60.ivf.md5"
-              "av1-1-b10-00-quantizer-61.ivf"
-              "av1-1-b10-00-quantizer-61.ivf.md5"
-              "av1-1-b10-00-quantizer-62.ivf"
-              "av1-1-b10-00-quantizer-62.ivf.md5"
-              "av1-1-b10-00-quantizer-63.ivf"
-              "av1-1-b10-00-quantizer-63.ivf.md5"
-              "av1-1-b10-23-film_grain-50.ivf"
-              "av1-1-b10-23-film_grain-50.ivf.md5"
-              "av1-1-b8-01-size-16x16.ivf"
-              "av1-1-b8-01-size-16x16.ivf.md5"
-              "av1-1-b8-01-size-16x18.ivf"
-              "av1-1-b8-01-size-16x18.ivf.md5"
-              "av1-1-b8-01-size-16x32.ivf"
-              "av1-1-b8-01-size-16x32.ivf.md5"
-              "av1-1-b8-01-size-16x34.ivf"
-              "av1-1-b8-01-size-16x34.ivf.md5"
-              "av1-1-b8-01-size-16x64.ivf"
-              "av1-1-b8-01-size-16x64.ivf.md5"
-              "av1-1-b8-01-size-16x66.ivf"
-              "av1-1-b8-01-size-16x66.ivf.md5"
-              "av1-1-b8-01-size-18x16.ivf"
-              "av1-1-b8-01-size-18x16.ivf.md5"
-              "av1-1-b8-01-size-18x18.ivf"
-              "av1-1-b8-01-size-18x18.ivf.md5"
-              "av1-1-b8-01-size-18x32.ivf"
-              "av1-1-b8-01-size-18x32.ivf.md5"
-              "av1-1-b8-01-size-18x34.ivf"
-              "av1-1-b8-01-size-18x34.ivf.md5"
-              "av1-1-b8-01-size-18x64.ivf"
-              "av1-1-b8-01-size-18x64.ivf.md5"
-              "av1-1-b8-01-size-18x66.ivf"
-              "av1-1-b8-01-size-18x66.ivf.md5"
-              "av1-1-b8-01-size-196x196.ivf"
-              "av1-1-b8-01-size-196x196.ivf.md5"
-              "av1-1-b8-01-size-196x198.ivf"
-              "av1-1-b8-01-size-196x198.ivf.md5"
-              "av1-1-b8-01-size-196x200.ivf"
-              "av1-1-b8-01-size-196x200.ivf.md5"
-              "av1-1-b8-01-size-196x202.ivf"
-              "av1-1-b8-01-size-196x202.ivf.md5"
-              "av1-1-b8-01-size-196x208.ivf"
-              "av1-1-b8-01-size-196x208.ivf.md5"
-              "av1-1-b8-01-size-196x210.ivf"
-              "av1-1-b8-01-size-196x210.ivf.md5"
-              "av1-1-b8-01-size-196x224.ivf"
-              "av1-1-b8-01-size-196x224.ivf.md5"
-              "av1-1-b8-01-size-196x226.ivf"
-              "av1-1-b8-01-size-196x226.ivf.md5"
-              "av1-1-b8-01-size-198x196.ivf"
-              "av1-1-b8-01-size-198x196.ivf.md5"
-              "av1-1-b8-01-size-198x198.ivf"
-              "av1-1-b8-01-size-198x198.ivf.md5"
-              "av1-1-b8-01-size-198x200.ivf"
-              "av1-1-b8-01-size-198x200.ivf.md5"
-              "av1-1-b8-01-size-198x202.ivf"
-              "av1-1-b8-01-size-198x202.ivf.md5"
-              "av1-1-b8-01-size-198x208.ivf"
-              "av1-1-b8-01-size-198x208.ivf.md5"
-              "av1-1-b8-01-size-198x210.ivf"
-              "av1-1-b8-01-size-198x210.ivf.md5"
-              "av1-1-b8-01-size-198x224.ivf"
-              "av1-1-b8-01-size-198x224.ivf.md5"
-              "av1-1-b8-01-size-198x226.ivf"
-              "av1-1-b8-01-size-198x226.ivf.md5"
-              "av1-1-b8-01-size-200x196.ivf"
-              "av1-1-b8-01-size-200x196.ivf.md5"
-              "av1-1-b8-01-size-200x198.ivf"
-              "av1-1-b8-01-size-200x198.ivf.md5"
-              "av1-1-b8-01-size-200x200.ivf"
-              "av1-1-b8-01-size-200x200.ivf.md5"
-              "av1-1-b8-01-size-200x202.ivf"
-              "av1-1-b8-01-size-200x202.ivf.md5"
-              "av1-1-b8-01-size-200x208.ivf"
-              "av1-1-b8-01-size-200x208.ivf.md5"
-              "av1-1-b8-01-size-200x210.ivf"
-              "av1-1-b8-01-size-200x210.ivf.md5"
-              "av1-1-b8-01-size-200x224.ivf"
-              "av1-1-b8-01-size-200x224.ivf.md5"
-              "av1-1-b8-01-size-200x226.ivf"
-              "av1-1-b8-01-size-200x226.ivf.md5"
-              "av1-1-b8-01-size-202x196.ivf"
-              "av1-1-b8-01-size-202x196.ivf.md5"
-              "av1-1-b8-01-size-202x198.ivf"
-              "av1-1-b8-01-size-202x198.ivf.md5"
-              "av1-1-b8-01-size-202x200.ivf"
-              "av1-1-b8-01-size-202x200.ivf.md5"
-              "av1-1-b8-01-size-202x202.ivf"
-              "av1-1-b8-01-size-202x202.ivf.md5"
-              "av1-1-b8-01-size-202x208.ivf"
-              "av1-1-b8-01-size-202x208.ivf.md5"
-              "av1-1-b8-01-size-202x210.ivf"
-              "av1-1-b8-01-size-202x210.ivf.md5"
-              "av1-1-b8-01-size-202x224.ivf"
-              "av1-1-b8-01-size-202x224.ivf.md5"
-              "av1-1-b8-01-size-202x226.ivf"
-              "av1-1-b8-01-size-202x226.ivf.md5"
-              "av1-1-b8-01-size-208x196.ivf"
-              "av1-1-b8-01-size-208x196.ivf.md5"
-              "av1-1-b8-01-size-208x198.ivf"
-              "av1-1-b8-01-size-208x198.ivf.md5"
-              "av1-1-b8-01-size-208x200.ivf"
-              "av1-1-b8-01-size-208x200.ivf.md5"
-              "av1-1-b8-01-size-208x202.ivf"
-              "av1-1-b8-01-size-208x202.ivf.md5"
-              "av1-1-b8-01-size-208x208.ivf"
-              "av1-1-b8-01-size-208x208.ivf.md5"
-              "av1-1-b8-01-size-208x210.ivf"
-              "av1-1-b8-01-size-208x210.ivf.md5"
-              "av1-1-b8-01-size-208x224.ivf"
-              "av1-1-b8-01-size-208x224.ivf.md5"
-              "av1-1-b8-01-size-208x226.ivf"
-              "av1-1-b8-01-size-208x226.ivf.md5"
-              "av1-1-b8-01-size-210x196.ivf"
-              "av1-1-b8-01-size-210x196.ivf.md5"
-              "av1-1-b8-01-size-210x198.ivf"
-              "av1-1-b8-01-size-210x198.ivf.md5"
-              "av1-1-b8-01-size-210x200.ivf"
-              "av1-1-b8-01-size-210x200.ivf.md5"
-              "av1-1-b8-01-size-210x202.ivf"
-              "av1-1-b8-01-size-210x202.ivf.md5"
-              "av1-1-b8-01-size-210x208.ivf"
-              "av1-1-b8-01-size-210x208.ivf.md5"
-              "av1-1-b8-01-size-210x210.ivf"
-              "av1-1-b8-01-size-210x210.ivf.md5"
-              "av1-1-b8-01-size-210x224.ivf"
-              "av1-1-b8-01-size-210x224.ivf.md5"
-              "av1-1-b8-01-size-210x226.ivf"
-              "av1-1-b8-01-size-210x226.ivf.md5"
-              "av1-1-b8-01-size-224x196.ivf"
-              "av1-1-b8-01-size-224x196.ivf.md5"
-              "av1-1-b8-01-size-224x198.ivf"
-              "av1-1-b8-01-size-224x198.ivf.md5"
-              "av1-1-b8-01-size-224x200.ivf"
-              "av1-1-b8-01-size-224x200.ivf.md5"
-              "av1-1-b8-01-size-224x202.ivf"
-              "av1-1-b8-01-size-224x202.ivf.md5"
-              "av1-1-b8-01-size-224x208.ivf"
-              "av1-1-b8-01-size-224x208.ivf.md5"
-              "av1-1-b8-01-size-224x210.ivf"
-              "av1-1-b8-01-size-224x210.ivf.md5"
-              "av1-1-b8-01-size-224x224.ivf"
-              "av1-1-b8-01-size-224x224.ivf.md5"
-              "av1-1-b8-01-size-224x226.ivf"
-              "av1-1-b8-01-size-224x226.ivf.md5"
-              "av1-1-b8-01-size-226x196.ivf"
-              "av1-1-b8-01-size-226x196.ivf.md5"
-              "av1-1-b8-01-size-226x198.ivf"
-              "av1-1-b8-01-size-226x198.ivf.md5"
-              "av1-1-b8-01-size-226x200.ivf"
-              "av1-1-b8-01-size-226x200.ivf.md5"
-              "av1-1-b8-01-size-226x202.ivf"
-              "av1-1-b8-01-size-226x202.ivf.md5"
-              "av1-1-b8-01-size-226x208.ivf"
-              "av1-1-b8-01-size-226x208.ivf.md5"
-              "av1-1-b8-01-size-226x210.ivf"
-              "av1-1-b8-01-size-226x210.ivf.md5"
-              "av1-1-b8-01-size-226x224.ivf"
-              "av1-1-b8-01-size-226x224.ivf.md5"
-              "av1-1-b8-01-size-226x226.ivf"
-              "av1-1-b8-01-size-226x226.ivf.md5"
-              "av1-1-b8-01-size-32x16.ivf"
-              "av1-1-b8-01-size-32x16.ivf.md5"
-              "av1-1-b8-01-size-32x18.ivf"
-              "av1-1-b8-01-size-32x18.ivf.md5"
-              "av1-1-b8-01-size-32x32.ivf"
-              "av1-1-b8-01-size-32x32.ivf.md5"
-              "av1-1-b8-01-size-32x34.ivf"
-              "av1-1-b8-01-size-32x34.ivf.md5"
-              "av1-1-b8-01-size-32x64.ivf"
-              "av1-1-b8-01-size-32x64.ivf.md5"
-              "av1-1-b8-01-size-32x66.ivf"
-              "av1-1-b8-01-size-32x66.ivf.md5"
-              "av1-1-b8-01-size-34x16.ivf"
-              "av1-1-b8-01-size-34x16.ivf.md5"
-              "av1-1-b8-01-size-34x18.ivf"
-              "av1-1-b8-01-size-34x18.ivf.md5"
-              "av1-1-b8-01-size-34x32.ivf"
-              "av1-1-b8-01-size-34x32.ivf.md5"
-              "av1-1-b8-01-size-34x34.ivf"
-              "av1-1-b8-01-size-34x34.ivf.md5"
-              "av1-1-b8-01-size-34x64.ivf"
-              "av1-1-b8-01-size-34x64.ivf.md5"
-              "av1-1-b8-01-size-34x66.ivf"
-              "av1-1-b8-01-size-34x66.ivf.md5"
-              "av1-1-b8-01-size-64x16.ivf"
-              "av1-1-b8-01-size-64x16.ivf.md5"
-              "av1-1-b8-01-size-64x18.ivf"
-              "av1-1-b8-01-size-64x18.ivf.md5"
-              "av1-1-b8-01-size-64x32.ivf"
-              "av1-1-b8-01-size-64x32.ivf.md5"
-              "av1-1-b8-01-size-64x34.ivf"
-              "av1-1-b8-01-size-64x34.ivf.md5"
-              "av1-1-b8-01-size-64x64.ivf"
-              "av1-1-b8-01-size-64x64.ivf.md5"
-              "av1-1-b8-01-size-64x66.ivf"
-              "av1-1-b8-01-size-64x66.ivf.md5"
-              "av1-1-b8-01-size-66x16.ivf"
-              "av1-1-b8-01-size-66x16.ivf.md5"
-              "av1-1-b8-01-size-66x18.ivf"
-              "av1-1-b8-01-size-66x18.ivf.md5"
-              "av1-1-b8-01-size-66x32.ivf"
-              "av1-1-b8-01-size-66x32.ivf.md5"
-              "av1-1-b8-01-size-66x34.ivf"
-              "av1-1-b8-01-size-66x34.ivf.md5"
-              "av1-1-b8-01-size-66x64.ivf"
-              "av1-1-b8-01-size-66x64.ivf.md5"
-              "av1-1-b8-01-size-66x66.ivf"
-              "av1-1-b8-01-size-66x66.ivf.md5"
-              "av1-1-b8-02-allintra.ivf"
-              "av1-1-b8-02-allintra.ivf.md5"
-              "av1-1-b8-03-sizeup.mkv"
-              "av1-1-b8-03-sizeup.mkv.md5"
-              "av1-1-b8-03-sizedown.mkv"
-              "av1-1-b8-03-sizedown.mkv.md5"
-              "av1-1-b8-04-cdfupdate.ivf"
-              "av1-1-b8-04-cdfupdate.ivf.md5"
-              "av1-1-b8-05-mv.ivf"
-              "av1-1-b8-05-mv.ivf.md5"
-              "av1-1-b8-06-mfmv.ivf"
-              "av1-1-b8-06-mfmv.ivf.md5"
-              "av1-1-b8-22-svc-L2T1.ivf"
-              "av1-1-b8-22-svc-L2T1.ivf.md5"
-              "av1-1-b8-22-svc-L1T2.ivf"
-              "av1-1-b8-22-svc-L1T2.ivf.md5"
-              "av1-1-b8-22-svc-L2T2.ivf"
-              "av1-1-b8-22-svc-L2T2.ivf.md5"
-              "av1-1-b8-23-film_grain-50.ivf"
-              "av1-1-b8-23-film_grain-50.ivf.md5"
-              "invalid-bug-1814.ivf"
-              "invalid-bug-1814.ivf.res"
-              "invalid-chromium-906381.ivf"
-              "invalid-chromium-906381.ivf.res"
-              "invalid-google-142530197-1.ivf"
-              "invalid-google-142530197-1.ivf.res"
-              "invalid-google-142530197.ivf"
-              "invalid-google-142530197.ivf.res"
-              "invalid-oss-fuzz-10061.ivf"
-              "invalid-oss-fuzz-10061.ivf.res"
-              "invalid-oss-fuzz-10117-mc-buf-use-highbd.ivf"
-              "invalid-oss-fuzz-10117-mc-buf-use-highbd.ivf.res"
-              "invalid-oss-fuzz-10227.ivf"
-              "invalid-oss-fuzz-10227.ivf.res"
-              "invalid-oss-fuzz-10389.ivf"
-              "invalid-oss-fuzz-10389.ivf.res"
-              "invalid-oss-fuzz-10389.ivf.res.2"
-              "invalid-oss-fuzz-10555.ivf"
-              "invalid-oss-fuzz-10555.ivf.res"
-              "invalid-oss-fuzz-10705.ivf"
-              "invalid-oss-fuzz-10705.ivf.res"
-              "invalid-oss-fuzz-10723.ivf"
-              "invalid-oss-fuzz-10723.ivf.res"
-              "invalid-oss-fuzz-10723.ivf.res.2"
-              "invalid-oss-fuzz-10779.ivf"
-              "invalid-oss-fuzz-10779.ivf.res"
-              "invalid-oss-fuzz-11477.ivf"
-              "invalid-oss-fuzz-11477.ivf.res"
-              "invalid-oss-fuzz-11479.ivf"
-              "invalid-oss-fuzz-11479.ivf.res"
-              "invalid-oss-fuzz-11479.ivf.res.2"
-              "invalid-oss-fuzz-11523.ivf"
-              "invalid-oss-fuzz-11523.ivf.res"
-              "invalid-oss-fuzz-11523.ivf.res.2"
-              "invalid-oss-fuzz-15363.ivf"
-              "invalid-oss-fuzz-15363.ivf.res"
-              "invalid-oss-fuzz-16437.ivf"
-              "invalid-oss-fuzz-16437.ivf.res"
-              "invalid-oss-fuzz-9288.ivf"
-              "invalid-oss-fuzz-9288.ivf.res"
-              "invalid-oss-fuzz-9463.ivf"
-              "invalid-oss-fuzz-9463.ivf.res"
-              "invalid-oss-fuzz-9463.ivf.res.2"
-              "invalid-oss-fuzz-9482.ivf"
-              "invalid-oss-fuzz-9482.ivf.res"
-              "invalid-oss-fuzz-9720.ivf"
-              "invalid-oss-fuzz-9720.ivf.res")
+  list(
+    APPEND
+    AOM_TEST_DATA_FILE_NAMES
+    "av1-1-b8-00-quantizer-00.ivf"
+    "av1-1-b8-00-quantizer-00.ivf.md5"
+    "av1-1-b8-00-quantizer-01.ivf"
+    "av1-1-b8-00-quantizer-01.ivf.md5"
+    "av1-1-b8-00-quantizer-02.ivf"
+    "av1-1-b8-00-quantizer-02.ivf.md5"
+    "av1-1-b8-00-quantizer-03.ivf"
+    "av1-1-b8-00-quantizer-03.ivf.md5"
+    "av1-1-b8-00-quantizer-04.ivf"
+    "av1-1-b8-00-quantizer-04.ivf.md5"
+    "av1-1-b8-00-quantizer-05.ivf"
+    "av1-1-b8-00-quantizer-05.ivf.md5"
+    "av1-1-b8-00-quantizer-06.ivf"
+    "av1-1-b8-00-quantizer-06.ivf.md5"
+    "av1-1-b8-00-quantizer-07.ivf"
+    "av1-1-b8-00-quantizer-07.ivf.md5"
+    "av1-1-b8-00-quantizer-08.ivf"
+    "av1-1-b8-00-quantizer-08.ivf.md5"
+    "av1-1-b8-00-quantizer-09.ivf"
+    "av1-1-b8-00-quantizer-09.ivf.md5"
+    "av1-1-b8-00-quantizer-10.ivf"
+    "av1-1-b8-00-quantizer-10.ivf.md5"
+    "av1-1-b8-00-quantizer-11.ivf"
+    "av1-1-b8-00-quantizer-11.ivf.md5"
+    "av1-1-b8-00-quantizer-12.ivf"
+    "av1-1-b8-00-quantizer-12.ivf.md5"
+    "av1-1-b8-00-quantizer-13.ivf"
+    "av1-1-b8-00-quantizer-13.ivf.md5"
+    "av1-1-b8-00-quantizer-14.ivf"
+    "av1-1-b8-00-quantizer-14.ivf.md5"
+    "av1-1-b8-00-quantizer-15.ivf"
+    "av1-1-b8-00-quantizer-15.ivf.md5"
+    "av1-1-b8-00-quantizer-16.ivf"
+    "av1-1-b8-00-quantizer-16.ivf.md5"
+    "av1-1-b8-00-quantizer-17.ivf"
+    "av1-1-b8-00-quantizer-17.ivf.md5"
+    "av1-1-b8-00-quantizer-18.ivf"
+    "av1-1-b8-00-quantizer-18.ivf.md5"
+    "av1-1-b8-00-quantizer-19.ivf"
+    "av1-1-b8-00-quantizer-19.ivf.md5"
+    "av1-1-b8-00-quantizer-20.ivf"
+    "av1-1-b8-00-quantizer-20.ivf.md5"
+    "av1-1-b8-00-quantizer-21.ivf"
+    "av1-1-b8-00-quantizer-21.ivf.md5"
+    "av1-1-b8-00-quantizer-22.ivf"
+    "av1-1-b8-00-quantizer-22.ivf.md5"
+    "av1-1-b8-00-quantizer-23.ivf"
+    "av1-1-b8-00-quantizer-23.ivf.md5"
+    "av1-1-b8-00-quantizer-24.ivf"
+    "av1-1-b8-00-quantizer-24.ivf.md5"
+    "av1-1-b8-00-quantizer-25.ivf"
+    "av1-1-b8-00-quantizer-25.ivf.md5"
+    "av1-1-b8-00-quantizer-26.ivf"
+    "av1-1-b8-00-quantizer-26.ivf.md5"
+    "av1-1-b8-00-quantizer-27.ivf"
+    "av1-1-b8-00-quantizer-27.ivf.md5"
+    "av1-1-b8-00-quantizer-28.ivf"
+    "av1-1-b8-00-quantizer-28.ivf.md5"
+    "av1-1-b8-00-quantizer-29.ivf"
+    "av1-1-b8-00-quantizer-29.ivf.md5"
+    "av1-1-b8-00-quantizer-30.ivf"
+    "av1-1-b8-00-quantizer-30.ivf.md5"
+    "av1-1-b8-00-quantizer-31.ivf"
+    "av1-1-b8-00-quantizer-31.ivf.md5"
+    "av1-1-b8-00-quantizer-32.ivf"
+    "av1-1-b8-00-quantizer-32.ivf.md5"
+    "av1-1-b8-00-quantizer-33.ivf"
+    "av1-1-b8-00-quantizer-33.ivf.md5"
+    "av1-1-b8-00-quantizer-34.ivf"
+    "av1-1-b8-00-quantizer-34.ivf.md5"
+    "av1-1-b8-00-quantizer-35.ivf"
+    "av1-1-b8-00-quantizer-35.ivf.md5"
+    "av1-1-b8-00-quantizer-36.ivf"
+    "av1-1-b8-00-quantizer-36.ivf.md5"
+    "av1-1-b8-00-quantizer-37.ivf"
+    "av1-1-b8-00-quantizer-37.ivf.md5"
+    "av1-1-b8-00-quantizer-38.ivf"
+    "av1-1-b8-00-quantizer-38.ivf.md5"
+    "av1-1-b8-00-quantizer-39.ivf"
+    "av1-1-b8-00-quantizer-39.ivf.md5"
+    "av1-1-b8-00-quantizer-40.ivf"
+    "av1-1-b8-00-quantizer-40.ivf.md5"
+    "av1-1-b8-00-quantizer-41.ivf"
+    "av1-1-b8-00-quantizer-41.ivf.md5"
+    "av1-1-b8-00-quantizer-42.ivf"
+    "av1-1-b8-00-quantizer-42.ivf.md5"
+    "av1-1-b8-00-quantizer-43.ivf"
+    "av1-1-b8-00-quantizer-43.ivf.md5"
+    "av1-1-b8-00-quantizer-44.ivf"
+    "av1-1-b8-00-quantizer-44.ivf.md5"
+    "av1-1-b8-00-quantizer-45.ivf"
+    "av1-1-b8-00-quantizer-45.ivf.md5"
+    "av1-1-b8-00-quantizer-46.ivf"
+    "av1-1-b8-00-quantizer-46.ivf.md5"
+    "av1-1-b8-00-quantizer-47.ivf"
+    "av1-1-b8-00-quantizer-47.ivf.md5"
+    "av1-1-b8-00-quantizer-48.ivf"
+    "av1-1-b8-00-quantizer-48.ivf.md5"
+    "av1-1-b8-00-quantizer-49.ivf"
+    "av1-1-b8-00-quantizer-49.ivf.md5"
+    "av1-1-b8-00-quantizer-50.ivf"
+    "av1-1-b8-00-quantizer-50.ivf.md5"
+    "av1-1-b8-00-quantizer-51.ivf"
+    "av1-1-b8-00-quantizer-51.ivf.md5"
+    "av1-1-b8-00-quantizer-52.ivf"
+    "av1-1-b8-00-quantizer-52.ivf.md5"
+    "av1-1-b8-00-quantizer-53.ivf"
+    "av1-1-b8-00-quantizer-53.ivf.md5"
+    "av1-1-b8-00-quantizer-54.ivf"
+    "av1-1-b8-00-quantizer-54.ivf.md5"
+    "av1-1-b8-00-quantizer-55.ivf"
+    "av1-1-b8-00-quantizer-55.ivf.md5"
+    "av1-1-b8-00-quantizer-56.ivf"
+    "av1-1-b8-00-quantizer-56.ivf.md5"
+    "av1-1-b8-00-quantizer-57.ivf"
+    "av1-1-b8-00-quantizer-57.ivf.md5"
+    "av1-1-b8-00-quantizer-58.ivf"
+    "av1-1-b8-00-quantizer-58.ivf.md5"
+    "av1-1-b8-00-quantizer-59.ivf"
+    "av1-1-b8-00-quantizer-59.ivf.md5"
+    "av1-1-b8-00-quantizer-60.ivf"
+    "av1-1-b8-00-quantizer-60.ivf.md5"
+    "av1-1-b8-00-quantizer-61.ivf"
+    "av1-1-b8-00-quantizer-61.ivf.md5"
+    "av1-1-b8-00-quantizer-62.ivf"
+    "av1-1-b8-00-quantizer-62.ivf.md5"
+    "av1-1-b8-00-quantizer-63.ivf"
+    "av1-1-b8-00-quantizer-63.ivf.md5"
+    "av1-1-b10-00-quantizer-00.ivf"
+    "av1-1-b10-00-quantizer-00.ivf.md5"
+    "av1-1-b10-00-quantizer-01.ivf"
+    "av1-1-b10-00-quantizer-01.ivf.md5"
+    "av1-1-b10-00-quantizer-02.ivf"
+    "av1-1-b10-00-quantizer-02.ivf.md5"
+    "av1-1-b10-00-quantizer-03.ivf"
+    "av1-1-b10-00-quantizer-03.ivf.md5"
+    "av1-1-b10-00-quantizer-04.ivf"
+    "av1-1-b10-00-quantizer-04.ivf.md5"
+    "av1-1-b10-00-quantizer-05.ivf"
+    "av1-1-b10-00-quantizer-05.ivf.md5"
+    "av1-1-b10-00-quantizer-06.ivf"
+    "av1-1-b10-00-quantizer-06.ivf.md5"
+    "av1-1-b10-00-quantizer-07.ivf"
+    "av1-1-b10-00-quantizer-07.ivf.md5"
+    "av1-1-b10-00-quantizer-08.ivf"
+    "av1-1-b10-00-quantizer-08.ivf.md5"
+    "av1-1-b10-00-quantizer-09.ivf"
+    "av1-1-b10-00-quantizer-09.ivf.md5"
+    "av1-1-b10-00-quantizer-10.ivf"
+    "av1-1-b10-00-quantizer-10.ivf.md5"
+    "av1-1-b10-00-quantizer-11.ivf"
+    "av1-1-b10-00-quantizer-11.ivf.md5"
+    "av1-1-b10-00-quantizer-12.ivf"
+    "av1-1-b10-00-quantizer-12.ivf.md5"
+    "av1-1-b10-00-quantizer-13.ivf"
+    "av1-1-b10-00-quantizer-13.ivf.md5"
+    "av1-1-b10-00-quantizer-14.ivf"
+    "av1-1-b10-00-quantizer-14.ivf.md5"
+    "av1-1-b10-00-quantizer-15.ivf"
+    "av1-1-b10-00-quantizer-15.ivf.md5"
+    "av1-1-b10-00-quantizer-16.ivf"
+    "av1-1-b10-00-quantizer-16.ivf.md5"
+    "av1-1-b10-00-quantizer-17.ivf"
+    "av1-1-b10-00-quantizer-17.ivf.md5"
+    "av1-1-b10-00-quantizer-18.ivf"
+    "av1-1-b10-00-quantizer-18.ivf.md5"
+    "av1-1-b10-00-quantizer-19.ivf"
+    "av1-1-b10-00-quantizer-19.ivf.md5"
+    "av1-1-b10-00-quantizer-20.ivf"
+    "av1-1-b10-00-quantizer-20.ivf.md5"
+    "av1-1-b10-00-quantizer-21.ivf"
+    "av1-1-b10-00-quantizer-21.ivf.md5"
+    "av1-1-b10-00-quantizer-22.ivf"
+    "av1-1-b10-00-quantizer-22.ivf.md5"
+    "av1-1-b10-00-quantizer-23.ivf"
+    "av1-1-b10-00-quantizer-23.ivf.md5"
+    "av1-1-b10-00-quantizer-24.ivf"
+    "av1-1-b10-00-quantizer-24.ivf.md5"
+    "av1-1-b10-00-quantizer-25.ivf"
+    "av1-1-b10-00-quantizer-25.ivf.md5"
+    "av1-1-b10-00-quantizer-26.ivf"
+    "av1-1-b10-00-quantizer-26.ivf.md5"
+    "av1-1-b10-00-quantizer-27.ivf"
+    "av1-1-b10-00-quantizer-27.ivf.md5"
+    "av1-1-b10-00-quantizer-28.ivf"
+    "av1-1-b10-00-quantizer-28.ivf.md5"
+    "av1-1-b10-00-quantizer-29.ivf"
+    "av1-1-b10-00-quantizer-29.ivf.md5"
+    "av1-1-b10-00-quantizer-30.ivf"
+    "av1-1-b10-00-quantizer-30.ivf.md5"
+    "av1-1-b10-00-quantizer-31.ivf"
+    "av1-1-b10-00-quantizer-31.ivf.md5"
+    "av1-1-b10-00-quantizer-32.ivf"
+    "av1-1-b10-00-quantizer-32.ivf.md5"
+    "av1-1-b10-00-quantizer-33.ivf"
+    "av1-1-b10-00-quantizer-33.ivf.md5"
+    "av1-1-b10-00-quantizer-34.ivf"
+    "av1-1-b10-00-quantizer-34.ivf.md5"
+    "av1-1-b10-00-quantizer-35.ivf"
+    "av1-1-b10-00-quantizer-35.ivf.md5"
+    "av1-1-b10-00-quantizer-36.ivf"
+    "av1-1-b10-00-quantizer-36.ivf.md5"
+    "av1-1-b10-00-quantizer-37.ivf"
+    "av1-1-b10-00-quantizer-37.ivf.md5"
+    "av1-1-b10-00-quantizer-38.ivf"
+    "av1-1-b10-00-quantizer-38.ivf.md5"
+    "av1-1-b10-00-quantizer-39.ivf"
+    "av1-1-b10-00-quantizer-39.ivf.md5"
+    "av1-1-b10-00-quantizer-40.ivf"
+    "av1-1-b10-00-quantizer-40.ivf.md5"
+    "av1-1-b10-00-quantizer-41.ivf"
+    "av1-1-b10-00-quantizer-41.ivf.md5"
+    "av1-1-b10-00-quantizer-42.ivf"
+    "av1-1-b10-00-quantizer-42.ivf.md5"
+    "av1-1-b10-00-quantizer-43.ivf"
+    "av1-1-b10-00-quantizer-43.ivf.md5"
+    "av1-1-b10-00-quantizer-44.ivf"
+    "av1-1-b10-00-quantizer-44.ivf.md5"
+    "av1-1-b10-00-quantizer-45.ivf"
+    "av1-1-b10-00-quantizer-45.ivf.md5"
+    "av1-1-b10-00-quantizer-46.ivf"
+    "av1-1-b10-00-quantizer-46.ivf.md5"
+    "av1-1-b10-00-quantizer-47.ivf"
+    "av1-1-b10-00-quantizer-47.ivf.md5"
+    "av1-1-b10-00-quantizer-48.ivf"
+    "av1-1-b10-00-quantizer-48.ivf.md5"
+    "av1-1-b10-00-quantizer-49.ivf"
+    "av1-1-b10-00-quantizer-49.ivf.md5"
+    "av1-1-b10-00-quantizer-50.ivf"
+    "av1-1-b10-00-quantizer-50.ivf.md5"
+    "av1-1-b10-00-quantizer-51.ivf"
+    "av1-1-b10-00-quantizer-51.ivf.md5"
+    "av1-1-b10-00-quantizer-52.ivf"
+    "av1-1-b10-00-quantizer-52.ivf.md5"
+    "av1-1-b10-00-quantizer-53.ivf"
+    "av1-1-b10-00-quantizer-53.ivf.md5"
+    "av1-1-b10-00-quantizer-54.ivf"
+    "av1-1-b10-00-quantizer-54.ivf.md5"
+    "av1-1-b10-00-quantizer-55.ivf"
+    "av1-1-b10-00-quantizer-55.ivf.md5"
+    "av1-1-b10-00-quantizer-56.ivf"
+    "av1-1-b10-00-quantizer-56.ivf.md5"
+    "av1-1-b10-00-quantizer-57.ivf"
+    "av1-1-b10-00-quantizer-57.ivf.md5"
+    "av1-1-b10-00-quantizer-58.ivf"
+    "av1-1-b10-00-quantizer-58.ivf.md5"
+    "av1-1-b10-00-quantizer-59.ivf"
+    "av1-1-b10-00-quantizer-59.ivf.md5"
+    "av1-1-b10-00-quantizer-60.ivf"
+    "av1-1-b10-00-quantizer-60.ivf.md5"
+    "av1-1-b10-00-quantizer-61.ivf"
+    "av1-1-b10-00-quantizer-61.ivf.md5"
+    "av1-1-b10-00-quantizer-62.ivf"
+    "av1-1-b10-00-quantizer-62.ivf.md5"
+    "av1-1-b10-00-quantizer-63.ivf"
+    "av1-1-b10-00-quantizer-63.ivf.md5"
+    "av1-1-b10-23-film_grain-50.ivf"
+    "av1-1-b10-23-film_grain-50.ivf.md5"
+    "av1-1-b8-01-size-16x16.ivf"
+    "av1-1-b8-01-size-16x16.ivf.md5"
+    "av1-1-b8-01-size-16x18.ivf"
+    "av1-1-b8-01-size-16x18.ivf.md5"
+    "av1-1-b8-01-size-16x32.ivf"
+    "av1-1-b8-01-size-16x32.ivf.md5"
+    "av1-1-b8-01-size-16x34.ivf"
+    "av1-1-b8-01-size-16x34.ivf.md5"
+    "av1-1-b8-01-size-16x64.ivf"
+    "av1-1-b8-01-size-16x64.ivf.md5"
+    "av1-1-b8-01-size-16x66.ivf"
+    "av1-1-b8-01-size-16x66.ivf.md5"
+    "av1-1-b8-01-size-18x16.ivf"
+    "av1-1-b8-01-size-18x16.ivf.md5"
+    "av1-1-b8-01-size-18x18.ivf"
+    "av1-1-b8-01-size-18x18.ivf.md5"
+    "av1-1-b8-01-size-18x32.ivf"
+    "av1-1-b8-01-size-18x32.ivf.md5"
+    "av1-1-b8-01-size-18x34.ivf"
+    "av1-1-b8-01-size-18x34.ivf.md5"
+    "av1-1-b8-01-size-18x64.ivf"
+    "av1-1-b8-01-size-18x64.ivf.md5"
+    "av1-1-b8-01-size-18x66.ivf"
+    "av1-1-b8-01-size-18x66.ivf.md5"
+    "av1-1-b8-01-size-196x196.ivf"
+    "av1-1-b8-01-size-196x196.ivf.md5"
+    "av1-1-b8-01-size-196x198.ivf"
+    "av1-1-b8-01-size-196x198.ivf.md5"
+    "av1-1-b8-01-size-196x200.ivf"
+    "av1-1-b8-01-size-196x200.ivf.md5"
+    "av1-1-b8-01-size-196x202.ivf"
+    "av1-1-b8-01-size-196x202.ivf.md5"
+    "av1-1-b8-01-size-196x208.ivf"
+    "av1-1-b8-01-size-196x208.ivf.md5"
+    "av1-1-b8-01-size-196x210.ivf"
+    "av1-1-b8-01-size-196x210.ivf.md5"
+    "av1-1-b8-01-size-196x224.ivf"
+    "av1-1-b8-01-size-196x224.ivf.md5"
+    "av1-1-b8-01-size-196x226.ivf"
+    "av1-1-b8-01-size-196x226.ivf.md5"
+    "av1-1-b8-01-size-198x196.ivf"
+    "av1-1-b8-01-size-198x196.ivf.md5"
+    "av1-1-b8-01-size-198x198.ivf"
+    "av1-1-b8-01-size-198x198.ivf.md5"
+    "av1-1-b8-01-size-198x200.ivf"
+    "av1-1-b8-01-size-198x200.ivf.md5"
+    "av1-1-b8-01-size-198x202.ivf"
+    "av1-1-b8-01-size-198x202.ivf.md5"
+    "av1-1-b8-01-size-198x208.ivf"
+    "av1-1-b8-01-size-198x208.ivf.md5"
+    "av1-1-b8-01-size-198x210.ivf"
+    "av1-1-b8-01-size-198x210.ivf.md5"
+    "av1-1-b8-01-size-198x224.ivf"
+    "av1-1-b8-01-size-198x224.ivf.md5"
+    "av1-1-b8-01-size-198x226.ivf"
+    "av1-1-b8-01-size-198x226.ivf.md5"
+    "av1-1-b8-01-size-200x196.ivf"
+    "av1-1-b8-01-size-200x196.ivf.md5"
+    "av1-1-b8-01-size-200x198.ivf"
+    "av1-1-b8-01-size-200x198.ivf.md5"
+    "av1-1-b8-01-size-200x200.ivf"
+    "av1-1-b8-01-size-200x200.ivf.md5"
+    "av1-1-b8-01-size-200x202.ivf"
+    "av1-1-b8-01-size-200x202.ivf.md5"
+    "av1-1-b8-01-size-200x208.ivf"
+    "av1-1-b8-01-size-200x208.ivf.md5"
+    "av1-1-b8-01-size-200x210.ivf"
+    "av1-1-b8-01-size-200x210.ivf.md5"
+    "av1-1-b8-01-size-200x224.ivf"
+    "av1-1-b8-01-size-200x224.ivf.md5"
+    "av1-1-b8-01-size-200x226.ivf"
+    "av1-1-b8-01-size-200x226.ivf.md5"
+    "av1-1-b8-01-size-202x196.ivf"
+    "av1-1-b8-01-size-202x196.ivf.md5"
+    "av1-1-b8-01-size-202x198.ivf"
+    "av1-1-b8-01-size-202x198.ivf.md5"
+    "av1-1-b8-01-size-202x200.ivf"
+    "av1-1-b8-01-size-202x200.ivf.md5"
+    "av1-1-b8-01-size-202x202.ivf"
+    "av1-1-b8-01-size-202x202.ivf.md5"
+    "av1-1-b8-01-size-202x208.ivf"
+    "av1-1-b8-01-size-202x208.ivf.md5"
+    "av1-1-b8-01-size-202x210.ivf"
+    "av1-1-b8-01-size-202x210.ivf.md5"
+    "av1-1-b8-01-size-202x224.ivf"
+    "av1-1-b8-01-size-202x224.ivf.md5"
+    "av1-1-b8-01-size-202x226.ivf"
+    "av1-1-b8-01-size-202x226.ivf.md5"
+    "av1-1-b8-01-size-208x196.ivf"
+    "av1-1-b8-01-size-208x196.ivf.md5"
+    "av1-1-b8-01-size-208x198.ivf"
+    "av1-1-b8-01-size-208x198.ivf.md5"
+    "av1-1-b8-01-size-208x200.ivf"
+    "av1-1-b8-01-size-208x200.ivf.md5"
+    "av1-1-b8-01-size-208x202.ivf"
+    "av1-1-b8-01-size-208x202.ivf.md5"
+    "av1-1-b8-01-size-208x208.ivf"
+    "av1-1-b8-01-size-208x208.ivf.md5"
+    "av1-1-b8-01-size-208x210.ivf"
+    "av1-1-b8-01-size-208x210.ivf.md5"
+    "av1-1-b8-01-size-208x224.ivf"
+    "av1-1-b8-01-size-208x224.ivf.md5"
+    "av1-1-b8-01-size-208x226.ivf"
+    "av1-1-b8-01-size-208x226.ivf.md5"
+    "av1-1-b8-01-size-210x196.ivf"
+    "av1-1-b8-01-size-210x196.ivf.md5"
+    "av1-1-b8-01-size-210x198.ivf"
+    "av1-1-b8-01-size-210x198.ivf.md5"
+    "av1-1-b8-01-size-210x200.ivf"
+    "av1-1-b8-01-size-210x200.ivf.md5"
+    "av1-1-b8-01-size-210x202.ivf"
+    "av1-1-b8-01-size-210x202.ivf.md5"
+    "av1-1-b8-01-size-210x208.ivf"
+    "av1-1-b8-01-size-210x208.ivf.md5"
+    "av1-1-b8-01-size-210x210.ivf"
+    "av1-1-b8-01-size-210x210.ivf.md5"
+    "av1-1-b8-01-size-210x224.ivf"
+    "av1-1-b8-01-size-210x224.ivf.md5"
+    "av1-1-b8-01-size-210x226.ivf"
+    "av1-1-b8-01-size-210x226.ivf.md5"
+    "av1-1-b8-01-size-224x196.ivf"
+    "av1-1-b8-01-size-224x196.ivf.md5"
+    "av1-1-b8-01-size-224x198.ivf"
+    "av1-1-b8-01-size-224x198.ivf.md5"
+    "av1-1-b8-01-size-224x200.ivf"
+    "av1-1-b8-01-size-224x200.ivf.md5"
+    "av1-1-b8-01-size-224x202.ivf"
+    "av1-1-b8-01-size-224x202.ivf.md5"
+    "av1-1-b8-01-size-224x208.ivf"
+    "av1-1-b8-01-size-224x208.ivf.md5"
+    "av1-1-b8-01-size-224x210.ivf"
+    "av1-1-b8-01-size-224x210.ivf.md5"
+    "av1-1-b8-01-size-224x224.ivf"
+    "av1-1-b8-01-size-224x224.ivf.md5"
+    "av1-1-b8-01-size-224x226.ivf"
+    "av1-1-b8-01-size-224x226.ivf.md5"
+    "av1-1-b8-01-size-226x196.ivf"
+    "av1-1-b8-01-size-226x196.ivf.md5"
+    "av1-1-b8-01-size-226x198.ivf"
+    "av1-1-b8-01-size-226x198.ivf.md5"
+    "av1-1-b8-01-size-226x200.ivf"
+    "av1-1-b8-01-size-226x200.ivf.md5"
+    "av1-1-b8-01-size-226x202.ivf"
+    "av1-1-b8-01-size-226x202.ivf.md5"
+    "av1-1-b8-01-size-226x208.ivf"
+    "av1-1-b8-01-size-226x208.ivf.md5"
+    "av1-1-b8-01-size-226x210.ivf"
+    "av1-1-b8-01-size-226x210.ivf.md5"
+    "av1-1-b8-01-size-226x224.ivf"
+    "av1-1-b8-01-size-226x224.ivf.md5"
+    "av1-1-b8-01-size-226x226.ivf"
+    "av1-1-b8-01-size-226x226.ivf.md5"
+    "av1-1-b8-01-size-32x16.ivf"
+    "av1-1-b8-01-size-32x16.ivf.md5"
+    "av1-1-b8-01-size-32x18.ivf"
+    "av1-1-b8-01-size-32x18.ivf.md5"
+    "av1-1-b8-01-size-32x32.ivf"
+    "av1-1-b8-01-size-32x32.ivf.md5"
+    "av1-1-b8-01-size-32x34.ivf"
+    "av1-1-b8-01-size-32x34.ivf.md5"
+    "av1-1-b8-01-size-32x64.ivf"
+    "av1-1-b8-01-size-32x64.ivf.md5"
+    "av1-1-b8-01-size-32x66.ivf"
+    "av1-1-b8-01-size-32x66.ivf.md5"
+    "av1-1-b8-01-size-34x16.ivf"
+    "av1-1-b8-01-size-34x16.ivf.md5"
+    "av1-1-b8-01-size-34x18.ivf"
+    "av1-1-b8-01-size-34x18.ivf.md5"
+    "av1-1-b8-01-size-34x32.ivf"
+    "av1-1-b8-01-size-34x32.ivf.md5"
+    "av1-1-b8-01-size-34x34.ivf"
+    "av1-1-b8-01-size-34x34.ivf.md5"
+    "av1-1-b8-01-size-34x64.ivf"
+    "av1-1-b8-01-size-34x64.ivf.md5"
+    "av1-1-b8-01-size-34x66.ivf"
+    "av1-1-b8-01-size-34x66.ivf.md5"
+    "av1-1-b8-01-size-64x16.ivf"
+    "av1-1-b8-01-size-64x16.ivf.md5"
+    "av1-1-b8-01-size-64x18.ivf"
+    "av1-1-b8-01-size-64x18.ivf.md5"
+    "av1-1-b8-01-size-64x32.ivf"
+    "av1-1-b8-01-size-64x32.ivf.md5"
+    "av1-1-b8-01-size-64x34.ivf"
+    "av1-1-b8-01-size-64x34.ivf.md5"
+    "av1-1-b8-01-size-64x64.ivf"
+    "av1-1-b8-01-size-64x64.ivf.md5"
+    "av1-1-b8-01-size-64x66.ivf"
+    "av1-1-b8-01-size-64x66.ivf.md5"
+    "av1-1-b8-01-size-66x16.ivf"
+    "av1-1-b8-01-size-66x16.ivf.md5"
+    "av1-1-b8-01-size-66x18.ivf"
+    "av1-1-b8-01-size-66x18.ivf.md5"
+    "av1-1-b8-01-size-66x32.ivf"
+    "av1-1-b8-01-size-66x32.ivf.md5"
+    "av1-1-b8-01-size-66x34.ivf"
+    "av1-1-b8-01-size-66x34.ivf.md5"
+    "av1-1-b8-01-size-66x64.ivf"
+    "av1-1-b8-01-size-66x64.ivf.md5"
+    "av1-1-b8-01-size-66x66.ivf"
+    "av1-1-b8-01-size-66x66.ivf.md5"
+    "av1-1-b8-02-allintra.ivf"
+    "av1-1-b8-02-allintra.ivf.md5"
+    "av1-1-b8-03-sizeup.mkv"
+    "av1-1-b8-03-sizeup.mkv.md5"
+    "av1-1-b8-03-sizedown.mkv"
+    "av1-1-b8-03-sizedown.mkv.md5"
+    "av1-1-b8-04-cdfupdate.ivf"
+    "av1-1-b8-04-cdfupdate.ivf.md5"
+    "av1-1-b8-05-mv.ivf"
+    "av1-1-b8-05-mv.ivf.md5"
+    "av1-1-b8-06-mfmv.ivf"
+    "av1-1-b8-06-mfmv.ivf.md5"
+    "av1-1-b8-22-svc-L2T1.ivf"
+    "av1-1-b8-22-svc-L2T1.ivf.md5"
+    "av1-1-b8-22-svc-L1T2.ivf"
+    "av1-1-b8-22-svc-L1T2.ivf.md5"
+    "av1-1-b8-22-svc-L2T2.ivf"
+    "av1-1-b8-22-svc-L2T2.ivf.md5"
+    "av1-1-b8-23-film_grain-50.ivf"
+    "av1-1-b8-23-film_grain-50.ivf.md5"
+    "invalid-bug-1814.ivf"
+    "invalid-bug-1814.ivf.res"
+    "invalid-chromium-906381.ivf"
+    "invalid-chromium-906381.ivf.res"
+    "invalid-google-142530197-1.ivf"
+    "invalid-google-142530197-1.ivf.res"
+    "invalid-google-142530197.ivf"
+    "invalid-google-142530197.ivf.res"
+    "invalid-oss-fuzz-10061.ivf"
+    "invalid-oss-fuzz-10061.ivf.res"
+    "invalid-oss-fuzz-10117-mc-buf-use-highbd.ivf"
+    "invalid-oss-fuzz-10117-mc-buf-use-highbd.ivf.res"
+    "invalid-oss-fuzz-10227.ivf"
+    "invalid-oss-fuzz-10227.ivf.res"
+    "invalid-oss-fuzz-10389.ivf"
+    "invalid-oss-fuzz-10389.ivf.res"
+    "invalid-oss-fuzz-10389.ivf.res.2"
+    "invalid-oss-fuzz-10555.ivf"
+    "invalid-oss-fuzz-10555.ivf.res"
+    "invalid-oss-fuzz-10705.ivf"
+    "invalid-oss-fuzz-10705.ivf.res"
+    "invalid-oss-fuzz-10723.ivf"
+    "invalid-oss-fuzz-10723.ivf.res"
+    "invalid-oss-fuzz-10723.ivf.res.2"
+    "invalid-oss-fuzz-10779.ivf"
+    "invalid-oss-fuzz-10779.ivf.res"
+    "invalid-oss-fuzz-11477.ivf"
+    "invalid-oss-fuzz-11477.ivf.res"
+    "invalid-oss-fuzz-11479.ivf"
+    "invalid-oss-fuzz-11479.ivf.res"
+    "invalid-oss-fuzz-11479.ivf.res.2"
+    "invalid-oss-fuzz-11523.ivf"
+    "invalid-oss-fuzz-11523.ivf.res"
+    "invalid-oss-fuzz-11523.ivf.res.2"
+    "invalid-oss-fuzz-15363.ivf"
+    "invalid-oss-fuzz-15363.ivf.res"
+    "invalid-oss-fuzz-16437.ivf"
+    "invalid-oss-fuzz-16437.ivf.res"
+    "invalid-oss-fuzz-9288.ivf"
+    "invalid-oss-fuzz-9288.ivf.res"
+    "invalid-oss-fuzz-9463.ivf"
+    "invalid-oss-fuzz-9463.ivf.res"
+    "invalid-oss-fuzz-9463.ivf.res.2"
+    "invalid-oss-fuzz-9482.ivf"
+    "invalid-oss-fuzz-9482.ivf.res"
+    "invalid-oss-fuzz-9720.ivf"
+    "invalid-oss-fuzz-9720.ivf.res")
 endif()
 
 if(ENABLE_ENCODE_PERF_TESTS AND CONFIG_AV1_ENCODER)
-  list(APPEND AOM_TEST_DATA_FILE_NAMES "desktop_640_360_30.yuv"
-              "kirland_640_480_30.yuv" "macmarcomoving_640_480_30.yuv"
-              "macmarcostationary_640_480_30.yuv" "niklas_1280_720_30.yuv"
-              "tacomanarrows_640_480_30.yuv"
-              "tacomasmallcameramovement_640_480_30.yuv"
-              "thaloundeskmtg_640_480_30.yuv")
+  list(
+    APPEND
+    AOM_TEST_DATA_FILE_NAMES
+    "desktop_640_360_30.yuv"
+    "kirland_640_480_30.yuv"
+    "macmarcomoving_640_480_30.yuv"
+    "macmarcostationary_640_480_30.yuv"
+    "niklas_1280_720_30.yuv"
+    "tacomanarrows_640_480_30.yuv"
+    "tacomasmallcameramovement_640_480_30.yuv"
+    "thaloundeskmtg_640_480_30.yuv")
 endif()
 
 # Parses test/test-data.sha1 and writes captured file names and checksums to
@@ -607,12 +616,18 @@
 
   list(LENGTH filenames num_files)
   list(LENGTH checksums num_checksums)
-  if(NOT checksums OR NOT filenames OR NOT num_files EQUAL num_checksums)
+  if(NOT checksums
+     OR NOT filenames
+     OR NOT num_files EQUAL num_checksums)
     message(FATAL_ERROR "Parsing of ${test_data_file} failed.")
   endif()
 
-  set(${out_checksums} ${checksums} PARENT_SCOPE)
-  set(${out_files} ${filenames} PARENT_SCOPE)
+  set(${out_checksums}
+      ${checksums}
+      PARENT_SCOPE)
+  set(${out_files}
+      ${filenames}
+      PARENT_SCOPE)
 endfunction()
 
 # Appends each file name in $test_files to $test_dir and adds the result path to
@@ -621,21 +636,27 @@
   foreach(filename ${${test_files}})
     set(path_list ${path_list} "${test_dir}/${filename}")
   endforeach()
-  set(${out_path_list} ${path_list} PARENT_SCOPE)
+  set(${out_path_list}
+      ${path_list}
+      PARENT_SCOPE)
 endfunction()
 
 function(check_file local_path expected_checksum out_needs_update)
   if(EXISTS "${local_path}")
     file(SHA1 "${local_path}" file_checksum)
   else()
-    set(${out_needs_update} 1 PARENT_SCOPE)
+    set(${out_needs_update}
+        1
+        PARENT_SCOPE)
     return()
   endif()
 
   if("${file_checksum}" STREQUAL "${expected_checksum}")
     unset(${out_needs_update} PARENT_SCOPE)
   else()
-    set(${out_needs_update} 1 PARENT_SCOPE)
+    set(${out_needs_update}
+        1
+        PARENT_SCOPE)
     return()
   endif()
   message("${local_path} up to date.")
@@ -645,7 +666,9 @@
 # writes it to $local_path.
 function(download_test_file file_url file_checksum local_path)
   message("Downloading ${file_url} ...")
-  file(DOWNLOAD "${file_url}" "${local_path}" SHOW_PROGRESS EXPECTED_HASH
-                                              SHA1=${file_checksum})
+  file(
+    DOWNLOAD "${file_url}" "${local_path}"
+    SHOW_PROGRESS
+    EXPECTED_HASH SHA1=${file_checksum})
   message("Download of ${file_url} complete.")
 endfunction()
diff --git a/test/test_intra_pred_speed.cc b/test/test_intra_pred_speed.cc
index c274c00..7ad5e0b 100644
--- a/test/test_intra_pred_speed.cc
+++ b/test/test_intra_pred_speed.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 //  Test and time AOM intra-predictor functions
diff --git a/test/test_libaom.cc b/test/test_libaom.cc
index fe45398..4db050e 100644
--- a/test/test_libaom.cc
+++ b/test/test_libaom.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <string.h>
diff --git a/test/test_runner.cmake b/test/test_runner.cmake
index 4b0e8d9..06895d0 100644
--- a/test/test_runner.cmake
+++ b/test/test_runner.cmake
@@ -1,12 +1,12 @@
 #
 # Copyright (c) 2021, Alliance for Open Media. All rights reserved
 #
-# This source code is subject to the terms of the BSD 3-Clause Clear License and the
-# Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
-# not distributed with this source code in the LICENSE file, you can obtain it
-# at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
-# License 1.0 was not distributed with this source code in the PATENTS file, you
-# can obtain it at aomedia.org/license/patent-license/.
+# This source code is subject to the terms of the BSD 3-Clause Clear License and
+# the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+# License was not distributed with this source code in the LICENSE file, you can
+# obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance
+# for Open Media Patent License 1.0 was not distributed with this source code in
+# the PATENTS file, you can obtain it at aomedia.org/license/patent-license/.
 #
 if(NOT GTEST_TOTAL_SHARDS
    OR "${GTEST_SHARD_INDEX}" STREQUAL ""
diff --git a/test/test_vector_test.cc b/test/test_vector_test.cc
index dfd45db..d2cc112 100644
--- a/test/test_vector_test.cc
+++ b/test/test_vector_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <cstdio>
diff --git a/test/test_vectors.cc b/test/test_vectors.cc
index 3c6bd87..15bd034 100644
--- a/test/test_vectors.cc
+++ b/test/test_vectors.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include "test/test_vectors.h"
diff --git a/test/test_vectors.h b/test/test_vectors.h
index c02bd40..e5813a3 100644
--- a/test/test_vectors.h
+++ b/test/test_vectors.h
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #ifndef AOM_TEST_TEST_VECTORS_H_
diff --git a/test/tile_config_test.cc b/test/tile_config_test.cc
index 105cefc..ed6a75f 100644
--- a/test/tile_config_test.cc
+++ b/test/tile_config_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include "aom/aom_codec.h"
diff --git a/test/tile_independence_test.cc b/test/tile_independence_test.cc
index ee72d4f..d3d1847 100644
--- a/test/tile_independence_test.cc
+++ b/test/tile_independence_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <cstdio>
diff --git a/test/time_stamp_test.cc b/test/time_stamp_test.cc
index 7c7aa5c..78d30b2 100644
--- a/test/time_stamp_test.cc
+++ b/test/time_stamp_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 //  Test AOM timestamp handling
diff --git a/test/transform_test_base.h b/test/transform_test_base.h
index 909df98..91a39da 100644
--- a/test/transform_test_base.h
+++ b/test/transform_test_base.h
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #ifndef AOM_TEST_TRANSFORM_TEST_BASE_H_
diff --git a/test/util.h b/test/util.h
index b958e4b..e311207 100644
--- a/test/util.h
+++ b/test/util.h
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #ifndef AOM_TEST_UTIL_H_
diff --git a/test/variance_test.cc b/test/variance_test.cc
index e0a05f8..e149f4d 100644
--- a/test/variance_test.cc
+++ b/test/variance_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <cstdlib>
diff --git a/test/video_source.h b/test/video_source.h
index b4e59ec..0842a7f 100644
--- a/test/video_source.h
+++ b/test/video_source.h
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 #ifndef AOM_TEST_VIDEO_SOURCE_H_
 #define AOM_TEST_VIDEO_SOURCE_H_
diff --git a/test/warp_filter_test.cc b/test/warp_filter_test.cc
index a5005a6..3bf14df 100644
--- a/test/warp_filter_test.cc
+++ b/test/warp_filter_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 #include <tuple>
 
diff --git a/test/warp_filter_test_util.cc b/test/warp_filter_test_util.cc
index 5ed1c45..f7ee1e5 100644
--- a/test/warp_filter_test_util.cc
+++ b/test/warp_filter_test_util.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 #include "aom_ports/aom_timer.h"
 #include "test/warp_filter_test_util.h"
diff --git a/test/warp_filter_test_util.h b/test/warp_filter_test_util.h
index 2315848..09c9070 100644
--- a/test/warp_filter_test_util.h
+++ b/test/warp_filter_test_util.h
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #ifndef AOM_TEST_WARP_FILTER_TEST_UTIL_H_
diff --git a/test/webm_video_source.h b/test/webm_video_source.h
index 47e808a..0f4755a 100644
--- a/test/webm_video_source.h
+++ b/test/webm_video_source.h
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 #ifndef AOM_TEST_WEBM_VIDEO_SOURCE_H_
 #define AOM_TEST_WEBM_VIDEO_SOURCE_H_
diff --git a/test/webmenc_test.cc b/test/webmenc_test.cc
index 6a61bdd..0fbd1e7 100644
--- a/test/webmenc_test.cc
+++ b/test/webmenc_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <string>
diff --git a/test/wiener_test.cc b/test/wiener_test.cc
index c3e77bc..c067573 100644
--- a/test/wiener_test.cc
+++ b/test/wiener_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <tuple>
diff --git a/test/y4m_test.cc b/test/y4m_test.cc
index bf96b7a..9e68ddd 100644
--- a/test/y4m_test.cc
+++ b/test/y4m_test.cc
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 
 #include <string>
diff --git a/test/y4m_video_source.h b/test/y4m_video_source.h
index fd9c3dc..81b1deb 100644
--- a/test/y4m_video_source.h
+++ b/test/y4m_video_source.h
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 #ifndef AOM_TEST_Y4M_VIDEO_SOURCE_H_
 #define AOM_TEST_Y4M_VIDEO_SOURCE_H_
diff --git a/test/yuv_video_source.h b/test/yuv_video_source.h
index 5a2ef2f..cef6a4a 100644
--- a/test/yuv_video_source.h
+++ b/test/yuv_video_source.h
@@ -1,12 +1,13 @@
 /*
  * Copyright (c) 2021, Alliance for Open Media. All rights reserved
  *
- * This source code is subject to the terms of the BSD 3-Clause Clear License and the
- * Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
- * not distributed with this source code in the LICENSE file, you can obtain it
- * at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
- * License 1.0 was not distributed with this source code in the PATENTS file, you
- * can obtain it at aomedia.org/license/patent-license/.
+ * This source code is subject to the terms of the BSD 3-Clause Clear License
+ * and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
+ * License was not distributed with this source code in the LICENSE file, you
+ * can obtain it at aomedia.org/license/software-license/bsd-3-c-c/.  If the
+ * Alliance for Open Media Patent License 1.0 was not distributed with this
+ * source code in the PATENTS file, you can obtain it at
+ * aomedia.org/license/patent-license/.
  */
 #ifndef AOM_TEST_YUV_VIDEO_SOURCE_H_
 #define AOM_TEST_YUV_VIDEO_SOURCE_H_
