Bug 1314147 - Import aom library. draft
authorRalph Giles <giles@mozilla.com>
Wed, 12 Apr 2017 14:22:04 -0700
changeset 562904 b1dbabd68bf1a41eaf0c018cd33125c51de3786b
parent 562903 7a8b59448f84bde73bf06029516f64e8a8e576d0
child 562905 080cb9c54220fd96812dd5061a0192945a755714
push id54159
push userbmo:giles@thaumas.net
push dateFri, 14 Apr 2017 17:38:44 +0000
bugs1314147
milestone55.0a1
Bug 1314147 - Import aom library. This is the reference implementation for the Alliance for Open Media's av1 video code. MozReview-Commit-ID: 6kp6B2ZJjgM
third_party/aom/.clang-format
third_party/aom/.mailmap
third_party/aom/AUTHORS
third_party/aom/CHANGELOG
third_party/aom/CMakeLists.txt
third_party/aom/LICENSE
third_party/aom/PATENTS
third_party/aom/README
third_party/aom/aom/aom.h
third_party/aom/aom/aom_codec.h
third_party/aom/aom/aom_codec.mk
third_party/aom/aom/aom_decoder.h
third_party/aom/aom/aom_encoder.h
third_party/aom/aom/aom_frame_buffer.h
third_party/aom/aom/aom_image.h
third_party/aom/aom/aom_integer.h
third_party/aom/aom/aomcx.h
third_party/aom/aom/aomdx.h
third_party/aom/aom/exports_com
third_party/aom/aom/exports_dec
third_party/aom/aom/exports_enc
third_party/aom/aom/internal/aom_codec_internal.h
third_party/aom/aom/src/aom_codec.c
third_party/aom/aom/src/aom_decoder.c
third_party/aom/aom/src/aom_encoder.c
third_party/aom/aom/src/aom_image.c
third_party/aom/aom_dsp/add_noise.c
third_party/aom/aom_dsp/ans.h
third_party/aom/aom_dsp/ansreader.h
third_party/aom/aom_dsp/answriter.h
third_party/aom/aom_dsp/aom_convolve.c
third_party/aom/aom_dsp/aom_convolve.h
third_party/aom/aom_dsp/aom_dsp.cmake
third_party/aom/aom_dsp/aom_dsp.mk
third_party/aom/aom_dsp/aom_dsp_common.h
third_party/aom/aom_dsp/aom_dsp_rtcd.c
third_party/aom/aom_dsp/aom_dsp_rtcd_defs.pl
third_party/aom/aom_dsp/aom_filter.h
third_party/aom/aom_dsp/aom_simd.h
third_party/aom/aom_dsp/aom_simd_inline.h
third_party/aom/aom_dsp/arm/aom_convolve8_avg_neon.c
third_party/aom/aom_dsp/arm/aom_convolve8_avg_neon_asm.asm
third_party/aom/aom_dsp/arm/aom_convolve8_neon.c
third_party/aom/aom_dsp/arm/aom_convolve8_neon_asm.asm
third_party/aom/aom_dsp/arm/aom_convolve_avg_neon.c
third_party/aom/aom_dsp/arm/aom_convolve_avg_neon_asm.asm
third_party/aom/aom_dsp/arm/aom_convolve_copy_neon.c
third_party/aom/aom_dsp/arm/aom_convolve_copy_neon_asm.asm
third_party/aom/aom_dsp/arm/aom_convolve_neon.c
third_party/aom/aom_dsp/arm/avg_neon.c
third_party/aom/aom_dsp/arm/bilinear_filter_media.asm
third_party/aom/aom_dsp/arm/fwd_txfm_neon.c
third_party/aom/aom_dsp/arm/hadamard_neon.c
third_party/aom/aom_dsp/arm/idct16x16_1_add_neon.asm
third_party/aom/aom_dsp/arm/idct16x16_1_add_neon.c
third_party/aom/aom_dsp/arm/idct16x16_add_neon.asm
third_party/aom/aom_dsp/arm/idct16x16_add_neon.c
third_party/aom/aom_dsp/arm/idct16x16_neon.c
third_party/aom/aom_dsp/arm/idct32x32_1_add_neon.asm
third_party/aom/aom_dsp/arm/idct32x32_1_add_neon.c
third_party/aom/aom_dsp/arm/idct32x32_add_neon.asm
third_party/aom/aom_dsp/arm/idct32x32_add_neon.c
third_party/aom/aom_dsp/arm/idct4x4_1_add_neon.asm
third_party/aom/aom_dsp/arm/idct4x4_1_add_neon.c
third_party/aom/aom_dsp/arm/idct4x4_add_neon.asm
third_party/aom/aom_dsp/arm/idct4x4_add_neon.c
third_party/aom/aom_dsp/arm/idct8x8_1_add_neon.asm
third_party/aom/aom_dsp/arm/idct8x8_1_add_neon.c
third_party/aom/aom_dsp/arm/idct8x8_add_neon.asm
third_party/aom/aom_dsp/arm/idct8x8_add_neon.c
third_party/aom/aom_dsp/arm/intrapred_neon.c
third_party/aom/aom_dsp/arm/intrapred_neon_asm.asm
third_party/aom/aom_dsp/arm/loopfilter_16_neon.asm
third_party/aom/aom_dsp/arm/loopfilter_16_neon.c
third_party/aom/aom_dsp/arm/loopfilter_4_neon.asm
third_party/aom/aom_dsp/arm/loopfilter_4_neon.c
third_party/aom/aom_dsp/arm/loopfilter_8_neon.asm
third_party/aom/aom_dsp/arm/loopfilter_8_neon.c
third_party/aom/aom_dsp/arm/loopfilter_mb_neon.asm
third_party/aom/aom_dsp/arm/loopfilter_neon.c
third_party/aom/aom_dsp/arm/sad4d_neon.c
third_party/aom/aom_dsp/arm/sad_media.asm
third_party/aom/aom_dsp/arm/sad_neon.c
third_party/aom/aom_dsp/arm/save_reg_neon.asm
third_party/aom/aom_dsp/arm/subpel_variance_media.c
third_party/aom/aom_dsp/arm/subpel_variance_neon.c
third_party/aom/aom_dsp/arm/subtract_neon.c
third_party/aom/aom_dsp/arm/variance_halfpixvar16x16_h_media.asm
third_party/aom/aom_dsp/arm/variance_halfpixvar16x16_hv_media.asm
third_party/aom/aom_dsp/arm/variance_halfpixvar16x16_v_media.asm
third_party/aom/aom_dsp/arm/variance_media.asm
third_party/aom/aom_dsp/arm/variance_neon.c
third_party/aom/aom_dsp/avg.c
third_party/aom/aom_dsp/binary_codes_reader.c
third_party/aom/aom_dsp/binary_codes_reader.h
third_party/aom/aom_dsp/binary_codes_writer.c
third_party/aom/aom_dsp/binary_codes_writer.h
third_party/aom/aom_dsp/bitreader.h
third_party/aom/aom_dsp/bitreader_buffer.c
third_party/aom/aom_dsp/bitreader_buffer.h
third_party/aom/aom_dsp/bitwriter.h
third_party/aom/aom_dsp/bitwriter_buffer.c
third_party/aom/aom_dsp/bitwriter_buffer.h
third_party/aom/aom_dsp/blend.h
third_party/aom/aom_dsp/blend_a64_hmask.c
third_party/aom/aom_dsp/blend_a64_mask.c
third_party/aom/aom_dsp/blend_a64_vmask.c
third_party/aom/aom_dsp/buf_ans.c
third_party/aom/aom_dsp/buf_ans.h
third_party/aom/aom_dsp/daalaboolreader.c
third_party/aom/aom_dsp/daalaboolreader.h
third_party/aom/aom_dsp/daalaboolwriter.c
third_party/aom/aom_dsp/daalaboolwriter.h
third_party/aom/aom_dsp/dkboolreader.c
third_party/aom/aom_dsp/dkboolreader.h
third_party/aom/aom_dsp/dkboolwriter.c
third_party/aom/aom_dsp/dkboolwriter.h
third_party/aom/aom_dsp/entcode.c
third_party/aom/aom_dsp/entcode.h
third_party/aom/aom_dsp/entdec.c
third_party/aom/aom_dsp/entdec.h
third_party/aom/aom_dsp/entenc.c
third_party/aom/aom_dsp/entenc.h
third_party/aom/aom_dsp/fastssim.c
third_party/aom/aom_dsp/fwd_txfm.c
third_party/aom/aom_dsp/fwd_txfm.h
third_party/aom/aom_dsp/intrapred.c
third_party/aom/aom_dsp/inv_txfm.c
third_party/aom/aom_dsp/inv_txfm.h
third_party/aom/aom_dsp/loopfilter.c
third_party/aom/aom_dsp/mips/add_noise_msa.c
third_party/aom/aom_dsp/mips/aom_convolve8_avg_horiz_msa.c
third_party/aom/aom_dsp/mips/aom_convolve8_avg_msa.c
third_party/aom/aom_dsp/mips/aom_convolve8_avg_vert_msa.c
third_party/aom/aom_dsp/mips/aom_convolve8_horiz_msa.c
third_party/aom/aom_dsp/mips/aom_convolve8_msa.c
third_party/aom/aom_dsp/mips/aom_convolve8_vert_msa.c
third_party/aom/aom_dsp/mips/aom_convolve_avg_msa.c
third_party/aom/aom_dsp/mips/aom_convolve_copy_msa.c
third_party/aom/aom_dsp/mips/aom_convolve_msa.h
third_party/aom/aom_dsp/mips/avg_msa.c
third_party/aom/aom_dsp/mips/common_dspr2.c
third_party/aom/aom_dsp/mips/common_dspr2.h
third_party/aom/aom_dsp/mips/convolve2_avg_dspr2.c
third_party/aom/aom_dsp/mips/convolve2_avg_horiz_dspr2.c
third_party/aom/aom_dsp/mips/convolve2_dspr2.c
third_party/aom/aom_dsp/mips/convolve2_horiz_dspr2.c
third_party/aom/aom_dsp/mips/convolve2_vert_dspr2.c
third_party/aom/aom_dsp/mips/convolve8_avg_dspr2.c
third_party/aom/aom_dsp/mips/convolve8_avg_horiz_dspr2.c
third_party/aom/aom_dsp/mips/convolve8_dspr2.c
third_party/aom/aom_dsp/mips/convolve8_horiz_dspr2.c
third_party/aom/aom_dsp/mips/convolve8_vert_dspr2.c
third_party/aom/aom_dsp/mips/convolve_common_dspr2.h
third_party/aom/aom_dsp/mips/fwd_dct32x32_msa.c
third_party/aom/aom_dsp/mips/fwd_txfm_msa.c
third_party/aom/aom_dsp/mips/fwd_txfm_msa.h
third_party/aom/aom_dsp/mips/idct16x16_msa.c
third_party/aom/aom_dsp/mips/idct32x32_msa.c
third_party/aom/aom_dsp/mips/idct4x4_msa.c
third_party/aom/aom_dsp/mips/idct8x8_msa.c
third_party/aom/aom_dsp/mips/intrapred16_dspr2.c
third_party/aom/aom_dsp/mips/intrapred4_dspr2.c
third_party/aom/aom_dsp/mips/intrapred8_dspr2.c
third_party/aom/aom_dsp/mips/intrapred_msa.c
third_party/aom/aom_dsp/mips/inv_txfm_dspr2.h
third_party/aom/aom_dsp/mips/inv_txfm_msa.h
third_party/aom/aom_dsp/mips/itrans16_dspr2.c
third_party/aom/aom_dsp/mips/itrans32_cols_dspr2.c
third_party/aom/aom_dsp/mips/itrans32_dspr2.c
third_party/aom/aom_dsp/mips/itrans4_dspr2.c
third_party/aom/aom_dsp/mips/itrans8_dspr2.c
third_party/aom/aom_dsp/mips/loopfilter_16_msa.c
third_party/aom/aom_dsp/mips/loopfilter_4_msa.c
third_party/aom/aom_dsp/mips/loopfilter_8_msa.c
third_party/aom/aom_dsp/mips/loopfilter_filters_dspr2.c
third_party/aom/aom_dsp/mips/loopfilter_filters_dspr2.h
third_party/aom/aom_dsp/mips/loopfilter_macros_dspr2.h
third_party/aom/aom_dsp/mips/loopfilter_masks_dspr2.h
third_party/aom/aom_dsp/mips/loopfilter_mb_dspr2.c
third_party/aom/aom_dsp/mips/loopfilter_mb_horiz_dspr2.c
third_party/aom/aom_dsp/mips/loopfilter_mb_vert_dspr2.c
third_party/aom/aom_dsp/mips/loopfilter_msa.h
third_party/aom/aom_dsp/mips/macros_msa.h
third_party/aom/aom_dsp/mips/sad_msa.c
third_party/aom/aom_dsp/mips/sub_pixel_variance_msa.c
third_party/aom/aom_dsp/mips/subtract_msa.c
third_party/aom/aom_dsp/mips/txfm_macros_msa.h
third_party/aom/aom_dsp/mips/variance_msa.c
third_party/aom/aom_dsp/postproc.h
third_party/aom/aom_dsp/prob.c
third_party/aom/aom_dsp/prob.h
third_party/aom/aom_dsp/psnr.c
third_party/aom/aom_dsp/psnr.h
third_party/aom/aom_dsp/psnrhvs.c
third_party/aom/aom_dsp/quantize.c
third_party/aom/aom_dsp/quantize.h
third_party/aom/aom_dsp/sad.c
third_party/aom/aom_dsp/simd/v128_intrinsics.h
third_party/aom/aom_dsp/simd/v128_intrinsics_arm.h
third_party/aom/aom_dsp/simd/v128_intrinsics_c.h
third_party/aom/aom_dsp/simd/v128_intrinsics_x86.h
third_party/aom/aom_dsp/simd/v256_intrinsics.h
third_party/aom/aom_dsp/simd/v256_intrinsics_arm.h
third_party/aom/aom_dsp/simd/v256_intrinsics_c.h
third_party/aom/aom_dsp/simd/v256_intrinsics_v128.h
third_party/aom/aom_dsp/simd/v256_intrinsics_x86.h
third_party/aom/aom_dsp/simd/v64_intrinsics.h
third_party/aom/aom_dsp/simd/v64_intrinsics_arm.h
third_party/aom/aom_dsp/simd/v64_intrinsics_c.h
third_party/aom/aom_dsp/simd/v64_intrinsics_x86.h
third_party/aom/aom_dsp/ssim.c
third_party/aom/aom_dsp/ssim.h
third_party/aom/aom_dsp/subtract.c
third_party/aom/aom_dsp/sum_squares.c
third_party/aom/aom_dsp/txfm_common.h
third_party/aom/aom_dsp/variance.c
third_party/aom/aom_dsp/variance.h
third_party/aom/aom_dsp/x86/aom_asm_stubs.c
third_party/aom/aom_dsp/x86/aom_convolve_copy_sse2.asm
third_party/aom/aom_dsp/x86/aom_high_subpixel_8t_sse2.asm
third_party/aom/aom_dsp/x86/aom_high_subpixel_bilinear_sse2.asm
third_party/aom/aom_dsp/x86/aom_subpixel_8t_intrin_avx2.c
third_party/aom/aom_dsp/x86/aom_subpixel_8t_intrin_ssse3.c
third_party/aom/aom_dsp/x86/aom_subpixel_8t_sse2.asm
third_party/aom/aom_dsp/x86/aom_subpixel_8t_ssse3.asm
third_party/aom/aom_dsp/x86/aom_subpixel_bilinear_sse2.asm
third_party/aom/aom_dsp/x86/aom_subpixel_bilinear_ssse3.asm
third_party/aom/aom_dsp/x86/avg_intrin_sse2.c
third_party/aom/aom_dsp/x86/avg_ssse3_x86_64.asm
third_party/aom/aom_dsp/x86/blend_a64_hmask_sse4.c
third_party/aom/aom_dsp/x86/blend_a64_mask_sse4.c
third_party/aom/aom_dsp/x86/blend_a64_vmask_sse4.c
third_party/aom/aom_dsp/x86/blend_sse4.h
third_party/aom/aom_dsp/x86/convolve.h
third_party/aom/aom_dsp/x86/fwd_dct32_8cols_sse2.c
third_party/aom/aom_dsp/x86/fwd_dct32x32_impl_avx2.h
third_party/aom/aom_dsp/x86/fwd_dct32x32_impl_sse2.h
third_party/aom/aom_dsp/x86/fwd_txfm_avx2.c
third_party/aom/aom_dsp/x86/fwd_txfm_avx2.h
third_party/aom/aom_dsp/x86/fwd_txfm_impl_sse2.h
third_party/aom/aom_dsp/x86/fwd_txfm_sse2.c
third_party/aom/aom_dsp/x86/fwd_txfm_sse2.h
third_party/aom/aom_dsp/x86/fwd_txfm_ssse3_x86_64.asm
third_party/aom/aom_dsp/x86/halfpix_variance_impl_sse2.asm
third_party/aom/aom_dsp/x86/halfpix_variance_sse2.c
third_party/aom/aom_dsp/x86/highbd_convolve_avx2.c
third_party/aom/aom_dsp/x86/highbd_intrapred_sse2.asm
third_party/aom/aom_dsp/x86/highbd_loopfilter_sse2.c
third_party/aom/aom_dsp/x86/highbd_quantize_intrin_sse2.c
third_party/aom/aom_dsp/x86/highbd_sad4d_sse2.asm
third_party/aom/aom_dsp/x86/highbd_sad_sse2.asm
third_party/aom/aom_dsp/x86/highbd_subpel_variance_impl_sse2.asm
third_party/aom/aom_dsp/x86/highbd_subtract_sse2.c
third_party/aom/aom_dsp/x86/highbd_variance_impl_sse2.asm
third_party/aom/aom_dsp/x86/highbd_variance_sse2.c
third_party/aom/aom_dsp/x86/highbd_variance_sse4.c
third_party/aom/aom_dsp/x86/intrapred_sse2.asm
third_party/aom/aom_dsp/x86/intrapred_ssse3.asm
third_party/aom/aom_dsp/x86/inv_txfm_sse2.c
third_party/aom/aom_dsp/x86/inv_txfm_sse2.h
third_party/aom/aom_dsp/x86/inv_txfm_ssse3_x86_64.asm
third_party/aom/aom_dsp/x86/inv_wht_sse2.asm
third_party/aom/aom_dsp/x86/loopfilter_avx2.c
third_party/aom/aom_dsp/x86/loopfilter_sse2.c
third_party/aom/aom_dsp/x86/masked_sad_intrin_ssse3.c
third_party/aom/aom_dsp/x86/masked_variance_intrin_ssse3.c
third_party/aom/aom_dsp/x86/obmc_sad_sse4.c
third_party/aom/aom_dsp/x86/obmc_variance_sse4.c
third_party/aom/aom_dsp/x86/quantize_avx_x86_64.asm
third_party/aom/aom_dsp/x86/quantize_sse2.c
third_party/aom/aom_dsp/x86/quantize_ssse3_x86_64.asm
third_party/aom/aom_dsp/x86/sad4d_avx2.c
third_party/aom/aom_dsp/x86/sad4d_sse2.asm
third_party/aom/aom_dsp/x86/sad_avx2.c
third_party/aom/aom_dsp/x86/sad_highbd_avx2.c
third_party/aom/aom_dsp/x86/sad_impl_avx2.c
third_party/aom/aom_dsp/x86/sad_sse2.asm
third_party/aom/aom_dsp/x86/sad_sse3.asm
third_party/aom/aom_dsp/x86/sad_sse4.asm
third_party/aom/aom_dsp/x86/sad_ssse3.asm
third_party/aom/aom_dsp/x86/ssim_opt_x86_64.asm
third_party/aom/aom_dsp/x86/subpel_variance_sse2.asm
third_party/aom/aom_dsp/x86/subtract_sse2.asm
third_party/aom/aom_dsp/x86/sum_squares_sse2.c
third_party/aom/aom_dsp/x86/synonyms.h
third_party/aom/aom_dsp/x86/txfm_common_avx2.h
third_party/aom/aom_dsp/x86/txfm_common_intrin.h
third_party/aom/aom_dsp/x86/txfm_common_sse2.h
third_party/aom/aom_dsp/x86/variance_avx2.c
third_party/aom/aom_dsp/x86/variance_impl_avx2.c
third_party/aom/aom_dsp/x86/variance_sse2.c
third_party/aom/aom_mem/aom_mem.c
third_party/aom/aom_mem/aom_mem.cmake
third_party/aom/aom_mem/aom_mem.h
third_party/aom/aom_mem/aom_mem.mk
third_party/aom/aom_mem/include/aom_mem_intrnl.h
third_party/aom/aom_ports/aom_once.h
third_party/aom/aom_ports/aom_ports.cmake
third_party/aom/aom_ports/aom_ports.mk
third_party/aom/aom_ports/aom_timer.h
third_party/aom/aom_ports/arm.h
third_party/aom/aom_ports/arm_cpudetect.c
third_party/aom/aom_ports/bitops.h
third_party/aom/aom_ports/config.h
third_party/aom/aom_ports/emmintrin_compat.h
third_party/aom/aom_ports/emms.asm
third_party/aom/aom_ports/mem.h
third_party/aom/aom_ports/mem_ops.h
third_party/aom/aom_ports/mem_ops_aligned.h
third_party/aom/aom_ports/msvc.h
third_party/aom/aom_ports/system_state.h
third_party/aom/aom_ports/x86.h
third_party/aom/aom_ports/x86_abi_support.asm
third_party/aom/aom_scale/aom_scale.cmake
third_party/aom/aom_scale/aom_scale.h
third_party/aom/aom_scale/aom_scale.mk
third_party/aom/aom_scale/aom_scale_rtcd.c
third_party/aom/aom_scale/aom_scale_rtcd.pl
third_party/aom/aom_scale/generic/aom_scale.c
third_party/aom/aom_scale/generic/gen_scalers.c
third_party/aom/aom_scale/generic/yv12config.c
third_party/aom/aom_scale/generic/yv12extend.c
third_party/aom/aom_scale/mips/dspr2/yv12extend_dspr2.c
third_party/aom/aom_scale/yv12config.h
third_party/aom/aom_util/aom_thread.c
third_party/aom/aom_util/aom_thread.h
third_party/aom/aom_util/aom_util.cmake
third_party/aom/aom_util/aom_util.mk
third_party/aom/aom_util/debug_util.c
third_party/aom/aom_util/debug_util.h
third_party/aom/aom_util/endian_inl.h
third_party/aom/aomdec.c
third_party/aom/aomenc.c
third_party/aom/aomenc.h
third_party/aom/aomstats.c
third_party/aom/aomstats.h
third_party/aom/args.c
third_party/aom/args.h
third_party/aom/av1/av1.cmake
third_party/aom/av1/av1_common.mk
third_party/aom/av1/av1_cx.mk
third_party/aom/av1/av1_cx_iface.c
third_party/aom/av1/av1_dx.mk
third_party/aom/av1/av1_dx_iface.c
third_party/aom/av1/av1_iface_common.h
third_party/aom/av1/common/accounting.c
third_party/aom/av1/common/accounting.h
third_party/aom/av1/common/alloccommon.c
third_party/aom/av1/common/alloccommon.h
third_party/aom/av1/common/arm/neon/iht4x4_add_neon.c
third_party/aom/av1/common/arm/neon/iht8x8_add_neon.c
third_party/aom/av1/common/av1_fwd_txfm1d.c
third_party/aom/av1/common/av1_fwd_txfm1d.h
third_party/aom/av1/common/av1_fwd_txfm2d.c
third_party/aom/av1/common/av1_fwd_txfm2d_cfg.h
third_party/aom/av1/common/av1_inv_txfm1d.c
third_party/aom/av1/common/av1_inv_txfm1d.h
third_party/aom/av1/common/av1_inv_txfm2d.c
third_party/aom/av1/common/av1_inv_txfm2d_cfg.h
third_party/aom/av1/common/av1_loopfilter.c
third_party/aom/av1/common/av1_loopfilter.h
third_party/aom/av1/common/av1_rtcd.c
third_party/aom/av1/common/av1_rtcd_defs.pl
third_party/aom/av1/common/av1_txfm.h
third_party/aom/av1/common/blockd.c
third_party/aom/av1/common/blockd.h
third_party/aom/av1/common/cdef.c
third_party/aom/av1/common/cdef.h
third_party/aom/av1/common/cdef_simd.h
third_party/aom/av1/common/clpf.c
third_party/aom/av1/common/clpf.h
third_party/aom/av1/common/clpf_neon.c
third_party/aom/av1/common/clpf_simd.h
third_party/aom/av1/common/clpf_sse2.c
third_party/aom/av1/common/clpf_sse4.c
third_party/aom/av1/common/clpf_ssse3.c
third_party/aom/av1/common/common.h
third_party/aom/av1/common/common_data.h
third_party/aom/av1/common/convolve.c
third_party/aom/av1/common/convolve.h
third_party/aom/av1/common/debugmodes.c
third_party/aom/av1/common/entropy.c
third_party/aom/av1/common/entropy.h
third_party/aom/av1/common/entropymode.c
third_party/aom/av1/common/entropymode.h
third_party/aom/av1/common/entropymv.c
third_party/aom/av1/common/entropymv.h
third_party/aom/av1/common/enums.h
third_party/aom/av1/common/filter.c
third_party/aom/av1/common/filter.h
third_party/aom/av1/common/frame_buffers.c
third_party/aom/av1/common/frame_buffers.h
third_party/aom/av1/common/generic_code.c
third_party/aom/av1/common/generic_code.h
third_party/aom/av1/common/idct.c
third_party/aom/av1/common/idct.h
third_party/aom/av1/common/laplace_tables.c
third_party/aom/av1/common/mips/dspr2/av1_itrans16_dspr2.c
third_party/aom/av1/common/mips/dspr2/av1_itrans4_dspr2.c
third_party/aom/av1/common/mips/dspr2/av1_itrans8_dspr2.c
third_party/aom/av1/common/mips/msa/av1_idct16x16_msa.c
third_party/aom/av1/common/mips/msa/av1_idct4x4_msa.c
third_party/aom/av1/common/mips/msa/av1_idct8x8_msa.c
third_party/aom/av1/common/mv.h
third_party/aom/av1/common/mvref_common.c
third_party/aom/av1/common/mvref_common.h
third_party/aom/av1/common/od_dering.c
third_party/aom/av1/common/od_dering.h
third_party/aom/av1/common/od_dering_neon.c
third_party/aom/av1/common/od_dering_simd.h
third_party/aom/av1/common/od_dering_sse2.c
third_party/aom/av1/common/od_dering_sse4.c
third_party/aom/av1/common/od_dering_ssse3.c
third_party/aom/av1/common/odintrin.c
third_party/aom/av1/common/odintrin.h
third_party/aom/av1/common/onyxc_int.h
third_party/aom/av1/common/partition.c
third_party/aom/av1/common/partition.h
third_party/aom/av1/common/pred_common.c
third_party/aom/av1/common/pred_common.h
third_party/aom/av1/common/pvq.c
third_party/aom/av1/common/pvq.h
third_party/aom/av1/common/pvq_state.c
third_party/aom/av1/common/pvq_state.h
third_party/aom/av1/common/quant_common.c
third_party/aom/av1/common/quant_common.h
third_party/aom/av1/common/reconinter.c
third_party/aom/av1/common/reconinter.h
third_party/aom/av1/common/reconintra.c
third_party/aom/av1/common/reconintra.h
third_party/aom/av1/common/resize.c
third_party/aom/av1/common/resize.h
third_party/aom/av1/common/restoration.c
third_party/aom/av1/common/restoration.h
third_party/aom/av1/common/scale.c
third_party/aom/av1/common/scale.h
third_party/aom/av1/common/scan.c
third_party/aom/av1/common/scan.h
third_party/aom/av1/common/seg_common.c
third_party/aom/av1/common/seg_common.h
third_party/aom/av1/common/thread_common.c
third_party/aom/av1/common/thread_common.h
third_party/aom/av1/common/tile_common.c
third_party/aom/av1/common/tile_common.h
third_party/aom/av1/common/txb_common.c
third_party/aom/av1/common/txb_common.h
third_party/aom/av1/common/warped_motion.c
third_party/aom/av1/common/warped_motion.h
third_party/aom/av1/common/x86/av1_convolve_ssse3.c
third_party/aom/av1/common/x86/av1_fwd_txfm1d_sse4.c
third_party/aom/av1/common/x86/av1_fwd_txfm2d_sse4.c
third_party/aom/av1/common/x86/av1_highbd_convolve_sse4.c
third_party/aom/av1/common/x86/av1_txfm1d_sse4.h
third_party/aom/av1/common/x86/filterintra_sse4.c
third_party/aom/av1/common/x86/highbd_inv_txfm_avx2.c
third_party/aom/av1/common/x86/highbd_inv_txfm_sse4.c
third_party/aom/av1/common/x86/highbd_txfm_utility_sse4.h
third_party/aom/av1/common/x86/highbd_warp_plane_ssse3.c
third_party/aom/av1/common/x86/hybrid_inv_txfm_avx2.c
third_party/aom/av1/common/x86/idct_intrin_sse2.c
third_party/aom/av1/common/x86/pvq_sse4.c
third_party/aom/av1/common/x86/pvq_sse4.h
third_party/aom/av1/common/x86/selfguided_sse4.c
third_party/aom/av1/common/x86/warp_plane_sse2.c
third_party/aom/av1/common/zigzag.h
third_party/aom/av1/common/zigzag16.c
third_party/aom/av1/common/zigzag32.c
third_party/aom/av1/common/zigzag4.c
third_party/aom/av1/common/zigzag8.c
third_party/aom/av1/decoder/decint.h
third_party/aom/av1/decoder/decodeframe.c
third_party/aom/av1/decoder/decodeframe.h
third_party/aom/av1/decoder/decodemv.c
third_party/aom/av1/decoder/decodemv.h
third_party/aom/av1/decoder/decoder.c
third_party/aom/av1/decoder/decoder.h
third_party/aom/av1/decoder/decodetxb.c
third_party/aom/av1/decoder/decodetxb.h
third_party/aom/av1/decoder/detokenize.c
third_party/aom/av1/decoder/detokenize.h
third_party/aom/av1/decoder/dsubexp.c
third_party/aom/av1/decoder/dsubexp.h
third_party/aom/av1/decoder/dthread.c
third_party/aom/av1/decoder/dthread.h
third_party/aom/av1/decoder/generic_decoder.c
third_party/aom/av1/decoder/inspection.c
third_party/aom/av1/decoder/inspection.h
third_party/aom/av1/decoder/laplace_decoder.c
third_party/aom/av1/decoder/pvq_decoder.c
third_party/aom/av1/decoder/pvq_decoder.h
third_party/aom/av1/encoder/aq_complexity.c
third_party/aom/av1/encoder/aq_complexity.h
third_party/aom/av1/encoder/aq_cyclicrefresh.c
third_party/aom/av1/encoder/aq_cyclicrefresh.h
third_party/aom/av1/encoder/aq_variance.c
third_party/aom/av1/encoder/aq_variance.h
third_party/aom/av1/encoder/arm/neon/dct_neon.c
third_party/aom/av1/encoder/arm/neon/error_neon.c
third_party/aom/av1/encoder/arm/neon/quantize_neon.c
third_party/aom/av1/encoder/av1_quantize.c
third_party/aom/av1/encoder/av1_quantize.h
third_party/aom/av1/encoder/bitstream.c
third_party/aom/av1/encoder/bitstream.h
third_party/aom/av1/encoder/block.h
third_party/aom/av1/encoder/blockiness.c
third_party/aom/av1/encoder/context_tree.c
third_party/aom/av1/encoder/context_tree.h
third_party/aom/av1/encoder/corner_detect.c
third_party/aom/av1/encoder/corner_detect.h
third_party/aom/av1/encoder/corner_match.c
third_party/aom/av1/encoder/corner_match.h
third_party/aom/av1/encoder/cost.c
third_party/aom/av1/encoder/cost.h
third_party/aom/av1/encoder/daala_compat_enc.c
third_party/aom/av1/encoder/dct.c
third_party/aom/av1/encoder/encint.h
third_party/aom/av1/encoder/encodeframe.c
third_party/aom/av1/encoder/encodeframe.h
third_party/aom/av1/encoder/encodemb.c
third_party/aom/av1/encoder/encodemb.h
third_party/aom/av1/encoder/encodemv.c
third_party/aom/av1/encoder/encodemv.h
third_party/aom/av1/encoder/encoder.c
third_party/aom/av1/encoder/encoder.h
third_party/aom/av1/encoder/encodetxb.c
third_party/aom/av1/encoder/encodetxb.h
third_party/aom/av1/encoder/ethread.c
third_party/aom/av1/encoder/ethread.h
third_party/aom/av1/encoder/extend.c
third_party/aom/av1/encoder/extend.h
third_party/aom/av1/encoder/firstpass.c
third_party/aom/av1/encoder/firstpass.h
third_party/aom/av1/encoder/generic_encoder.c
third_party/aom/av1/encoder/global_motion.c
third_party/aom/av1/encoder/global_motion.h
third_party/aom/av1/encoder/hybrid_fwd_txfm.c
third_party/aom/av1/encoder/hybrid_fwd_txfm.h
third_party/aom/av1/encoder/laplace_encoder.c
third_party/aom/av1/encoder/lookahead.c
third_party/aom/av1/encoder/lookahead.h
third_party/aom/av1/encoder/mbgraph.c
third_party/aom/av1/encoder/mbgraph.h
third_party/aom/av1/encoder/mcomp.c
third_party/aom/av1/encoder/mcomp.h
third_party/aom/av1/encoder/mips/msa/error_msa.c
third_party/aom/av1/encoder/mips/msa/fdct16x16_msa.c
third_party/aom/av1/encoder/mips/msa/fdct4x4_msa.c
third_party/aom/av1/encoder/mips/msa/fdct8x8_msa.c
third_party/aom/av1/encoder/mips/msa/fdct_msa.h
third_party/aom/av1/encoder/mips/msa/temporal_filter_msa.c
third_party/aom/av1/encoder/palette.c
third_party/aom/av1/encoder/palette.h
third_party/aom/av1/encoder/pickcdef.c
third_party/aom/av1/encoder/picklpf.c
third_party/aom/av1/encoder/picklpf.h
third_party/aom/av1/encoder/pickrst.c
third_party/aom/av1/encoder/pickrst.h
third_party/aom/av1/encoder/pvq_encoder.c
third_party/aom/av1/encoder/pvq_encoder.h
third_party/aom/av1/encoder/ransac.c
third_party/aom/av1/encoder/ransac.h
third_party/aom/av1/encoder/ratectrl.c
third_party/aom/av1/encoder/ratectrl.h
third_party/aom/av1/encoder/ratectrl_xiph.c
third_party/aom/av1/encoder/ratectrl_xiph.h
third_party/aom/av1/encoder/rd.c
third_party/aom/av1/encoder/rd.h
third_party/aom/av1/encoder/rdopt.c
third_party/aom/av1/encoder/rdopt.h
third_party/aom/av1/encoder/segmentation.c
third_party/aom/av1/encoder/segmentation.h
third_party/aom/av1/encoder/speed_features.c
third_party/aom/av1/encoder/speed_features.h
third_party/aom/av1/encoder/subexp.c
third_party/aom/av1/encoder/subexp.h
third_party/aom/av1/encoder/temporal_filter.c
third_party/aom/av1/encoder/temporal_filter.h
third_party/aom/av1/encoder/tokenize.c
third_party/aom/av1/encoder/tokenize.h
third_party/aom/av1/encoder/treewriter.c
third_party/aom/av1/encoder/treewriter.h
third_party/aom/av1/encoder/variance_tree.c
third_party/aom/av1/encoder/variance_tree.h
third_party/aom/av1/encoder/wedge_utils.c
third_party/aom/av1/encoder/x86/av1_highbd_quantize_sse4.c
third_party/aom/av1/encoder/x86/av1_quantize_sse2.c
third_party/aom/av1/encoder/x86/av1_quantize_ssse3_x86_64.asm
third_party/aom/av1/encoder/x86/av1_ssim_opt_x86_64.asm
third_party/aom/av1/encoder/x86/dct_intrin_sse2.c
third_party/aom/av1/encoder/x86/dct_sse2.asm
third_party/aom/av1/encoder/x86/dct_ssse3.c
third_party/aom/av1/encoder/x86/error_intrin_avx2.c
third_party/aom/av1/encoder/x86/error_sse2.asm
third_party/aom/av1/encoder/x86/highbd_block_error_intrin_sse2.c
third_party/aom/av1/encoder/x86/highbd_fwd_txfm_sse4.c
third_party/aom/av1/encoder/x86/hybrid_fwd_txfm_avx2.c
third_party/aom/av1/encoder/x86/temporal_filter_apply_sse2.asm
third_party/aom/av1/encoder/x86/wedge_utils_sse2.c
third_party/aom/av1/exports_dec
third_party/aom/av1/exports_enc
third_party/aom/build/cmake/aom_config.asm.cmake
third_party/aom/build/cmake/aom_config.c.cmake
third_party/aom/build/cmake/aom_config.h.cmake
third_party/aom/build/cmake/aom_config_defaults.cmake
third_party/aom/build/cmake/aom_configure.cmake
third_party/aom/build/cmake/aom_optimization.cmake
third_party/aom/build/cmake/aom_version.pl
third_party/aom/build/cmake/compiler_flags.cmake
third_party/aom/build/cmake/compiler_tests.cmake
third_party/aom/build/cmake/msvc_runtime.cmake
third_party/aom/build/cmake/targets/arm64.cmake
third_party/aom/build/cmake/targets/armv7.cmake
third_party/aom/build/cmake/targets/armv7s.cmake
third_party/aom/build/cmake/targets/generic.cmake
third_party/aom/build/cmake/targets/rtcd_templates/arm64.rtcd.cmake
third_party/aom/build/cmake/targets/rtcd_templates/armv7.rtcd.cmake
third_party/aom/build/cmake/targets/rtcd_templates/armv7s.rtcd.cmake
third_party/aom/build/cmake/targets/rtcd_templates/generic.rtcd.cmake
third_party/aom/build/cmake/targets/rtcd_templates/x86.rtcd.cmake
third_party/aom/build/cmake/targets/rtcd_templates/x86_64.rtcd.cmake
third_party/aom/build/cmake/targets/x86.cmake
third_party/aom/build/cmake/targets/x86_64.cmake
third_party/aom/build/cmake/toolchains/arm-ios-common.cmake
third_party/aom/build/cmake/toolchains/arm64-ios.cmake
third_party/aom/build/cmake/toolchains/arm64-linux-gcc.cmake
third_party/aom/build/cmake/toolchains/armv7-ios.cmake
third_party/aom/build/cmake/toolchains/armv7-linux-gcc.cmake
third_party/aom/build/cmake/toolchains/armv7s-ios.cmake
third_party/aom/build/cmake/toolchains/ios-simulator-common.cmake
third_party/aom/build/cmake/toolchains/x86-ios-simulator.cmake
third_party/aom/build/cmake/toolchains/x86-linux.cmake
third_party/aom/build/cmake/toolchains/x86-macos.cmake
third_party/aom/build/cmake/toolchains/x86_64-ios-simulator.cmake
third_party/aom/build/make/Android.mk
third_party/aom/build/make/Makefile
third_party/aom/build/make/ads2armasm_ms.pl
third_party/aom/build/make/ads2gas.pl
third_party/aom/build/make/ads2gas_apple.pl
third_party/aom/build/make/armlink_adapter.sh
third_party/aom/build/make/configure.sh
third_party/aom/build/make/gen_asm_deps.sh
third_party/aom/build/make/gen_msvs_def.sh
third_party/aom/build/make/gen_msvs_sln.sh
third_party/aom/build/make/gen_msvs_vcxproj.sh
third_party/aom/build/make/ios-Info.plist
third_party/aom/build/make/iosbuild.sh
third_party/aom/build/make/msvs_common.sh
third_party/aom/build/make/rtcd.pl
third_party/aom/build/make/thumb.pm
third_party/aom/build/make/version.sh
third_party/aom/codereview.settings
third_party/aom/configure
third_party/aom/docs.mk
third_party/aom/examples.mk
third_party/aom/examples/analyzer.cc
third_party/aom/examples/aom_cx_set_ref.c
third_party/aom/examples/decode_to_md5.c
third_party/aom/examples/decode_with_drops.c
third_party/aom/examples/inspect.c
third_party/aom/examples/lossless_encoder.c
third_party/aom/examples/resize_util.c
third_party/aom/examples/set_maps.c
third_party/aom/examples/simple_decoder.c
third_party/aom/examples/simple_encoder.c
third_party/aom/examples/twopass_encoder.c
third_party/aom/ivfdec.c
third_party/aom/ivfdec.h
third_party/aom/ivfenc.c
third_party/aom/ivfenc.h
third_party/aom/keywords.dox
third_party/aom/libs.doxy_template
third_party/aom/libs.mk
third_party/aom/mainpage.dox
third_party/aom/md5_utils.c
third_party/aom/md5_utils.h
third_party/aom/rate_hist.c
third_party/aom/rate_hist.h
third_party/aom/solution.mk
third_party/aom/test/accounting_test.cc
third_party/aom/test/acm_random.h
third_party/aom/test/active_map_refresh_test.cc
third_party/aom/test/active_map_test.cc
third_party/aom/test/altref_test.cc
third_party/aom/test/android/Android.mk
third_party/aom/test/android/README
third_party/aom/test/android/get_files.py
third_party/aom/test/android/scrape_gtest_log.py
third_party/aom/test/ans_codec_test.cc
third_party/aom/test/ans_test.cc
third_party/aom/test/aomcx_set_ref.sh
third_party/aom/test/aomdec.sh
third_party/aom/test/aomenc.sh
third_party/aom/test/aq_segment_test.cc
third_party/aom/test/arf_freq_test.cc
third_party/aom/test/av1_convolve_optimz_test.cc
third_party/aom/test/av1_convolve_test.cc
third_party/aom/test/av1_dct_test.cc
third_party/aom/test/av1_ext_tile_test.cc
third_party/aom/test/av1_fht16x16_test.cc
third_party/aom/test/av1_fht16x32_test.cc
third_party/aom/test/av1_fht16x8_test.cc
third_party/aom/test/av1_fht32x16_test.cc
third_party/aom/test/av1_fht4x4_test.cc
third_party/aom/test/av1_fht4x8_test.cc
third_party/aom/test/av1_fht8x16_test.cc
third_party/aom/test/av1_fht8x4_test.cc
third_party/aom/test/av1_fht8x8_test.cc
third_party/aom/test/av1_fwd_txfm1d_test.cc
third_party/aom/test/av1_fwd_txfm2d_test.cc
third_party/aom/test/av1_highbd_iht_test.cc
third_party/aom/test/av1_inv_txfm1d_test.cc
third_party/aom/test/av1_inv_txfm2d_test.cc
third_party/aom/test/av1_inv_txfm_test.cc
third_party/aom/test/av1_quantize_test.cc
third_party/aom/test/av1_txfm_test.cc
third_party/aom/test/av1_txfm_test.h
third_party/aom/test/av1_wedge_utils_test.cc
third_party/aom/test/avg_test.cc
third_party/aom/test/binary_codes_test.cc
third_party/aom/test/blend_a64_mask_1d_test.cc
third_party/aom/test/blend_a64_mask_test.cc
third_party/aom/test/boolcoder_test.cc
third_party/aom/test/borders_test.cc
third_party/aom/test/clear_system_state.h
third_party/aom/test/clpf_test.cc
third_party/aom/test/codec_factory.h
third_party/aom/test/convolve_test.cc
third_party/aom/test/cpu_speed_test.cc
third_party/aom/test/datarate_test.cc
third_party/aom/test/dct16x16_test.cc
third_party/aom/test/dct32x32_test.cc
third_party/aom/test/decode_api_test.cc
third_party/aom/test/decode_perf_test.cc
third_party/aom/test/decode_test_driver.cc
third_party/aom/test/decode_test_driver.h
third_party/aom/test/decode_to_md5.sh
third_party/aom/test/decode_with_drops.sh
third_party/aom/test/dering_test.cc
third_party/aom/test/divu_small_test.cc
third_party/aom/test/encode_api_test.cc
third_party/aom/test/encode_perf_test.cc
third_party/aom/test/encode_test_driver.cc
third_party/aom/test/encode_test_driver.h
third_party/aom/test/encoder_parms_get_to_decoder.cc
third_party/aom/test/end_to_end_test.cc
third_party/aom/test/error_block_test.cc
third_party/aom/test/error_resilience_test.cc
third_party/aom/test/ethread_test.cc
third_party/aom/test/examples.sh
third_party/aom/test/fdct4x4_test.cc
third_party/aom/test/fdct8x8_test.cc
third_party/aom/test/fht32x32_test.cc
third_party/aom/test/filterintra_predictors_test.cc
third_party/aom/test/frame_size_tests.cc
third_party/aom/test/function_equivalence_test.h
third_party/aom/test/hadamard_test.cc
third_party/aom/test/hbd_metrics_test.cc
third_party/aom/test/i420_video_source.h
third_party/aom/test/idct8x8_test.cc
third_party/aom/test/idct_test.cc
third_party/aom/test/intrapred_test.cc
third_party/aom/test/ivf_video_source.h
third_party/aom/test/level_test.cc
third_party/aom/test/lossless_test.cc
third_party/aom/test/lpf_8_test.cc
third_party/aom/test/masked_sad_test.cc
third_party/aom/test/masked_variance_test.cc
third_party/aom/test/md5_helper.h
third_party/aom/test/minmax_test.cc
third_party/aom/test/obmc_sad_test.cc
third_party/aom/test/obmc_variance_test.cc
third_party/aom/test/partial_idct_test.cc
third_party/aom/test/quantize_test.cc
third_party/aom/test/realtime_test.cc
third_party/aom/test/register_state_check.h
third_party/aom/test/resize_test.cc
third_party/aom/test/sad_test.cc
third_party/aom/test/scan_test.cc
third_party/aom/test/selfguided_filter_test.cc
third_party/aom/test/set_maps.sh
third_party/aom/test/simd_cmp_impl.h
third_party/aom/test/simd_cmp_neon.cc
third_party/aom/test/simd_cmp_sse2.cc
third_party/aom/test/simd_cmp_sse4.cc
third_party/aom/test/simd_cmp_ssse3.cc
third_party/aom/test/simd_impl.h
third_party/aom/test/simd_neon_test.cc
third_party/aom/test/simd_sse2_test.cc
third_party/aom/test/simd_sse4_test.cc
third_party/aom/test/simd_ssse3_test.cc
third_party/aom/test/simple_decoder.sh
third_party/aom/test/simple_encoder.sh
third_party/aom/test/subtract_test.cc
third_party/aom/test/sum_squares_test.cc
third_party/aom/test/superframe_test.cc
third_party/aom/test/test-data.mk
third_party/aom/test/test-data.sha1
third_party/aom/test/test.cmake
third_party/aom/test/test.mk
third_party/aom/test/test_data_util.cmake
third_party/aom/test/test_intra_pred_speed.cc
third_party/aom/test/test_libaom.cc
third_party/aom/test/test_worker.cmake
third_party/aom/test/tile_independence_test.cc
third_party/aom/test/tools_common.sh
third_party/aom/test/transform_test_base.h
third_party/aom/test/twopass_encoder.sh
third_party/aom/test/user_priv_test.cc
third_party/aom/test/util.h
third_party/aom/test/variance_test.cc
third_party/aom/test/video_source.h
third_party/aom/test/warp_filter_test.cc
third_party/aom/test/warp_filter_test_util.cc
third_party/aom/test/warp_filter_test_util.h
third_party/aom/test/webm_video_source.h
third_party/aom/test/y4m_test.cc
third_party/aom/test/y4m_video_source.h
third_party/aom/test/yuv_video_source.h
third_party/aom/third_party/fastfeat/LICENSE
third_party/aom/third_party/fastfeat/README.libvpx
third_party/aom/third_party/fastfeat/fast.c
third_party/aom/third_party/fastfeat/fast.h
third_party/aom/third_party/fastfeat/fast_9.c
third_party/aom/third_party/fastfeat/nonmax.c
third_party/aom/third_party/googletest/README.libaom
third_party/aom/third_party/googletest/gtest.mk
third_party/aom/third_party/googletest/src/googletest/CHANGES
third_party/aom/third_party/googletest/src/googletest/CMakeLists.txt
third_party/aom/third_party/googletest/src/googletest/CONTRIBUTORS
third_party/aom/third_party/googletest/src/googletest/LICENSE
third_party/aom/third_party/googletest/src/googletest/README.md
third_party/aom/third_party/googletest/src/googletest/cmake/internal_utils.cmake
third_party/aom/third_party/googletest/src/googletest/include/gtest/gtest-death-test.h
third_party/aom/third_party/googletest/src/googletest/include/gtest/gtest-message.h
third_party/aom/third_party/googletest/src/googletest/include/gtest/gtest-param-test.h
third_party/aom/third_party/googletest/src/googletest/include/gtest/gtest-param-test.h.pump
third_party/aom/third_party/googletest/src/googletest/include/gtest/gtest-printers.h
third_party/aom/third_party/googletest/src/googletest/include/gtest/gtest-spi.h
third_party/aom/third_party/googletest/src/googletest/include/gtest/gtest-test-part.h
third_party/aom/third_party/googletest/src/googletest/include/gtest/gtest-typed-test.h
third_party/aom/third_party/googletest/src/googletest/include/gtest/gtest.h
third_party/aom/third_party/googletest/src/googletest/include/gtest/gtest_pred_impl.h
third_party/aom/third_party/googletest/src/googletest/include/gtest/gtest_prod.h
third_party/aom/third_party/googletest/src/googletest/include/gtest/internal/custom/gtest-port.h
third_party/aom/third_party/googletest/src/googletest/include/gtest/internal/custom/gtest-printers.h
third_party/aom/third_party/googletest/src/googletest/include/gtest/internal/custom/gtest.h
third_party/aom/third_party/googletest/src/googletest/include/gtest/internal/gtest-death-test-internal.h
third_party/aom/third_party/googletest/src/googletest/include/gtest/internal/gtest-filepath.h
third_party/aom/third_party/googletest/src/googletest/include/gtest/internal/gtest-internal.h
third_party/aom/third_party/googletest/src/googletest/include/gtest/internal/gtest-linked_ptr.h
third_party/aom/third_party/googletest/src/googletest/include/gtest/internal/gtest-param-util-generated.h
third_party/aom/third_party/googletest/src/googletest/include/gtest/internal/gtest-param-util-generated.h.pump
third_party/aom/third_party/googletest/src/googletest/include/gtest/internal/gtest-param-util.h
third_party/aom/third_party/googletest/src/googletest/include/gtest/internal/gtest-port-arch.h
third_party/aom/third_party/googletest/src/googletest/include/gtest/internal/gtest-port.h
third_party/aom/third_party/googletest/src/googletest/include/gtest/internal/gtest-string.h
third_party/aom/third_party/googletest/src/googletest/include/gtest/internal/gtest-tuple.h
third_party/aom/third_party/googletest/src/googletest/include/gtest/internal/gtest-tuple.h.pump
third_party/aom/third_party/googletest/src/googletest/include/gtest/internal/gtest-type-util.h
third_party/aom/third_party/googletest/src/googletest/include/gtest/internal/gtest-type-util.h.pump
third_party/aom/third_party/googletest/src/googletest/src/gtest-all.cc
third_party/aom/third_party/googletest/src/googletest/src/gtest-death-test.cc
third_party/aom/third_party/googletest/src/googletest/src/gtest-filepath.cc
third_party/aom/third_party/googletest/src/googletest/src/gtest-internal-inl.h
third_party/aom/third_party/googletest/src/googletest/src/gtest-port.cc
third_party/aom/third_party/googletest/src/googletest/src/gtest-printers.cc
third_party/aom/third_party/googletest/src/googletest/src/gtest-test-part.cc
third_party/aom/third_party/googletest/src/googletest/src/gtest-typed-test.cc
third_party/aom/third_party/googletest/src/googletest/src/gtest.cc
third_party/aom/third_party/googletest/src/googletest/src/gtest_main.cc
third_party/aom/third_party/libwebm/AUTHORS.TXT
third_party/aom/third_party/libwebm/Android.mk
third_party/aom/third_party/libwebm/LICENSE.TXT
third_party/aom/third_party/libwebm/PATENTS.TXT
third_party/aom/third_party/libwebm/README.libaom
third_party/aom/third_party/libwebm/common/file_util.cc
third_party/aom/third_party/libwebm/common/file_util.h
third_party/aom/third_party/libwebm/common/hdr_util.cc
third_party/aom/third_party/libwebm/common/hdr_util.h
third_party/aom/third_party/libwebm/common/webmids.h
third_party/aom/third_party/libwebm/mkvmuxer/mkvmuxer.cc
third_party/aom/third_party/libwebm/mkvmuxer/mkvmuxer.h
third_party/aom/third_party/libwebm/mkvmuxer/mkvmuxertypes.h
third_party/aom/third_party/libwebm/mkvmuxer/mkvmuxerutil.cc
third_party/aom/third_party/libwebm/mkvmuxer/mkvmuxerutil.h
third_party/aom/third_party/libwebm/mkvmuxer/mkvwriter.cc
third_party/aom/third_party/libwebm/mkvmuxer/mkvwriter.h
third_party/aom/third_party/libwebm/mkvparser/mkvparser.cc
third_party/aom/third_party/libwebm/mkvparser/mkvparser.h
third_party/aom/third_party/libwebm/mkvparser/mkvreader.cc
third_party/aom/third_party/libwebm/mkvparser/mkvreader.h
third_party/aom/third_party/libyuv/README.libaom
third_party/aom/third_party/libyuv/include/libyuv/basic_types.h
third_party/aom/third_party/libyuv/include/libyuv/compare.h
third_party/aom/third_party/libyuv/include/libyuv/convert.h
third_party/aom/third_party/libyuv/include/libyuv/convert_argb.h
third_party/aom/third_party/libyuv/include/libyuv/convert_from.h
third_party/aom/third_party/libyuv/include/libyuv/convert_from_argb.h
third_party/aom/third_party/libyuv/include/libyuv/cpu_id.h
third_party/aom/third_party/libyuv/include/libyuv/mjpeg_decoder.h
third_party/aom/third_party/libyuv/include/libyuv/planar_functions.h
third_party/aom/third_party/libyuv/include/libyuv/rotate.h
third_party/aom/third_party/libyuv/include/libyuv/rotate_argb.h
third_party/aom/third_party/libyuv/include/libyuv/rotate_row.h
third_party/aom/third_party/libyuv/include/libyuv/row.h
third_party/aom/third_party/libyuv/include/libyuv/scale.h
third_party/aom/third_party/libyuv/include/libyuv/scale_argb.h
third_party/aom/third_party/libyuv/include/libyuv/scale_row.h
third_party/aom/third_party/libyuv/include/libyuv/version.h
third_party/aom/third_party/libyuv/include/libyuv/video_common.h
third_party/aom/third_party/libyuv/source/compare.cc
third_party/aom/third_party/libyuv/source/compare_common.cc
third_party/aom/third_party/libyuv/source/compare_gcc.cc
third_party/aom/third_party/libyuv/source/compare_neon.cc
third_party/aom/third_party/libyuv/source/compare_neon64.cc
third_party/aom/third_party/libyuv/source/compare_win.cc
third_party/aom/third_party/libyuv/source/convert.cc
third_party/aom/third_party/libyuv/source/convert_argb.cc
third_party/aom/third_party/libyuv/source/convert_from.cc
third_party/aom/third_party/libyuv/source/convert_from_argb.cc
third_party/aom/third_party/libyuv/source/convert_jpeg.cc
third_party/aom/third_party/libyuv/source/convert_to_argb.cc
third_party/aom/third_party/libyuv/source/convert_to_i420.cc
third_party/aom/third_party/libyuv/source/cpu_id.cc
third_party/aom/third_party/libyuv/source/mjpeg_decoder.cc
third_party/aom/third_party/libyuv/source/mjpeg_validate.cc
third_party/aom/third_party/libyuv/source/planar_functions.cc
third_party/aom/third_party/libyuv/source/rotate.cc
third_party/aom/third_party/libyuv/source/rotate_any.cc
third_party/aom/third_party/libyuv/source/rotate_argb.cc
third_party/aom/third_party/libyuv/source/rotate_common.cc
third_party/aom/third_party/libyuv/source/rotate_gcc.cc
third_party/aom/third_party/libyuv/source/rotate_mips.cc
third_party/aom/third_party/libyuv/source/rotate_neon.cc
third_party/aom/third_party/libyuv/source/rotate_neon64.cc
third_party/aom/third_party/libyuv/source/rotate_win.cc
third_party/aom/third_party/libyuv/source/row_any.cc
third_party/aom/third_party/libyuv/source/row_common.cc
third_party/aom/third_party/libyuv/source/row_gcc.cc
third_party/aom/third_party/libyuv/source/row_mips.cc
third_party/aom/third_party/libyuv/source/row_neon.cc
third_party/aom/third_party/libyuv/source/row_neon64.cc
third_party/aom/third_party/libyuv/source/row_win.cc
third_party/aom/third_party/libyuv/source/row_x86.asm
third_party/aom/third_party/libyuv/source/scale.cc
third_party/aom/third_party/libyuv/source/scale_any.cc
third_party/aom/third_party/libyuv/source/scale_argb.cc
third_party/aom/third_party/libyuv/source/scale_common.cc
third_party/aom/third_party/libyuv/source/scale_gcc.cc
third_party/aom/third_party/libyuv/source/scale_mips.cc
third_party/aom/third_party/libyuv/source/scale_neon.cc
third_party/aom/third_party/libyuv/source/scale_neon64.cc
third_party/aom/third_party/libyuv/source/scale_win.cc
third_party/aom/third_party/libyuv/source/video_common.cc
third_party/aom/third_party/libyuv/source/x86inc.asm
third_party/aom/third_party/x86inc/LICENSE
third_party/aom/third_party/x86inc/README.libaom
third_party/aom/third_party/x86inc/x86inc.asm
third_party/aom/tools/all_builds.py
third_party/aom/tools/author_first_release.sh
third_party/aom/tools/build_inspector.sh
third_party/aom/tools/cpplint.py
third_party/aom/tools/diff.py
third_party/aom/tools/ftfy.sh
third_party/aom/tools/gen_authors.sh
third_party/aom/tools/gen_constrained_tokenset.py
third_party/aom/tools/inspect-cli.js
third_party/aom/tools/inspect-post.js
third_party/aom/tools/intersect-diffs.py
third_party/aom/tools/lint-hunks.py
third_party/aom/tools/wrap-commit-msg.py
third_party/aom/tools_common.c
third_party/aom/tools_common.h
third_party/aom/usage.dox
third_party/aom/usage_cx.dox
third_party/aom/usage_dx.dox
third_party/aom/video_common.h
third_party/aom/video_reader.c
third_party/aom/video_reader.h
third_party/aom/video_writer.c
third_party/aom/video_writer.h
third_party/aom/warnings.c
third_party/aom/warnings.h
third_party/aom/webmdec.cc
third_party/aom/webmdec.h
third_party/aom/webmenc.cc
third_party/aom/webmenc.h
third_party/aom/y4menc.c
third_party/aom/y4menc.h
third_party/aom/y4minput.c
third_party/aom/y4minput.h
new file mode 100644
--- /dev/null
+++ b/third_party/aom/.clang-format
@@ -0,0 +1,94 @@
+---
+Language:        Cpp
+# BasedOnStyle:  Google
+# Generated with clang-format 3.9.1
+AccessModifierOffset: -1
+AlignAfterOpenBracket: Align
+AlignConsecutiveAssignments: false
+AlignConsecutiveDeclarations: false
+AlignEscapedNewlinesLeft: true
+AlignOperands:   true
+AlignTrailingComments: true
+AllowAllParametersOfDeclarationOnNextLine: true
+AllowShortBlocksOnASingleLine: false
+AllowShortCaseLabelsOnASingleLine: true
+AllowShortFunctionsOnASingleLine: All
+AllowShortIfStatementsOnASingleLine: true
+AllowShortLoopsOnASingleLine: true
+AlwaysBreakAfterDefinitionReturnType: None
+AlwaysBreakAfterReturnType: None
+AlwaysBreakBeforeMultilineStrings: true
+AlwaysBreakTemplateDeclarations: true
+BinPackArguments: true
+BinPackParameters: true
+BraceWrapping:
+  AfterClass:      false
+  AfterControlStatement: false
+  AfterEnum:       false
+  AfterFunction:   false
+  AfterNamespace:  false
+  AfterObjCDeclaration: false
+  AfterStruct:     false
+  AfterUnion:      false
+  BeforeCatch:     false
+  BeforeElse:      false
+  IndentBraces:    false
+BreakBeforeBinaryOperators: None
+BreakBeforeBraces: Attach
+BreakBeforeTernaryOperators: true
+BreakConstructorInitializersBeforeComma: false
+BreakAfterJavaFieldAnnotations: false
+BreakStringLiterals: true
+ColumnLimit:     80
+CommentPragmas:  '^ IWYU pragma:'
+ConstructorInitializerAllOnOneLineOrOnePerLine: false
+ConstructorInitializerIndentWidth: 4
+ContinuationIndentWidth: 4
+Cpp11BracedListStyle: false
+DerivePointerAlignment: false
+DisableFormat:   false
+ExperimentalAutoDetectBinPacking: false
+ForEachMacros:   [ foreach, Q_FOREACH, BOOST_FOREACH ]
+IncludeCategories:
+  - Regex:           '^<.*\.h>'
+    Priority:        1
+  - Regex:           '^<.*'
+    Priority:        2
+  - Regex:           '.*'
+    Priority:        3
+IncludeIsMainRegex: '([-_](test|unittest))?$'
+IndentCaseLabels: true
+IndentWidth:     2
+IndentWrappedFunctionNames: false
+KeepEmptyLinesAtTheStartOfBlocks: false
+MacroBlockBegin: ''
+MacroBlockEnd:   ''
+MaxEmptyLinesToKeep: 1
+NamespaceIndentation: None
+ObjCBlockIndentWidth: 2
+ObjCSpaceAfterProperty: false
+ObjCSpaceBeforeProtocolList: false
+PenaltyBreakBeforeFirstCallParameter: 1
+PenaltyBreakComment: 300
+PenaltyBreakFirstLessLess: 120
+PenaltyBreakString: 1000
+PenaltyExcessCharacter: 1000000
+PenaltyReturnTypeOnItsOwnLine: 200
+PointerAlignment: Right
+ReflowComments:  true
+SortIncludes:    false
+SpaceAfterCStyleCast: false
+SpaceBeforeAssignmentOperators: true
+SpaceBeforeParens: ControlStatements
+SpaceInEmptyParentheses: false
+SpacesBeforeTrailingComments: 2
+SpacesInAngles:  false
+SpacesInContainerLiterals: true
+SpacesInCStyleCastParentheses: false
+SpacesInParentheses: false
+SpacesInSquareBrackets: false
+Standard:        Auto
+TabWidth:        8
+UseTab:          Never
+...
+
new file mode 100644
--- /dev/null
+++ b/third_party/aom/.mailmap
@@ -0,0 +1,32 @@
+Adrian Grange <agrange@google.com>
+Aℓex Converse <aconverse@google.com>
+Aℓex Converse <aconverse@google.com> <alex.converse@gmail.com>
+Alexis Ballier <aballier@gentoo.org> <alexis.ballier@gmail.com>
+Alpha Lam <hclam@google.com> <hclam@chromium.org>
+Deb Mukherjee <debargha@google.com>
+Erik Niemeyer <erik.a.niemeyer@intel.com> <erik.a.niemeyer@gmail.com>
+Guillaume Martres <gmartres@google.com> <smarter3@gmail.com>
+Hangyu Kuang <hkuang@google.com>
+Hui Su <huisu@google.com>
+Jacky Chen <jackychen@google.com>
+Jim Bankoski <jimbankoski@google.com>
+Johann Koenig <johannkoenig@google.com>
+Johann Koenig <johannkoenig@google.com> <johann.koenig@duck.com>
+Johann Koenig <johannkoenig@google.com> <johann.koenig@gmail.com>
+John Koleszar <jkoleszar@google.com>
+Joshua Litt <joshualitt@google.com> <joshualitt@chromium.org>
+Marco Paniconi <marpan@google.com>
+Marco Paniconi <marpan@google.com> <marpan@chromium.org>
+Pascal Massimino <pascal.massimino@gmail.com>
+Paul Wilkins <paulwilkins@google.com>
+Ralph Giles <giles@xiph.org> <giles@entropywave.com>
+Ralph Giles <giles@xiph.org> <giles@mozilla.com>
+Ronald S. Bultje <rsbultje@gmail.com> <rbultje@google.com>
+Sami Pietilä <samipietila@google.com>
+Tamar Levy <tamar.levy@intel.com>
+Tamar Levy <tamar.levy@intel.com> <levytamar82@gmail.com>
+Tero Rintaluoma <teror@google.com> <tero.rintaluoma@on2.com>
+Timothy B. Terriberry <tterribe@xiph.org> Tim Terriberry <tterriberry@mozilla.com>
+Tom Finegan <tomfinegan@google.com>
+Tom Finegan <tomfinegan@google.com> <tomfinegan@chromium.org>
+Yaowu Xu <yaowu@google.com> <yaowu@xuyaowu.com>
new file mode 100644
--- /dev/null
+++ b/third_party/aom/AUTHORS
@@ -0,0 +1,144 @@
+# This file is automatically generated from the git commit history
+# by tools/gen_authors.sh.
+
+Aaron Watry <awatry@gmail.com>
+Abo Talib Mahfoodh <ab.mahfoodh@gmail.com>
+Adam Xu <adam@xuyaowu.com>
+Adrian Grange <agrange@google.com>
+Aℓex Converse <aconverse@google.com>
+Ahmad Sharif <asharif@google.com>
+Alexander Voronov <avoronov@graphics.cs.msu.ru>
+Alexis Ballier <aballier@gentoo.org>
+Alok Ahuja <waveletcoeff@gmail.com>
+Alpha Lam <hclam@google.com>
+A.Mahfoodh <ab.mahfoodh@gmail.com>
+Ami Fischman <fischman@chromium.org>
+Andoni Morales Alastruey <ylatuya@gmail.com>
+Andres Mejia <mcitadel@gmail.com>
+Andrew Russell <anrussell@google.com>
+Angie Chiang <angiebird@google.com>
+Aron Rosenberg <arosenberg@logitech.com>
+Attila Nagy <attilanagy@google.com>
+Brion Vibber <bvibber@wikimedia.org>
+changjun.yang <changjun.yang@intel.com>
+Charles 'Buck' Krasic <ckrasic@google.com>
+chm <chm@rock-chips.com>
+Christian Duvivier <cduvivier@google.com>
+Daniel Kang <ddkang@google.com>
+Deb Mukherjee <debargha@google.com>
+Dim Temp <dimtemp0@gmail.com>
+Dmitry Kovalev <dkovalev@google.com>
+Dragan Mrdjan <dmrdjan@mips.com>
+Ed Baker <edward.baker@intel.com>
+Ehsan Akhgari <ehsan.akhgari@gmail.com>
+Erik Niemeyer <erik.a.niemeyer@intel.com>
+Fabio Pedretti <fabio.ped@libero.it>
+Frank Galligan <fgalligan@google.com>
+Fredrik Söderquist <fs@opera.com>
+Fritz Koenig <frkoenig@google.com>
+Gaute Strokkenes <gaute.strokkenes@broadcom.com>
+Geza Lore <gezalore@gmail.com>
+Ghislain MARY <ghislainmary2@gmail.com>
+Giuseppe Scrivano <gscrivano@gnu.org>
+Gordana Cmiljanovic <gordana.cmiljanovic@imgtec.com>
+Guillaume Martres <gmartres@google.com>
+Guillermo Ballester Valor <gbvalor@gmail.com>
+Hangyu Kuang <hkuang@google.com>
+Hanno Böck <hanno@hboeck.de>
+Henrik Lundin <hlundin@google.com>
+Hui Su <huisu@google.com>
+Ivan Maltz <ivanmaltz@google.com>
+Jacek Caban <cjacek@gmail.com>
+Jacky Chen <jackychen@google.com>
+James Berry <jamesberry@google.com>
+James Yu <james.yu@linaro.org>
+James Zern <jzern@google.com>
+Jan Gerber <j@mailb.org>
+Jan Kratochvil <jan.kratochvil@redhat.com>
+Janne Salonen <jsalonen@google.com>
+Jean-Marc Valin <jmvalin@jmvalin.ca>
+Jeff Faust <jfaust@google.com>
+Jeff Muizelaar <jmuizelaar@mozilla.com>
+Jeff Petkau <jpet@chromium.org>
+Jia Jia <jia.jia@linaro.org>
+Jian Zhou <zhoujian@google.com>
+Jim Bankoski <jimbankoski@google.com>
+Jingning Han <jingning@google.com>
+Joey Parrish <joeyparrish@google.com>
+Johann Koenig <johannkoenig@chromium.org>
+Johann Koenig <johannkoenig@google.com>
+John Koleszar <jkoleszar@google.com>
+Johnny Klonaris <google@jawknee.com>
+John Stark <jhnstrk@gmail.com>
+Joshua Bleecher Snyder <josh@treelinelabs.com>
+Joshua Litt <joshualitt@google.com>
+Julia Robson <juliamrobson@gmail.com>
+Justin Clift <justin@salasaga.org>
+Justin Lebar <justin.lebar@gmail.com>
+KO Myung-Hun <komh@chollian.net>
+Lawrence Velázquez <larryv@macports.org>
+Lou Quillio <louquillio@google.com>
+Luca Barbato <lu_zero@gentoo.org>
+Makoto Kato <makoto.kt@gmail.com>
+Mans Rullgard <mans@mansr.com>
+Marco Paniconi <marpan@google.com>
+Mark Mentovai <mark@chromium.org>
+Martin Ettl <ettl.martin78@googlemail.com>
+Martin Storsjo <martin@martin.st>
+Matthew Heaney <matthewjheaney@chromium.org>
+Michael Kohler <michaelkohler@live.com>
+Mike Frysinger <vapier@chromium.org>
+Mike Hommey <mhommey@mozilla.com>
+Mikhal Shemer <mikhal@google.com>
+Minghai Shang <minghai@google.com>
+Morton Jonuschat <yabawock@gmail.com>
+Nathan E. Egge <negge@dgql.org>
+Nico Weber <thakis@chromium.org>
+Parag Salasakar <img.mips1@gmail.com>
+Pascal Massimino <pascal.massimino@gmail.com>
+Patrik Westin <patrik.westin@gmail.com>
+Paul Wilkins <paulwilkins@google.com>
+Pavol Rusnak <stick@gk2.sk>
+Paweł Hajdan <phajdan@google.com>
+Pengchong Jin <pengchong@google.com>
+Peter de Rivaz <peter.derivaz@argondesign.com>
+Peter de Rivaz <peter.derivaz@gmail.com>
+Philip Jägenstedt <philipj@opera.com>
+Priit Laes <plaes@plaes.org>
+Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+Rafaël Carré <funman@videolan.org>
+Ralph Giles <giles@xiph.org>
+Rob Bradford <rob@linux.intel.com>
+Ronald S. Bultje <rsbultje@gmail.com>
+Rui Ueyama <ruiu@google.com>
+Sami Pietilä <samipietila@google.com>
+Sasi Inguva <isasi@google.com>
+Scott Graham <scottmg@chromium.org>
+Scott LaVarnway <slavarnway@google.com>
+Sean McGovern <gseanmcg@gmail.com>
+Sergey Kolomenkin <kolomenkin@gmail.com>
+Sergey Ulanov <sergeyu@chromium.org>
+Shimon Doodkin <helpmepro1@gmail.com>
+Shunyao Li <shunyaoli@google.com>
+Stefan Holmer <holmer@google.com>
+Steinar Midtskogen <stemidts@cisco.com>
+Suman Sunkara <sunkaras@google.com>
+Taekhyun Kim <takim@nvidia.com>
+Takanori MATSUURA <t.matsuu@gmail.com>
+Tamar Levy <tamar.levy@intel.com>
+Tao Bai <michaelbai@chromium.org>
+Tero Rintaluoma <teror@google.com>
+Thijs Vermeir <thijsvermeir@gmail.com>
+Thomas Daede <tdaede@mozilla.com>
+Thomas Davies <thdavies@cisco.com>
+Thomas <thdavies@cisco.com>
+Tim Kopp <tkopp@google.com>
+Timothy B. Terriberry <tterribe@xiph.org>
+Tom Finegan <tomfinegan@google.com>
+Tristan Matthews <le.businessman@gmail.com>
+Tristan Matthews <tmatth@videolan.org>
+Vignesh Venkatasubramanian <vigneshv@google.com>
+Yaowu Xu <yaowu@google.com>
+Yongzhe Wang <yongzhe@google.com>
+Yunqing Wang <yunqingwang@google.com>
+Zoe Liu <zoeliu@google.com>
new file mode 100644
--- /dev/null
+++ b/third_party/aom/CHANGELOG
@@ -0,0 +1,630 @@
+Next Release
+  - Incompatible changes:
+    The AV1 encoder's default keyframe interval changed to 128 from 9999.
+
+2016-04-07 v0.1.0 "AOMedia Codec 1"
+  This release is the first Alliance for Open Media codec.
+2015-11-09 v1.5.0 "Javan Whistling Duck"
+  This release improves upon the VP9 encoder and speeds up the encoding and
+  decoding processes.
+
+  - Upgrading:
+    This release is ABI incompatible with 1.4.0. It drops deprecated VP8
+    controls and adds a variety of VP9 controls for testing.
+
+    The vpxenc utility now prefers VP9 by default.
+
+  - Enhancements:
+    Faster VP9 encoding and decoding
+    Smaller library size by combining functions used by VP8 and VP9
+
+  - Bug Fixes:
+    A variety of fuzzing issues
+
+2015-04-03 v1.4.0 "Indian Runner Duck"
+  This release includes significant improvements to the VP9 codec.
+
+  - Upgrading:
+    This release is ABI incompatible with 1.3.0. It drops the compatibility
+    layer, requiring VPX_IMG_FMT_* instead of IMG_FMT_*, and adds several codec
+    controls for VP9.
+
+  - Enhancements:
+    Faster VP9 encoding and decoding
+    Multithreaded VP9 decoding (tile and frame-based)
+    Multithreaded VP9 encoding - on by default
+    YUV 4:2:2 and 4:4:4 support in VP9
+    10 and 12bit support in VP9
+    64bit ARM support by replacing ARM assembly with intrinsics
+
+  - Bug Fixes:
+    Fixes a VP9 bitstream issue in Profile 1. This only affected non-YUV 4:2:0
+    files.
+
+  - Known Issues:
+    Frame Parallel decoding fails for segmented and non-420 files.
+
+2013-11-15 v1.3.0 "Forest"
+  This release introduces the VP9 codec in a backward-compatible way.
+  All existing users of VP8 can continue to use the library without
+  modification. However, some VP8 options do not map to VP9 in the same manner.
+
+  The VP9 encoder in this release is not feature complete. Users interested in
+  the encoder are advised to use the git master branch and discuss issues on
+  libvpx mailing lists.
+
+  - Upgrading:
+    This release is ABI and API compatible with Duclair (v1.0.0). Users
+    of older releases should refer to the Upgrading notes in this document
+    for that release.
+
+  - Enhancements:
+      Get rid of bashisms in the main build scripts
+      Added usage info on command line options
+      Add lossless compression mode
+      Dll build of libvpx
+      Add additional Mac OS X targets: 10.7, 10.8 and 10.9 (darwin11-13)
+      Add option to disable documentation
+      configure: add --enable-external-build support
+      make: support V=1 as short form of verbose=yes
+      configure: support mingw-w64
+      configure: support hardfloat armv7 CHOSTS
+      configure: add support for android x86
+      Add estimated completion time to vpxenc
+      Don't exit on decode errors in vpxenc
+      vpxenc: support scaling prior to encoding
+      vpxdec: support scaling output
+      vpxenc: improve progress indicators with --skip
+      msvs: Don't link to winmm.lib
+      Add a new script for producing vcxproj files
+      Produce Visual Studio 10 and 11 project files
+      Produce Windows Phone project files
+      msvs-build: use msbuild for vs >= 2005
+      configure: default configure log to config.log
+      Add encoding option --static-thresh
+
+  - Speed:
+      Miscellaneous speed optimizations for VP8 and VP9.
+
+  - Quality:
+      In general, quality is consistent with the Eider release.
+
+  - Bug Fixes:
+      This release represents approximately a year of engineering effort,
+      and contains multiple bug fixes. Please refer to git history for details.
+
+
+2012-12-21 v1.2.0
+  This release acts as a checkpoint for a large amount of internal refactoring
+  and testing. It also contains a number of small bugfixes, so all users are
+  encouraged to upgrade.
+
+  - Upgrading:
+    This release is ABI and API compatible with Duclair (v1.0.0). Users
+    of older releases should refer to the Upgrading notes in this
+    document for that release.
+
+  - Enhancements:
+      VP8 optimizations for MIPS dspr2
+      vpxenc: add -quiet option
+
+  - Speed:
+      Encoder and decoder speed is consistent with the Eider release.
+
+  - Quality:
+      In general, quality is consistent with the Eider release.
+
+      Minor tweaks to ARNR filtering
+      Minor improvements to real time encoding with multiple temporal layers
+
+  - Bug Fixes:
+      Fixes multithreaded encoder race condition in loopfilter
+      Fixes multi-resolution threaded encoding
+      Fix potential encoder dead-lock after picture resize
+
+
+2012-05-09 v1.1.0 "Eider"
+  This introduces a number of enhancements, mostly focused on real-time
+  encoding. In addition, it fixes a decoder bug (first introduced in
+  Duclair) so all users of that release are encouraged to upgrade.
+
+  - Upgrading:
+    This release is ABI and API compatible with Duclair (v1.0.0). Users
+    of older releases should refer to the Upgrading notes in this
+    document for that release.
+
+    This release introduces a new temporal denoiser, controlled by the
+    VP8E_SET_NOISE_SENSITIVITY control. The temporal denoiser does not
+    currently take a strength parameter, so the control is effectively
+    a boolean - zero (off) or non-zero (on). For compatibility with
+    existing applications, the values accepted are the same as those
+    for the spatial denoiser (0-6). The temporal denoiser is enabled
+    by default, and the older spatial denoiser may be restored by
+    configuring with --disable-temporal-denoising. The temporal denoiser
+    is more computationally intensive than the spatial one.
+
+    This release removes support for a legacy, decode only API that was
+    supported, but deprecated, at the initial release of libvpx
+    (v0.9.0). This is not expected to have any impact. If you are
+    impacted, you can apply a reversion to commit 2bf8fb58 locally.
+    Please update to the latest libvpx API if you are affected.
+
+  - Enhancements:
+      Adds a motion compensated temporal denoiser to the encoder, which
+      gives higher quality than the older spatial denoiser. (See above
+      for notes on upgrading).
+
+      In addition, support for new compilers and platforms were added,
+      including:
+        improved support for XCode
+        Android x86 NDK build
+        OS/2 support
+        SunCC support
+
+      Changing resolution with vpx_codec_enc_config_set() is now
+      supported. Previously, reinitializing the codec was required to
+      change the input resolution.
+
+      The vpxenc application has initial support for producing multiple
+      encodes from the same input in one call. Resizing is not yet
+      supported, but varying other codec parameters is. Use -- to
+      delineate output streams. Options persist from one stream to the
+      next.
+
+      Also, the vpxenc application will now use a keyframe interval of
+      5 seconds by default. Use the --kf-max-dist option to override.
+
+  - Speed:
+      Decoder performance improved 2.5% versus Duclair. Encoder speed is
+      consistent with Duclair for most material. Two pass encoding of
+      slideshow-like material will see significant improvements.
+
+      Large realtime encoding speed gains at a small quality expense are
+      possible by configuring the on-the-fly bitpacking experiment with
+      --enable-onthefly-bitpacking. Realtime encoder can be up to 13%
+      faster (ARM) depending on the number of threads and bitrate
+      settings. This technique sees constant gain over the 5-16 speed
+      range. For VC style input the loss seen is up to 0.2dB. See commit
+      52cf4dca for further details.
+
+  - Quality:
+      On the whole, quality is consistent with the Duclair release. Some
+      tweaks:
+
+        Reduced blockiness in easy sections by applying a penalty to
+        intra modes.
+
+        Improved quality of static sections (like slideshows) with
+        two pass encoding.
+
+        Improved keyframe sizing with multiple temporal layers
+
+  - Bug Fixes:
+      Corrected alt-ref contribution to frame rate for visible updates
+      to the alt-ref buffer. This affected applications making manual
+      usage of the frame reference flags, or temporal layers.
+
+      Additional constraints were added to disable multi-frame quality
+      enhancement (MFQE) in sections of the frame where there is motion.
+      (#392)
+
+      Fixed corruption issues when vpx_codec_enc_config_set() was called
+      with spatial resampling enabled.
+
+      Fixed a decoder error introduced in Duclair where the segmentation
+      map was not being reinitialized on keyframes (#378)
+
+
+2012-01-27 v1.0.0 "Duclair"
+  Our fourth named release, focused on performance and features related to
+  real-time encoding. It also fixes a decoder crash bug introduced in
+  v0.9.7, so all users of that release are encouraged to upgrade.
+
+  - Upgrading:
+      This release is ABI incompatible with prior releases of libvpx, so the
+      "major" version number has been bumped to 1. You must recompile your
+      applications against the latest version of the libvpx headers. The
+      API remains compatible, and this should not require code changes in most
+      applications.
+
+  - Enhancements:
+      This release introduces several substantial new features to the encoder,
+      of particular interest to real time streaming applications.
+
+      Temporal scalability allows the encoder to produce a stream that can
+      be decimated to different frame rates, with independent rate targetting
+      for each substream.
+
+      Multiframe quality enhancement postprocessing can make visual quality
+      more consistent in the presence of frames that are substantially
+      different quality than the surrounding frames, as in the temporal
+      scalability case and in some forced keyframe scenarios.
+
+      Multiple-resolution encoding support allows the encoding of the
+      same content at different resolutions faster than encoding them
+      separately.
+
+  - Speed:
+      Optimization targets for this release included the decoder and the real-
+      time modes of the encoder. Decoder speed on x86 has improved 10.5% with
+      this release. Encoder improvements followed a curve where speeds 1-3
+      improved 4.0%-1.5%, speeds 4-8 improved <1%, and speeds 9-16 improved
+      1.5% to 10.5%, respectively. "Best" mode speed is consistent with the
+      Cayuga release.
+
+  - Quality:
+      Encoder quality in the single stream case is consistent with the Cayuga
+      release.
+
+  - Bug Fixes:
+      This release fixes an OOB read decoder crash bug present in v0.9.7
+      related to the clamping of motion vectors in SPLITMV blocks. This
+      behavior could be triggered by corrupt input or by starting
+      decoding from a P-frame.
+
+
+2011-08-15 v0.9.7-p1 "Cayuga" patch 1
+  This is an incremental bugfix release against Cayuga. All users of that
+  release are strongly encouraged to upgrade.
+
+    - Fix potential OOB reads (cdae03a)
+
+          An unbounded out of bounds read was discovered when the
+          decoder was requested to perform error concealment (new in
+          Cayuga) given a frame with corrupt partition sizes.
+
+          A bounded out of bounds read was discovered affecting all
+          versions of libvpx. Given an multipartition input frame that
+          is truncated between the mode/mv partition and the first
+          residiual paritition (in the block of partition offsets), up
+          to 3 extra bytes could have been read from the source buffer.
+          The code will not take any action regardless of the contents
+          of these undefined bytes, as the truncated buffer is detected
+          immediately following the read based on the calculated
+          starting position of the coefficient partition.
+
+    - Fix potential error concealment crash when the very first frame
+      is missing or corrupt (a609be5)
+
+    - Fix significant artifacts in error concealment (a4c2211, 99d870a)
+
+    - Revert 1-pass CBR rate control changes (e961317)
+      Further testing showed this change produced undesirable visual
+      artifacts, rolling back for now.
+
+
+2011-08-02 v0.9.7 "Cayuga"
+  Our third named release, focused on a faster, higher quality, encoder.
+
+  - Upgrading:
+    This release is backwards compatible with Aylesbury (v0.9.5) and
+    Bali (v0.9.6). Users of older releases should refer to the Upgrading
+    notes in this document for that release.
+
+  - Enhancements:
+          Stereo 3D format support for vpxenc
+          Runtime detection of available processor cores.
+          Allow specifying --end-usage by enum name
+          vpxdec: test for frame corruption
+          vpxenc: add quantizer histogram display
+          vpxenc: add rate histogram display
+          Set VPX_FRAME_IS_DROPPABLE
+          update configure for ios sdk 4.3
+          Avoid text relocations in ARM vp8 decoder
+          Generate a vpx.pc file for pkg-config.
+          New ways of passing encoded data between encoder and decoder.
+
+  - Speed:
+      This release includes across-the-board speed improvements to the
+      encoder. On x86, these measure at approximately 11.5% in Best mode,
+      21.5% in Good mode (speed 0), and 22.5% in Realtime mode (speed 6).
+      On ARM Cortex A9 with Neon extensions, real-time encoding of video
+      telephony content is 35% faster than Bali on single core and 48%
+      faster on multi-core. On the NVidia Tegra2 platform, real time
+      encoding is 40% faster than Bali.
+
+      Decoder speed was not a priority for this release, but improved
+      approximately 8.4% on x86.
+
+          Reduce motion vector search on alt-ref frame.
+          Encoder loopfilter running in its own thread
+          Reworked loopfilter to precalculate more parameters
+          SSE2/SSSE3 optimizations for build_predictors_mbuv{,_s}().
+          Make hor UV predict ~2x faster (73 vs 132 cycles) using SSSE3.
+          Removed redundant checks
+          Reduced structure sizes
+          utilize preload in ARMv6 MC/LPF/Copy routines
+          ARM optimized quantization, dfct, variance, subtract
+          Increase chrow row alignment to 16 bytes.
+          disable trellis optimization for first pass
+          Write SSSE3 sub-pixel filter function
+          Improve SSE2 half-pixel filter funtions
+          Add vp8_sub_pixel_variance16x8_ssse3 function
+          Reduce unnecessary distortion computation
+          Use diamond search to replace full search
+          Preload reference area in sub-pixel motion search (real-time mode)
+
+  - Quality:
+      This release focused primarily on one-pass use cases, including
+      video conferencing. Low latency data rate control was significantly
+      improved, improving streamability over bandwidth constrained links.
+      Added support for error concealment, allowing frames to maintain
+      visual quality in the presence of substantial packet loss.
+
+          Add rc_max_intra_bitrate_pct control
+          Limit size of initial keyframe in one-pass.
+          Improve framerate adaptation
+          Improved 1-pass CBR rate control
+          Improved KF insertion after fades to still.
+          Improved key frame detection.
+          Improved activity masking (lower PSNR impact for same SSIM boost)
+          Improved interaction between GF and ARFs
+          Adding error-concealment to the decoder.
+          Adding support for independent partitions
+          Adjusted rate-distortion constants
+
+
+  - Bug Fixes:
+          Removed firstpass motion map
+          Fix parallel make install
+          Fix multithreaded encoding for 1 MB wide frame
+          Fixed iwalsh_neon build problems with RVDS4.1
+          Fix semaphore emulation, spin-wait intrinsics on Windows
+          Fix build with xcode4 and simplify GLOBAL.
+          Mark ARM asm objects as allowing a non-executable stack.
+          Fix vpxenc encoding incorrect webm file header on big endian
+
+
+2011-03-07 v0.9.6 "Bali"
+  Our second named release, focused on a faster, higher quality, encoder.
+
+  - Upgrading:
+    This release is backwards compatible with Aylesbury (v0.9.5). Users
+    of older releases should refer to the Upgrading notes in this
+    document for that release.
+
+  - Enhancements:
+      vpxenc --psnr shows a summary when encode completes
+      --tune=ssim option to enable activity masking
+      improved postproc visualizations for development
+      updated support for Apple iOS to SDK 4.2
+      query decoder to determine which reference frames were updated
+      implemented error tracking in the decoder
+      fix pipe support on windows
+
+  - Speed:
+      Primary focus was on good quality mode, speed 0. Average improvement
+      on x86 about 40%, up to 100% on user-generated content at that speed.
+      Best quality mode speed improved 35%, and realtime speed 10-20%. This
+      release also saw significant improvement in realtime encoding speed
+      on ARM platforms.
+
+        Improved encoder threading
+        Dont pick encoder filter level when loopfilter is disabled.
+        Avoid double copying of key frames into alt and golden buffer
+        FDCT optimizations.
+        x86 sse2 temporal filter
+        SSSE3 version of fast quantizer
+        vp8_rd_pick_best_mbsegmentation code restructure
+        Adjusted breakout RD for SPLITMV
+        Changed segmentation check order
+        Improved rd_pick_intra4x4block
+        Adds armv6 optimized variance calculation
+        ARMv6 optimized sad16x16
+        ARMv6 optimized half pixel variance calculations
+        Full search SAD function optimization in SSE4.1
+        Improve MV prediction accuracy to achieve performance gain
+        Improve MV prediction in vp8_pick_inter_mode() for speed>3
+
+  - Quality:
+      Best quality mode improved PSNR 6.3%, and SSIM 6.1%. This release
+      also includes support for "activity masking," which greatly improves
+      SSIM at the expense of PSNR. For now, this feature is available with
+      the --tune=ssim option. Further experimentation in this area
+      is ongoing. This release also introduces a new rate control mode
+      called "CQ," which changes the allocation of bits within a clip to
+      the sections where they will have the most visual impact.
+
+        Tuning for the more exact quantizer.
+        Relax rate control for last few frames
+        CQ Mode
+        Limit key frame quantizer for forced key frames.
+        KF/GF Pulsing
+        Add simple version of activity masking.
+        make rdmult adaptive for intra in quantizer RDO
+        cap the best quantizer for 2nd order DC
+        change the threshold of DC check for encode breakout
+
+  - Bug Fixes:
+      Fix crash on Sparc Solaris.
+      Fix counter of fixed keyframe distance
+      ARNR filter pointer update bug fix
+      Fixed use of motion percentage in KF/GF group calc
+      Changed condition for using RD in Intra Mode
+      Fix encoder real-time only configuration.
+      Fix ARM encoder crash with multiple token partitions
+      Fixed bug first cluster timecode of webm file is wrong.
+      Fixed various encoder bugs with odd-sized images
+      vp8e_get_preview fixed when spatial resampling enabled
+      quantizer: fix assertion in fast quantizer path
+      Allocate source buffers to be multiples of 16
+      Fix for manual Golden frame frequency
+      Fix drastic undershoot in long form content
+
+
+2010-10-28 v0.9.5 "Aylesbury"
+  Our first named release, focused on a faster decoder, and a better encoder.
+
+  - Upgrading:
+    This release incorporates backwards-incompatible changes to the
+    ivfenc and ivfdec tools. These tools are now called vpxenc and vpxdec.
+
+    vpxdec
+      * the -q (quiet) option has been removed, and replaced with
+        -v (verbose). the output is quiet by default. Use -v to see
+        the version number of the binary.
+
+      * The default behavior is now to write output to a single file
+        instead of individual frames. The -y option has been removed.
+        Y4M output is the default.
+
+      * For raw I420/YV12 output instead of Y4M, the --i420 or --yv12
+        options must be specified.
+
+          $ ivfdec -o OUTPUT INPUT
+          $ vpxdec --i420 -o OUTPUT INPUT
+
+      * If an output file is not specified, the default is to write
+        Y4M to stdout. This makes piping more natural.
+
+          $ ivfdec -y -o - INPUT | ...
+          $ vpxdec INPUT | ...
+
+      * The output file has additional flexibility for formatting the
+        filename. It supports escape characters for constructing a
+        filename from the width, height, and sequence number. This
+        replaces the -p option. To get the equivalent:
+
+          $ ivfdec -p frame INPUT
+          $ vpxdec --i420 -o frame-%wx%h-%4.i420 INPUT
+
+    vpxenc
+      * The output file must be specified with -o, rather than as the
+        last argument.
+
+          $ ivfenc <options> INPUT OUTPUT
+          $ vpxenc <options> -o OUTPUT INPUT
+
+      * The output defaults to webm. To get IVF output, use the --ivf
+        option.
+
+          $ ivfenc <options> INPUT OUTPUT.ivf
+          $ vpxenc <options> -o OUTPUT.ivf --ivf INPUT
+
+
+  - Enhancements:
+      ivfenc and ivfdec have been renamed to vpxenc, vpxdec.
+      vpxdec supports .webm input
+      vpxdec writes .y4m by default
+      vpxenc writes .webm output by default
+      vpxenc --psnr now shows the average/overall PSNR at the end
+      ARM platforms now support runtime cpu detection
+      vpxdec visualizations added for motion vectors, block modes, references
+      vpxdec now silent by default
+      vpxdec --progress shows frame-by-frame timing information
+      vpxenc supports the distinction between --fps and --timebase
+      NASM is now a supported assembler
+      configure: enable PIC for shared libs by default
+      configure: add --enable-small
+      configure: support for ppc32-linux-gcc
+      configure: support for sparc-solaris-gcc
+
+  - Bugs:
+      Improve handling of invalid frames
+      Fix valgrind errors in the NEON loop filters.
+      Fix loopfilter delta zero transitions
+      Fix valgrind errors in vp8_sixtap_predict8x4_armv6().
+      Build fixes for darwin-icc
+
+  - Speed:
+      20-40% (average 28%) improvement in libvpx decoder speed,
+      including:
+        Rewrite vp8_short_walsh4x4_sse2()
+        Optimizations on the loopfilters.
+        Miscellaneous improvements for Atom
+        Add 4-tap version of 2nd-pass ARMv6 MC filter.
+        Improved multithread utilization
+        Better instruction choices on x86
+        reorder data to use wider instructions
+        Update NEON wide idcts
+        Make block access to frame buffer sequential
+        Improved subset block search
+        Bilinear subpixel optimizations for ssse3.
+        Decrease memory footprint
+
+      Encoder speed improvements (percentage gain not measured):
+        Skip unnecessary search of identical frames
+        Add SSE2 subtract functions
+        Improve bounds checking in vp8_diamond_search_sadx4()
+        Added vp8_fast_quantize_b_sse2
+
+  - Quality:
+      Over 7% overall PSNR improvement (6.3% SSIM) in "best" quality
+      encoding mode, and up to 60% improvement on very noisy, still
+      or slow moving source video
+
+        Motion compensated temporal filter for Alt-Ref Noise Reduction
+        Improved use of trellis quantization on 2nd order Y blocks
+        Tune effect of motion on KF/GF boost in two pass
+        Allow coefficient optimization for good quality speed 0.
+        Improved control of active min quantizer for two pass.
+        Enable ARFs for non-lagged compress
+
+2010-09-02 v0.9.2
+  - Enhancements:
+      Disable frame dropping by default
+      Improved multithreaded performance
+      Improved Force Key Frame Behaviour
+      Increased rate control buffer level precision
+      Fix bug in 1st pass motion compensation
+      ivfenc: correct fixed kf interval, --disable-kf
+  - Speed:
+      Changed above and left context data layout
+      Rework idct calling structure.
+      Removed unnecessary MB_MODE_INFO copies
+      x86: SSSE3 sixtap prediction
+      Reworked IDCT to include reconstruction (add) step
+      Swap alt/gold/new/last frame buffer ptrs instead of copying.
+      Improve SSE2 loopfilter functions
+      Change bitreader to use a larger window.
+      Avoid loopfilter reinitialization when possible
+  - Quality:
+      Normalize quantizer's zero bin and rounding factors
+      Add trellis quantization.
+      Make the quantizer exact.
+      Updates to ARNR filtering algorithm
+      Fix breakout thresh computation for golden & AltRef frames
+      Redo the forward 4x4 dct
+      Improve the accuracy of forward walsh-hadamard transform
+      Further adjustment of RD behaviour with Q and Zbin.
+  - Build System:
+      Allow linking of libs built with MinGW to MSVC
+      Fix target auto-detection on mingw32
+      Allow --cpu= to work for x86.
+      configure: pass original arguments through to make dist
+      Fix builds without runtime CPU detection
+      msvs: fix install of codec sources
+      msvs: Change devenv.com command line for better msys support
+      msvs: Add vs9 targets.
+      Add x86_64-linux-icc target
+  - Bugs:
+      Potential crashes on older MinGW builds
+      Fix two-pass framrate for Y4M input.
+      Fixed simple loop filter, other crashes on ARM v6
+      arm: fix missing dependency with --enable-shared
+      configure: support directories containing .o
+      Replace pinsrw (SSE) with MMX instructions
+      apple: include proper mach primatives
+      Fixed rate control bug with long key frame interval.
+      Fix DSO link errors on x86-64 when not using a version script
+      Fixed buffer selection for UV in AltRef filtering
+
+
+2010-06-17 v0.9.1
+  - Enhancements:
+      * ivfenc/ivfdec now support YUV4MPEG2 input and pipe I/O
+      * Speed optimizations
+  - Bugfixes:
+      * Rate control
+      * Prevent out-of-bounds accesses on invalid data
+  - Build system updates:
+      * Detect toolchain to be used automatically for native builds
+      * Support building shared libraries
+      * Better autotools emulation (--prefix, --libdir, DESTDIR)
+  - Updated LICENSE
+      * http://webmproject.blogspot.com/2010/06/changes-to-webm-open-source-license.html
+
+
+2010-05-18 v0.9.0
+  - Initial open source release. Welcome to WebM and VP8!
+
new file mode 100644
--- /dev/null
+++ b/third_party/aom/CMakeLists.txt
@@ -0,0 +1,350 @@
+##
+## Copyright (c) 2016, Alliance for Open Media. All rights reserved
+##
+## This source code is subject to the terms of the BSD 2 Clause License and
+## the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
+## was not distributed with this source code in the LICENSE file, you can
+## obtain it at www.aomedia.org/license/software. If the Alliance for Open
+## Media Patent License 1.0 was not distributed with this source code in the
+## PATENTS file, you can obtain it at www.aomedia.org/license/patent.
+##
+cmake_minimum_required(VERSION 3.5)
+project(AOM C CXX)
+
+set(AOM_ROOT "${CMAKE_CURRENT_SOURCE_DIR}")
+set(AOM_CONFIG_DIR "${CMAKE_CURRENT_BINARY_DIR}")
+
+include("${AOM_ROOT}/build/cmake/aom_configure.cmake")
+include("${AOM_ROOT}/build/cmake/aom_optimization.cmake")
+include("${AOM_ROOT}/aom_dsp/aom_dsp.cmake")
+include("${AOM_ROOT}/aom_mem/aom_mem.cmake")
+include("${AOM_ROOT}/aom_ports/aom_ports.cmake")
+include("${AOM_ROOT}/aom_scale/aom_scale.cmake")
+include("${AOM_ROOT}/aom_util/aom_util.cmake")
+include("${AOM_ROOT}/av1/av1.cmake")
+include("${AOM_ROOT}/test/test.cmake")
+
+set(AOM_RTCD_SOURCES
+    "${AOM_CONFIG_DIR}/aom_dsp_rtcd.h"
+    "${AOM_CONFIG_DIR}/aom_scale_rtcd.h"
+    "${AOM_CONFIG_DIR}/av1_rtcd.h"
+    "${AOM_ROOT}/aom_dsp/aom_dsp_rtcd_defs.pl"
+    "${AOM_ROOT}/aom_dsp/aom_dsp_rtcd.c"
+    "${AOM_ROOT}/aom_scale/aom_scale_rtcd.pl"
+    "${AOM_ROOT}/aom_scale/aom_scale_rtcd.c"
+    "${AOM_ROOT}/av1/common/av1_rtcd_defs.pl"
+    "${AOM_ROOT}/av1/common/av1_rtcd.c"
+    "${AOM_ROOT}/build/make/rtcd.pl")
+
+# TODO(tomfinegan): Use libwebm's cmake support directly.
+set(AOM_LIBWEBM_SOURCES
+    "${AOM_ROOT}/third_party/libwebm/common/hdr_util.cc"
+    "${AOM_ROOT}/third_party/libwebm/common/hdr_util.h"
+    "${AOM_ROOT}/third_party/libwebm/common/webmids.h"
+    "${AOM_ROOT}/third_party/libwebm/mkvmuxer/mkvmuxer.cc"
+    "${AOM_ROOT}/third_party/libwebm/mkvmuxer/mkvmuxer.h"
+    "${AOM_ROOT}/third_party/libwebm/mkvmuxer/mkvmuxertypes.h"
+    "${AOM_ROOT}/third_party/libwebm/mkvmuxer/mkvmuxerutil.cc"
+    "${AOM_ROOT}/third_party/libwebm/mkvmuxer/mkvmuxerutil.h"
+    "${AOM_ROOT}/third_party/libwebm/mkvmuxer/mkvwriter.cc"
+    "${AOM_ROOT}/third_party/libwebm/mkvmuxer/mkvwriter.h"
+    "${AOM_ROOT}/third_party/libwebm/mkvparser/mkvparser.cc"
+    "${AOM_ROOT}/third_party/libwebm/mkvparser/mkvparser.h"
+    "${AOM_ROOT}/third_party/libwebm/mkvparser/mkvreader.cc"
+    "${AOM_ROOT}/third_party/libwebm/mkvparser/mkvreader.h")
+
+set(AOM_LIBYUV_SOURCES
+    "${AOM_ROOT}/third_party/libyuv/include/libyuv/basic_types.h"
+    "${AOM_ROOT}/third_party/libyuv/include/libyuv/convert.h"
+    "${AOM_ROOT}/third_party/libyuv/include/libyuv/convert_argb.h"
+    "${AOM_ROOT}/third_party/libyuv/include/libyuv/convert_from.h"
+    "${AOM_ROOT}/third_party/libyuv/include/libyuv/cpu_id.h"
+    "${AOM_ROOT}/third_party/libyuv/include/libyuv/planar_functions.h"
+    "${AOM_ROOT}/third_party/libyuv/include/libyuv/rotate.h"
+    "${AOM_ROOT}/third_party/libyuv/include/libyuv/row.h"
+    "${AOM_ROOT}/third_party/libyuv/include/libyuv/scale.h"
+    "${AOM_ROOT}/third_party/libyuv/include/libyuv/scale_row.h"
+    "${AOM_ROOT}/third_party/libyuv/source/cpu_id.cc"
+    "${AOM_ROOT}/third_party/libyuv/source/planar_functions.cc"
+    "${AOM_ROOT}/third_party/libyuv/source/row_any.cc"
+    "${AOM_ROOT}/third_party/libyuv/source/row_common.cc"
+    "${AOM_ROOT}/third_party/libyuv/source/row_gcc.cc"
+    "${AOM_ROOT}/third_party/libyuv/source/row_mips.cc"
+    "${AOM_ROOT}/third_party/libyuv/source/row_neon.cc"
+    "${AOM_ROOT}/third_party/libyuv/source/row_neon64.cc"
+    "${AOM_ROOT}/third_party/libyuv/source/row_win.cc"
+    "${AOM_ROOT}/third_party/libyuv/source/scale.cc"
+    "${AOM_ROOT}/third_party/libyuv/source/scale_any.cc"
+    "${AOM_ROOT}/third_party/libyuv/source/scale_common.cc"
+    "${AOM_ROOT}/third_party/libyuv/source/scale_gcc.cc"
+    "${AOM_ROOT}/third_party/libyuv/source/scale_mips.cc"
+    "${AOM_ROOT}/third_party/libyuv/source/scale_neon.cc"
+    "${AOM_ROOT}/third_party/libyuv/source/scale_neon64.cc"
+    "${AOM_ROOT}/third_party/libyuv/source/scale_win.cc")
+
+set(AOM_SOURCES
+    "${AOM_CONFIG_DIR}/aom_config.c"
+    "${AOM_CONFIG_DIR}/aom_config.h"
+    "${AOM_ROOT}/aom/aom.h"
+    "${AOM_ROOT}/aom/aom_codec.h"
+    "${AOM_ROOT}/aom/aom_decoder.h"
+    "${AOM_ROOT}/aom/aom_encoder.h"
+    "${AOM_ROOT}/aom/aom_frame_buffer.h"
+    "${AOM_ROOT}/aom/aom_image.h"
+    "${AOM_ROOT}/aom/aom_integer.h"
+    "${AOM_ROOT}/aom/aomcx.h"
+    "${AOM_ROOT}/aom/aomdx.h"
+    "${AOM_ROOT}/aom/internal/aom_codec_internal.h"
+    "${AOM_ROOT}/aom/src/aom_codec.c"
+    "${AOM_ROOT}/aom/src/aom_decoder.c"
+    "${AOM_ROOT}/aom/src/aom_encoder.c"
+    "${AOM_ROOT}/aom/src/aom_image.c")
+
+set(AOM_COMMON_APP_UTIL_SOURCES
+    "${AOM_ROOT}/args.c"
+    "${AOM_ROOT}/args.h"
+    "${AOM_ROOT}/md5_utils.c"
+    "${AOM_ROOT}/md5_utils.h"
+    "${AOM_ROOT}/tools_common.c"
+    "${AOM_ROOT}/tools_common.h"
+    "${AOM_ROOT}/video_common.h")
+
+set(AOM_DECODER_APP_UTIL_SOURCES
+    "${AOM_ROOT}/ivfdec.c"
+    "${AOM_ROOT}/ivfdec.h"
+    "${AOM_ROOT}/video_reader.c"
+    "${AOM_ROOT}/video_reader.h"
+    "${AOM_ROOT}/y4menc.c"
+    "${AOM_ROOT}/y4menc.h")
+
+set(AOM_ENCODER_APP_UTIL_SOURCES
+    "${AOM_ROOT}/ivfenc.c"
+    "${AOM_ROOT}/ivfenc.h"
+    "${AOM_ROOT}/video_writer.c"
+    "${AOM_ROOT}/video_writer.h"
+    "${AOM_ROOT}/warnings.c"
+    "${AOM_ROOT}/warnings.h"
+    "${AOM_ROOT}/y4minput.c"
+    "${AOM_ROOT}/y4minput.h")
+
+set(AOM_ENCODER_STATS_SOURCES
+    "${AOM_ROOT}/aomstats.c"
+    "${AOM_ROOT}/aomstats.h"
+    "${AOM_ROOT}/rate_hist.c"
+    "${AOM_ROOT}/rate_hist.h")
+
+set(AOM_WEBM_DECODER_SOURCES
+    "${AOM_ROOT}/webmdec.cc"
+    "${AOM_ROOT}/webmdec.h")
+
+set(AOM_WEBM_ENCODER_SOURCES
+    "${AOM_ROOT}/webmenc.cc"
+    "${AOM_ROOT}/webmenc.h")
+
+include_directories(${AOM_ROOT} ${AOM_CONFIG_DIR})
+
+# Targets
+# TODO(tomfinegan): Move rtcd target setup where it belongs for each rtcd
+# source.
+add_rtcd_build_step("${AOM_ROOT}/aom_dsp/aom_dsp_rtcd_defs.pl"
+                    "${AOM_CONFIG_DIR}/aom_dsp_rtcd.h"
+                    "${AOM_ROOT}/aom_dsp/aom_dsp_rtcd.c"
+                    "aom_dsp_rtcd")
+add_rtcd_build_step("${AOM_ROOT}/aom_scale/aom_scale_rtcd.pl"
+                    "${AOM_CONFIG_DIR}/aom_scale_rtcd.h"
+                    "${AOM_ROOT}/aom_scale/aom_scale_rtcd.c"
+                    "aom_scale_rtcd")
+add_rtcd_build_step("${AOM_ROOT}/av1/common/av1_rtcd_defs.pl"
+                    "${AOM_CONFIG_DIR}/av1_rtcd.h"
+                    "${AOM_ROOT}/av1/common/av1_rtcd.c"
+                    "av1_rtcd")
+
+add_library(aom_rtcd OBJECT ${AOM_RTCD_SOURCES})
+add_library(aom_encoder_stats OBJECT ${AOM_ENCODER_STATS_SOURCES})
+add_library(aom ${AOM_SOURCES} $<TARGET_OBJECTS:aom_rtcd>)
+
+# List of object and static library targets.
+set(AOM_LIB_TARGETS ${AOM_LIB_TARGETS} aom_rtcd aom_encoder_stats aom_mem
+    aom_scale aom)
+
+# Setup dependencies.
+setup_aom_dsp_targets()
+setup_aom_mem_targets()
+setup_aom_ports_targets()
+setup_aom_util_targets()
+setup_aom_scale_targets()
+setup_av1_targets()
+
+# Make all library targets depend on aom_rtcd to make sure it builds first.
+foreach (aom_lib ${AOM_LIB_TARGETS})
+  if (NOT "${aom_lib}" STREQUAL "aom_rtcd")
+    add_dependencies(${aom_lib} aom_rtcd)
+  endif ()
+endforeach ()
+#
+# Application and application support targets.
+#
+add_library(aom_common_app_util OBJECT ${AOM_COMMON_APP_UTIL_SOURCES})
+add_library(aom_decoder_app_util OBJECT ${AOM_DECODER_APP_UTIL_SOURCES})
+add_library(aom_encoder_app_util OBJECT ${AOM_ENCODER_APP_UTIL_SOURCES})
+
+add_executable(aom_cx_set_ref
+               "${AOM_ROOT}/examples/aom_cx_set_ref.c"
+               $<TARGET_OBJECTS:aom_common_app_util>
+               $<TARGET_OBJECTS:aom_encoder_app_util>)
+
+add_executable(aomdec
+               "${AOM_ROOT}/aomdec.c"
+               $<TARGET_OBJECTS:aom_common_app_util>
+               $<TARGET_OBJECTS:aom_decoder_app_util>)
+
+add_executable(aomenc
+               "${AOM_ROOT}/aomenc.c"
+               $<TARGET_OBJECTS:aom_common_app_util>
+               $<TARGET_OBJECTS:aom_encoder_app_util>
+               $<TARGET_OBJECTS:aom_encoder_stats>)
+
+if (CONFIG_ANALYZER)
+  add_executable(analyzer
+                 "${AOM_ROOT}/examples/analyzer.cc"
+                 $<TARGET_OBJECTS:aom_common_app_util>
+                 $<TARGET_OBJECTS:aom_decoder_app_util>)
+  target_link_libraries(analyzer PUBLIC ${wxWidgets_LIBRARIES})
+  set(AOM_APP_TARGETS ${AOM_APP_TARGETS} analyzer)
+endif ()
+
+add_executable(decode_to_md5
+               "${AOM_ROOT}/examples/decode_to_md5.c"
+               $<TARGET_OBJECTS:aom_common_app_util>
+               $<TARGET_OBJECTS:aom_decoder_app_util>)
+
+add_executable(decode_with_drops
+               "${AOM_ROOT}/examples/decode_with_drops.c"
+               $<TARGET_OBJECTS:aom_common_app_util>
+               $<TARGET_OBJECTS:aom_decoder_app_util>)
+
+add_executable(lossless_encoder
+               "${AOM_ROOT}/examples/lossless_encoder.c"
+               $<TARGET_OBJECTS:aom_common_app_util>
+               $<TARGET_OBJECTS:aom_encoder_app_util>)
+
+add_executable(set_maps
+               "${AOM_ROOT}/examples/set_maps.c"
+               $<TARGET_OBJECTS:aom_common_app_util>
+               $<TARGET_OBJECTS:aom_encoder_app_util>)
+
+add_executable(simple_decoder
+               "${AOM_ROOT}/examples/simple_decoder.c"
+               $<TARGET_OBJECTS:aom_common_app_util>
+               $<TARGET_OBJECTS:aom_decoder_app_util>)
+
+if (CONFIG_INSPECTION)
+add_executable(inspect
+               "${AOM_ROOT}/examples/inspect.c"
+               $<TARGET_OBJECTS:aom_common_app_util>
+               $<TARGET_OBJECTS:aom_decoder_app_util>)
+set(AOM_APP_TARGETS ${AOM_APP_TARGETS} inspect)
+endif ()
+
+add_executable(simple_encoder
+               "${AOM_ROOT}/examples/simple_encoder.c"
+               $<TARGET_OBJECTS:aom_common_app_util>
+               $<TARGET_OBJECTS:aom_encoder_app_util>)
+
+add_executable(twopass_encoder
+               "${AOM_ROOT}/examples/twopass_encoder.c"
+               $<TARGET_OBJECTS:aom_common_app_util>
+               $<TARGET_OBJECTS:aom_encoder_app_util>)
+
+# List of app targets.
+set(AOM_APP_TARGETS ${AOM_APP_TARGETS} aom_cx_set_ref aomdec aomenc
+    decode_to_md5 decode_with_drops lossless_encoder set_maps simple_decoder
+    simple_encoder twopass_encoder)
+
+foreach (aom_app ${AOM_APP_TARGETS})
+  target_link_libraries(${aom_app} PUBLIC aom)
+endforeach ()
+
+if (CONFIG_LIBYUV)
+  add_library(yuv OBJECT ${AOM_LIBYUV_SOURCES})
+  if (NOT MSVC)
+    target_compile_options(yuv PRIVATE -Wno-unused-parameter)