search for: opus_encoder

Displaying 20 results from an estimated 92 matches for "opus_encoder".

2013 Oct 26
2
libopus API question - 120ms encoding
Hi Jean-Marc, A simpler question. How does opus_encode() generate packets of 20ms (SILK-only or Hybrid)? Concatenating two 10ms frames or doing it straight with just one 20ms frame?
2016 Dec 05
1
Observing crash in opus_encode() of libopus 1.0.2 lib version
Hi All, We are using libopus 1.0.2 lib version currently and observing one crash issue in opus_encode() function some times. ------------------------------------------- (gdb) bt #0 0x00007fcdf7c90ea2 in opus_encode () from /usr/lib64/libopus.so.0 -------------------------------------------- Anybody faced this problem earlier and have any idea whether its solved in the latest
2014 Apr 29
0
1276 Bytes returned by opus_encode
Hi all, i try to set up something like a mixer and soundbridge. There are several sender clients which sends opus encoded audiostreams. One basestation is decoding the streams and mixing them all together. After that, the resulting stream is encoded with opus again and send to one or two receiving clients. Opus is set up to encode 10ms packets in stereo with 16bit per sample and 44kHz. So,
2018 Sep 21
2
Opus 1.2.1 crash on silk/VAD.c:315
...b_depth=1065353216, lsb_depth at entry=16, analysis_pcm=analysis_pcm at entry=0x7f26b5a1084c, analysis_size=analysis_size at entry=960, c1=c1 at entry=0, c2=c2 at entry=-2, analysis_channels=1, downmix=downmix at entry=0xa80fe0 <downmix_int>, float_api=float_api at entry=0) at src/opus_encoder.c:1826 #5 0x0000000000a85211 in opus_encode (st=0x158935a0, pcm=0x7f26b5a1084c, analysis_frame_size=960, data=0x7f26b5a1084c "", max_data_bytes=5988) at src/opus_encoder.c:2227 #6 0x00000000004ce892 in opus_encoder::transcode (this=0x21a30200, in_packet=0x7f267402cf30) at ...
2013 Oct 26
0
libopus API question - 120ms encoding
On 10/26/2013 01:11 PM, Wang, Chris wrote: > A simpler question. How does opus_encode() generate packets of 20ms > (SILK-only or Hybrid)? Concatenating two 10ms frames or doing it > straight with just one 20ms frame? Just one 20 ms frame. It always returns a single frame except when it just can't (e.g. 60 ms CELT). > From your explanations below, opus_encode() will
2019 Apr 01
2
API for checking whether the encoder is in DTX (PR #107)
...t;dd>The encoder is not in DTX.</dd> + * <dt>1</dt><dd>The encoder is in DTX.</dd> + * </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)); }...
2013 Oct 05
0
Unexpected opus_encode results when doubelling frame size
Hello! I have been using int iByteSizeEncoded = opus_encode(m_enc, m_ShortRawInput,960,m_EncodedBytes, 4000); iByteSizeEncoded was 120 as expected. Now when I double the frame size... int iByteSizeEncoded = opus_encode(m_enc, m_ShortRawInput,960*2,m_EncodedBytes, 4000); ... iByteSizeEncoded is not 240 as expected, but 239. This seems really odd to me since 239 bytes could not even be
2013 Oct 06
2
Encoder off by one
Why does opus_encode return 359, and not 360, please? This is my code: int iShortsRead = fread(m_RawBytes, sizeof(short), (5760/sizeof(short)), fin); for(int i=0;i<iShortsRead;i++) { opus_int32 s; s=m_RawBytes[2*i+1]<<8|m_RawBytes[2*i]; s=((s&0xFFFF)^0x8000)-0x8000; m_ShortsInput[i]=s; }
2016 May 04
1
opus_encode
Hi all, i am trying convert pcm (16bit pcm) stereo file to mono pcm file using opus_encode and opus_decode, i am able do this but i have doubt about TOC byte after opus encode. below is how encoder and decoder structures are used to do encode and decode file opus_encoder_create(8000, 2, OPUS_APPLICATION_AUDIO, &err); opus_decoder_create(8000, 1, &err); after opus encode bits looks like this 00 00 00 12 31 69 52 10 08 doubts are 1)i know 12(hexa) is size of encoded frame and 08 is TOC byte, here i have doubt i am using stereo input and 20ms frame then TOC...
2013 Oct 30
1
libopus API question - 120ms encoding
Thanks Jean-Marc and Benjamin for the answers. One follow-up question. If I use a repacketizer as Jean-Marc suggested by combining two 60ms frames to form a 120ms frame, without extracting individual frames and using a new TOC, I would need to have a "de-packetizer" that does the exact opposite of repacketizer. De-packetizer would need to separate this 120ms frame into two 60ms frames
2012 Aug 22
2
int operation
Gents, My TI C55xx complier is complaining about (in opus_encoder.c, opus_encode()): st->silk_mode.payloadSize_ms = 1000 * frame_size / st->Fs; where .payloadSize_ms is opus_int, frame_size is an int, and Fs is a long. Should one of these be cast differently? Thx, MikeH -------------- next part -------------- An HTML attachment was sc...
2013 Apr 11
0
No subject
ly or Hybrid frames for 40 or 60ms packet, respectively. That is based on = concatenating 20ms frames, right? Is 60ms the largest packet opus_encode() can generate? In order to get pac= kets of up to 120 ms by combining multiple frames as described in RFC6716 c= lause 2.1.4 one would need to use the "repacketizer". That is if I want to= have a 120 ms packet, I would need to take
2013 Oct 24
1
libopus API question - 120ms encoding
The libopus encoder's opus_encode() method is documented as "Encodes an Opus frame". Does that mean that it always produces a single Opus frame (i.e. the number of frames in the TOC byte will always be 0)? It's not clear from the documentation, but the fact that it cannot produce a 120ms Opus packet makes me wonder if that was the intention and any multi-frame Opus packets must
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
2017 Apr 06
1
Encoding OPUS with difference bitrates
...tore and send respective encoded frames/packet to the respective channel. For this I changed the opus_demo as below. But the output of the second encoded frames is completely garbled. Appreciate if anyone can suggest how to handle this case. if(1) { opus_encoder_ctl(enc, OPUS_SET_BITRATE(bitrate_bps)); len[toggle] = opus_encode(enc, in, frame_size, data[toggle], max_payload_bytes); } if(1) { opus_encoder_ctl(enc, OPUS_SET_BITRATE(32000)); enc_size = opus_encode(...
2020 Jul 25
2
Regarding encoded data
Hello, I've been trying to understand how to use opus codec for quite some time. There is a thing that doesn't make sense to me. I will try to explain what it is below, In *opus_encode() *function, *opus_int16 pcm* is said to have a size of *frame_size * channels*, where *frame_size* is said to be one of* 20, 240, 480, 960, 1920, and 2880.* Let's say, frame_size is 960, then
2018 Sep 27
1
[Re:] Re: Opus 1.2.1 crash on silk/VAD.c:315
...t;> analysis_pcm=analysis_pcm at entry=0x7f26b5a1084c, >> analysis_size=analysis_size at entry=960, c1=c1 at entry=0, >> c2=c2 at entry=-2, analysis_channels=1, >> downmix=downmix at entry=0xa80fe0 <downmix_int>, >> float_api=float_api at entry=0) at src/opus_encoder.c:1826 >> #5 0x0000000000a85211 in opus_encode (st=0x158935a0, >> pcm=0x7f26b5a1084c, analysis_frame_size=960, >> data=0x7f26b5a1084c "", max_data_bytes=5988) at src/opus_encoder.c:2227 >> #6 0x00000000004ce892 in opus_encoder::transcode (this=0x21a30200,...
2013 Oct 06
1
Encoder off by one
If you encode with int iByteSizeEncoded = opus_encode(m_enc, m_ShortsInput, (1920/sizeof(short)), m_EncodedBytes, (960*6)); ... the byte size is 120. I thought that an odd value like 359 has to be a fault on my side. I thought it would be a multiple of something. So 359 is really correct??? Thank you for clearing this up. Am 06.10.2013 16:50, schrieb Jean-Marc Valin: > Why
2019 Apr 08
3
API for checking whether the encoder is in DTX (PR #107)
...7;dt><dd>The encoder is in DTX.</dd> > > + * </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...
2013 May 27
1
Empty buffer on encoder write byte
....c:196 frame #5: 0x00187de8 RTCClient`silk_Encode(encState=0x001f000b, encControl=0xffd2ffe2, samplesIn=0xffc4ffce, nSamplesIn=-5570589) + 2792 at enc_API.c:466 frame #6: 0x0019a1ce RTCClient`opus_encode_float(st=0x04234000, pcm=0x3b6c0000, frame_size=985923584, data=0x04232018) + 3922 at opus_encoder.c:973 frame #7: 0x0019abd2 RTCClient`opus_encode() + 74 at opus_encoder.c:1306 frame #8: 0x000e63be RTCClient`-[JAOpusEncoder encodeWithPCMInput:frameSize:outputBlock:](self=0x1fd2ffa0, _cmd=0x0019d131, pcmInput=0x21024870, frameSize=160, outputBlock=0x04232898) + 386 at JAOpusEncoder.m:9...