Lines Matching defs:psf

45 static sf_count_t vox_read_s (SF_PRIVATE *psf, short *ptr, sf_count_t len) ;
46 static sf_count_t vox_read_i (SF_PRIVATE *psf, int *ptr, sf_count_t len) ;
47 static sf_count_t vox_read_f (SF_PRIVATE *psf, float *ptr, sf_count_t len) ;
48 static sf_count_t vox_read_d (SF_PRIVATE *psf, double *ptr, sf_count_t len) ;
50 static sf_count_t vox_write_s (SF_PRIVATE *psf, const short *ptr, sf_count_t len) ;
51 static sf_count_t vox_write_i (SF_PRIVATE *psf, const int *ptr, sf_count_t len) ;
52 static sf_count_t vox_write_f (SF_PRIVATE *psf, const float *ptr, sf_count_t len) ;
53 static sf_count_t vox_write_d (SF_PRIVATE *psf, const double *ptr, sf_count_t len) ;
55 static int vox_read_block (SF_PRIVATE *psf, IMA_OKI_ADPCM *pvox, short *ptr, int len) ;
61 codec_close (SF_PRIVATE * psf)
63 IMA_OKI_ADPCM * p = (IMA_OKI_ADPCM *) psf->codec_data ;
66 psf_log_printf (psf, "*** Warning : ADPCM state errors: %d\n", p->errors) ;
71 vox_adpcm_init (SF_PRIVATE *psf)
74 if (psf->file.mode == SFM_RDWR)
77 if (psf->file.mode == SFM_WRITE && psf->sf.channels != 1)
83 psf->codec_data = (void*) pvox ;
86 if (psf->file.mode == SFM_WRITE)
87 { psf->write_short = vox_write_s ;
88 psf->write_int = vox_write_i ;
89 psf->write_float = vox_write_f ;
90 psf->write_double = vox_write_d ;
93 { psf_log_printf (psf, "Header-less OKI Dialogic ADPCM encoded file.\n") ;
94 psf_log_printf (psf, "Setting up for 8kHz, mono, Vox ADPCM.\n") ;
96 psf->read_short = vox_read_s ;
97 psf->read_int = vox_read_i ;
98 psf->read_float = vox_read_f ;
99 psf->read_double = vox_read_d ;
103 if (psf->sf.samplerate < 1)
104 psf->sf.samplerate = 8000 ;
105 psf->sf.channels = 1 ;
107 psf->sf.frames = psf->filelength * 2 ;
109 psf->sf.seekable = SF_FALSE ;
110 psf->codec_close = codec_close ;
113 if (psf_fseek (psf, 0 , SEEK_SET) == -1)
125 vox_read_block (SF_PRIVATE *psf, IMA_OKI_ADPCM *pvox, short *ptr, int len)
131 if ((k = (int) psf_fread (pvox->codes, 1, pvox->code_count, psf)) != pvox->code_count)
132 { if (psf_ftell (psf) != psf->filelength)
133 psf_log_printf (psf, "*** Warning : short read (%d != %d).\n", k, pvox->code_count) ;
151 vox_read_s (SF_PRIVATE *psf, short *ptr, sf_count_t len)
156 if (! psf->codec_data)
158 pvox = (IMA_OKI_ADPCM*) psf->codec_data ;
163 count = vox_read_block (psf, pvox, ptr, readcount) ;
175 vox_read_i (SF_PRIVATE *psf, int *ptr, sf_count_t len)
182 if (! psf->codec_data)
184 pvox = (IMA_OKI_ADPCM*) psf->codec_data ;
190 count = vox_read_block (psf, pvox, sptr, readcount) ;
203 vox_read_f (SF_PRIVATE *psf, float *ptr, sf_count_t len)
211 if (! psf->codec_data)
213 pvox = (IMA_OKI_ADPCM*) psf->codec_data ;
215 normfact = (psf->norm_float == SF_TRUE) ? 1.0 / ((float) 0x8000) : 1.0 ;
221 count = vox_read_block (psf, pvox, sptr, readcount) ;
234 vox_read_d (SF_PRIVATE *psf, double *ptr, sf_count_t len)
242 if (! psf->codec_data)
244 pvox = (IMA_OKI_ADPCM*) psf->codec_data ;
246 normfact = (psf->norm_double == SF_TRUE) ? 1.0 / ((double) 0x8000) : 1.0 ;
252 count = vox_read_block (psf, pvox, sptr, readcount) ;
268 vox_write_block (SF_PRIVATE *psf, IMA_OKI_ADPCM *pvox, const short *ptr, int len)
278 if ((k = (int) psf_fwrite (pvox->codes, 1, pvox->code_count, psf)) != pvox->code_count)
279 psf_log_printf (psf, "*** Warning : short write (%d != %d).\n", k, pvox->code_count) ;
288 vox_write_s (SF_PRIVATE *psf, const short *ptr, sf_count_t len)
293 if (! psf->codec_data)
295 pvox = (IMA_OKI_ADPCM*) psf->codec_data ;
300 count = vox_write_block (psf, pvox, ptr, writecount) ;
312 vox_write_i (SF_PRIVATE *psf, const int *ptr, sf_count_t len)
319 if (! psf->codec_data)
321 pvox = (IMA_OKI_ADPCM*) psf->codec_data ;
329 count = vox_write_block (psf, pvox, sptr, writecount) ;
340 vox_write_f (SF_PRIVATE *psf, const float *ptr, sf_count_t len)
348 if (! psf->codec_data)
350 pvox = (IMA_OKI_ADPCM*) psf->codec_data ;
352 normfact = (psf->norm_float == SF_TRUE) ? (1.0 * 0x7FFF) : 1.0 ;
360 count = vox_write_block (psf, pvox, sptr, writecount) ;
371 vox_write_d (SF_PRIVATE *psf, const double *ptr, sf_count_t len)
379 if (! psf->codec_data)
381 pvox = (IMA_OKI_ADPCM*) psf->codec_data ;
383 normfact = (psf->norm_double == SF_TRUE) ? (1.0 * 0x7FFF) : 1.0 ;
391 count = vox_write_block (psf, pvox, sptr, writecount) ;