• Home
  • Raw
  • Download

Lines Matching refs:st

332 static int resampler_basic_direct_single(SpeexResamplerState *st, spx_uint32_t channel_index, const…  in resampler_basic_direct_single()  argument
334 const int N = st->filt_len; in resampler_basic_direct_single()
336 int last_sample = st->last_sample[channel_index]; in resampler_basic_direct_single()
337 spx_uint32_t samp_frac_num = st->samp_frac_num[channel_index]; in resampler_basic_direct_single()
338 const spx_word16_t *sinc_table = st->sinc_table; in resampler_basic_direct_single()
339 const int out_stride = st->out_stride; in resampler_basic_direct_single()
340 const int int_advance = st->int_advance; in resampler_basic_direct_single()
341 const int frac_advance = st->frac_advance; in resampler_basic_direct_single()
342 const spx_uint32_t den_rate = st->den_rate; in resampler_basic_direct_single()
376 st->last_sample[channel_index] = last_sample; in resampler_basic_direct_single()
377 st->samp_frac_num[channel_index] = samp_frac_num; in resampler_basic_direct_single()
384 static int resampler_basic_direct_double(SpeexResamplerState *st, spx_uint32_t channel_index, const… in resampler_basic_direct_double() argument
386 const int N = st->filt_len; in resampler_basic_direct_double()
388 int last_sample = st->last_sample[channel_index]; in resampler_basic_direct_double()
389 spx_uint32_t samp_frac_num = st->samp_frac_num[channel_index]; in resampler_basic_direct_double()
390 const spx_word16_t *sinc_table = st->sinc_table; in resampler_basic_direct_double()
391 const int out_stride = st->out_stride; in resampler_basic_direct_double()
392 const int int_advance = st->int_advance; in resampler_basic_direct_double()
393 const int frac_advance = st->frac_advance; in resampler_basic_direct_double()
394 const spx_uint32_t den_rate = st->den_rate; in resampler_basic_direct_double()
427 st->last_sample[channel_index] = last_sample; in resampler_basic_direct_double()
428 st->samp_frac_num[channel_index] = samp_frac_num; in resampler_basic_direct_double()
433 static int resampler_basic_interpolate_single(SpeexResamplerState *st, spx_uint32_t channel_index, … in resampler_basic_interpolate_single() argument
435 const int N = st->filt_len; in resampler_basic_interpolate_single()
437 int last_sample = st->last_sample[channel_index]; in resampler_basic_interpolate_single()
438 spx_uint32_t samp_frac_num = st->samp_frac_num[channel_index]; in resampler_basic_interpolate_single()
439 const int out_stride = st->out_stride; in resampler_basic_interpolate_single()
440 const int int_advance = st->int_advance; in resampler_basic_interpolate_single()
441 const int frac_advance = st->frac_advance; in resampler_basic_interpolate_single()
442 const spx_uint32_t den_rate = st->den_rate; in resampler_basic_interpolate_single()
450 const int offset = samp_frac_num*st->oversample/st->den_rate; in resampler_basic_interpolate_single()
452 …const spx_word16_t frac = PDIV32(SHL32((samp_frac_num*st->oversample) % st->den_rate,15),st->den_r… in resampler_basic_interpolate_single()
454 … const spx_word16_t frac = ((float)((samp_frac_num*st->oversample) % st->den_rate))/st->den_rate; in resampler_basic_interpolate_single()
464 accum[0] += MULT16_16(curr_in,st->sinc_table[4+(j+1)*st->oversample-offset-2]); in resampler_basic_interpolate_single()
465 accum[1] += MULT16_16(curr_in,st->sinc_table[4+(j+1)*st->oversample-offset-1]); in resampler_basic_interpolate_single()
466 accum[2] += MULT16_16(curr_in,st->sinc_table[4+(j+1)*st->oversample-offset]); in resampler_basic_interpolate_single()
467 accum[3] += MULT16_16(curr_in,st->sinc_table[4+(j+1)*st->oversample-offset+1]); in resampler_basic_interpolate_single()
475 …sum = interpolate_product_single(iptr, st->sinc_table + st->oversample + 4 - offset - 2, N, st->ov… in resampler_basic_interpolate_single()
488 st->last_sample[channel_index] = last_sample; in resampler_basic_interpolate_single()
489 st->samp_frac_num[channel_index] = samp_frac_num; in resampler_basic_interpolate_single()
496 static int resampler_basic_interpolate_double(SpeexResamplerState *st, spx_uint32_t channel_index, … in resampler_basic_interpolate_double() argument
498 const int N = st->filt_len; in resampler_basic_interpolate_double()
500 int last_sample = st->last_sample[channel_index]; in resampler_basic_interpolate_double()
501 spx_uint32_t samp_frac_num = st->samp_frac_num[channel_index]; in resampler_basic_interpolate_double()
502 const int out_stride = st->out_stride; in resampler_basic_interpolate_double()
503 const int int_advance = st->int_advance; in resampler_basic_interpolate_double()
504 const int frac_advance = st->frac_advance; in resampler_basic_interpolate_double()
505 const spx_uint32_t den_rate = st->den_rate; in resampler_basic_interpolate_double()
513 const int offset = samp_frac_num*st->oversample/st->den_rate; in resampler_basic_interpolate_double()
515 …const spx_word16_t frac = PDIV32(SHL32((samp_frac_num*st->oversample) % st->den_rate,15),st->den_r… in resampler_basic_interpolate_double()
517 … const spx_word16_t frac = ((float)((samp_frac_num*st->oversample) % st->den_rate))/st->den_rate; in resampler_basic_interpolate_double()
527 accum[0] += MULT16_16(curr_in,st->sinc_table[4+(j+1)*st->oversample-offset-2]); in resampler_basic_interpolate_double()
528 accum[1] += MULT16_16(curr_in,st->sinc_table[4+(j+1)*st->oversample-offset-1]); in resampler_basic_interpolate_double()
529 accum[2] += MULT16_16(curr_in,st->sinc_table[4+(j+1)*st->oversample-offset]); in resampler_basic_interpolate_double()
530 accum[3] += MULT16_16(curr_in,st->sinc_table[4+(j+1)*st->oversample-offset+1]); in resampler_basic_interpolate_double()
537 …sum = interpolate_product_double(iptr, st->sinc_table + st->oversample + 4 - offset - 2, N, st->ov… in resampler_basic_interpolate_double()
550 st->last_sample[channel_index] = last_sample; in resampler_basic_interpolate_double()
551 st->samp_frac_num[channel_index] = samp_frac_num; in resampler_basic_interpolate_double()
556 static void update_filter(SpeexResamplerState *st) in update_filter() argument
560 old_length = st->filt_len; in update_filter()
561 st->oversample = quality_map[st->quality].oversample; in update_filter()
562 st->filt_len = quality_map[st->quality].base_length; in update_filter()
564 if (st->num_rate > st->den_rate) in update_filter()
567 st->cutoff = quality_map[st->quality].downsample_bandwidth * st->den_rate / st->num_rate; in update_filter()
569 st->filt_len = st->filt_len*st->num_rate / st->den_rate; in update_filter()
571 st->filt_len &= (~0x3); in update_filter()
572 if (2*st->den_rate < st->num_rate) in update_filter()
573 st->oversample >>= 1; in update_filter()
574 if (4*st->den_rate < st->num_rate) in update_filter()
575 st->oversample >>= 1; in update_filter()
576 if (8*st->den_rate < st->num_rate) in update_filter()
577 st->oversample >>= 1; in update_filter()
578 if (16*st->den_rate < st->num_rate) in update_filter()
579 st->oversample >>= 1; in update_filter()
580 if (st->oversample < 1) in update_filter()
581 st->oversample = 1; in update_filter()
584 st->cutoff = quality_map[st->quality].upsample_bandwidth; in update_filter()
591 if (st->den_rate <= st->oversample) in update_filter()
595 if (!st->sinc_table) in update_filter()
596st->sinc_table = (spx_word16_t *)speex_alloc(st->filt_len*st->den_rate*sizeof(spx_word16_t)); in update_filter()
597 else if (st->sinc_table_length < st->filt_len*st->den_rate) in update_filter()
599st->sinc_table = (spx_word16_t *)speex_realloc(st->sinc_table,st->filt_len*st->den_rate*sizeof(spx… in update_filter()
600 st->sinc_table_length = st->filt_len*st->den_rate; in update_filter()
602 for (i=0;i<st->den_rate;i++) in update_filter()
605 for (j=0;j<st->filt_len;j++) in update_filter()
607st->sinc_table[i*st->filt_len+j] = sinc(st->cutoff,((j-(spx_int32_t)st->filt_len/2+1)-((float)i)/s… in update_filter()
611 st->resampler_ptr = resampler_basic_direct_single; in update_filter()
613 if (st->quality>8) in update_filter()
614 st->resampler_ptr = resampler_basic_direct_double; in update_filter()
616 st->resampler_ptr = resampler_basic_direct_single; in update_filter()
621 if (!st->sinc_table) in update_filter()
622st->sinc_table = (spx_word16_t *)speex_alloc((st->filt_len*st->oversample+8)*sizeof(spx_word16_t)); in update_filter()
623 else if (st->sinc_table_length < st->filt_len*st->oversample+8) in update_filter()
625st->sinc_table = (spx_word16_t *)speex_realloc(st->sinc_table,(st->filt_len*st->oversample+8)*size… in update_filter()
626 st->sinc_table_length = st->filt_len*st->oversample+8; in update_filter()
628 for (i=-4;i<(spx_int32_t)(st->oversample*st->filt_len+4);i++) in update_filter()
629st->sinc_table[i+4] = sinc(st->cutoff,(i/(float)st->oversample - st->filt_len/2), st->filt_len, qu… in update_filter()
631 st->resampler_ptr = resampler_basic_interpolate_single; in update_filter()
633 if (st->quality>8) in update_filter()
634 st->resampler_ptr = resampler_basic_interpolate_double; in update_filter()
636 st->resampler_ptr = resampler_basic_interpolate_single; in update_filter()
640 st->int_advance = st->num_rate/st->den_rate; in update_filter()
641 st->frac_advance = st->num_rate%st->den_rate; in update_filter()
647 if (!st->mem) in update_filter()
650 st->mem_alloc_size = st->filt_len-1 + st->buffer_size; in update_filter()
651st->mem = (spx_word16_t*)speex_alloc(st->nb_channels*st->mem_alloc_size * sizeof(spx_word16_t)); in update_filter()
652 for (i=0;i<st->nb_channels*st->mem_alloc_size;i++) in update_filter()
653 st->mem[i] = 0; in update_filter()
655 } else if (!st->started) in update_filter()
658 st->mem_alloc_size = st->filt_len-1 + st->buffer_size; in update_filter()
659st->mem = (spx_word16_t*)speex_realloc(st->mem, st->nb_channels*st->mem_alloc_size * sizeof(spx_wo… in update_filter()
660 for (i=0;i<st->nb_channels*st->mem_alloc_size;i++) in update_filter()
661 st->mem[i] = 0; in update_filter()
663 } else if (st->filt_len > old_length) in update_filter()
668 int old_alloc_size = st->mem_alloc_size; in update_filter()
669 if ((st->filt_len-1 + st->buffer_size) > st->mem_alloc_size) in update_filter()
671 st->mem_alloc_size = st->filt_len-1 + st->buffer_size; in update_filter()
672st->mem = (spx_word16_t*)speex_realloc(st->mem, st->nb_channels*st->mem_alloc_size * sizeof(spx_wo… in update_filter()
674 for (i=st->nb_channels-1;i>=0;i--) in update_filter()
683 olen = old_length + 2*st->magic_samples[i]; in update_filter()
684 for (j=old_length-2+st->magic_samples[i];j>=0;j--) in update_filter()
685 st->mem[i*st->mem_alloc_size+j+st->magic_samples[i]] = st->mem[i*old_alloc_size+j]; in update_filter()
686 for (j=0;j<st->magic_samples[i];j++) in update_filter()
687 st->mem[i*st->mem_alloc_size+j] = 0; in update_filter()
688 st->magic_samples[i] = 0; in update_filter()
690 if (st->filt_len > olen) in update_filter()
695st->mem[i*st->mem_alloc_size+(st->filt_len-2-j)] = st->mem[i*st->mem_alloc_size+(olen-2-j)]; in update_filter()
697 for (;j<st->filt_len-1;j++) in update_filter()
698 st->mem[i*st->mem_alloc_size+(st->filt_len-2-j)] = 0; in update_filter()
700 st->last_sample[i] += (st->filt_len - olen)/2; in update_filter()
703 st->magic_samples[i] = (olen - st->filt_len)/2; in update_filter()
704 for (j=0;j<st->filt_len-1+st->magic_samples[i];j++) in update_filter()
705st->mem[i*st->mem_alloc_size+j] = st->mem[i*st->mem_alloc_size+j+st->magic_samples[i]]; in update_filter()
708 } else if (st->filt_len < old_length) in update_filter()
713 for (i=0;i<st->nb_channels;i++) in update_filter()
716 spx_uint32_t old_magic = st->magic_samples[i]; in update_filter()
717 st->magic_samples[i] = (old_length - st->filt_len)/2; in update_filter()
720 for (j=0;j<st->filt_len-1+st->magic_samples[i]+old_magic;j++) in update_filter()
721 st->mem[i*st->mem_alloc_size+j] = st->mem[i*st->mem_alloc_size+j+st->magic_samples[i]]; in update_filter()
722 st->magic_samples[i] += old_magic; in update_filter()
736 SpeexResamplerState *st; in speex_resampler_init_frac() local
743 st = (SpeexResamplerState *)speex_alloc(sizeof(SpeexResamplerState)); in speex_resampler_init_frac()
744 st->initialised = 0; in speex_resampler_init_frac()
745 st->started = 0; in speex_resampler_init_frac()
746 st->in_rate = 0; in speex_resampler_init_frac()
747 st->out_rate = 0; in speex_resampler_init_frac()
748 st->num_rate = 0; in speex_resampler_init_frac()
749 st->den_rate = 0; in speex_resampler_init_frac()
750 st->quality = -1; in speex_resampler_init_frac()
751 st->sinc_table_length = 0; in speex_resampler_init_frac()
752 st->mem_alloc_size = 0; in speex_resampler_init_frac()
753 st->filt_len = 0; in speex_resampler_init_frac()
754 st->mem = 0; in speex_resampler_init_frac()
755 st->resampler_ptr = 0; in speex_resampler_init_frac()
757 st->cutoff = 1.f; in speex_resampler_init_frac()
758 st->nb_channels = nb_channels; in speex_resampler_init_frac()
759 st->in_stride = 1; in speex_resampler_init_frac()
760 st->out_stride = 1; in speex_resampler_init_frac()
763 st->buffer_size = 160; in speex_resampler_init_frac()
765 st->buffer_size = 160; in speex_resampler_init_frac()
769 st->last_sample = (spx_int32_t*)speex_alloc(nb_channels*sizeof(int)); in speex_resampler_init_frac()
770 st->magic_samples = (spx_uint32_t*)speex_alloc(nb_channels*sizeof(int)); in speex_resampler_init_frac()
771 st->samp_frac_num = (spx_uint32_t*)speex_alloc(nb_channels*sizeof(int)); in speex_resampler_init_frac()
774 st->last_sample[i] = 0; in speex_resampler_init_frac()
775 st->magic_samples[i] = 0; in speex_resampler_init_frac()
776 st->samp_frac_num[i] = 0; in speex_resampler_init_frac()
779 speex_resampler_set_quality(st, quality); in speex_resampler_init_frac()
780 speex_resampler_set_rate_frac(st, ratio_num, ratio_den, in_rate, out_rate); in speex_resampler_init_frac()
783 update_filter(st); in speex_resampler_init_frac()
785 st->initialised = 1; in speex_resampler_init_frac()
789 return st; in speex_resampler_init_frac()
792 EXPORT void speex_resampler_destroy(SpeexResamplerState *st) in speex_resampler_destroy() argument
794 speex_free(st->mem); in speex_resampler_destroy()
795 speex_free(st->sinc_table); in speex_resampler_destroy()
796 speex_free(st->last_sample); in speex_resampler_destroy()
797 speex_free(st->magic_samples); in speex_resampler_destroy()
798 speex_free(st->samp_frac_num); in speex_resampler_destroy()
799 speex_free(st); in speex_resampler_destroy()
802 static int speex_resampler_process_native(SpeexResamplerState *st, spx_uint32_t channel_index, spx_… in speex_resampler_process_native() argument
805 const int N = st->filt_len; in speex_resampler_process_native()
807 spx_word16_t *mem = st->mem + channel_index * st->mem_alloc_size; in speex_resampler_process_native()
810 st->started = 1; in speex_resampler_process_native()
813 out_sample = st->resampler_ptr(st, channel_index, mem, in_len, out, out_len); in speex_resampler_process_native()
815 if (st->last_sample[channel_index] < (spx_int32_t)*in_len) in speex_resampler_process_native()
816 *in_len = st->last_sample[channel_index]; in speex_resampler_process_native()
818 st->last_sample[channel_index] -= *in_len; in speex_resampler_process_native()
828 static int speex_resampler_magic(SpeexResamplerState *st, spx_uint32_t channel_index, spx_word16_t … in speex_resampler_magic() argument
829 spx_uint32_t tmp_in_len = st->magic_samples[channel_index]; in speex_resampler_magic()
830 spx_word16_t *mem = st->mem + channel_index * st->mem_alloc_size; in speex_resampler_magic()
831 const int N = st->filt_len; in speex_resampler_magic()
833 speex_resampler_process_native(st, channel_index, &tmp_in_len, *out, &out_len); in speex_resampler_magic()
835 st->magic_samples[channel_index] -= tmp_in_len; in speex_resampler_magic()
838 if (st->magic_samples[channel_index]) in speex_resampler_magic()
841 for (i=0;i<st->magic_samples[channel_index];i++) in speex_resampler_magic()
844 *out += out_len*st->out_stride; in speex_resampler_magic()
849 EXPORT int speex_resampler_process_int(SpeexResamplerState *st, spx_uint32_t channel_index, const s… in speex_resampler_process_int() argument
851 EXPORT int speex_resampler_process_float(SpeexResamplerState *st, spx_uint32_t channel_index, const… in speex_resampler_process_int()
857 spx_word16_t *x = st->mem + channel_index * st->mem_alloc_size; in speex_resampler_process_int()
858 const int filt_offs = st->filt_len - 1; in speex_resampler_process_int()
859 const spx_uint32_t xlen = st->mem_alloc_size - filt_offs; in speex_resampler_process_int()
860 const int istride = st->in_stride; in speex_resampler_process_int()
862 if (st->magic_samples[channel_index]) in speex_resampler_process_int()
863 olen -= speex_resampler_magic(st, channel_index, &out, olen); in speex_resampler_process_int()
864 if (! st->magic_samples[channel_index]) { in speex_resampler_process_int()
876 speex_resampler_process_native(st, channel_index, &ichunk, out, &ochunk); in speex_resampler_process_int()
879 out += ochunk * st->out_stride; in speex_resampler_process_int()
890 EXPORT int speex_resampler_process_float(SpeexResamplerState *st, spx_uint32_t channel_index, const… in speex_resampler_process_float() argument
892 EXPORT int speex_resampler_process_int(SpeexResamplerState *st, spx_uint32_t channel_index, const s… in speex_resampler_process_float()
896 const int istride_save = st->in_stride; in speex_resampler_process_float()
897 const int ostride_save = st->out_stride; in speex_resampler_process_float()
900 spx_word16_t *x = st->mem + channel_index * st->mem_alloc_size; in speex_resampler_process_float()
901 const spx_uint32_t xlen = st->mem_alloc_size - (st->filt_len - 1); in speex_resampler_process_float()
911 st->out_stride = 1; in speex_resampler_process_float()
919 if (st->magic_samples[channel_index]) { in speex_resampler_process_float()
920 omagic = speex_resampler_magic(st, channel_index, &y, ochunk); in speex_resampler_process_float()
924 if (! st->magic_samples[channel_index]) { in speex_resampler_process_float()
928 x[j+st->filt_len-1]=WORD2INT(in[j*istride_save]); in speex_resampler_process_float()
930 x[j+st->filt_len-1]=in[j*istride_save]; in speex_resampler_process_float()
934 x[j+st->filt_len-1]=0; in speex_resampler_process_float()
937 speex_resampler_process_native(st, channel_index, &ichunk, y, &ochunk); in speex_resampler_process_float()
956 st->out_stride = ostride_save; in speex_resampler_process_float()
963 EXPORT int speex_resampler_process_interleaved_float(SpeexResamplerState *st, const float *in, spx_… in speex_resampler_process_interleaved_float() argument
968 istride_save = st->in_stride; in speex_resampler_process_interleaved_float()
969 ostride_save = st->out_stride; in speex_resampler_process_interleaved_float()
970 st->in_stride = st->out_stride = st->nb_channels; in speex_resampler_process_interleaved_float()
971 for (i=0;i<st->nb_channels;i++) in speex_resampler_process_interleaved_float()
975 speex_resampler_process_float(st, i, in+i, in_len, out+i, out_len); in speex_resampler_process_interleaved_float()
977 speex_resampler_process_float(st, i, NULL, in_len, out+i, out_len); in speex_resampler_process_interleaved_float()
979 st->in_stride = istride_save; in speex_resampler_process_interleaved_float()
980 st->out_stride = ostride_save; in speex_resampler_process_interleaved_float()
984 EXPORT int speex_resampler_process_interleaved_int(SpeexResamplerState *st, const spx_int16_t *in, … in speex_resampler_process_interleaved_int() argument
989 istride_save = st->in_stride; in speex_resampler_process_interleaved_int()
990 ostride_save = st->out_stride; in speex_resampler_process_interleaved_int()
991 st->in_stride = st->out_stride = st->nb_channels; in speex_resampler_process_interleaved_int()
992 for (i=0;i<st->nb_channels;i++) in speex_resampler_process_interleaved_int()
996 speex_resampler_process_int(st, i, in+i, in_len, out+i, out_len); in speex_resampler_process_interleaved_int()
998 speex_resampler_process_int(st, i, NULL, in_len, out+i, out_len); in speex_resampler_process_interleaved_int()
1000 st->in_stride = istride_save; in speex_resampler_process_interleaved_int()
1001 st->out_stride = ostride_save; in speex_resampler_process_interleaved_int()
1005 EXPORT int speex_resampler_set_rate(SpeexResamplerState *st, spx_uint32_t in_rate, spx_uint32_t out… in speex_resampler_set_rate() argument
1007 return speex_resampler_set_rate_frac(st, in_rate, out_rate, in_rate, out_rate); in speex_resampler_set_rate()
1010 EXPORT void speex_resampler_get_rate(SpeexResamplerState *st, spx_uint32_t *in_rate, spx_uint32_t *… in speex_resampler_get_rate() argument
1012 *in_rate = st->in_rate; in speex_resampler_get_rate()
1013 *out_rate = st->out_rate; in speex_resampler_get_rate()
1016 EXPORT int speex_resampler_set_rate_frac(SpeexResamplerState *st, spx_uint32_t ratio_num, spx_uint3… in speex_resampler_set_rate_frac() argument
1021 …if (st->in_rate == in_rate && st->out_rate == out_rate && st->num_rate == ratio_num && st->den_rat… in speex_resampler_set_rate_frac()
1024 old_den = st->den_rate; in speex_resampler_set_rate_frac()
1025 st->in_rate = in_rate; in speex_resampler_set_rate_frac()
1026 st->out_rate = out_rate; in speex_resampler_set_rate_frac()
1027 st->num_rate = ratio_num; in speex_resampler_set_rate_frac()
1028 st->den_rate = ratio_den; in speex_resampler_set_rate_frac()
1030 for (fact=2;fact<=IMIN(st->num_rate, st->den_rate);fact++) in speex_resampler_set_rate_frac()
1032 while ((st->num_rate % fact == 0) && (st->den_rate % fact == 0)) in speex_resampler_set_rate_frac()
1034 st->num_rate /= fact; in speex_resampler_set_rate_frac()
1035 st->den_rate /= fact; in speex_resampler_set_rate_frac()
1041 for (i=0;i<st->nb_channels;i++) in speex_resampler_set_rate_frac()
1043 st->samp_frac_num[i]=st->samp_frac_num[i]*st->den_rate/old_den; in speex_resampler_set_rate_frac()
1045 if (st->samp_frac_num[i] >= st->den_rate) in speex_resampler_set_rate_frac()
1046 st->samp_frac_num[i] = st->den_rate-1; in speex_resampler_set_rate_frac()
1050 if (st->initialised) in speex_resampler_set_rate_frac()
1051 update_filter(st); in speex_resampler_set_rate_frac()
1055 EXPORT void speex_resampler_get_ratio(SpeexResamplerState *st, spx_uint32_t *ratio_num, spx_uint32_… in speex_resampler_get_ratio() argument
1057 *ratio_num = st->num_rate; in speex_resampler_get_ratio()
1058 *ratio_den = st->den_rate; in speex_resampler_get_ratio()
1061 EXPORT int speex_resampler_set_quality(SpeexResamplerState *st, int quality) in speex_resampler_set_quality() argument
1065 if (st->quality == quality) in speex_resampler_set_quality()
1067 st->quality = quality; in speex_resampler_set_quality()
1068 if (st->initialised) in speex_resampler_set_quality()
1069 update_filter(st); in speex_resampler_set_quality()
1073 EXPORT void speex_resampler_get_quality(SpeexResamplerState *st, int *quality) in speex_resampler_get_quality() argument
1075 *quality = st->quality; in speex_resampler_get_quality()
1078 EXPORT void speex_resampler_set_input_stride(SpeexResamplerState *st, spx_uint32_t stride) in speex_resampler_set_input_stride() argument
1080 st->in_stride = stride; in speex_resampler_set_input_stride()
1083 EXPORT void speex_resampler_get_input_stride(SpeexResamplerState *st, spx_uint32_t *stride) in speex_resampler_get_input_stride() argument
1085 *stride = st->in_stride; in speex_resampler_get_input_stride()
1088 EXPORT void speex_resampler_set_output_stride(SpeexResamplerState *st, spx_uint32_t stride) in speex_resampler_set_output_stride() argument
1090 st->out_stride = stride; in speex_resampler_set_output_stride()
1093 EXPORT void speex_resampler_get_output_stride(SpeexResamplerState *st, spx_uint32_t *stride) in speex_resampler_get_output_stride() argument
1095 *stride = st->out_stride; in speex_resampler_get_output_stride()
1098 EXPORT int speex_resampler_get_input_latency(SpeexResamplerState *st) in speex_resampler_get_input_latency() argument
1100 return st->filt_len / 2; in speex_resampler_get_input_latency()
1103 EXPORT int speex_resampler_get_output_latency(SpeexResamplerState *st) in speex_resampler_get_output_latency() argument
1105 return ((st->filt_len / 2) * st->den_rate + (st->num_rate >> 1)) / st->num_rate; in speex_resampler_get_output_latency()
1108 EXPORT int speex_resampler_skip_zeros(SpeexResamplerState *st) in speex_resampler_skip_zeros() argument
1111 for (i=0;i<st->nb_channels;i++) in speex_resampler_skip_zeros()
1112 st->last_sample[i] = st->filt_len/2; in speex_resampler_skip_zeros()
1116 EXPORT int speex_resampler_reset_mem(SpeexResamplerState *st) in speex_resampler_reset_mem() argument
1119 for (i=0;i<st->nb_channels*(st->filt_len-1);i++) in speex_resampler_reset_mem()
1120 st->mem[i] = 0; in speex_resampler_reset_mem()