Lines Matching defs:pg72x
48 static int psf_g72x_decode_block (SF_PRIVATE *psf, G72x_PRIVATE *pg72x) ;
49 static int psf_g72x_encode_block (SF_PRIVATE *psf, G72x_PRIVATE *pg72x) ;
72 { G72x_PRIVATE *pg72x ;
85 if ((pg72x = calloc (1, sizeof (G72x_PRIVATE))) == NULL)
88 psf->codec_data = (void*) pg72x ;
90 pg72x->block_curr = 0 ;
91 pg72x->sample_curr = 0 ;
124 { pg72x->private = g72x_reader_init (codec, &(pg72x->blocksize), &(pg72x->samplesperblock)) ;
125 if (pg72x->private == NULL)
128 pg72x->bytesperblock = bytesperblock ;
137 if (psf->datalength % pg72x->blocksize)
138 { psf_log_printf (psf, "*** Odd psf->datalength (%D) should be a multiple of %d\n", psf->datalength, pg72x->blocksize) ;
139 pg72x->blocks_total = (psf->datalength / pg72x->blocksize) + 1 ;
142 pg72x->blocks_total = psf->datalength / pg72x->blocksize ;
144 psf->sf.frames = (sf_count_t) pg72x->blocks_total * pg72x->samplesperblock ;
146 psf_g72x_decode_block (psf, pg72x) ;
149 { pg72x->private = g72x_writer_init (codec, &(pg72x->blocksize), &(pg72x->samplesperblock)) ;
150 if (pg72x->private == NULL)
153 pg72x->bytesperblock = bytesperblock ;
160 if (psf->datalength % pg72x->blocksize)
161 pg72x->blocks_total = (psf->datalength / pg72x->blocksize) + 1 ;
163 pg72x->blocks_total = psf->datalength / pg72x->blocksize ;
182 psf_g72x_decode_block (SF_PRIVATE *psf, G72x_PRIVATE *pg72x)
185 pg72x->block_curr ++ ;
186 pg72x->sample_curr = 0 ;
188 if (pg72x->block_curr > pg72x->blocks_total)
189 { memset (pg72x->samples, 0, G72x_BLOCK_SIZE * sizeof (short)) ;
193 if ((k = psf_fread (pg72x->block, 1, pg72x->bytesperblock, psf)) != pg72x->bytesperblock)
194 psf_log_printf (psf, "*** Warning : short read (%d != %d).\n", k, pg72x->bytesperblock) ;
196 pg72x->blocksize = k ;
197 g72x_decode_block (pg72x->private, pg72x->block, pg72x->samples) ;
203 g72x_read_block (SF_PRIVATE *psf, G72x_PRIVATE *pg72x, short *ptr, int len)
207 { if (pg72x->block_curr > pg72x->blocks_total)
212 if (pg72x->sample_curr >= pg72x->samplesperblock)
213 psf_g72x_decode_block (psf, pg72x) ;
215 count = pg72x->samplesperblock - pg72x->sample_curr ;
218 memcpy (&(ptr [indx]), &(pg72x->samples [pg72x->sample_curr]), count * sizeof (short)) ;
220 pg72x->sample_curr += count ;
229 { G72x_PRIVATE *pg72x ;
235 pg72x = (G72x_PRIVATE*) psf->codec_data ;
240 count = g72x_read_block (psf, pg72x, ptr, readcount) ;
255 G72x_PRIVATE *pg72x ;
262 pg72x = (G72x_PRIVATE*) psf->codec_data ;
268 count = g72x_read_block (psf, pg72x, sptr, readcount) ;
285 G72x_PRIVATE *pg72x ;
293 pg72x = (G72x_PRIVATE*) psf->codec_data ;
301 count = g72x_read_block (psf, pg72x, sptr, readcount) ;
317 G72x_PRIVATE *pg72x ;
325 pg72x = (G72x_PRIVATE*) psf->codec_data ;
333 count = g72x_read_block (psf, pg72x, sptr, readcount) ;
358 ** G72x_PRIVATE *pg72x ;
363 ** pg72x = (G72x_PRIVATE*) psf->codec_data ;
378 ** newblock = offset / pg72x->samplesperblock ;
379 ** newsample = offset % pg72x->samplesperblock ;
387 ** newblock = (8 * (psf->current + offset)) / pg72x->samplesperblock ;
388 ** newsample = (8 * (psf->current + offset)) % pg72x->samplesperblock ;
396 ** newblock = (sample_curr + offset) / pg72x->samplesperblock ;
397 ** newsample = (sample_curr + offset) % pg72x->samplesperblock ;
406 ** { psf_fseek (psf, psf->dataoffset + newblock * pg72x->blocksize, SEEK_SET) ;
407 ** pg72x->block_curr = newblock ;
408 ** psf_g72x_decode_block (psf, pg72x) ;
409 ** pg72x->sample_curr = newsample ;
417 ** psf->current = newblock * pg72x->samplesperblock + newsample ;
428 psf_g72x_encode_block (SF_PRIVATE *psf, G72x_PRIVATE *pg72x)
432 g72x_encode_block (pg72x->private, pg72x->samples, pg72x->block) ;
435 if ((k = psf_fwrite (pg72x->block, 1, pg72x->blocksize, psf)) != pg72x->blocksize)
436 psf_log_printf (psf, "*** Warning : short write (%d != %d).\n", k, pg72x->blocksize) ;
438 pg72x->sample_curr = 0 ;
439 pg72x->block_curr ++ ;
442 memset (pg72x->samples, 0, G72x_BLOCK_SIZE * sizeof (short)) ;
448 g72x_write_block (SF_PRIVATE *psf, G72x_PRIVATE *pg72x, const short *ptr, int len)
452 { count = pg72x->samplesperblock - pg72x->sample_curr ;
457 memcpy (&(pg72x->samples [pg72x->sample_curr]), &(ptr [indx]), count * sizeof (short)) ;
459 pg72x->sample_curr += count ;
462 if (pg72x->sample_curr >= pg72x->samplesperblock)
463 psf_g72x_encode_block (psf, pg72x) ;
471 { G72x_PRIVATE *pg72x ;
477 pg72x = (G72x_PRIVATE*) psf->codec_data ;
482 count = g72x_write_block (psf, pg72x, ptr, writecount) ;
496 G72x_PRIVATE *pg72x ;
503 pg72x = (G72x_PRIVATE*) psf->codec_data ;
511 count = g72x_write_block (psf, pg72x, sptr, writecount) ;
524 G72x_PRIVATE *pg72x ;
532 pg72x = (G72x_PRIVATE*) psf->codec_data ;
542 count = g72x_write_block (psf, pg72x, sptr, writecount) ;
556 G72x_PRIVATE *pg72x ;
564 pg72x = (G72x_PRIVATE*) psf->codec_data ;
574 count = g72x_write_block (psf, pg72x, sptr, writecount) ;
587 { G72x_PRIVATE *pg72x ;
589 pg72x = (G72x_PRIVATE*) psf->codec_data ;
596 if (pg72x->sample_curr && pg72x->sample_curr < G72x_BLOCK_SIZE)
597 psf_g72x_encode_block (psf, pg72x) ;
604 free (pg72x->private) ;