search for: opusencod

Displaying 20 results from an estimated 33 matches for "opusencod".

Did you mean: opusencode
2014 Apr 30
0
1276 Bytes returned by opus_encode
Maybe i found the source of the problem. The basestation is running several threads. One per sending client and one per receiving client. In each thread there is either an opus_encode() or an opus_decode() but there is in total only one OpusEncoder and one OpusDecoder defined which where used in every thread. Now every thread has it own OpusEncoder or OpusDecoder. After 20minutes of audiostreaming there is not even one occurance of the previous described problem. Kind regards, Jan
2016 Oct 17
0
Opus Demo code
Hi, I was wondering if someone could help me. I'm having a bit of a problem with opus_demo.c. I created a new library and refactored the code to only do a decode. I then encoded a wav file using the Opus tool OpusEncode.exe. When I try to decode the file encoded with OpusEncode.exe using the code refactored from opus_demo.c, the code appears to be reading from the wrong point in the file. The problematic code is the following: unsigned char ch[4]; err = fread(ch, 1, 4, fin);...
2017 Mar 08
0
OPUS Encoder Bitrate setting
...S client B is 8 KHz, 16kbps cvbr supported OPUS client When i try to encode a same voice frame(20ms sample frame) at different time intervals(not parallel encoding) for both A & B using same encoder handle by changing only bit rate. Issue here is, some noise is heard for B OPUS client, Ex: OpusEncoder* encoder = (OpusEncoder*)encHandle; opus_encoder_ctl(encoder, OPUS_SET_BITRATE(encProp->bitrate)); Is encoder fails to change bitrate to 16kbps even after setting the bit rate using opus_encoder_ctl API? Is there anyway to set bitrate according to requirement for same frame(20ms) encoding?...
2019 Apr 01
2
API for checking whether the encoder is in DTX (PR #107)
.../dl> + * @hideinitializer */ +#define OPUS_GET_IN_DTX(x) OPUS_GET_IN_DTX_REQUEST, __opus_check_int_ptr(x) /**@}*/ diff --git a/src/opus_encoder.c b/src/opus_encoder.c index cbeb40ae..0d84737a 100644 --- a/src/opus_encoder.c +++ b/src/opus_encoder.c @@ -2725,6 +2725,27 @@ int opus_encoder_ctl(OpusEncoder *st, int request, ...) ret = celt_encoder_ctl(celt_enc, OPUS_SET_ENERGY_MASK(value)); } break; + case OPUS_GET_IN_DTX_REQUEST: + { + opus_int32 *value = va_arg(ap, opus_int32*); + if (!value) + { + goto b...
2013 May 27
2
Stack Overflow
Guys, Program stack is getting overflowed when I create and destroy encoder instance continuously for around 30 times. How can I ensure stack is completely freed when I destroy the encoder instance? I tried with VAR_ARRAYS. But Its giving me errors while I try to compile. I suppose VAR_ARRAYS allocates local variables as arrays so that they could go on to stack and finally when we leave the
2016 Jun 12
2
Patches for adding 120 ms encoding
...rdless of mode. Nevertheless you may still want to move up the lines that finalize st->mode if you want to use it to determine the size of each frame as mentioned above. That would also allow this if-condition to be further simplified. > +static opus_int32 encode_subframes_and_repacketize(OpusEncoder *st, > + const opus_val16 *pcm, > + int nb_frames, > + int frame_size, > + unsigned char *data, > + opus_int32 out_data_bytes,...
2019 Apr 08
3
API for checking whether the encoder is in DTX (PR #107)
...T, > __opus_check_int_ptr(x) > > > > /**@}*/ > > > > diff --git a/src/opus_encoder.c b/src/opus_encoder.c > > index cbeb40ae..0d84737a 100644 > > --- a/src/opus_encoder.c > > +++ b/src/opus_encoder.c > > @@ -2725,6 +2725,27 @@ int opus_encoder_ctl(OpusEncoder *st, int > > request, ...) > > ret = celt_encoder_ctl(celt_enc, > OPUS_SET_ENERGY_MASK(value)); > > } > > break; > > + case OPUS_GET_IN_DTX_REQUEST: > > + { > > + opus_int32 *value = va_arg(ap, op...
2016 Apr 26
2
opus-tools: Fix potential uninitialized access for set-ctl-int
Here is a simple patch to fix a bug in opusenc's set-ctl-int code -- Thanks, Michael Graczyk -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-Fix-potential-uninitialized-access-for-set-ctl-int.patch Type: text/x-patch Size: 992 bytes Desc: not available URL: <http://lists.xiph.org/pipermail/opus/attachments/20160425/22994ffa/attachment.bin>
2018 Jun 29
1
OPUS on cortex M4
...les into my project (opus-1.2.1) Defined: FIXED POINT, VAR_ARRAYS, DISABLE FLOAT API, OPUS_BUILD, CELT_MODE_ONLY I am able to allocate enough memory for the encoder as well as decoder state and they both return with OPUS_OK. uint32_t error; opus_int32 Fs = 8000; int channels = 1; OpusEncoder *enc; enc = opus_encoder_create(Fs, channels, OPUS_APPLICATION_RESTRICTED_LOWDELAY, &error); OpusDecoder *dec; dec = opus_decoder_create(Fs, channels, &error); However, If I try to make a simple example of opus_encode followed by and immediate opus_decode I do not get reason...
2019 Apr 05
0
API for checking whether the encoder is in DTX (PR #107)
...OPUS_GET_IN_DTX(x) OPUS_GET_IN_DTX_REQUEST, __opus_check_int_ptr(x) >   >  /**@}*/ >   > diff --git a/src/opus_encoder.c b/src/opus_encoder.c > index cbeb40ae..0d84737a 100644 > --- a/src/opus_encoder.c > +++ b/src/opus_encoder.c > @@ -2725,6 +2725,27 @@ int opus_encoder_ctl(OpusEncoder *st, int > request, ...) >              ret = celt_encoder_ctl(celt_enc, OPUS_SET_ENERGY_MASK(value)); >          } >          break; > +        case OPUS_GET_IN_DTX_REQUEST: > +        { > +            opus_int32 *value = va_arg(ap, opus_int32*); > +            if (!value...
2016 Jun 27
2
Patches for adding 120 ms encoding
...dwidth-dependent > SILK/Hybrid mode decision up and simplified the if-condition as: > > if ((frame_size > st->Fs/50 && (st->mode != MODE_SILK_ONLY)) || frame_size > > 3*st->Fs/50) > > >> >> > +static opus_int32 encode_subframes_and_repacketize(OpusEncoder *st, >> > + const opus_val16 *pcm, >> > + int nb_frames, >> > + int frame_size, >> > + unsigned char *data, >> > +...
2016 Jun 28
1
Patches for adding 120 ms encoding
...e if-condition as: > >> > >> if ((frame_size > st->Fs/50 && (st->mode != MODE_SILK_ONLY)) || > frame_size > >> > 3*st->Fs/50) > >> > >> > >>> > >>> > +static opus_int32 encode_subframes_and_repacketize(OpusEncoder *st, > >>> > + const opus_val16 *pcm, > >>> > + int nb_frames, > >>> > + int frame_size, > >>> > + unsigned char...
2017 Nov 16
2
Gapless concatenation of Opus frames
...ries, and that's probably not possible without actually encoding the entire signal up to the segment boundary (which is not an option). I thought about Ulrich's suggestion regarding injection of deterministic header frames (and possibly forcing the encoder to a certain state by copying the OpusEncoder structure), but I couldn't come up with a scheme where that would eliminate gaps. My last resort is to experiment with 13.5ms overlap between the segments and crossfading the first/last frame instead of just concatenating. Will report whether this works. My guess is that this won't cause...
2016 Jun 13
0
Patches for adding 120 ms encoding
...ng this out. I've moved the bandwidth-dependent SILK/Hybrid mode decision up and simplified the if-condition as: if ((frame_size > st->Fs/50 && (st->mode != MODE_SILK_ONLY)) || frame_size > 3*st->Fs/50) > > > +static opus_int32 encode_subframes_and_repacketize(OpusEncoder *st, > > + const opus_val16 *pcm, > > + int nb_frames, > > + int frame_size, > > + unsigned char *data, > > + op...
2019 May 27
0
opus-1.3.1 patch for ARM Cortex-M4F (single precision)
...9 = silk_DIV32_16( silk_SMULBB( SILK_FIX_CONST( 1.5f * PI / 1000, 19 ), cutoff_Hz ), Fs/1000 ); silk_assert( Fc_Q19 > 0 && Fc_Q19 < 32768 ); r_Q28 = SILK_FIX_CONST( 1.0, 28 ) - silk_MUL( SILK_FIX_CONST( 0.92, 9 ), Fc_Q19 ); @@ -1182,7 +1182,7 @@ opus_int32 opus_encode_native(OpusEncode prob = analysis_info.music_prob_max; else prob = analysis_info.music_prob_min; - st->voice_ratio = (int)floor(.5+100*(1-prob)); + st->voice_ratio = (int)floor(.5f+100*(1-prob)); } analysis_bandwidth = analysis_info.ba...
2016 Jun 27
0
Antw: Re: Patches for adding 120 ms encoding
...ybrid mode decision up and simplified the if-condition as: >> >> if ((frame_size > st->Fs/50 && (st->mode != MODE_SILK_ONLY)) || frame_size >> > 3*st->Fs/50) >> >> >>> >>> > +static opus_int32 encode_subframes_and_repacketize(OpusEncoder *st, >>> > + const opus_val16 *pcm, >>> > + int nb_frames, >>> > + int frame_size, >>> > + unsigned char *data, >>>...
2016 Jun 10
2
Patches for adding 120 ms encoding
Hi, I wondered if are there any further thoughts on these patches? Thanks, Felicia On Thu, Jun 2, 2016 at 2:13 PM Felicia Lim <flim at google.com> wrote: > OK, I've amended the second patch and also added 80 and 100 ms. > > Thanks, > Felicia > > > On Thu, Jun 2, 2016 at 7:20 AM Jean-Marc Valin <jmvalin at jmvalin.ca> wrote: > >> On 06/01/2016 02:06
2013 May 23
2
ASM runtime detection and optimizations
..._encoder.c @@ -40,6 +40,7 @@ #include "arch.h" #include "opus_private.h" #include "os_support.h" +#include "cpu_support.h" #include "analysis.h" #include "mathops.h" #include "tuning_parameters.h" @@ -103,6 +104,7 @@ struct OpusEncoder { int analysis_offset; #endif opus_uint32 rangeFinal; + int arch; }; /* Transition tables for the voice and music. First column is the @@ -184,6 +186,8 @@ int opus_encoder_init(OpusEncoder* st, opus_int32 Fs, int channels, int applicat st->Fs = Fs; + st-...
2017 Nov 16
0
Gapless concatenation of Opus frames
...not possible > without actually encoding the entire signal up to the segment boundary > (which is not an option). > > I thought about Ulrich's suggestion regarding injection of > deterministic header frames (and possibly forcing the encoder to a > certain state by copying the OpusEncoder structure), but I couldn't > come up with a scheme where that would eliminate gaps. > > My last resort is to experiment with 13.5ms overlap between the > segments and crossfading the first/last frame instead of just > concatenating. Will report whether this works. My guess is...
2015 Jul 19
4
Bug in ARM fixed-point ASM?
...n", uiLen); do { printf("%02x %02x %02x %02x %02x %02x %02x %02x\n", bb[ui+0], bb[ui+1], bb[ui+2], bb[ui+3], bb[ui+4], bb[ui+5], bb[ui+6], bb[ui+7]); ui += 8; } while (ui < uiLen); } void opus_encode_known_packet() { int rv = 0; OpusEncoder *oeEncoder; int iiBytesEncoded; uint8_t bbOpusBits[128] __attribute__((aligned (8))); memset(bbOpusBits, 0x00, 128); oeEncoder = opus_encoder_create(48000, 2, OPUS_APPLICATION_RESTRICTED_LOWDELAY, &rv); assert(rv == 0); rv = opus_encoder_ctl(oeEncoder, OPUS_SET_BIT...