NetEq bitexactness test depended on reference files which differs from platform to platform. This makes it very hard to update Neteq.
New method maintains the ability to save output into files. But it verifies the checksum only. With this, when bitexactness test fails, we can still check closely to the output file if need, but the test becomes much easier to modify.
BUG=
Review-Url: https://codereview.webrtc.org/1928923002
Cr-Commit-Position: refs/heads/master@{#12567}
Reason for revert:
There seems an error made in this patch.
Hi Henrik,
I think the bit shift returned by CrossCorrelationWithAutoShift may be wrongly used by DotProduct.
We'd better revert this CL.
Doing another fix (and future fixes) will be paintful. I will work on a easy-to-modify bitexactness test first.
Original issue's description:
> Avoiding overflow in cross correlation in NetEq.
>
> BUG=
TBR=henrik.lundin@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review-Url: https://codereview.webrtc.org/1925053002
Cr-Commit-Position: refs/heads/master@{#12543}
In some rare occations (very low energy signal), a shift value happened
to be negative. This is now fixed by using the WEBRTC_SPL_SHIFT_W32,
which in essence checks the sign of the number of shifts and performs a
right or left shift accordingly.
The fix reverts to how the code was written in old NetEq; see
4d363ae305/webrtc/modules/audio_coding/neteq/normal.c (165).
BUG=webrtc:5490
Review URL: https://codereview.webrtc.org/1675293002
Cr-Commit-Position: refs/heads/master@{#11546}
Several unittests were disabled on android, this CL will reenable them. One of
the tests was accidentally disabled on all platforms, and now no longer gives a
bitexact result.
BUG=webrtc:3343,webrtc:5349
Review URL: https://codereview.webrtc.org/1532903002
Cr-Commit-Position: refs/heads/master@{#11323}
Opus has become the mostly used codec in WebRTC. There, however, is no bit exactness test for Opus decoding in NetEq.
The new RTP file is generated by the following steps:
1. Encode a clean RTP file with Opus
RTPencode resources/audio_coding/speech_mono_32_48kHz.pcm neteq_opus_raw.rtp 960 opus 1
2. Adding jitter to the clean RTP file
RTPjitter neteq_opus_raw.rtp jitter.dat neteq_opus.rtp
(Note: jitter.dat does not exist in WebRTC resources folder. Check the source code for RTPjitter to know how to define such a file.)
BUG=webrtc:3987
TEST=observed Opus normal decoding and FEC decoding were used, listened to the reference output.
Review URL: https://codereview.webrtc.org/1515113002
Cr-Commit-Position: refs/heads/master@{#11113}
NetEqNetworkStatistics has been updated some time ago. A bit exactness test in neteq unittests is still using the old NetEqNetworkStatistics.
New neteq4_network_stats.dat generated by running TestBitExactness with flag "genref"
BUG=
Review URL: https://codereview.webrtc.org/1522103002
Cr-Commit-Position: refs/heads/master@{#11052}
This CL turns the background noise generation in NetEq off by default. The noise generation used to kick in during long-duration packet losses, when there was no point in extrapolating the latest audio any longer. However, this sometimes produces annoying noise in situations where silence would have been preferable.
With this change, a long packet-loss concealment will be faded out to zeros instead of a low noise.
Reference files are updated where needed.
BUG=3519
R=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/20109004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6882 4adac7df-926f-26a2-2b94-8c16560cd09d
A new reference file (neteq4_universal_ref_win_64.pcm) was generated and
uploaded.
Also removing the old hack to have different reference files
for different version of Visual Studio. The test is now only supporting
VS 2012 and later (_MSC_VER >= 1700). This makes the windows 32-bit
output identical to the generic reference file
(neteq4_universal_ref.pcm), so the specialized one
(neteq4_universal_ref_win_32.pcm) could have been removed. However,
since the resources sync mechanism does not include removing of old
files, a client could pick up the old reference and fail. Therefore,
this cl also updates neteq4_universal_ref_win_32.pcm to be identical to
neteq4_universal_ref.pcm.
BUG=1458
R=kjellander@webrtc.org, tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/14569005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6204 4adac7df-926f-26a2-2b94-8c16560cd09d
As a by-product, a generic tool for testing and comparing the complexity of codecs is added, and new audio files are added to the resources.
Three complexity tests are included
1. Default Opus complexity
2. Opus complexity knob
3. Default iSAC complexity (to compare with Opus)
The complexity tests are only meant for development reasons
and not to be run at bots.
The .isolate file is only needed for the APK packaging and test execution on Android.
TEST=passes all trybots
BUG=
R=kjellander@webrtc.org, tina.legrand@webrtc.org, turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/8969004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5655 4adac7df-926f-26a2-2b94-8c16560cd09d
The files in this CL seem to have hit some kind of bug
during upload, causing the downloaded files to get another
SHA-1 hash than the .sha1 file. This makes them become
redownloaded every time runhooks execute.
Re-uploading them one by one seems to have resolved this.
TEST=trybots passing
BUG=2294
R=niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/3449004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5086 4adac7df-926f-26a2-2b94-8c16560cd09d
Without this, the bots will download all resources for
every build. This consumes a lot of unnecessary traffic.
I tried experimenting with patterns ignoring everything
except the .sha1 files but wasn't able to get it working,
so this will have to do for now.
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5082 4adac7df-926f-26a2-2b94-8c16560cd09d
With help from hinoka@, we're now using a more efficient approach
to download only the files that have changed from Google Storge.
When uploading new resource files, use
upload_to_google_storage.py --bucket chromium-webrtc-resources ./filename
which of course requires gsutil authentication setup.
NOTICE: Before deploying this, svn:ignore should be removed for
the resources folder, or the bots will run into problems with a
non-versioned file being found in the checkout during sync (as
this CL adds resources to version control).
All developers will also need to be informed to wipe their local
resources dir to avoid getting an error during checkout due to the
already existing non-versioned resources directory.
BUG=2294
TEST=locally running gclient runhooks
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2095004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5076 4adac7df-926f-26a2-2b94-8c16560cd09d