Граф коммитов

14 Коммитов

Автор SHA1 Сообщение Дата
Tom Finegan 78516fca4e Build static libaom without internal deps in CMake.
Change the internal lib targets so that external apps
need link only libaom instead of all internal library
targets and libaom.

BUG=aomedia:76,aomedia:609

Change-Id: I38862fcd90cb585300b6b23e8558f78a1934750f
2017-06-20 19:57:02 +00:00
Tom Finegan 84f2d796c8 Add shared library support to the CMake build.
This is enabled via:
$ cmake path/to/aom -DBUILD_SHARED_LIBS=1

Currently supports only Linux and MacOS targets. Symbol visibility
is handled by exports.cmake and its helpers exports_sources.cmake
and generate_exports.cmake.

Some sweeping changes were required to properly support shared libs
and control symbol visibility:

- Object libraries are always linked privately into static
  libraries.
- Static libraries are always linked privately into eachother
  in the many cases where the CMake build merges multiple library
  targets.
- aom_dsp.cmake now links all its targets into the aom_dsp static
  library target, and privately links aom_dsp into the aom target.
- av1.cmake now links all its targets into the aom_av1 static library
  target, and privately links in aom_dsp and aom_scale as well. It
  then privately links aom_av1 into the aom target.
- The aom_mem, aom_ports, aom_scale, and aom_util targets are now
  static libs that are privately linked into the aom target.
- In CMakeLists.txt libyuv and libwebm are now privately linked into
  app targets.
- The ASM and intrinsic library functions in aom_optimization.cmake
  now both require a dependent target argument. This facilitates the
  changes noted above regarding new privately linked static library
  targets for ASM and intrinsics sources.

BUG=aomedia:76,aomedia:556

Change-Id: I4892059880c5de0f479da2e9c21d8ba2fa7390c3
2017-06-20 19:24:53 +00:00
Tom Finegan 17ccaec4bb Add include guards to CMake files used as includes.
BUG=aomedia:76

Change-Id: Ie34025f31a89f4991d03d5ecf03c6f6f5ab7b0a1
2017-06-02 16:43:58 +00:00
Ralph Giles be111b3838 Remove armv6 media-extension assembly.
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
2017-05-15 15:55:47 +00:00
Sebastien Alaiwan 71e87847eb Homogenize configuration option name.
Rename '--enable-aom-highbitdepth' to '--enable-highbitdepth'

Change-Id: I1de13c3508c30c552532993419d8ace326142ab6
2017-04-12 22:29:11 +00:00
Tom Finegan 44d2a4643a Add aom_ports arm support to the cmake build.
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: Ib1c5e04134911fd7ccdcb014b53a06e856368a5d
2017-03-19 01:47:49 +00:00
Tom Finegan 507e2e1b12 Move aom_ports build commands into aom_ports/aom_ports.cmake.
- Stop abuse of the aom_util target to expose aom_ports includes
  to IDEs.
- Create aom_ports target only on appropriate platforms.
- Otherwise add the include only sources to the libaom target (aka abuse
  the libaom target instead of the aom_util target).

BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: I82a27a0fc2d6ab13ea273726a4777e21ebdbd247
2017-03-03 06:04:04 +00:00
Debargha Mukherjee 931055389a Some optimizations on integer affine estimation
1. Adds a limit on number of candidate samples used for the
estimation.
2. Adds a limit on max mv magnitude for use in the least-squares
3. Makes some of the internal variables 32-bit.

Impact on coding efficiency in the noise range.

Change-Id: I8c1c3216368ceb2e3548660a3b8c159df54a8312
2017-03-02 19:22:29 +00:00
Tom Finegan 9b3974ef34 aom_ports: Fix build in Xcode 8.
Use void casts and avoid unused/unnamed parameter warnings.

Change-Id: Id02ec2c613cb1423f693bcc56832ccd9b41d05bd
2016-11-08 01:50:54 +00:00
Tom Finegan 591fc6f1aa aom_ports: Silence warnings in aom_timer.h
When CONFIG_OS_SUPPORT is not enabled the aom_timer timer function
stubs cause unused parameter warnings. This comments out the arg
names and silences the warning.

Change-Id: I97bdbcbebdf081ac5cb2ffd86439028a1e672fa2
2016-11-05 10:48:36 -07:00
clang-format 67948d312d apply clang-format
Change-Id: If22018f8911d9d7ee99c2127bdfcc56e42b0e2d7
2016-09-15 16:41:21 -07:00
Yaowu Xu 9c01aa1b0c Change to use aom copyright notice
This minimize code differences between AOM master and nextgenv2

Change-Id: If144865bdf3ef0818e7aac11018b9e786444c550
2016-09-02 08:22:07 -07:00
Yaowu Xu f883b42cab Port renaming changes from AOMedia
Cherry-Picked the following commits:
0defd8f Changed "WebM" to "AOMedia" & "webm" to "aomedia"
54e6676 Replace "VPx" by "AVx"
5082a36 Change "Vpx" to "Avx"
7df44f1 Replace "Vp9" w/ "Av1"
967f722 Remove kVp9CodecId
828f30c Change "Vp8" to "AOM"
030b5ff AUTHORS regenerated
2524cae Add ref-mv experimental flag
016762b Change copyright notice to AOMedia form
81e5526 Replace vp9 w/ av1
9b94565 Add missing files
fa8ca9f Change "vp9" to "av1"
ec838b7  Convert "vp8" to "aom"
80edfa0 Change "VP9" to "AV1"
d1a11fb Change "vp8" to "aom"
7b58251 Point to WebM test data
dd1a5c8 Replace "VP8" with "AOM"
ff00fc0 Change "VPX" to "AOM"
01dee0b Change "vp10" to "av1" in source code
cebe6f0 Convert "vpx" to "aom"
17b0567 rename vp10*.mk to av1_*.mk
fe5f8a8 rename files vp10_* to av1_*

Change-Id: I6fc3d18eb11fc171e46140c836ad5339cf6c9419
2016-08-31 18:19:03 -07:00
Yaowu Xu c27fc14b02 Port folder renaming changes from AOM
Manually cherry-picked commits:
ceef058 libvpx->libaom part2
3d26d91 libvpx -> libaom
cfea7dd vp10/ -> av1/
3a8eff7 Fix a build issue for a test
bf4202e Rename vpx to aom

Change-Id: I1b0eb5a40796e3aaf41c58984b4229a439a597dc
2016-08-31 17:26:24 -07:00