summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMark Harris <mark.hsj@gmail.com>2018-07-21 17:55:24 -0700
committerMark Harris <mark.hsj@gmail.com>2018-07-21 21:35:39 -0700
commit01b035f8ba4f48e9e1ad9f9407f77ce9a7e4aa44 (patch)
tree650ba740211d9f62460076d6fea50c29d839758e /src
parentc1c247d7e715100a50ca185948c7336bdd4dfdba (diff)
downloadopus-01b035f8ba4f48e9e1ad9f9407f77ce9a7e4aa44.tar.gz
Silence compiler warnings
clang -Wcast-align warnings with ambisonics enabled clang -Wnull-pointer-arithmetic warnings in test_opus_api.c gcc -Wimplicit-fallthrough warnings on arm msvc warning C4244 in celt_encoder.c with fixed point
Diffstat (limited to 'src')
-rw-r--r--src/mapping_matrix.c3
-rw-r--r--src/opus_projection_decoder.c8
-rw-r--r--src/opus_projection_encoder.c15
3 files changed, 19 insertions, 7 deletions
diff --git a/src/mapping_matrix.c b/src/mapping_matrix.c
index 11a14ce1..f9821f7e 100644
--- a/src/mapping_matrix.c
+++ b/src/mapping_matrix.c
@@ -58,7 +58,8 @@ opus_int32 mapping_matrix_get_size(int rows, int cols)
opus_int16 *mapping_matrix_get_data(const MappingMatrix *matrix)
{
- return (opus_int16*)((char*)matrix + align(sizeof(MappingMatrix)));
+ /* void* cast avoids clang -Wcast-align warning */
+ return (opus_int16*)(void*)((char*)matrix + align(sizeof(MappingMatrix)));
}
void mapping_matrix_init(MappingMatrix * const matrix,
diff --git a/src/opus_projection_decoder.c b/src/opus_projection_decoder.c
index c879ead7..1ccd8b72 100644
--- a/src/opus_projection_decoder.c
+++ b/src/opus_projection_decoder.c
@@ -93,12 +93,16 @@ static void opus_projection_copy_channel_out_short(
static MappingMatrix *get_demixing_matrix(OpusProjectionDecoder *st)
{
- return (MappingMatrix*)((char*)st + align(sizeof(OpusProjectionDecoder)));
+ /* void* cast avoids clang -Wcast-align warning */
+ return (MappingMatrix*)(void*)((char*)st +
+ align(sizeof(OpusProjectionDecoder)));
}
static OpusMSDecoder *get_multistream_decoder(OpusProjectionDecoder *st)
{
- return (OpusMSDecoder*)((char*)st + align(sizeof(OpusProjectionDecoder) +
+ /* void* cast avoids clang -Wcast-align warning */
+ return (OpusMSDecoder*)(void*)((char*)st +
+ align(sizeof(OpusProjectionDecoder) +
st->demixing_matrix_size_in_bytes));
}
diff --git a/src/opus_projection_encoder.c b/src/opus_projection_encoder.c
index 1fbcf471..8309e4b5 100644
--- a/src/opus_projection_encoder.c
+++ b/src/opus_projection_encoder.c
@@ -119,19 +119,26 @@ static int get_streams_from_channels(int channels, int mapping_family,
static MappingMatrix *get_mixing_matrix(OpusProjectionEncoder *st)
{
- return (MappingMatrix *)((char*)st + align(sizeof(OpusProjectionEncoder)));
+ /* void* cast avoids clang -Wcast-align warning */
+ return (MappingMatrix *)(void*)((char*)st +
+ align(sizeof(OpusProjectionEncoder)));
}
static MappingMatrix *get_demixing_matrix(OpusProjectionEncoder *st)
{
- return (MappingMatrix *)((char*)st + align(sizeof(OpusProjectionEncoder) +
+ /* void* cast avoids clang -Wcast-align warning */
+ return (MappingMatrix *)(void*)((char*)st +
+ align(sizeof(OpusProjectionEncoder) +
st->mixing_matrix_size_in_bytes));
}
static OpusMSEncoder *get_multistream_encoder(OpusProjectionEncoder *st)
{
- return (OpusMSEncoder *)((char*)st + align(sizeof(OpusProjectionEncoder) +
- st->mixing_matrix_size_in_bytes + st->demixing_matrix_size_in_bytes));
+ /* void* cast avoids clang -Wcast-align warning */
+ return (OpusMSEncoder *)(void*)((char*)st +
+ align(sizeof(OpusProjectionEncoder) +
+ st->mixing_matrix_size_in_bytes +
+ st->demixing_matrix_size_in_bytes));
}
opus_int32 opus_projection_ambisonics_encoder_get_size(int channels,