search for: mappingmatrix

Displaying 20 results from an estimated 25 matches for "mappingmatrix".

2017 Nov 21
4
[PATCH] Support for Channel Mapping 253.
...pplied to sizeof(OpusProjectionDecoder); in that case > the other sizes may have their own alignment padding but it is already > included in their size assuming (2) is addressed. > > Done. > 5) opus_projection_decoder_init: demixing_matrix_size_in_bytes > doesn't include the MappingMatrix struct or alignment but is used to > determine the offset of the decoder; it should be obtained from > mapping_matrix_get_size() and the field should be opus_int32. > > This value is only meant to represent the "data" portion of the mappingmatrix struct. Note that we include t...
2017 Nov 21
0
[PATCH] Support for Channel Mapping 253.
...aining issues. On Mon, Nov 20, 2017 at 5:57 PM, Drew Allen <bitllama at google.com> wrote: > On Sat, Nov 18, 2017 at 5:48 PM Mark Harris <mark.hsj at gmail.com> wrote: >> >> 5) opus_projection_decoder_init: demixing_matrix_size_in_bytes >> doesn't include the MappingMatrix struct or alignment but is used to >> determine the offset of the decoder; it should be obtained from >> mapping_matrix_get_size() and the field should be opus_int32. >> > This value is only meant to represent the "data" portion of the > mappingmatrix struct. Note...
2017 Oct 12
2
[PATCH] Support for Channel Mapping 253.
thanks for all your feedback. here's the revised patch: On Wed, Oct 11, 2017 at 2:20 PM Timothy B. Terriberry <tterribe at xiph.org> wrote: > Jean-Marc Valin wrote: > > I think you'll want something like: > > (opus_int16)((unsigned)demixing_matrix[2*i+1] << 8) > > (though you might want to check it too) > > FWIW, we use the construct > int s =
2017 Oct 04
3
[PATCH] Support for Channel Mapping 253.
...ide the loop. 9) For endianness conversion, you shouldn't have to even detect it. I think something like this (untested) should work for both little-endian and big endian: for (i=0;i<...;i++) short_ptr[i] = char_ptr[2*i] + (char_ptr[2*i] << 8); 10) Please don't store pointers (MappingMatrix, OpusMSEncoder, ...) in the OpusPEncoder/OpusPDecoder structs. All the data should be in a single struct with no pointers (except to constant data) so that they can be shallow-copied. Cheers, Jean-Marc On 27/09/17 03:19 PM, Drew Allen wrote: > Hello all, > > Here is an updated patch f...
2017 Oct 31
7
[PATCH] Support for Channel Mapping 253.
...of these in mapping_matrix.h, which I > think is incorrect. > > Done. > 3) opus_projection_ambisonics_encoder_init() (which should be > OPUS_EXPORT) is missing from opus_projection.h > > Done. > 4) I believe mapping_matrix_get_size() should be returning > align(sizeof(MappingMatrix)) + rows * cols * sizeof(opus_int16) > rather than: > align(sizeof(MappingMatrix) + rows * cols * sizeof(opus_int16)) > to match what mapping_matrix_get_data() does > > Done. > 5) I'm not sure I understand the purpose of mapping_matrix_validate(). > Can the user really ca...
2017 Oct 10
2
[PATCH] Support for Channel Mapping 253.
...the most significant byte. If you cast to char, then you need the endianness, but if you do (my_short>>8), you always get the most significant byte. Similarly, (my_short&0xff) is always the least significant byte. No need for an endianness check. > 10) Please don't store pointers (MappingMatrix, OpusMSEncoder, ...) in > the OpusPEncoder/OpusPDecoder structs. All the data should be in a > single struct with no pointers (except to constant data) so that they > can be shallow-copied. > > *Done.* Well, I still see pointers in your OpusProjectionDecoder. Cheers, Jean-Marc...
2017 Nov 03
1
[PATCH] Support for Channel Mapping 253.
...; > > > > > 3) opus_projection_ambisonics_encoder_init() (which should be > > OPUS_EXPORT) is missing from opus_projection.h > > > > Done. > > > > > > 4) I believe mapping_matrix_get_size() should be returning > > align(sizeof(MappingMatrix)) + rows * cols * sizeof(opus_int16) > > rather than: > > align(sizeof(MappingMatrix) + rows * cols * sizeof(opus_int16)) > > to match what mapping_matrix_get_data() does > > > > Done. > > > > > > 5) I'm not sure I understand the p...
2017 Nov 21
0
[PATCH] Support for Channel Mapping 253.
...ojectionDecoder); in that case > the other sizes may have their own alignment padding but it is already > included in their size assuming (2) is addressed. > > Done.  > >  5) opus_projection_decoder_init: demixing_matrix_size_in_bytes > doesn't include the MappingMatrix struct or alignment but is used to > determine the offset of the decoder; it should be obtained from > mapping_matrix_get_size() and the field should be opus_int32. > > This value is only meant to represent the "data" portion of the > mappingmatrix struct. Note tha...
2017 Oct 31
0
[PATCH] Support for Channel Mapping 253.
...the API (and in the include/ directory), but I see several of these in mapping_matrix.h, which I think is incorrect. 3) opus_projection_ambisonics_encoder_init() (which should be OPUS_EXPORT) is missing from opus_projection.h 4) I believe mapping_matrix_get_size() should be returning align(sizeof(MappingMatrix)) + rows * cols * sizeof(opus_int16) rather than: align(sizeof(MappingMatrix) + rows * cols * sizeof(opus_int16)) to match what mapping_matrix_get_data() does 5) I'm not sure I understand the purpose of mapping_matrix_validate(). Can the user really cause the matrix not to be valid? If yes, th...
2017 Nov 10
2
[PATCH] Support for Channel Mapping 253.
...         >         >     > > >         >         >     >     4) I believe > mapping_matrix_get_size() > >         should be > >         >         returning > >         >         >     >     align(sizeof(MappingMatrix)) + > rows * cols * > >         >         sizeof(opus_int16) > >         >         >     >     rather than: > >         >         >     >     align(sizeof(MappingMatrix) + > rows * cols * > >         ...
2017 Oct 10
0
[PATCH] Support for Channel Mapping 253.
...th little-endian and big endian: for (i=0;i<...;i++) short_ptr[i] = char_ptr[2*i] + (char_ptr[2*i] << 8); *Can you show how to go from short -> char as well? I'm alittle confused on how this can be done without knowing the endianness first.* 10) Please don't store pointers (MappingMatrix, OpusMSEncoder, ...) in the OpusPEncoder/OpusPDecoder structs. All the data should be in a single struct with no pointers (except to constant data) so that they can be shallow-copied. *Done.* On Wed, Oct 4, 2017 at 10:30 AM Jean-Marc Valin <jmvalin at jmvalin.ca> wrote: > Hi Drew, >...
2017 Nov 02
0
[PATCH] Support for Channel Mapping 253.
...think is incorrect. > > Done. >   > > 3) opus_projection_ambisonics_encoder_init() (which should be > OPUS_EXPORT) is missing from opus_projection.h > > Done. >   > > 4) I believe mapping_matrix_get_size() should be returning > align(sizeof(MappingMatrix)) + rows * cols * sizeof(opus_int16) > rather than: > align(sizeof(MappingMatrix) + rows * cols * sizeof(opus_int16)) > to match what mapping_matrix_get_data() does > > Done. >   > > 5) I'm not sure I understand the purpose of mapping_matrix_validate()....
2017 Oct 10
0
[PATCH] Support for Channel Mapping 253.
...e. If you cast to char, > then you need the endianness, but if you do (my_short>>8), you always > get the most significant byte. Similarly, (my_short&0xff) is always the > least significant byte. No need for an endianness check. > > > 10) Please don't store pointers (MappingMatrix, OpusMSEncoder, ...) in > > the OpusPEncoder/OpusPDecoder structs. All the data should be in a > > single struct with no pointers (except to constant data) so that they > > can be shallow-copied. > > > > *Done.* > > Well, I still see pointers in your OpusProjecti...
2017 Nov 07
0
[PATCH] Support for Channel Mapping 253.
...T) is missing from opus_projection.h > >     > > >     > Done. > >     >   > >     > > >     >     4) I believe mapping_matrix_get_size() should be > returning > >     >     align(sizeof(MappingMatrix)) + rows * cols * > sizeof(opus_int16) > >     >     rather than: > >     >     align(sizeof(MappingMatrix) + rows * cols * > sizeof(opus_int16)) > >     >     to match what mapping_matrix_get_data() does > >   ...
2017 Nov 09
2
[PATCH] Support for Channel Mapping 253.
...> > > > > > > > > > > > > 4) I believe mapping_matrix_get_size() > > should be > > > returning > > > > > align(sizeof(MappingMatrix)) + rows * cols > * > > > sizeof(opus_int16) > > > > > rather than: > > > > > align(sizeof(MappingMatrix) + rows * cols * > > > sizeof(opus_int16)) > > &g...
2017 Oct 11
2
[PATCH] Support for Channel Mapping 253.
...char, > then you need the endianness, but if you do (my_short>>8), you always > get the most significant byte. Similarly, (my_short&0xff) is always the > least significant byte. No need for an endianness check. > > > 10) Please don't store pointers (MappingMatrix, OpusMSEncoder, ...) in > > the OpusPEncoder/OpusPDecoder structs. All the data should be in a > > single struct with no pointers (except to constant data) so that they > > can be shallow-copied. > > > > *Done.* > > Well, I still see poin...
2017 Jun 07
2
Initial implementation of ch.mapping 253/3
...4:26: note: expanded from macro 'ABS16' > #define ABS16(x) ((float)fabs(x)) > ^ > > Also the test fails to compile with -std=c89: > > tests/test_opus_projection.c:57:1: error: C++ style comments are not > allowed in ISO C90 > // static const MappingMatrix test_matrix = { > ^ > tests/test_opus_projection.c:57:1: error: (this will be reported only > once per input file) > tests/test_opus_projection.c: In function 'main': > tests/test_opus_projection.c:403:1: warning: control reaches end of > non-void function [-Wreturn-type]...
2017 Nov 09
0
[PATCH] Support for Channel Mapping 253.
...gt;     > Done. > >         >     >   > >         >     > > >         >     >     4) I believe mapping_matrix_get_size() > should be > >         returning > >         >     >     align(sizeof(MappingMatrix)) + rows * cols * > >         sizeof(opus_int16) > >         >     >     rather than: > >         >     >     align(sizeof(MappingMatrix) + rows * cols * > >         sizeof(opus_int16)) > >         >     >     t...
2017 Nov 09
0
[PATCH] Support for Channel Mapping 253.
...> > >> > > > > >> > > > > 4) I believe mapping_matrix_get_size() >> > should be >> > > returning >> > > > > align(sizeof(MappingMatrix)) + rows * >> cols * >> > > sizeof(opus_int16) >> > > > > rather than: >> > > > > align(sizeof(MappingMatrix) + rows * cols >> * >> > > sizeof(opus...
2017 Nov 19
0
[PATCH] Support for Channel Mapping 253.
...r_get_size, align() should just be applied to sizeof(OpusProjectionDecoder); in that case the other sizes may have their own alignment padding but it is already included in their size assuming (2) is addressed. 5) opus_projection_decoder_init: demixing_matrix_size_in_bytes doesn't include the MappingMatrix struct or alignment but is used to determine the offset of the decoder; it should be obtained from mapping_matrix_get_size() and the field should be opus_int32. 6) opus_projection_decoder_init: demixing_matrix_size is in bytes but is used as a parameter to ALLOC() which expects the number of elem...