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

21 Коммитов

Автор 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
anorkin 76fb126526 Experiment: adding the source video information signaling (Netflix)
Change-Id: If93f9e41c25a5885b5927e66a298c129bb844e18
2017-06-14 23:00:14 +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
Tom Finegan d148c9637c Add mips32 support to the cmake build.
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
2017-04-13 13:24:33 -07: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
Urvang Joshi 5ddac0aac8 RTCD defs: Remove empty specialize statements once and for all.
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
2017-03-31 16:40:03 +00:00
Tom Finegan f0d1444f98 Move aom_scale cmake commands to aom_scale/aom_scale.cmake.
Also, add TODO for rtcd target setup.

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

Change-Id: Ib2e4ecb30f0d2ce9b538986efdb1ac3117bd59df
2017-03-03 06:04:20 +00:00
Debargha Mukherjee a43a2d98e3 Add UV wiener loop restoration
Enables Wiener based loop restoration only for the UV
frames. The selfguided and domaintranform filters do not
work very well for UV components, hence they are disabled.
For each UV frame a single set of wiener parameters are
sent. They are applied tile-wise, but all tiles use the
same parameters.

BDRATE (Global PSNR) results:
-----------------------------
lowres: -1.266% (up from -0.666%, good improvement)
midres: -1.815% (up from -1.792%, tiny improvement)

Tiling on UV components will be explored subsequently.

Change-Id: Ib5be93121c4e88e05edf3c36c46488df3cfcd1e2
2017-01-06 00:30:06 +00:00
Alex Converse 08bfd251f8 Remove an unused VP8 define
Change-Id: Ie7a5de671eee19b1bc1609200968c6ecb083f569
2016-12-16 21:57:22 +00:00
David Barker 557ce7b582 Enable global motion in high bit depth mode
The global motion detection only works on 8-bit buffers,
so any frames using 16-bit buffers are now down-converted
to 8 bits when necessary.

Change-Id: I4f88f4ccd449e73a2292cda70fe573dc49fcb8a0
2016-11-16 15:25:11 +00:00
Urvang Joshi d650f276ce Vertical scalers: Use signed int for src/dst pitch in parameters.
This avoids explicitly casting them to 'int' later.
These methods were already called with signed int arguments for pitch,
so this also avoids int -> unsigned int -> int conversion.

Change-Id: I2129f5ceff8f2525a188ee3ae52f9fe7067bd2e3
2016-10-25 13:00:22 -07:00
Angie Chiang dc1813ffd9 Fix unsigned type error in gen_scaler.c
Avoid applying unary minus operator on unsigned type

Change-Id: Ibc60541837eef06810f5be0aaa7fef9edcc8f8a4
2016-10-25 09:18:22 -07:00
Angie Chiang 10ab157a53 Fix unsigned type error in aom_scale.c
Avoid unary minus operator applied to unsigned type

Change-Id: I6986cd2b0ea236e0129ee94c02275593c287a87d
2016-10-24 11:51:50 -07:00
Urvang Joshi b42827f650 Rewrite some loops to avoid -Wunsafe-loop-optimizations warnings.
For example, loops of the form:
"for (i = 0; i < 1 + max_value; ++i) ..." or
"for (i = 0; i <= max_value; ++i) ..." are possibly infinite loops,
theoretically speaking (even if practically, they aren't).
So, compiler cannot optimize those loops.

When possible, I rewrote such loops to be finite even theoretically.

Cherry-picked from aomedia/master: 4e69284

Change-Id: Ied47a24833b689c0ec011f8645cf1c01856f7c59
2016-10-20 15:53:11 -07:00
Yaowu Xu 671f2bd3f5 Rename AOM_ENC/DEC_BORDER_IN_PIXELS
Cherry-picked from aom/master:
e2721a65cb

Change-Id: I4ade58be91e7bca0cc4f2bed98a43177d7f590a5
2016-09-30 15:17:16 -07:00
Yunqing Wang 99c6637dfa Merge "Remove unused buffer allocation functions" into nextgenv2 2016-09-02 17:52:48 +00:00
Yunqing Wang 8aa228019c Remove unused buffer allocation functions
Removed unused buffer allocation functions.

Change-Id: Ib779dde9ad6a511d88b7f7cba2604902eff7aa05
2016-09-02 09:23:53 -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