Lines Matching defs:pflac

176 {	FLAC_PRIVATE* pflac = (FLAC_PRIVATE*) psf->codec_data ;
177 const FLAC__Frame *frame = pflac->frame ;
178 const int32_t* const *buffer = pflac->wbuffer ;
205 if (pflac->ptr == NULL)
212 if (pflac->rbuffer [i] == NULL)
213 pflac->rbuffer [i] = calloc (FLAC__MAX_BLOCK_SIZE, sizeof (int32_t)) ;
215 memcpy (pflac->rbuffer [i], buffer [i], frame->header.blocksize * sizeof (int32_t)) ;
217 pflac->wbuffer = (const int32_t* const*) pflac->rbuffer ;
222 len = SF_MIN (pflac->len, frame->header.blocksize) ;
224 if (pflac->remain % channels != 0)
225 { psf_log_printf (psf, "Error: pflac->remain %u channels %u\n", pflac->remain, channels) ;
229 switch (pflac->pcmtype)
231 { short *retpcm = (short*) pflac->ptr ;
235 for (i = 0 ; i < len && pflac->remain > 0 ; i++)
236 { offset = pflac->pos + i * channels ;
238 if (pflac->bufferpos >= frame->header.blocksize)
241 if (offset + channels > pflac->len)
245 retpcm [offset + j] = buffer [j][pflac->bufferpos] >> shift ;
246 pflac->remain -= channels ;
247 pflac->bufferpos ++ ;
251 { for (i = 0 ; i < len && pflac->remain > 0 ; i++)
252 { offset = pflac->pos + i * channels ;
254 if (pflac->bufferpos >= frame->header.blocksize)
257 if (offset + channels > pflac->len)
261 retpcm [offset + j] = ((uint16_t) buffer [j][pflac->bufferpos]) << shift ;
263 pflac->remain -= channels ;
264 pflac->bufferpos ++ ;
271 { int *retpcm = (int*) pflac->ptr ;
273 for (i = 0 ; i < len && pflac->remain > 0 ; i++)
274 { offset = pflac->pos + i * channels ;
276 if (pflac->bufferpos >= frame->header.blocksize)
279 if (offset + channels > pflac->len)
283 retpcm [offset + j] = ((uint32_t) buffer [j][pflac->bufferpos]) << shift ;
284 pflac->remain -= channels ;
285 pflac->bufferpos++ ;
291 { float *retpcm = (float*) pflac->ptr ;
294 for (i = 0 ; i < len && pflac->remain > 0 ; i++)
295 { offset = pflac->pos + i * channels ;
297 if (pflac->bufferpos >= frame->header.blocksize)
300 if (offset + channels > pflac->len)
304 retpcm [offset + j] = buffer [j][pflac->bufferpos] * norm ;
305 pflac->remain -= channels ;
306 pflac->bufferpos++ ;
312 { double *retpcm = (double*) pflac->ptr ;
315 for (i = 0 ; i < len && pflac->remain > 0 ; i++)
316 { offset = pflac->pos + i * channels ;
318 if (pflac->bufferpos >= frame->header.blocksize)
321 if (offset + channels > pflac->len)
325 retpcm [offset + j] = buffer [j][pflac->bufferpos] * norm ;
326 pflac->remain -= channels ;
327 pflac->bufferpos++ ;
337 pflac->pos += i * channels ;
399 FLAC_PRIVATE* pflac = (FLAC_PRIVATE*) psf->codec_data ;
401 pflac->frame = frame ;
402 pflac->bufferpos = 0 ;
404 pflac->wbuffer = buffer ;
592 flac_write_strings (SF_PRIVATE *psf, FLAC_PRIVATE* pflac)
604 if (pflac->metadata == NULL && (pflac->metadata = FLAC__metadata_object_new (FLAC__METADATA_TYPE_VORBIS_COMMENT)) == NULL)
650 FLAC__metadata_object_vorbiscomment_append_comment (pflac->metadata, entry, /* copy */ SF_FALSE) ;
653 if (! FLAC__stream_encoder_set_metadata (pflac->fse, &pflac->metadata, 1))
663 { FLAC_PRIVATE* pflac = (FLAC_PRIVATE*) psf->codec_data ;
666 flac_write_strings (psf, pflac) ;
668 if ((err = FLAC__stream_encoder_init_stream (pflac->fse, sf_flac_enc_write_callback, sf_flac_enc_seek_callback, sf_flac_enc_tell_callback, NULL, psf)) != FLAC__STREAM_DECODER_INIT_STATUS_OK)
675 pflac->encbuffer = calloc (ENC_BUFFER_SIZE, sizeof (int32_t)) ;
692 FLAC_PRIVATE* pflac = calloc (1, sizeof (FLAC_PRIVATE)) ;
693 psf->codec_data = pflac ;
696 pflac->compression = FLAC_DEFAULT_COMPRESSION_LEVEL ;
754 { FLAC_PRIVATE* pflac ;
757 if ((pflac = (FLAC_PRIVATE*) psf->codec_data) == NULL)
760 if (pflac->metadata != NULL)
761 FLAC__metadata_object_delete (pflac->metadata) ;
764 { FLAC__stream_encoder_finish (pflac->fse) ;
765 FLAC__stream_encoder_delete (pflac->fse) ;
766 free (pflac->encbuffer) ;
770 { FLAC__stream_decoder_finish (pflac->fsd) ;
771 FLAC__stream_decoder_delete (pflac->fsd) ;
774 for (k = 0 ; k < ARRAY_LEN (pflac->rbuffer) ; k++)
775 free (pflac->rbuffer [k]) ;
777 free (pflac) ;
785 { FLAC_PRIVATE* pflac = (FLAC_PRIVATE*) psf->codec_data ;
816 if (pflac->fse)
817 FLAC__stream_encoder_delete (pflac->fse) ;
818 if ((pflac->fse = FLAC__stream_encoder_new ()) == NULL)
821 if (! FLAC__stream_encoder_set_channels (pflac->fse, psf->sf.channels))
826 if (! FLAC__stream_encoder_set_sample_rate (pflac->fse, psf->sf.samplerate))
831 if (! FLAC__stream_encoder_set_bits_per_sample (pflac->fse, bps))
836 if (! FLAC__stream_encoder_set_compression_level (pflac->fse, pflac->compression))
837 { psf_log_printf (psf, "FLAC__stream_encoder_set_compression_level (%d) return false.\n", pflac->compression) ;
846 { FLAC_PRIVATE* pflac = (FLAC_PRIVATE*) psf->codec_data ;
849 if (pflac->fsd)
850 FLAC__stream_decoder_delete (pflac->fsd) ;
851 if ((pflac->fsd = FLAC__stream_decoder_new ()) == NULL)
854 FLAC__stream_decoder_set_metadata_respond_all (pflac->fsd) ;
856 if (FLAC__stream_decoder_init_stream (pflac->fsd, sf_flac_read_callback, sf_flac_seek_callback, sf_flac_tell_callback, sf_flac_length_callback, sf_flac_eof_callback, sf_flac_write_callback, sf_flac_meta_callback, sf_flac_error_callback, psf) != FLAC__STREAM_DECODER_INIT_STATUS_OK)
859 FLAC__stream_decoder_process_until_end_of_metadata (pflac->fsd) ;
864 FLAC__stream_decoder_delete (pflac->fsd) ;
868 FLAC__stream_decoder_get_decode_position (pflac->fsd, &position) ;
877 { FLAC_PRIVATE* pflac = (FLAC_PRIVATE*) psf->codec_data ;
893 pflac->compression = psf_lrint (SF_MAX (0.0, SF_MIN (8.0, quality))) ;
895 psf_log_printf (psf, "%s : Setting SFC_SET_COMPRESSION_LEVEL to %u.\n", __func__, pflac->compression) ;
939 { FLAC_PRIVATE* pflac = (FLAC_PRIVATE*) psf->codec_data ;
942 pflac->pos = 0 ;
943 pflac->len = len ;
944 pflac->remain = len ;
946 state = FLAC__stream_decoder_get_state (pflac->fsd) ;
950 pflac->frame = NULL ;
954 if (pflac->frame != NULL && pflac->bufferpos < pflac->frame->header.blocksize)
958 while (pflac->pos < pflac->len)
959 { if (FLAC__stream_decoder_process_single (pflac->fsd) == 0)
962 pflac->frame = NULL ;
965 state = FLAC__stream_decoder_get_state (pflac->fsd) ;
969 pflac->frame = NULL ;
974 pflac->ptr = NULL ;
976 return pflac->pos ;
981 { FLAC_PRIVATE* pflac = (FLAC_PRIVATE*) psf->codec_data ;
985 pflac->pcmtype = PFLAC_PCM_SHORT ;
988 { pflac->ptr = ptr + total ;
1001 { FLAC_PRIVATE* pflac = (FLAC_PRIVATE*) psf->codec_data ;
1005 pflac->pcmtype = PFLAC_PCM_INT ;
1008 { pflac->ptr = ptr + total ;
1021 { FLAC_PRIVATE* pflac = (FLAC_PRIVATE*) psf->codec_data ;
1025 pflac->pcmtype = PFLAC_PCM_FLOAT ;
1028 { pflac->ptr = ptr + total ;
1041 { FLAC_PRIVATE* pflac = (FLAC_PRIVATE*) psf->codec_data ;
1045 pflac->pcmtype = PFLAC_PCM_DOUBLE ;
1048 { pflac->ptr = ptr + total ;
1062 { FLAC_PRIVATE* pflac = (FLAC_PRIVATE*) psf->codec_data ;
1066 int32_t* buffer = pflac->encbuffer ;
1088 if (FLAC__stream_encoder_process_interleaved (pflac->fse, buffer, writecount / psf->sf.channels))
1104 { FLAC_PRIVATE* pflac = (FLAC_PRIVATE*) psf->codec_data ;
1108 int32_t* buffer = pflac->encbuffer ;
1130 if (FLAC__stream_encoder_process_interleaved (pflac->fse, buffer, writecount / psf->sf.channels))
1146 { FLAC_PRIVATE* pflac = (FLAC_PRIVATE*) psf->codec_data ;
1150 int32_t* buffer = pflac->encbuffer ;
1172 if (FLAC__stream_encoder_process_interleaved (pflac->fse, buffer, writecount / psf->sf.channels))
1277 { FLAC_PRIVATE* pflac = (FLAC_PRIVATE*) psf->codec_data ;
1281 int32_t* buffer = pflac->encbuffer ;
1303 if (FLAC__stream_encoder_process_interleaved (pflac->fse, buffer, writecount / psf->sf.channels))
1409 { FLAC_PRIVATE* pflac = (FLAC_PRIVATE*) psf->codec_data ;
1411 if (pflac == NULL)
1419 pflac->frame = NULL ;
1422 { if (FLAC__stream_decoder_seek_absolute (pflac->fsd, offset))