The modification only uses the unique part of the ResetAdaptiveChannel
function. Pass byte to byte conformance test both on ARM32 and ARM64,
and the single function performance is similar with original assembly
version on different platforms. If not specified, the code is compiled
by GCC 4.6. The result is the "X version / C version" ratio, and the
less is better.
| run 100k times | cortex-a7 | cortex-a9 | cortex-a15 |
| use C as the base on each | (1.2Ghz) | (1.0Ghz) | (1.7Ghz) |
| CPU target | | | |
|----------------------------+-----------+-----------+------------|
| Neon asm | 15% | 30% | 12% |
| Neon inline | 21% | 30% | 12% |
| Neon intrinsics (GCC 4.6) | 19% | 32% | 12% |
| Neon intrinsics (GCC 4.8) | 20% | 32% | 12% |
| Neon intrinsics (LLVM 3.4) | 19% | 30% | 12% |
BUG=3580
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/29019004
Patch from Zhongwei Yao <zhongwei.yao@arm.com>.
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7672 4adac7df-926f-26a2-2b94-8c16560cd09d
Addresses issue where SetDefaultEncoderConfig modifies the codec list
rather than just the targeted codec. This was previously done just to
pass more unit tests rather than be done properly. This incidentally
addresses a TODO causing this to work with external codecs as well.
R=stefan@webrtc.org
BUG=1788
Review URL: https://webrtc-codereview.appspot.com/32009004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7667 4adac7df-926f-26a2-2b94-8c16560cd09d
The subclasses that need a state pointer should declare them---with
the right type, not void*, to get rid of all those casts.
Two small but not quite trivial cleanups are included because they
blocked the state_ removal:
- AudioDecoderG722Stereo now inherits directly from AudioDecoder
instead of being a subclass of AudioDecoderG722.
- AudioDecoder now has a CngDecoderInstance member function, which
is implemented only by AudioDecoderCng. This replaces the previous
practice of calling AudioDecoder::state() and casting the result
to a CNG_dec_inst*. It still isn't pretty, but now the blemish is
plainly visible in the AudioDecoder class declaration.
R=henrik.lundin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/24169005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7644 4adac7df-926f-26a2-2b94-8c16560cd09d
Reason: Turns out this does not solve the problem as the buildbots
run into another error later on during collecting gtest output.
The problem is solved by excluding these bots from flakiness dashboard
data instead, in https://codereview.chromium.org/705913002/
> Fix memcheck and dr memory after flakiness dashboard deployment.
>
> I deployed buildbot configuration for uploading data to the
> flakiness dashboard but I didn't predict our Dr Memory and
> Memcheck bots would fail due to the new flag passed to the test.
> Adding the --gtest_output flag to the script will avoid the build
> to fail as a workaround.
>
> TBR=andrew@webrtc.org
> TESTED=Passing test run using:
> src/tools/valgrind-webrtc/webrtc_tests.sh --test audio_decoder_unittests --tool memcheck --target Release --build-dir src/out --gtest_output=xml:audio_decoder_unittests.xml
>
> BUG=
>
> Review URL: https://webrtc-codereview.appspot.com/28999004TBR=kjellander@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/31969004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7643 4adac7df-926f-26a2-2b94-8c16560cd09d
I deployed buildbot configuration for uploading data to the
flakiness dashboard but I didn't predict our Dr Memory and
Memcheck bots would fail due to the new flag passed to the test.
Adding the --gtest_output flag to the script will avoid the build
to fail as a workaround.
TBR=andrew@webrtc.org
TESTED=Passing test run using:
src/tools/valgrind-webrtc/webrtc_tests.sh --test audio_decoder_unittests --tool memcheck --target Release --build-dir src/out --gtest_output=xml:audio_decoder_unittests.xml
BUG=
Review URL: https://webrtc-codereview.appspot.com/28999004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7642 4adac7df-926f-26a2-2b94-8c16560cd09d
From r7014 the Android APK tests are designed to be
build from a standalone WebRTC checkout instead of a
Chromium checkout. Because of that, the special handling
for both cases can be removed.
I also don't think we need to use the
base::android::GetExternalStorageDirectory() method since
all devices has a symlink at /sdcard that points
to /storage/emulated/legacy on the Android device.
This essentially reverts the changes in
https://webrtc-codereview.appspot.com/1754005/
plus some minor changes.
BUG=webrtc:3741
TEST=Locally running test_support_unittests APK test on an
Android device using:
CHECKOUT_SOURCE_ROOT=`pwd` build/android/test_runner.py gtest -s test_support_unittests --verbose --isolate-file-path=webrtc/test/test_support_unittests.isolate
R=henrike@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/15329004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7632 4adac7df-926f-26a2-2b94-8c16560cd09d
Breaks Chrome compile:
e:\b\build\slave\win_builder\build\src\third_party\webrtc\modules\audio_coding\neteq\neteq_impl.cc(131) : error C3867: 'webrtc::NetEqImpl::InsertPacketInternal': function call missing argument list; use '&webrtc::NetEqImpl::InsertPacketInternal' to create a pointer to member
e:\b\build\slave\win_builder\build\src\third_party\webrtc\modules\audio_coding\neteq\neteq_impl.cc(131) : error C3861: 'LOG_FERR1': identifier not found
e:\b\build\slave\win_builder\build\src\third_party\webrtc\modules\audio_coding\neteq\neteq_impl.cc(152) : error C3867: 'webrtc::NetEqImpl::InsertPacketInternal': function call missing argument list; use '&webrtc::NetEqImpl::InsertPacketInternal' to create a pointer to member
e:\b\build\slave\win_builder\build\src\third_party\webrtc\modules\audio_coding\neteq\neteq_impl.cc(152) : error C3861: 'LOG_FERR1': identifier not found
e:\b\build\slave\win_builder\build\src\third_party\webrtc\modules\audio_coding\neteq\neteq_impl.cc(169) : error C3867: 'webrtc::NetEqImpl::GetAudioInternal': function call missing argument list; use '&webrtc::NetEqImpl::GetAudioInternal' to create a pointer to member
...
> Remove the state_ member from AudioDecoder
>
> The subclasses that need a state pointer should declare them---with
> the right type, not void*, to get rid of all those casts.
>
> Two small but not quite trivial cleanups are included because they
> blocked the state_ removal:
>
> - AudioDecoderG722Stereo now inherits directly from AudioDecoder
> instead of being a subclass of AudioDecoderG722.
>
> - AudioDecoder now has a CngDecoderInstance member function, which
> is implemented only by AudioDecoderCng. This replaces the previous
> practice of calling AudioDecoder::state() and casting the result
> to a CNG_dec_inst*. It still isn't pretty, but now the blemish is
> plainly visible in the AudioDecoder class declaration.
>
> R=henrik.lundin@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/24169005TBR=kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/30879005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7629 4adac7df-926f-26a2-2b94-8c16560cd09d