Includes changes to support nasm's stricter include paths.
Supports falling back to yasm if nasm is missing.
Differential Revision: https://phabricator.services.mozilla.com/D9972
--HG--
extra : moz-landing-system : lando
Summary: I didn't have time to get this upstreamed prior to this update.
Reviewers: TD-Linux
Tags: #secure-revision
Bug #: 1476408
Differential Revision: https://phabricator.services.mozilla.com/D2359
--HG--
extra : rebase_source : ec43830e191d7c0d899d93f08d912c64a4eba002
Summary:
Upstream can now code generate the rtcd interface files directly from the
aom_config.h header, so we no longer have to generate an intermediate file by
running lint_config.sh. This also means we can remove the code for creating a
temporary directory.
Reviewers: TD-Linux
Tags: #secure-revision
Bug #: 1476408
Differential Revision: https://phabricator.services.mozilla.com/D2357
--HG--
extra : rebase_source : 8effc0fc61403db473fc90bc3989912b46133c3e
This changes generate_sources_mozbuild.sh to call generate_sources_mozbuild.py
to generate sources.mozbuild and config files and removes the parts of the
script that are no longer necessary.
MozReview-Commit-ID: HgXIEw93z41
--HG--
extra : rebase_source : b54d23197e741c8e037ffc4b977c8d01c34197ef
This uses the cmakeparser to generate sources.mozbuild and the
config files for each platform.
MozReview-Commit-ID: CU6oIPJXtTw
--HG--
extra : rebase_source : b9f6707ed3f4ef6336a4fa2d75c46a5c26570528
This revision of libaom has some conflicts with our vendor script
and build system. A number of new .asm files have the same basename
as .c files, which our build system cannot handle.
To work around this, I ran `./mach vendor aom` with the check for
duplicate filenames disabled, then manually renamed the conflicting
files in the filesystem and sources.mozbuild.
Also add av1_convolve_scale_sse4.c to sources.mozbuild manually.
This is needed by the build but for some reason isn't picked up
by generate_sources_mozbuild.sh.
MozReview-Commit-ID: 2iBo4kSBz1G
--HG--
rename : third_party/aom/aom_dsp/arm/idct16x16_1_add_neon.asm => third_party/aom/aom_dsp/arm/idct16x16_1_add_neon_asm.asm
rename : third_party/aom/aom_dsp/arm/idct16x16_add_neon.asm => third_party/aom/aom_dsp/arm/idct16x16_add_neon_asm.asm
rename : third_party/aom/aom_dsp/arm/idct32x32_1_add_neon.asm => third_party/aom/aom_dsp/arm/idct32x32_1_add_neon_asm.asm
rename : third_party/aom/aom_dsp/arm/idct32x32_add_neon.asm => third_party/aom/aom_dsp/arm/idct32x32_add_neon_asm.asm
rename : third_party/aom/aom_dsp/arm/idct4x4_1_add_neon.asm => third_party/aom/aom_dsp/arm/idct4x4_1_add_neon_asm.asm
rename : third_party/aom/aom_dsp/arm/idct4x4_add_neon.asm => third_party/aom/aom_dsp/arm/idct4x4_add_neon_asm.asm
rename : third_party/aom/aom_dsp/arm/idct8x8_1_add_neon.asm => third_party/aom/aom_dsp/arm/idct8x8_1_add_neon_asm.asm
rename : third_party/aom/aom_dsp/arm/idct8x8_add_neon.asm => third_party/aom/aom_dsp/arm/idct8x8_add_neon_asm.asm
rename : third_party/aom/aom_dsp/arm/loopfilter_16_neon.asm => third_party/aom/aom_dsp/arm/loopfilter_16_neon_asm.asm
rename : third_party/aom/aom_dsp/arm/loopfilter_4_neon.asm => third_party/aom/aom_dsp/arm/loopfilter_4_neon_asm.asm
rename : third_party/aom/aom_dsp/arm/loopfilter_8_neon.asm => third_party/aom/aom_dsp/arm/loopfilter_8_neon_asm.asm
rename : third_party/aom/aom_dsp/x86/highbd_intrapred_sse2.asm => third_party/aom/aom_dsp/x86/highbd_intrapred_sse2_asm.asm
rename : third_party/aom/aom_dsp/x86/intrapred_sse2.asm => third_party/aom/aom_dsp/x86/intrapred_sse2_asm.asm
rename : third_party/aom/aom_dsp/x86/intrapred_ssse3.asm => third_party/aom/aom_dsp/x86/intrapred_ssse3_asm.asm
extra : rebase_source : 7bf598ac1a925e16e42301839376a963836ae182
Update to upstream commit id e87fb2378f01103d5d6e477a4ef6892dc714e614
from a couple of weeks ago to pick up changes.
MozReview-Commit-ID: H7H69A7qFXD
--HG--
extra : rebase_source : dee676da15b65e4eea612d20529c4fb312bbddfb
Check for filenames which differ only by .asm vs .c filename
extensions when importing a new version of the libaom reference
implementation of the av1 video codec.
These confuse our build system as well. Also remove the obsolete
vp8 and vp9 search directories, which generate warnings from 'find'.
MozReview-Commit-ID: DRZL7GUrsYh
--HG--
extra : rebase_source : 4bc8708dd3b2e386c19bd6b952ca2587a2284a19
We've been recording the commit id from the last vendor in
README_MOZILLA inside the various media directories. Since
we now support a --repo switch to pull from forks, record
this info as well, to make it easier to find contiguous
upstream source.
MozReview-Commit-ID: 1RanpkWfAeC
--HG--
extra : rebase_source : b6bd16b56626a871802822385be6f3a24db6cd50
Recent changes made this a public header, so it needs to be
available to callers like AOMDecoder.
MozReview-Commit-ID: KKXcv8bdVYj
--HG--
extra : rebase_source : 87d509a40f3b305e414067af5ed433eef8489fbc
Vendor upstream commit id f5bdeac22930ff4c6b219be49c843db35970b918
to pick up changes since the last import.
--HG--
extra : rebase_source : 6c03c7fcbffbdcf07b2b2819aee6dade2f0e2a0f
As far as I can tell, nothing uses the DISABLE_AVX define
when generating the rtcd headers.
MozReview-Commit-ID: Cc5tufOKP63
--HG--
extra : rebase_source : 6e74569759844e2682e3d16c59bfdefc095f8531
aom_dsp_rtcd_defs.pl checks only whether this key is present
in the config, not whether it is set to true or not. Our script
sets CONFIG_FOO=no for disabled options, while the upstream
build system omits them, resulting in extra symbol declarations
the build will never define.
Work around this by stripping the offending disabled config key
if it is disabled.
MozReview-Commit-ID: IyVDO2G3s3L
--HG--
extra : rebase_source : a1bb8b285f798464b8d8026c0dd4cd85595ae93d
Upstream is using a different syntax, which isn't as nice,
but using the same format makes comparison easier.
Also expect yasm for mingw.
MozReview-Commit-ID: 8PvmyB45AOu
--HG--
extra : rebase_source : a330006adc2093c17ab54fd5f6c1bd88ffe41084
This resolves some issues with building on mingw.
Thanks to Tom Ritter for help developing this patch.
MozReview-Commit-ID: BmJ5TbQAq17
--HG--
extra : rebase_source : 98791b8aab139601f3df4c457a42590a31eeeaea
The configuration object is spelled with capitals. We didn't
try to build this code on Windows previously, so short-circuit
evaluation saved us from hitting the mistake.
MozReview-Commit-ID: FCGtHW8Dzlw
--HG--
extra : rebase_source : 70676bd436211aa65c7ea447b4aab4bbab61c27a
Propagate the libvpx AVX flag changes from bug 1279593.
This flag tells the compiler to generate AVX code
in these modules intead of using normal SSE instructions
which can trigger expensive state-switching.
NB: This should only be set for AVX-specific implementation
files; setting this flag for general code will invalidate
our runtime simd support checks.
MozReview-Commit-ID: 5BVeCTsNlup
--HG--
extra : rebase_source : 219b5912a220e960e45ec43a532f407fe18eb41b
Propagate the libvpx AVX flag changes from bug 1279593.
This flag tells the compiler to generate AVX code
in these modules intead of using normal SSE instructions
which can trigger expensive state-switching.
NB: This should only be set for AVX-specific implementation
files; setting this flag for general code will invalidate
our runtime simd support checks.
MozReview-Commit-ID: 5BVeCTsNlup
--HG--
extra : rebase_source : 219b5912a220e960e45ec43a532f407fe18eb41b
Prefer the vs14 targets since we build for Windows
with cl instead of cygwin's gcc. This corresponds
to Visual Studio 2015.
In practice there is little difference, other the
upstream build system assuming a Visual Studio style
output directory, but this should help pick up any
compiler-specific work-arounds.
MozReview-Commit-ID: 4etKKIEJWws
--HG--
extra : rebase_source : 5d03abdda718ed7811dc5d22cc56586d84d207d9
Update our in-tree copy of the aom reference implementation
of the av1 video codec to upstream git commit id
aadbb0251996c8ebb8310567bea330ab7ae9abe4.
This picks up recent changes and addresses a build issue on win64.
MozReview-Commit-ID: 34LXXzFtEFN
--HG--
extra : rebase_source : 0face926928de6bd1c6a1726df912bd20e363e60
I had removed the USE_YASM define in porting the libvpx
moz.build to libaom, to avoid depending on VPX_USE_ASM.
Turns out USE_YASM is a magic context define, without which
the build won't compile libaom's yasm-format .asm files,
so we need to define it for the two intel architecture
source sets.
Restore the define unconditionally for intel targets.
We require yasm in the default build for those targets,
and want to fail if it isn't available to block performance
regressions.
MozReview-Commit-ID: CqGtY8RNLNf
--HG--
extra : rebase_source : ccc7f9dfc467642d9e4c623c55e54e769fb38f2f
We no longer support 32-bit x86 macOS, and
these flags point to configurations we
don't generate.
MozReview-Commit-ID: 3mIfHCf6aUj
--HG--
extra : rebase_source : 35b5089ade7f9d5d03e5f4d3f0760cc969b4b8c7