With this change, the calculations inside AverageIAT are changed to be
in double-precision floating point instead of in fixed point. Also,
the method's name is changed to EstimatedClockDriftPpm to better
reflect what it returns.
A few unit tests had to be updated because of minor numerical
differences.
Also removing the UBSan suppression related to this issue.
BUG=webrtc:5889
Review-Url: https://codereview.webrtc.org/2408653002
Cr-Commit-Position: refs/heads/master@{#14628}
As part of the work enabling OpenH264 in
WebRTC it was discovered that some of its code triggers
an UBSan errors:
third_party/openh264/src/codec/common/inc/golomb_common.h:103:3: runtime error: shift exponent 32 is too large for 32-bit type 'uint32_t' (aka 'unsigned int')
third_party/ffmpeg/libavcodec/h264_cavlc.c:585:54: runtime error: index -1 out of bounds for type 'VLC [15]'
Suppress such errors since this source code is out of our control.
This CL also includes a new NetEq suppression.
BUG=webrtc:5889
TBR=hbos@webrtc.org
Review URL: https://codereview.webrtc.org/1975863002 .
Cr-Commit-Position: refs/heads/master@{#12706}
By doing an unsigned instead of a signed addition, we get the exact
same machine code (in non-UBSan builds), but no longer trigger
undefined behavior since unsigned overflow is defined behavior.
BUG=webrtc:5485
Review URL: https://codereview.webrtc.org/1734883003
Cr-Commit-Position: refs/heads/master@{#11776}
in order to suppress UBSan errors from the AGC.
BUG=webrtc:5124, webrtc:5487
Review URL: https://codereview.webrtc.org/1696153002
Cr-Commit-Position: refs/heads/master@{#11730}