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...