Home | History | Annotate | Download | only in src

Lines Matching full:channels

66     int          channels;
148 int opus_encoder_get_size(int channels)
152 if (channels<1 || channels > 2)
158 celtEncSizeBytes = celt_encoder_get_size(channels);
162 int opus_encoder_init(OpusEncoder* st, opus_int32 Fs, int channels, int application)
169 if((Fs!=48000&&Fs!=24000&&Fs!=16000&&Fs!=12000&&Fs!=8000)||(channels!=1&&channels!=2)||
174 OPUS_CLEAR((char*)st, opus_encoder_get_size(channels));
185 st->stream_channels = st->channels = channels;
195 st->silk_mode.nChannelsAPI = channels;
196 st->silk_mode.nChannelsInternal = channels;
212 err = celt_encoder_init(celt_enc, Fs, channels, st->arch);
222 st->bitrate_bps = 3000+Fs*channels;
248 static unsigned char gen_toc(int mode, int framerate, int bandwidth, int channels)
276 toc |= (channels==2)<<2;
320 static void hp_cutoff(const opus_val16 *in, opus_int32 cutoff_Hz, opus_val16 *out, opus_val32 *hp_mem, int len, int channels, opus_int32 Fs)
343 silk_biquad_alt( in, B_Q28, A_Q28, hp_mem, out, len, channels );
344 if( channels == 2 ) {
345 silk_biquad_alt( in+1, B_Q28, A_Q28, hp_mem+2, out+1, len, channels );
348 silk_biquad_float( in, B_Q28, A_Q28, hp_mem, out, len, channels );
349 if( channels == 2 ) {
350 silk_biquad_float( in+1, B_Q28, A_Q28, hp_mem+2, out+1, len, channels );
356 static void dc_reject(const opus_val16 *in, opus_int32 cutoff_Hz, opus_val16 *out, opus_val32 *hp_mem, int len, int channels, opus_int32 Fs)
363 for (c=0;c<channels;c++)
368 x = SHL32(EXTEND32(in[channels*i+c]), 15);
375 out[channels*i+c] = EXTRACT16(SATURATE(PSHR32(y, 15), 32767));
381 static void dc_reject(const opus_val16 *in, opus_int32 cutoff_Hz, opus_val16 *out, opus_val32 *hp_mem, int len, int channels, opus_int32 Fs)
387 for (c=0;c<channels;c++)
392 x = in[channels*i+c];
399 out[channels*i+c] = y;
406 int overlap48, int frame_size, int channels, const opus_val16 *window, opus_int32 Fs)
422 diff = EXTRACT16(HALF32((opus_val32)in[i*channels] - (opus_val32)in[i*channels+1]));
424 out[i*channels] = out[i*channels] - diff;
425 out[i*channels+1] = out[i*channels+1] + diff;
430 diff = EXTRACT16(HALF32((opus_val32)in[i*channels] - (opus_val32)in[i*channels+1]));
432 out[i*channels] = out[i*channels] - diff;
433 out[i*channels+1] = out[i*channels+1] + diff;
438 int overlap48, int frame_size, int channels, const opus_val16 *window, opus_int32 Fs)
446 if (channels==1)
470 out[i*channels+c] = MULT16_16_Q15(g2, in[i*channels+c]);
473 while (++c<channels);
476 OpusEncoder *opus_encoder_create(opus_int32 Fs, int channels, int application, int *error)
480 if((Fs!=48000&&Fs!=24000&&Fs!=16000&&Fs!=12000&&Fs!=8000)||(channels!=1&&channels!=2)||
488 st = (OpusEncoder *)opus_alloc(opus_encoder_get_size(channels));
495 ret = opus_encoder_init(st, Fs, channels, application);
510 return 60*st->Fs/frame_size + st->Fs*st->channels;
1026 if (st->channels==2 && st->force_channels!=1)
1066 equiv_rate = st->bitrate_bps - (40*st->channels+20)*(st->Fs/frame_size - 50);
1083 if (st->force_channels!=OPUS_AUTO && st->channels == 2)
1089 if (st->channels == 2 && (rand()&0x1F)==0)
1093 if (st->channels == 2)
1103 st->stream_channels = st->channels;
1243 if (st->channels==2 && st->force_channels!=1)
1378 tmp_len = opus_encode_native(st, pcm+i*(st->channels*st->Fs/50), st->Fs/50,
1426 ALLOC(pcm_buf, (total_buffer+frame_size)*st->channels, opus_val16);
1427 for (i=0;i<total_buffer*st->channels;i++)
1428 pcm_buf[i] = st->delay_buffer[(st->encoder_buffer-total_buffer)*st->channels+i];
1443 hp_cutoff(pcm, cutoff_Hz, &pcm_buf[total_buffer*st->channels], st->hp_mem, frame_size, st->channels, st->Fs);
1445 dc_reject(pcm, 3, &pcm_buf[total_buffer*st->channels], st->hp_mem, frame_size, st->channels, st->Fs);
1459 ALLOC(pcm_silk, st->channels*frame_size, opus_int16);
1510 for (c=0;c<st->channels;c++)
1523 masking_depth = mask_sum / end*st->channels;
1536 st->silk_mode.nChannelsAPI = st->channels;
1599 prefill_offset = st->channels*(st->encoder_buffer-st->delay_compensation-st->Fs/400);
1601 0, Q15ONE, celt_mode->overlap, st->Fs/400, st->channels, celt_mode->window, st->Fs);
1607 for (i=0;i<st->encoder_buffer*st->channels;i++)
1614 pcm_silk = pcm_buf+total_buffer*st->channels;
1616 for (i=0;i<frame_size*st->channels;i++)
1617 pcm_silk[i] = FLOAT2INT16(pcm_buf[total_buffer*st->channels + i]);
1727 ALLOC(tmp_prefill, st->channels*st->Fs/400, opus_val16);
1730 for (i=0;i<st->channels*st->Fs/400;i++)
1731 tmp_prefill[i] = st->delay_buffer[(st->encoder_buffer-total_buffer-st->Fs/400)*st->channels + i];
1734 for (i=0;i<st->channels*(st->encoder_buffer-(frame_size+total_buffer));i++)
1735 st->delay_buffer[i] = st->delay_buffer[i+st->channels*frame_size];
1736 for (;i<st->encoder_buffer*st->channels;i++)
1737 st->delay_buffer[i] = pcm_buf[(frame_size+total_buffer-st->encoder_buffer)*st->channels+i];
1743 st->prev_HB_gain, HB_gain, celt_mode->overlap, frame_size, st->channels, celt_mode->window, st->Fs);
1748 if( !st->energy_masking && st->channels == 2 ) {
1762 frame_size, st->channels, celt_mode->window, st->Fs);
1868 celt_encode_with_ec(celt_enc, pcm_buf+st->channels*(frame_size-N2-N4), N4, dummy, 2, NULL);
1870 err = celt_encode_with_ec(celt_enc, pcm_buf+st->channels*(frame_size-N2), N2, data+nb_compr_bytes, redundancy_bytes, NULL);
1951 st->variable_duration, st->channels, st->Fs, st->bitrate_bps,
1954 ALLOC(in, frame_size*st->channels, opus_int16);
1956 for (i=0;i<frame_size*st->channels;i++)
1958 ret = opus_encode_native(st, in, frame_size, data, max_data_bytes, 16, pcm, analysis_frame_size, 0, -2, st->channels, downmix_float);
1974 st->variable_duration, st->channels, st->Fs, st->bitrate_bps,
1980 return opus_encode_native(st, pcm, frame_size, data, out_data_bytes, 16, pcm, analysis_frame_size, 0, -2, st->channels, downmix_int);
1998 st->variable_duration, st->channels, st->Fs, st->bitrate_bps,
2001 ALLOC(in, frame_size*st->channels, float);
2003 for (i=0;i<frame_size*st->channels;i++)
2005 ret = opus_encode_native(st, in, frame_size, data, max_data_bytes, 16, pcm, analysis_frame_size, 0, -2, st->channels, downmix_int);
2019 st->variable_duration, st->channels, st->Fs, st->bitrate_bps,
2022 pcm, analysis_frame_size, 0, -2, st->channels, downmix_float);
2072 else if (value > (opus_int32)300000*st->channels)
2073 value = (opus_int32)300000*st->channels;
2091 if((value<1 || value>st->channels) && value != OPUS_AUTO)
2429 st->stream_channels = st->channels;