173 Commits

Author SHA1 Message Date
hbos
bab934bffe H.264 video codec support using OpenH264 (http://www.openh264.org/) for encoding and FFmpeg (https://www.ffmpeg.org/) for decoding.
It works on all platforms except Android and iOS (FFmpeg limitation).

Implemented behind compile time flags, off by default.
The plan is to have it enabled in Chrome (see bug), but not in Chromium/webrtc by default.

Flags to turn it on:
- rtc_use_h264 = true
- ffmpeg_branding = "Chrome" (or other brand that includes H.264 decoder)

Tests using H264:
- video_loopback --codec=H264
- screenshare_loopback --codec=H264
- video_engine_tests (EndToEndTest.SendsAndReceivesH264)

NOTRY=True
BUG=500605, 468365
BUG=https://bugs.chromium.org/p/webrtc/issues/detail?id=5424

Review URL: https://codereview.webrtc.org/1306813009

Cr-Commit-Position: refs/heads/master@{#11390}
2016-01-27 09:36:07 +00:00
hbos
902c03e724 rtc_use_h264 flag (replacing use_third_party_h264 flag) for building OpenH264/FFmpeg, false by default but can be overridden in supplement.gypi and build_overrides/webrtc.gni.
BUG=468365
NOTRY=True

Review URL: https://codereview.webrtc.org/1601813005

Cr-Commit-Position: refs/heads/master@{#11333}
2016-01-21 11:34:47 +00:00
kwiberg
0edb05b344 Declare that rent_a_codec depends on the audio codecs
That these declarations were missing was a bug, which apparently
didn't actually cause build problems in either Chromium or WebRTC
standalone. (Presumably, because rent_a_codec was always linked
together with other build targets that did declare such dependencies.)

BUG=webrtc:5435

Review URL: https://codereview.webrtc.org/1607463002

Cr-Commit-Position: refs/heads/master@{#11303}
2016-01-19 13:54:31 +00:00
kwiberg
f8c2baca4e Add a gyp/gn variable for whether to use iLBC or not
BUG=webrtc:5415

Review URL: https://codereview.webrtc.org/1578953003

Cr-Commit-Position: refs/heads/master@{#11291}
2016-01-18 14:38:40 +00:00
kjellander
292e192f17 Add build_protobuf variable.
This makes it possible to use protobuffers with
an external protobuf library instead of the one that
comes with the WebRTC code.

NOTRY=True

Review URL: https://codereview.webrtc.org/1589433002

Cr-Commit-Position: refs/heads/master@{#11236}
2016-01-13 13:47:07 +00:00
hbos
a9a1d2acaf H.264: Default flags and pulling in openh264 and ffmpeg.
Defining use_third_party_h264 directly, and indirectly defining use_openh264 (from third_party/openh264) and ffmpeg_branding (from third_party/ffmpeg).
These will be used in a follow-up CL that adds an encoder and decoder implementation.
The flags are added in this CL so that they can be used by trybots/waterfall bots in GN without "Build argument had no effect" errors. Equivalent GYP changes are also added.

BUG=468365

Review URL: https://codereview.webrtc.org/1575913003

Cr-Commit-Position: refs/heads/master@{#11204}
2016-01-11 18:19:06 +00:00
kjellander@webrtc.org
5663b4fa9a iOS: Set enable_protobuf=1 by default.
BUG=webrtc:5235
R=tkchin@webrtc.org

Review URL: https://codereview.webrtc.org/1462873003 .

Cr-Commit-Position: refs/heads/master@{#10724}
2015-11-20 08:37:50 +00:00
kjellander@webrtc.org
f22695c3d8 Remove build_with_libjingle and exclude failing iOS tests from 'All' target.
This will make it possible to remove the build_with_libjingle=1 and key=''
GYP_DEFINES the bots are using (https://codereview.chromium.org/1450313002/).
It will also pave the road for enabling more WebRTC native tests on iOS.

BUG=webrtc:4755,webrtc:3185,webrtc:5165
TESTED=git cl try -c --bot=android_compile_rel --bot=linux_compile_rel --bot=win_compile_rel --bot=mac_compile_rel --bot=ios_rel --bot=linux_gn_rel --bot=win_x64_gn_rel --bot=mac_x64_gn_rel --bot=android_gn_rel -m tryserver.webrtc
Local compilation with:
GYP_DEFINES='OS=ios target_arch=arm' webrtc/build/gyp_webrtc
ninja -C out/Release-iphoneos
GYP_DEFINES='OS=ios target_arch=arm chromium_ios_signing=0' webrtc/build/gyp_webrtc
ninja -C out/Release-iphoneos
GYP_DEFINES='OS=ios target_arch=arm64' webrtc/build/gyp_webrtc
ninja -C out/Release-iphoneos
GYP_DEFINES='OS=ios target_arch=ia32' webrtc/build/gyp_webrtc
ninja -C out/Release-iphonesimulator
GYP_DEFINES='OS=ios target_arch=x64' webrtc/build/gyp_webrtc
ninja -C out/Release-iphonesimulator

R=henrika@webrtc.org

Review URL: https://codereview.webrtc.org/1457053003 .

Cr-Commit-Position: refs/heads/master@{#10711}
2015-11-19 14:39:54 +00:00
Peter Boström
bd05f0ba52 Unconditionally build VP9 support.
Broken for PeerConnection either way (since VP9 support is announced)
and would fail on a CHECK apart from generating incorrect
offers/answers. This isn't a flag that we want to support, so it's
better to remove the foot-shooting gun.

BUG=
R=asapersson@webrtc.org, kjellander@webrtc.org, phoglund@webrtc.org, stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1451663002 .

Cr-Commit-Position: refs/heads/master@{#10676}
2015-11-17 14:27:41 +00:00
noahric
23725e09c6 Remove ICU usage from jni_helpers.cc.
JNI already has jstring<->UTF8 string conversion, so using that should
save ~1mb off android binaries (ICU is *large*), probably around
300-400k after compression.

BUG=

Review URL: https://codereview.webrtc.org/1430023005

Cr-Commit-Position: refs/heads/master@{#10545}
2015-11-06 21:56:11 +00:00
kwiberg
98ab3a46d6 Don't link with audio codecs that we don't use
We used to link with all audio codecs unconditionally (except Opus);
this patch makes gyp and gn only link to the ones that are used.

This unfortunately fails to have a measurable impact on Chromium
binary size, at least on x86_64 Linux; it turns out that iLBC and iSAC
fix were already being excluded from Chromium by some other means,
likely just the linker omitting compilation units with no incoming
references.

(This was previously landed as revisions 10046 and 10060, and got
reverted because it broke several of the Chromium FYI bots.)

BUG=webrtc:4557

Review URL: https://codereview.webrtc.org/1368843003

Cr-Commit-Position: refs/heads/master@{#10127}
2015-10-01 04:54:29 +00:00
henrikg
ee2bf41a79 Update build files to use webrtc_overrides in Chromium instead of overrides.
This re-lands https://codereview.webrtc.org/1354933002/

This is a part of moving the overrides to Chromium. See bug comment #65 for all steps.

Depends on https://codereview.chromium.org/1345873004/

BUG=chromium:468375

Review URL: https://codereview.webrtc.org/1345313004

Cr-Commit-Position: refs/heads/master@{#10115}
2015-09-30 10:49:11 +00:00
kjellander
d6024e3c34 Roll chromium_revision 310ea93..8cf53d6 (349094:351112)
Our perf test suite webrtc_perf_tests timed out, which caused most
of the delay landing this (https://crbug.comn/535973 and
https://codereview.chromium.org/1370133004).

Other problems with executing Android tests also needed to be
resolved in order to land this (http://crbug.com/534849).

Libvpx has moved from third_party/libvpx to third_party/libvpx_new
as of https://codereview.chromium.org/1323333002/

Android GN was blocking this roll due to a problem that ended up
being caused by a bug (http://crbug.com/534849).

Relevant changes:
* src/buildtools: f7310ee..8d89c1b
* src/third_party/boringssl/src: 1d128f3..4c60d35
* src/third_party/icu: 6b3ce81..423fc7e
* src/third_party/libjpeg_turbo: 631e2dd..e4e7503
* src/third_party/libvpx: ac1772e..70db223
* src/third_party/libyuv: fcacbfb..62c49dc
* src/tools/gyp: 5d01a8c..01528c7
* src/tools/swarming_client: 77f720b..6e5d2b2
Details: 310ea93..8cf53d6/DEPS

Clang version changed 245965:247874
Details: 310ea93..8cf53d6/tools/clang/scripts/update.sh

BUG=481034, 535973
TBR=marpan@webrtc.org

Review URL: https://codereview.webrtc.org/1355083002

Cr-Commit-Position: refs/heads/master@{#10101}
2015-09-29 04:16:53 +00:00
solenberg
3fd7be4cb1 Revert of Don't link with audio codecs that we don't use (patchset #4 id:60001 of https://codereview.webrtc.org/1349393003/ )
Reason for revert:
Breaking Chromium FYI bots.

Original issue's description:
> Don't link with audio codecs that we don't use
>
> We used to link with all audio codecs unconditionally (except Opus);
> this patch makes gyp and gn only link to the ones that are used.
>
> (This unfortunately fails to have a measurable impact on Chromium
> binary size, at least on x86_64 Linux; it turns out that iLBC and iSAC
> fix were already being excluded from Chromium by some other means
> (likely just the linker omitting compilation units with no incoming
> references).)
>
> BUG=webrtc:4557
>
> Committed: https://crrev.com/f66a9251424351ea6d631c54dd1feb64cc13d809
> Cr-Commit-Position: refs/heads/master@{#10046}

TBR=henrik.lundin@webrtc.org,tina.legrand@webrtc.org,kjellander@webrtc.org,kwiberg@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4557

Review URL: https://codereview.webrtc.org/1368933002

Cr-Commit-Position: refs/heads/master@{#10069}
2015-09-25 08:36:11 +00:00
kwiberg
f66a925142 Don't link with audio codecs that we don't use
We used to link with all audio codecs unconditionally (except Opus);
this patch makes gyp and gn only link to the ones that are used.

(This unfortunately fails to have a measurable impact on Chromium
binary size, at least on x86_64 Linux; it turns out that iLBC and iSAC
fix were already being excluded from Chromium by some other means
(likely just the linker omitting compilation units with no incoming
references).)

BUG=webrtc:4557

Review URL: https://codereview.webrtc.org/1349393003

Cr-Commit-Position: refs/heads/master@{#10046}
2015-09-24 10:18:48 +00:00
Henrik Kjellander
5bfc6cb53a Revert "Android: Enable C99 mode instead of C89 (default)."
This reverts commit 7bff85c2bc741102b41b259752269f9ecd398d68.
It was partially reverted in https://codereview.webrtc.org/1354163002.
This reverts the rest.

BUG=webrtc:4960, webrtc:5016
TBR=andrew@webrtc.org

Review URL: https://codereview.webrtc.org/1343263004 .

Cr-Commit-Position: refs/heads/master@{#10003}
2015-09-21 14:50:56 +00:00
henrikg
40bf493754 Revert of Update build files to use webrtc_overrides in Chromium instead of overrides. (patchset #2 id:20001 of https://codereview.webrtc.org/1354933002/ )
Reason for revert:
Breaks FYI bots.

ninja: error: '../../third_party/webrtc_overrides/webrtc/base/logging.cc', needed by 'obj/third_party/webrtc_overrides/webrtc/base/rtc_base.logging.o', missing and no known rule to make it

Original issue's description:
> Update build files to use webrtc_overrides in Chromium instead of overrides.
>
> This is a part of moving the overrides to Chromium. See bug comment #65 for all steps.
>
> BUG=chromium:468375
>
> Committed: https://crrev.com/baae0a8a6c873ddf812a5687b84638359b2e7e5b
> Cr-Commit-Position: refs/heads/master@{#9996}

TBR=kjellander@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:468375

Review URL: https://codereview.webrtc.org/1352423002

Cr-Commit-Position: refs/heads/master@{#9998}
2015-09-21 10:29:31 +00:00
henrikg
baae0a8a6c Update build files to use webrtc_overrides in Chromium instead of overrides.
This is a part of moving the overrides to Chromium. See bug comment #65 for all steps.

BUG=chromium:468375

Review URL: https://codereview.webrtc.org/1354933002

Cr-Commit-Position: refs/heads/master@{#9996}
2015-09-21 09:53:05 +00:00
Henrik Kjellander
7bff85c2bc Android: Enable C99 mode instead of C89 (default).
BUG=webrtc:4960
TESTED=Built locally using GYP and GN for Android.
R=andrew@webrtc.org, brettw@chromium.org

Review URL: https://codereview.webrtc.org/1321193003 .

Cr-Commit-Position: refs/heads/master@{#9937}
2015-09-15 06:16:11 +00:00
Henrik Kjellander
c0c7d2e1ef GN: Fix invalid configuration for Android GCC build.
The disabling of the sin,cos,sinf,cosf functions had the wrong
condition for GN. This fixes that and also makes the condition
in common.gypi a bit more readable.

BUG=
R=pbos@webrtc.org

Review URL: https://codereview.webrtc.org/1307633008 .

Cr-Commit-Position: refs/heads/master@{#9871}
2015-09-07 10:57:57 +00:00
Zeke Chin
71f6f4405c iOS HW H264 support.
First step towards supporting H264 on iOS. More tuning/experimentation
required in future CLs. Tested using AppRTCDemo on iPhone6 + iPad Mini.
Future work to get it working on OS/X, simulator (renders black screen
currently) and with the Android AppRTCDemo. Currently protected with a
compile time guard.

BUG=4081
R=andrew@webrtc.org, haysc@webrtc.org, holmer@google.com, jiayl@webrtc.org, kjellander@webrtc.org, pbos@webrtc.org, phoglund@webrtc.org, stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1187573004.

Cr-Commit-Position: refs/heads/master@{#9515}
2015-06-29 21:35:08 +00:00
Andrew MacDonald
ac4234ccfc Add a [rtc_]build_with_neon variable to unify conditions.
Also consolidate ARM options for gn in an arm_neon_config.

R=jridges@masque.com, kjellander@webrtc.org, zhongwei.yao@chromium.org

Review URL: https://codereview.webrtc.org/1181373004.

Cr-Commit-Position: refs/heads/master@{#9501}
2015-06-25 01:25:59 +00:00
Tommi
931e6583b2 Remove unnecessary dependencies for voe when building with include_internal_audio_device==0.
In particular and practical terms, this avoids pulling in AudioDeviceModuleImpl and associated classes, in Chrome.

BUG=
R=henrika@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49999004

Cr-Commit-Position: refs/heads/master@{#9229}
2015-05-20 07:44:23 +00:00
Andrew MacDonald
cb7f8ce2df Clear ARM NEON flag
Merge WEBRTC_ARCH_ARM64_NEON and WEBRTC_ARCH_ARM_NEON into one
WEBRTC_HAS_NEON.
Replace WEBRTC_DETECT_ARM_NEON by WEBRTC_DETECT_NEON.
Replace WEBRTC_ARCH_ARM by WEBRTC_ARCH_ARM64 for arm64 cpu.

BUG=4002
R=andrew@webrtc.org, jridges@masque.com, kjellander@webrtc.org

Change-Id: I870a4d0682b80633b671c9aab733153f6d95a980

Review URL: https://webrtc-codereview.appspot.com/49309004

Cr-Commit-Position: refs/heads/master@{#9228}
2015-05-20 05:20:04 +00:00
henrika
b26198972c Adding support for OpenSL ES output in native WebRTC
BUG=4573,2982,2175,3590
TEST=modules_unittests --gtest_filter=AudioDevice*, AppRTCDemo and WebRTCDemo

Summary:

- Removes dependency of the 'enable_android_opensl' compiler flag.
  Instead, OpenSL ES is always supported, and will enabled for devices that
  supports low-latency output.
- WebRTC no longer supports OpenSL ES for the input/recording side.
- Removes old code and demos using OpenSL ES for audio input.
- Improves accuracy of total delay estimates (better AEC performance).
- Reduces roundtrip audio latency; especially when OpenSL can be used.

Performance verified on: Nexus 5, 6, 7 and 9. Samsung Galaxy S4 and S6.
Android One device.

R=magjed@webrtc.org, phoglund@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/51759004

Cr-Commit-Position: refs/heads/master@{#9208}
2015-05-18 14:49:04 +00:00
Henrik Kjellander
e6cefb60f8 GYP variables for building expat, icu, libsrtp, usrsctp
This makes the build more flexible when linking against
prebuilt external libraries.

Use existing build_* variables for libyuv and json in talk/
(already in use in webrtc/).

Also make it possible to avoid building the GTK parts of the Linux build.

BUG=4242
R=andrew@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/44179005

Cr-Commit-Position: refs/heads/master@{#9087}
2015-04-27 12:38:37 +00:00
Richard Coles
d417c93c10 Remove android_webview_build conditions.
Now that android_webview_build is no longer supported, remove build
conditionals referencing it and also remove the extra level of
indirection used to reference the cpufeatures target.

BUG=chromium:440793
R=henrika@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/44119005

Patch from Richard Coles <torne@chromium.org>.

Cr-Commit-Position: refs/heads/master@{#8963}
2015-04-09 15:36:13 +00:00
Henrik Kjellander
3b71efc56e Revert "Explicitly set target_subarch for iOS."
This reverts commit f6b7265c6bd254b1558b8e04a2c6d2c1769ef4a6.

Reason: Did not have the desired effect of resolving
https://webrtc-codereview.appspot.com/50569004/ due to incorrect
local testing. I suspect these lines need to be at another
variables-level.

TBR=tkchin@webrtc.org
BUG=4503

Review URL: https://webrtc-codereview.appspot.com/47989004

Cr-Commit-Position: refs/heads/master@{#8939}
2015-04-07 14:23:36 +00:00
Henrik Kjellander
f6b7265c6b Explicitly set target_subarch for iOS.
WebRTC doesn't use or support the target_subarch
GYP variable in the same way as Chromium does, and we
currently don't build fat binaries at our buildbots.

This is needed to unblock the chromium_revision roll in
https://webrtc-codereview.appspot.com/50569004/ and it
also makes it a bit easier to build for iOS since it
is no longer needed to set target_subarch=arm64 when
target_arch=arm64 (i.e. when you build for ARM64).

TBR=tkchin@webrtc.org
BUG=4503

Review URL: https://webrtc-codereview.appspot.com/48869004

Cr-Commit-Position: refs/heads/master@{#8937}
2015-04-07 14:06:18 +00:00
minyue@webrtc.org
7c112f3e5a Adding build_opus as a switch in GYP.
This is to allow not building Opus. On non-chromium non-gyp chases, one can let WebRTC depend on other Opus builds.

BUG=
R=kjellander@webrtc.org, tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/43739004

Cr-Commit-Position: refs/heads/master@{#8754}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8754 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-17 14:05:18 +00:00
andrew@webrtc.org
d2c09dd339 Make building openmax_dl conditional in gyp.
Intentionally not modifying the GN build.

R=kjellander@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/48479004

Cr-Commit-Position: refs/heads/master@{#8688}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8688 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-11 22:07:18 +00:00
tommi@webrtc.org
a32f064e97 Fix build configuration bug with debug builds.
The problem we were running into on the Mac 10.9 debug bot in Chrome turned out to be good ol'fashion memory corruption. Part of webrtc was being compiled with _DEBUG, another half without it. This caused the definition of some symbols to be out of sync (notably pthread_mutex_t) and would cause code built from common.gypi, to overwrite memory allocated via common types from base/base.gypi derived code.  Fun stuff to track down.  This was a problem in particular with base/criticalsection.h since it's inlined into multiple object files but will have different definitions of what a mutex is.

TBR=pbos,kjellander
BUG=

Review URL: https://webrtc-codereview.appspot.com/43659004

Cr-Commit-Position: refs/heads/master@{#8646}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8646 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-08 07:39:22 +00:00
kjellander@webrtc.org
6dab6d700d Let Chromium declare the mips_dsp_rev build variable.
In https://codereview.chromium.org/883253003, the mips_dsp_rev
build variable is added to Chromium's GYP and GN build files. Remove
the declarations of mips_dsp_rev from WebRTC's GYP and GN build files.

Replace mips_fpu with mips_float_abi and remove the compiler flags that
are already set by Chromium.

The main review of this was done in https://webrtc-codereview.appspot.com/39779004
but since that CL wasn't created with the right base URL, I made
this in order to be able to run WebRTC trybots properly.

BUG=446234
TBR=wtc@chromium.org

Review URL: https://webrtc-codereview.appspot.com/44549004

Cr-Commit-Position: refs/heads/master@{#8590}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8590 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 09:51:17 +00:00
andresp@webrtc.org
e8f50df6b9 Remove avi recorder and corresponding enable_video flags.
R=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/42099004

Cr-Commit-Position: refs/heads/master@{#8554}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8554 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-02 13:07:44 +00:00
pbos@webrtc.org
4b3618c7f3 Remove TraceImpl logging thread.
Simplifies TraceImpl significantly. Chromium uses trace callbacks and
logs directly through the trace callback interface. Added slowdowns when
logging to file are expected to only affect test targets.

BUG=
R=andresp@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/34329004

Cr-Commit-Position: refs/heads/master@{#8529}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8529 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-27 15:05:50 +00:00
kjellander@webrtc.org
2b69eab077 Restructure GYP for vp9, opus and direct trace
This is needed to make the build more flexible for some use cases.

BUG=4185
R=andresp@webrtc.org, stefan@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/34099004

Cr-Commit-Position: refs/heads/master@{#8290}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8290 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-09 10:01:40 +00:00
kjellander@webrtc.org
f2ec814e0f Move use of DEPTH into build_with_chromium==1.
For build_with_chromium==1 the includes will be the same.
For build_with_chromium==0 the <(DEPTH) variable is replaced by ../..
which should be the same in all common use cases.

This change makes the include paths for all GYP targets
more similar to the setup in the
direct_dependent_settings section further down.

BUG=4185
TESTED=Trybots + build in Chromium with third_party/webrtc patched with this CL.
R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/41739004

Cr-Commit-Position: refs/heads/master@{#8219}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8219 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-30 14:55:20 +00:00
kjellander@webrtc.org
7d2b6a9346 Enable Clang warning implicit-fallthrough and annotate the code.
BUG=4242
R=henrik.lundin@webrtc.org, stefan@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/34899004

Cr-Commit-Position: refs/heads/master@{#8187}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8187 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-28 18:38:13 +00:00
henrika@webrtc.org
45db7eefa2 Use Java based audio as default for WebRTC.
The work landed in 4034 (use of HW AEC in AppRTC) is currently not
active by default since we build for Open SL. I missed that when I
did my initial change (since I always disabled OpenSL by GYP_DEFINES).

This CL ensures that Java based audio is used as default in WebRTC.
It would be great if we could shift over to Open SL (to cut latency)
but that would (today) mean that we can't support the HW AEC.
Hence, we are not ready to do so yet.

BUG=4034
R=kjellander@webrtc.org, perkj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/36699004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8040 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-12 14:27:23 +00:00
andrew@webrtc.org
34ac956706 Do not use openmax_dl for MIPS64 platform.
This fix is intended for MIPS64 Chromium Android builds, which has no openmax_dl
support at this moment.

R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/31339004

Patch from Ljubomir Papuga <lpapuga@mips.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7983 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-30 18:19:56 +00:00
andrew@webrtc.org
1090a6eccf Remove obsolete target_arch == armv7.
Also, use arm_version >= 7 so things will continue to work when building
for ARMv8 and higher targets.

BUG=3906
R=kjellander@webrtc.org, tkchin@webrtc.org, zhongwei.yao@arm.com

Review URL: https://webrtc-codereview.appspot.com/38379004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7957 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-18 21:36:18 +00:00
pbos@webrtc.org
9f79fe684a Merge remote bitrate estimator changes.
R=stefan@webrtc.org
BUG=

Review URL: https://webrtc-codereview.appspot.com/33489004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7811 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-04 15:34:06 +00:00
andrew@webrtc.org
d1fac61e8f Remove need for assembly offset generation in aecm and ns module.
All *neon.S files in aecm and ns modules have been removed. We need no
assembly offset generation now.

Pass byte to byte conformance test for aecm and ns test in audioproc
between new NEON (written in intrinsics) version and C version on both
ARMv7 and ARM64.

BUG=3580
R=andrew@webrtc.org, jridges@masque.com

Change-Id: I05d43d0c04d00bead65ca8c8fda25f0a42394b2b

Review URL: https://webrtc-codereview.appspot.com/32229004

Patch from Zhongwei Yai <zhongwei.yao@arm.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7800 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-03 17:54:38 +00:00
andrew@webrtc.org
a56a2c57cf Enabling building with NEON on ARM64
This patch enables NEON on ARM64 platform. Passed building both on
Android ARMv7 and Android ARM64.

BUG=3580
R=andrew@webrtc.org, jridges@masque.com

Review URL: https://webrtc-codereview.appspot.com/25069004

Patch from Zhongwei Yao <zhongwei.yao@arm.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7751 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-26 17:01:40 +00:00
andrew@webrtc.org
1153322cf8 Build fix for MIPS Android Webview build.
Excluding optimizations to support MIPS32R6 platform for Android Webview build (see also https://code.google.com/p/webrtc/source/detail?r=7580).

R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/32459004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7729 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-21 16:28:32 +00:00
marpan@webrtc.org
5b88317820 Add VP9 codec to VCM and vie_auto_test.
Include VP9 tests in videoprocessor_integrationtests.
Include end-to-end send/receiveVP9 test.

This is the same patch as https://code.google.com/p/webrtc/source/detail?r=7422, which was reverted when rolled into chrome (due to bss size increase). Relanding this again as we now have the clear to get this in:
see https://code.google.com/p/webrtc/issues/detail?id=3932

R=kjellander@webrtc.org, mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/31829004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7588 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-01 06:10:48 +00:00
andrew@webrtc.org
508c91683c Build fix for MIPS32R6.
Exclude MIPS optimizations for MIPS32R6 build since some of the instructions
are not supported. This is temporary fix, until the MIPS32R6 code is added.

R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/25989004

Patch from Ljubomir Papuga <lpapuga@mips.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7580 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-31 16:26:17 +00:00
tkchin@webrtc.org
14146e40aa arm64 iOS build.
Allows successful build of arm64 libraries using
GYP_DEFINES="OS=ios target_arch=arm64 target_subarch=arm64".
Note that not all libraries will be NEON optimized (eg common_audio),
however most importantly libvpx will be. WEBRTC_ARCH_ARM needs to be
defined so that libvpx doesn't post-process, which is significantly
detrimental to performance.

BUG=3898
R=kjellander@webrtc.org, pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/26959004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7573 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-31 00:14:39 +00:00
henrike@webrtc.org
b1dac33cac Revert cls (original cl + fixes) 7422-7424 "Add VP9 codec to VCM..."
BUG=3932
R=marpan@google.com

Review URL: https://webrtc-codereview.appspot.com/27779004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7470 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-17 18:54:46 +00:00
marpan@webrtc.org
573c78e31c Add VP9 codec to VCM and vie_auto_test.
Include VP9 tests in videoprocessor_integrationtests.
Include end-to-end send/receiveVP9 test.
Passes trybots.

R=kjellander@webrtc.org, mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/29449004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7422 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-10 16:44:47 +00:00