Lines Matching defs:block
38 unsigned char *block ;
67 ** For a mono file, the block is laid out as follows:
69 ** 0 block predictor [0..6]
75 ** For a stereo file, the block is laid out as follows:
77 ** 0 block predictor [0..6] for left channel
78 ** 1 block predictor [0..6] for right channel
131 /* There's 7 samples per channel in the preamble of each block */
150 pms->block = (unsigned char*) (pms->dummydata + psf->sf.channels * samplesperblock) ;
233 if ((k = (int) psf_fread (pms->block, 1, pms->blocksize, psf)) != pms->blocksize)
239 /* Read and check the block header. */
242 { bpred [0] = msadpcm_get_bpred (psf, pms, pms->block [0]) ;
244 chan_idelta [0] = pms->block [1] | (pms->block [2] << 8) ;
247 pms->samples [1] = pms->block [3] | (pms->block [4] << 8) ;
248 pms->samples [0] = pms->block [5] | (pms->block [6] << 8) ;
252 { bpred [0] = msadpcm_get_bpred (psf, pms, pms->block [0]) ;
253 bpred [1] = msadpcm_get_bpred (psf, pms, pms->block [1]) ;
255 chan_idelta [0] = pms->block [2] | (pms->block [3] << 8) ;
256 chan_idelta [1] = pms->block [4] | (pms->block [5] << 8) ;
258 pms->samples [2] = pms->block [6] | (pms->block [7] << 8) ;
259 pms->samples [3] = pms->block [8] | (pms->block [9] << 8) ;
261 pms->samples [0] = pms->block [10] | (pms->block [11] << 8) ;
262 pms->samples [1] = pms->block [12] | (pms->block [13] << 8) ;
284 { bytecode = pms->block [blockindx++] ;
534 /* Write the block header. */
537 { pms->block [0] = bpred [0] ;
538 pms->block [1] = idelta [0] & 0xFF ;
539 pms->block [2] = idelta [0] >> 8 ;
540 pms->block [3] = pms->samples [1] & 0xFF ;
541 pms->block [4] = pms->samples [1] >> 8 ;
542 pms->block [5] = pms->samples [0] & 0xFF ;
543 pms->block [6] = pms->samples [0] >> 8 ;
567 { pms->block [blockindx++] = byte ;
579 pms->block [0] = bpred [0] ;
580 pms->block [1] = bpred [1] ;
582 pms->block [2] = idelta [0] & 0xFF ;
583 pms->block [3] = idelta [0] >> 8 ;
584 pms->block [4] = idelta [1] & 0xFF ;
585 pms->block [5] = idelta [1] >> 8 ;
587 pms->block [6] = pms->samples [2] & 0xFF ;
588 pms->block [7] = pms->samples [2] >> 8 ;
589 pms->block [8] = pms->samples [3] & 0xFF ;
590 pms->block [9] = pms->samples [3] >> 8 ;
592 pms->block [10] = pms->samples [0] & 0xFF ;
593 pms->block [11] = pms->samples [0] >> 8 ;
594 pms->block [12] = pms->samples [1] & 0xFF ;
595 pms->block [13] = pms->samples [1] >> 8 ;
623 { pms->block [blockindx++] = byte ;
634 /* Write the block to disk. */
636 if ((k = (int) psf_fwrite (pms->block, 1, pms->blocksize, psf)) != pms->blocksize)
806 ** Choosing the block predictor.
807 ** Each block requires a predictor and an idelta for each channel.
810 ** samples at the beginning of the block. The predictor with the smallest average
811 ** abs (idelta) is chosen as the best predictor for this block.