Fail at configure time when required features are not
present. Currently requires only necessary x86 object
formats and the presence of the -Ox opt mode arg.
BUG=aomedia:76
Change-Id: Idc372e8ed121a600e87c46c0d29d5322cfceaec8
Earlier, intra prediction for rectangular blocks was performed by
running two steps of prediction on square sub-blocks.
With this experiment, we do proper intra prediction for rectangular
blocks. This ensures that we make use of all available neighboring
pixels especially for directional modes. For this, all the intra
predictors were updated to work with rectangular transform block sizes.
Performance improvements are small but free of cost:
All Intra frames:
lowres: -0.126
midres: -0.154
Video Overall:
lowres: -0.043
midres: -0.100
[Could not get AWCY results due to a backlog.]
BUG=aomedia:551
Change-Id: I7936e91b171d5c246cb0a4ea470a981a013892e6
- Install only includes, libs, and aomdec/aomenc in the install rule.
- Install docs and examples in addition to the above in the dist rule.
BUG=aomedia:76,aomedia:375
Change-Id: If42832ebd21184e6f9bf95c3b43c6d4e05663bf2
Move them from build/cmake/aom_configure.cmake to the
CMakeLists.txt at the root of the repository.
Change-Id: Ib39764abe0c3456414ba157ebc18fd7a052db0df
Use CONFIG_AV1_{DE,EN}CODER to control decoder and
encoder support inclusion instead.
BUG=aomedia:76,aomedia:508
Change-Id: Ib150ae382b301885589f30d9b6e98d3bfdd1afce
We no longer support armv6 and the corresponding
optimized source files have been removed. This
commit removes support for the target and its
media instruction set extensions from the build
system as well.
Once armv6 jobs are removed from the integration
config we can start rejecting --enable/disable-media.
Also reject --enable-edsp.
Change-Id: I547dcc95adb3479d0232396952e72efe2a1343b9
Libvpx dropped armv6 support sometime after the aom fork.
We don't intend to support this platform, which is likely
too slow in any case. Remove the assembly and intrinsics
optimized routines, their tests, cpu feature detection,
and rtcd specialization for this instruction set extension.
Change-Id: If44ec28e5ddafc6af179c5d1982ac7e81fe54d5e
Supporting Emscripten requires modification of all uses of the
target_link_libraries() function to match the form
of the target_link_libraries() call in Emscripten.cmake.
The AOM_LIB_LINK_TYPE variable has been added to allow for
flexibility on the libaom side when using toolchains that
behave similarly to Emscripten.cmake wrt
target_link_libaries().
To use CMake for an Emscripten build, first install Emscripten, then:
$ cmake path/to/aom -DCMAKE_TOOLCHAIN_FILE=path/to/Emscripten.cmake -DAOM_TARGET_CPU=generic
BUG=aomedia:76,aomedia:468
Change-Id: I22c7df7912ecfdbc2a52180086b205cc8dcfc0c6
This reverts commit a8b97eb513.
Reason for revert: There are still a few warnings related to this in
the base configuration. Reverting this to avoid breaking new patches.
Change-Id: Ifdff76683cdd4b7476fcc9fbf4ab1736c112770c
- Generate aom_config.{asm,h}.cmake from aom_config_defaults.cmake
using CMake script generate_aom_config_templates.cmake.
- Remove the copies from the repo, and update the build to use
the generated templates.
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76
Change-Id: If8fd23095f5e4ddb9a7866d5f7bf2bd3864a4354
Consolidate the CPU and RTCD related build configuration code
in cpu.cmake and rtcd_config.cmake instead of having files for
each target CPU.
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76
Change-Id: I8aad401f9fca60ba735360ca4947cd1c41c4fa63
This experiment complexifies DSP function dispatch, without bringing
any real value (it's non-normative arbitrary behaviour).
Moreover, it only has an effect on obsolete transforms, the new ones
don't implement this mechanism.
Change-Id: Idaccdd0c14ed6b7008cd4f365c7f017ba8ccacf5
Requires use of new cmake toolchain file:
$ cmake path/to/aom -DCMAKE_TOOLCHAIN_FILE=path/to/aom/build/cmake/toolchains/mips64-linux-gcc.cmake
MSA is supported via addition of -DENABLE_MSA=1. Support for i6400
and p6600 targets can be enabled by passing -DMIPS_CPU=i6400 and
-DMIPS_CPU=p6600 respectively.
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76
Change-Id: I7b8949a07e9be63cd6177e4ff4dbc02180f12a60
Requires use of new cmake toolchain file:
$ cmake path/to/aom -DCMAKE_TOOLCHAIN_FILE=path/to/aom/build/cmake/toolchains/mips32-linux-gcc.cmake
DSPR2 and MSA are supported via addition of -DENABLE_DSPR2=1 and
-DENABLE_MSA=1 respectively. Note that the latter requires the addition
of -DMIPS_CPU=p5600.
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76
Change-Id: Idf7d7f2daecf18cc45b834166eaf34ee9f414d49
A similar cleanup happened before, but the empty statements have since
reappeared. I added a check in 'specialize' subroutine to die whenever
such an empty specialize call is found, so that config+make would fail.
Change-Id: I300ca0f0b077c0aeca8096d6460d8fb1c364d9b9
Requires new cmake toolchain file arm64-linux-gcc.cmake:
$ cmake path/to/aom
-DCMAKE_TOOLCHAIN_FILE=path/to/aom/build/cmake/toolchains/arm64-linux-gcc.cmake
Above requires aarch64-linux-gnu-gcc toolchain is installed and its
bin dir added to PATH.
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76
Change-Id: I6c7e297a67415008583b7ac2cd8aea528787e6d0
Requires new cmake toolchain file armv7-linux-gcc.cmake:
$ cmake path/to/aom -DCMAKE_TOOLCHAIN_FILE=path/to/aom/build/cmake/toolchains/armv7-linux-gcc.cmake
Above requires arm-linux-gnueabihf-gcc toolchain is installed and its
bin dir added to PATH.
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76
Change-Id: Id2d0022fd5b4615fef7ea0ef38980cbdfd957c0e
- Add function add_gas_asm_library() to handle conversion of asm
sources and creation of custom dependencies.
- Uses add_asm_library() to create the library build.
- Add aom_dsp_common_neon_intrinsics target for the neon intrinsics.
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76
Change-Id: Ifd99fbd69998a79613e0f5b61003a47973a804bc
This is used at cmake generation time via a command line like this:
$ cmake path/to/aom -DCMAKE_TOOLCHAIN_FILE=path/to/aom/build/cmake/toolchain/armv7-ios.cmake
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76
Change-Id: Iadacc32c43bc23e0f670b88e3c1563c44319945c