Lines Matching refs:wav

137     priv_t *wav = ft->priv;  in wav_ima_adpcm_fmt()  local
141 if (wav->bitsPerSample != 4) { in wav_ima_adpcm_fmt()
147 err = lsx_read_fields(ft, &len, "h", &wav->samplesPerBlock); in wav_ima_adpcm_fmt()
152 wav->samplesPerBlock); in wav_ima_adpcm_fmt()
154 if (bytesPerBlock != wav->blockAlign || wav->samplesPerBlock % 8 != 1) { in wav_ima_adpcm_fmt()
157 wav_format_str(wav->formatTag), in wav_ima_adpcm_fmt()
158 wav->samplesPerBlock, wav->blockAlign); in wav_ima_adpcm_fmt()
162 wav->packet = lsx_malloc(wav->blockAlign); in wav_ima_adpcm_fmt()
163 wav->samples = in wav_ima_adpcm_fmt()
164 lsx_malloc(ft->signal.channels * wav->samplesPerBlock * sizeof(short)); in wav_ima_adpcm_fmt()
176 priv_t * wav = (priv_t *) ft->priv; in ImaAdpcmReadBlock() local
181 bytesRead = lsx_readbuf(ft, wav->packet, (size_t)wav->blockAlign); in ImaAdpcmReadBlock()
182 samplesThisBlock = wav->samplesPerBlock; in ImaAdpcmReadBlock()
183 if (bytesRead < wav->blockAlign) in ImaAdpcmReadBlock()
189 if (samplesThisBlock == 0 || samplesThisBlock > wav->samplesPerBlock) in ImaAdpcmReadBlock()
196 wav->samplePtr = wav->samples; in ImaAdpcmReadBlock()
200 lsx_ima_block_expand_i(ft->signal.channels, wav->packet, wav->samples, samplesThisBlock); in ImaAdpcmReadBlock()
211 priv_t *wav = ft->priv; in wav_ms_adpcm_fmt() local
216 if (wav->bitsPerSample != 4) { in wav_ms_adpcm_fmt()
222 err = lsx_read_fields(ft, &len, "hh", &wav->samplesPerBlock, &wav->nCoefs); in wav_ms_adpcm_fmt()
227 wav->samplesPerBlock); in wav_ms_adpcm_fmt()
229 if (bytesPerBlock != wav->blockAlign) { in wav_ms_adpcm_fmt()
232 wav_format_str(wav->formatTag), in wav_ms_adpcm_fmt()
233 wav->samplesPerBlock, wav->blockAlign); in wav_ms_adpcm_fmt()
237 if (wav->nCoefs < 7 || wav->nCoefs > 0x100) { in wav_ms_adpcm_fmt()
240 wav->nCoefs); in wav_ms_adpcm_fmt()
244 if (len < 4 * wav->nCoefs) { in wav_ms_adpcm_fmt()
249 wav->packet = lsx_malloc(wav->blockAlign); in wav_ms_adpcm_fmt()
250 wav->samples = in wav_ms_adpcm_fmt()
251 lsx_malloc(ft->signal.channels * wav->samplesPerBlock * sizeof(short)); in wav_ms_adpcm_fmt()
254 wav->lsx_ms_adpcm_i_coefs = lsx_malloc(wav->nCoefs * 2 * sizeof(short)); in wav_ms_adpcm_fmt()
255 wav->ms_adpcm_data = lsx_ms_adpcm_alloc(ft->signal.channels); in wav_ms_adpcm_fmt()
258 2 * wav->nCoefs, wav->lsx_ms_adpcm_i_coefs); in wav_ms_adpcm_fmt()
263 errct += wav->lsx_ms_adpcm_i_coefs[i] != lsx_ms_adpcm_i_coef[i/2][i%2]; in wav_ms_adpcm_fmt()
278 priv_t * wav = (priv_t *) ft->priv; in AdpcmReadBlock() local
284 bytesRead = lsx_readbuf(ft, wav->packet, (size_t) wav->blockAlign); in AdpcmReadBlock()
285 samplesThisBlock = wav->samplesPerBlock; in AdpcmReadBlock()
286 if (bytesRead < wav->blockAlign) in AdpcmReadBlock()
292 if (samplesThisBlock == 0 || samplesThisBlock > wav->samplesPerBlock) in AdpcmReadBlock()
299 …lsx_ms_adpcm_block_expand_i(wav->ms_adpcm_data, ft->signal.channels, wav->nCoefs, wav->lsx_ms_adpc… in AdpcmReadBlock()
313 priv_t * wav = (priv_t *) ft->priv; in xxxAdpcmWriteBlock() local
318 p = wav->samplePtr; in xxxAdpcmWriteBlock()
319 ct = p - wav->samples; in xxxAdpcmWriteBlock()
322 for (p = wav->samplePtr; p < wav->sampleTop; p++) *p=0; in xxxAdpcmWriteBlock()
324 if (wav->formatTag == WAVE_FORMAT_ADPCM) { in xxxAdpcmWriteBlock()
325 …lsx_ms_adpcm_block_mash_i((unsigned) chans, wav->samples, wav->samplesPerBlock, wav->state, wav->p… in xxxAdpcmWriteBlock()
327 …lsx_ima_block_mash_i((unsigned) chans, wav->samples, wav->samplesPerBlock, wav->state, wav->packet… in xxxAdpcmWriteBlock()
330 if (lsx_writebuf(ft, wav->packet, (size_t) wav->blockAlign) != wav->blockAlign) in xxxAdpcmWriteBlock()
336 wav->dataLength += wav->blockAlign; in xxxAdpcmWriteBlock()
338 wav->numSamples += wav->samplesPerBlock; in xxxAdpcmWriteBlock()
340 wav->numSamples += ct/chans; in xxxAdpcmWriteBlock()
341 wav->samplePtr = wav->samples; in xxxAdpcmWriteBlock()
353 priv_t *wav = ft->priv; in wav_gsm_fmt() local
356 err = lsx_read_fields(ft, &len, "h", &wav->samplesPerBlock); in wav_gsm_fmt()
360 if (wav->blockAlign != 65) { in wav_gsm_fmt()
362 wav_format_str(wav->formatTag), wav->blockAlign, 65); in wav_gsm_fmt()
366 if (wav->samplesPerBlock != 320) { in wav_gsm_fmt()
369 wav_format_str(wav->formatTag), in wav_gsm_fmt()
370 wav->samplesPerBlock, 320); in wav_gsm_fmt()
381 priv_t * wav = (priv_t *) ft->priv; in wavgsminit() local
382 wav->gsmbytecount=0; in wavgsminit()
383 wav->gsmhandle=gsm_create(); in wavgsminit()
384 if (!wav->gsmhandle) in wavgsminit()
390 if(gsm_option(wav->gsmhandle,GSM_OPT_WAV49,&valueP) == -1){ in wavgsminit()
395 wav->gsmsample=lsx_malloc(sizeof(gsm_signal)*160*2); in wavgsminit()
396 wav->gsmindex=0; in wavgsminit()
403 priv_t * wav = (priv_t *) ft->priv; in wavgsmdestroy() local
404 gsm_destroy(wav->gsmhandle); in wavgsmdestroy()
405 free(wav->gsmsample); in wavgsmdestroy()
410 priv_t * wav = (priv_t *) ft->priv; in wavgsmread() local
418 while(wav->gsmindex && (wav->gsmindex<160*2) && (done < len)) in wavgsmread()
419 buf[done++]=SOX_SIGNED_16BIT_TO_SAMPLE(wav->gsmsample[wav->gsmindex++],); in wavgsmread()
423 wav->gsmindex=0; in wavgsmread()
432 if(gsm_decode(wav->gsmhandle,frame, wav->gsmsample)<0) in wavgsmread()
438 if(gsm_decode(wav->gsmhandle,frame+33, wav->gsmsample+160)<0) in wavgsmread()
444 while ((wav->gsmindex <160*2) && (done < len)){ in wavgsmread()
445 buf[done++]=SOX_SIGNED_16BIT_TO_SAMPLE(wav->gsmsample[(wav->gsmindex)++],); in wavgsmread()
455 priv_t * wav = (priv_t *) ft->priv; in wavgsmflush() local
458 while(wav->gsmindex<160*2) in wavgsmflush()
459 wav->gsmsample[wav->gsmindex++]=0; in wavgsmflush()
462 gsm_encode(wav->gsmhandle, wav->gsmsample, frame); in wavgsmflush()
464 gsm_encode(wav->gsmhandle, wav->gsmsample+160, frame+32); in wavgsmflush()
470 wav->gsmbytecount += 65; in wavgsmflush()
472 wav->gsmindex = 0; in wavgsmflush()
478 priv_t * wav = (priv_t *) ft->priv; in wavgsmwrite() local
486 while ((wav->gsmindex < 160*2) && (done < len)) in wavgsmwrite()
487 wav->gsmsample[(wav->gsmindex)++] = in wavgsmwrite()
490 if (wav->gsmindex < 160*2) in wavgsmwrite()
503 priv_t * wav = (priv_t *) ft->priv; in wavgsmstopwrite() local
507 if (wav->gsmindex) in wavgsmstopwrite()
511 if (wav->gsmbytecount && wav->gsmbytecount % 2){ in wavgsmstopwrite()
515 wav->gsmbytecount += 1; in wavgsmstopwrite()
529 priv_t *wav = ft->priv; in wav_pcm_fmt() local
530 int bps = (wav->bitsPerSample + 7) / 8; in wav_pcm_fmt()
633 priv_t *wav = ft->priv; in wav_read_fmt() local
648 &wav->formatTag, in wav_read_fmt()
652 &wav->blockAlign, in wav_read_fmt()
653 &wav->bitsPerSample); in wav_read_fmt()
660 if (wav->formatTag != WAVE_FORMAT_PCM && in wav_read_fmt()
661 wav->formatTag != WAVE_FORMAT_ALAW && in wav_read_fmt()
662 wav->formatTag != WAVE_FORMAT_MULAW && in wav_read_fmt()
678 if (wav->formatTag == WAVE_FORMAT_EXTENSIBLE) { in wav_read_fmt()
695 if (numberOfValidBits > wav->bitsPerSample) { in wav_read_fmt()
701 wav->formatTag = subFormatTag; in wav_read_fmt()
721 fmt = wav_find_format(wav->formatTag); in wav_read_fmt()
723 return wavfail(ft, wav->formatTag, NULL); in wav_read_fmt()
732 return wavfail(ft, wav->formatTag, fmt->name); in wav_read_fmt()
737 ft->encoding.bits_per_sample == wav->bitsPerSample) in wav_read_fmt()
738 ft->encoding.bits_per_sample = wav->bitsPerSample; in wav_read_fmt()
781 priv_t *wav = ft->priv; in startread() local
797 wav->ignoreSize = ft->signal.length == SOX_IGNORE_LENGTH; in startread()
874 wav->numSamples = val; in startread()
884 wav->dataStart = lsx_tell(ft); in startread()
910 if (wav->numSamples == UINT32_MAX) in startread()
911 wav->numSamples = ds64_sample_count; in startread()
922 if (!wav->dataStart) { in startread()
928 lsx_seeki(ft, wav->dataStart, SEEK_SET); in startread()
931 if (wav->numSamples * wav->blockAlign == qwDataLength * ft->signal.channels) in startread()
932 wav->numSamples /= ft->signal.channels; in startread()
934 if ((qwDataLength == UINT32_MAX && !wav->numSamples) || in startread()
937 wav->ignoreSize = 1; in startread()
940 switch (wav->formatTag) { in startread()
942 wav->numSamples = in startread()
944 wav->blockAlign, wav->samplesPerBlock); in startread()
945 wav->blockSamplesRemaining = 0; /* Samples left in buffer */ in startread()
951 wav->numSamples = in startread()
953 wav->blockAlign, wav->samplesPerBlock); in startread()
954 wav->blockSamplesRemaining = 0; /* Samples left in buffer */ in startread()
960 wav->numSamples = qwDataLength / wav->blockAlign * wav->samplesPerBlock; in startread()
966 if (!wav->numSamples) in startread()
967 wav->numSamples = div_bits(qwDataLength, ft->encoding.bits_per_sample) in startread()
970 if (wav->ignoreSize) in startread()
973 ft->signal.length = wav->numSamples * ft->signal.channels; in startread()
988 priv_t *wav = ft->priv; in read_samples() local
993 if (!wav->ignoreSize) in read_samples()
994 len = min(len, wav->numSamples * ft->signal.channels); in read_samples()
1007 if (wav->blockSamplesRemaining == 0) { in read_samples()
1008 if (wav->formatTag == WAVE_FORMAT_IMA_ADPCM) in read_samples()
1009 wav->blockSamplesRemaining = ImaAdpcmReadBlock(ft); in read_samples()
1011 wav->blockSamplesRemaining = AdpcmReadBlock(ft); in read_samples()
1013 if (wav->blockSamplesRemaining == 0) { in read_samples()
1015 wav->numSamples = 0; in read_samples()
1018 wav->samplePtr = wav->samples; in read_samples()
1023 if (ct > wav->blockSamplesRemaining * ft->signal.channels) in read_samples()
1024 ct = wav->blockSamplesRemaining * ft->signal.channels; in read_samples()
1027 wav->blockSamplesRemaining -= ct / ft->signal.channels; in read_samples()
1028 p = wav->samplePtr; in read_samples()
1035 wav->samplePtr = p; in read_samples()
1042 wav->numSamples -= done / ft->signal.channels; in read_samples()
1057 if (done == 0 && wav->numSamples && !wav->ignoreSize) in read_samples()
1065 if (done / ft->signal.channels > wav->numSamples) in read_samples()
1066 wav->numSamples = 0; in read_samples()
1068 wav->numSamples -= done / ft->signal.channels; in read_samples()
1079 priv_t * wav = (priv_t *) ft->priv; in stopread() local
1083 free(wav->packet); in stopread()
1084 free(wav->samples); in stopread()
1085 free(wav->lsx_ms_adpcm_i_coefs); in stopread()
1086 free(wav->ms_adpcm_data); in stopread()
1106 priv_t * wav = (priv_t *) ft->priv; in startwrite() local
1120 wav->numSamples = 0; in startwrite()
1121 wav->dataLength = 0; in startwrite()
1129 wav->packet = NULL; in startwrite()
1130 wav->samples = NULL; in startwrite()
1131 wav->lsx_ms_adpcm_i_coefs = NULL; in startwrite()
1132 switch (wav->formatTag) in startwrite()
1142 wav->state[ch] = 0; in startwrite()
1143 sbsize = ft->signal.channels * wav->samplesPerBlock; in startwrite()
1144 wav->packet = lsx_malloc((size_t)wav->blockAlign); in startwrite()
1145 wav->samples = lsx_malloc(sbsize*sizeof(short)); in startwrite()
1146 wav->sampleTop = wav->samples + sbsize; in startwrite()
1147 wav->samplePtr = wav->samples; in startwrite()
1221 priv_t * wav = (priv_t *) ft->priv; in wavwritehdr() local
1336 wav->formatTag = wFormatTag; in wavwritehdr()
1337 wav->blockAlign = wBlockAlign; in wavwritehdr()
1338 wav->samplesPerBlock = wSamplesPerBlock; in wavwritehdr()
1346 second_header ? wav->numSamples : ft->signal.length / wChannels; in wavwritehdr()
1476 dwDataLength, wav->numSamples); in wavwritehdr()
1481 if (wav->gsmbytecount != dwDataLength) in wavwritehdr()
1483 dwDataLength, wav->gsmbytecount); in wavwritehdr()
1493 priv_t * wav = (priv_t *) ft->priv; in write_samples() local
1498 switch (wav->formatTag) in write_samples()
1503 short *p = wav->samplePtr; in write_samples()
1504 short *top = wav->sampleTop; in write_samples()
1511 wav->samplePtr = p; in write_samples()
1512 if (p == wav->sampleTop) in write_samples()
1522 wav->numSamples += (len/ft->signal.channels); in write_samples()
1529 wav->numSamples += (len/ft->signal.channels); in write_samples()
1536 priv_t * wav = (priv_t *) ft->priv; in stopwrite() local
1542 switch (wav->formatTag) in stopwrite()
1557 if (wav->formatTag != WAVE_FORMAT_GSM610) in stopwrite()
1558 …lsx_padbytes(ft, (size_t)((wav->numSamples + wav->samplesPerBlock - 1)/wav->samplesPerBlock*wav->b… in stopwrite()
1560 free(wav->packet); in stopwrite()
1561 free(wav->samples); in stopwrite()
1562 free(wav->lsx_ms_adpcm_i_coefs); in stopwrite()
1567 if (ft->signal.length && wav->numSamples <= 0xffffffff && in stopwrite()
1568 wav->numSamples == ft->signal.length) in stopwrite()
1593 priv_t * wav = (priv_t *) ft->priv; in seek() local
1597 else if (wav->formatTag == WAVE_FORMAT_GSM610) { in seek()
1603 gsmoff = offset * wav->blockAlign / wav->samplesPerBlock + in seek()
1604 wav->blockAlign * ft->signal.channels / 2; in seek()
1605 gsmoff -= gsmoff % (wav->blockAlign * ft->signal.channels); in seek()
1607 ft->sox_errno = lsx_seeki(ft, (off_t)(gsmoff + wav->dataStart), SEEK_SET); in seek()
1611 alignment = offset % wav->samplesPerBlock; in seek()
1613 new_offset += (wav->samplesPerBlock - alignment); in seek()
1614 wav->numSamples = ft->signal.length - (new_offset / ft->signal.channels); in seek()
1620 …ft->sox_errno = (to != to_d)? SOX_EOF : lsx_seeki(ft, (off_t)wav->dataStart + (off_t)to, SEEK_SET); in seek()
1622 wav->numSamples -= (size_t)wide_sample / ft->signal.channels; in seek()
1628 LSX_FORMAT_HANDLER(wav) in LSX_FORMAT_HANDLER() argument