Lines Matching defs:psf
40 static int mpeg_dec_close (SF_PRIVATE *psf) ;
41 static sf_count_t mpeg_dec_seek (SF_PRIVATE *psf, int whence, sf_count_t count) ;
48 { SF_PRIVATE *psf = (SF_PRIVATE *) priv ;
49 MPEG_DEC_PRIVATE *pmp3d = (MPEG_DEC_PRIVATE *) psf->codec_data ;
54 psf_binheader_readf (psf, "b", buffer, nbytes) ;
59 return psf_fread (buffer, 1, nbytes, psf) ;
64 { SF_PRIVATE *psf = (SF_PRIVATE *) priv ;
66 return psf_fseek (psf, offset, whence) ;
70 mpeg_dec_close (SF_PRIVATE *psf)
71 { MPEG_DEC_PRIVATE *pmp3d = (MPEG_DEC_PRIVATE *) psf->codec_data ;
79 free (psf->codec_data) ;
80 psf->codec_data = NULL ;
87 mpeg_dec_decode (SF_PRIVATE *psf, float *ptr, sf_count_t len)
88 { MPEG_DEC_PRIVATE *pmp3d = (MPEG_DEC_PRIVATE *) psf->codec_data ;
98 { psf->error = SFE_MALFORMED_FILE ;
102 psf->error = SFE_INTERNAL ;
107 mpeg_dec_read_s (SF_PRIVATE *psf, short *ptr, sf_count_t len)
113 convert = (psf->add_clipping) ? psf_f2s_clip_array : psf_f2s_array ;
115 { readlen = mpeg_dec_decode (psf, ubuf.fbuf, SF_MIN (buflen, len - total)) ;
126 mpeg_dec_read_i (SF_PRIVATE *psf, int *ptr, sf_count_t len)
132 convert = (psf->add_clipping) ? psf_f2i_clip_array : psf_f2i_array ;
134 { readlen = mpeg_dec_decode (psf, ubuf.fbuf, SF_MIN (buflen, len - total)) ;
145 mpeg_dec_read_f (SF_PRIVATE *psf, float *ptr, sf_count_t len)
148 readlen = mpeg_dec_decode (psf, ptr, len) ;
152 if (psf->norm_float == SF_FALSE)
168 mpeg_dec_read_d (SF_PRIVATE *psf, double *ptr, sf_count_t len)
174 normfact = (psf->norm_double == SF_TRUE) ? 1.0 : (1.0 * 0x8000) ;
177 { readlen = mpeg_dec_decode (psf, ubuf.fbuf, SF_MIN (buflen, len - total)) ;
188 mpeg_dec_seek (SF_PRIVATE *psf, int mode, sf_count_t count)
189 { MPEG_DEC_PRIVATE *pmp3d = (MPEG_DEC_PRIVATE *) psf->codec_data ;
192 if (mode != SFM_READ || psf->file.mode != SFM_READ)
193 { psf->error = SFE_BAD_SEEK ;
239 mpeg_dec_print_frameinfo (SF_PRIVATE *psf, const struct mpg123_frameinfo *fi)
240 { psf_log_printf (psf, "MPEG-1/2 Audio\n----------------------------------------\n") ;
241 psf_log_printf (psf, " MPEG version : %s\n",
245 psf_log_printf (psf, " layer : %d\n", fi->layer) ;
246 psf_log_printf (psf, " rate : %d\n", fi->rate) ;
247 psf_log_printf (psf, " mode : %s\n",
252 psf_log_printf (psf, " mode ext : %d\n", fi->mode_ext) ;
253 psf_log_printf (psf, " framesize : %d\n", fi->framesize) ;
254 psf_log_printf (psf, " crc : %d\n", !! (fi->flags & MPG123_CRC)) ;
255 psf_log_printf (psf, " copyright flag : %d\n", !! (fi->flags & MPG123_COPYRIGHT)) ;
256 psf_log_printf (psf, " private flag : %d\n", !! (fi->flags & MPG123_PRIVATE)) ;
257 psf_log_printf (psf, " original flag : %d\n", !! (fi->flags & MPG123_ORIGINAL)) ;
258 psf_log_printf (psf, " emphasis : %d\n", fi->emphasis) ;
259 psf_log_printf (psf, " bitrate mode : ") ;
262 psf_log_printf (psf, "constant\n") ;
263 psf_log_printf (psf, " bitrate : %d kbps\n", fi->bitrate) ;
266 psf_log_printf (psf, "variable\n") ;
270 psf_log_printf (psf, "average\n") ;
271 psf_log_printf (psf, " ABR target : %d\n", fi->abr_rate) ;
275 psf_log_printf (psf, "(%d) ???\n", fi->vbr) ;
297 mpeg_decoder_read_strings_id3v1 (SF_PRIVATE *psf, mpg123_id3v1 *tags)
301 psf_log_printf (psf, "ID3v1 Tags\n") ;
304 { psf_log_printf (psf, " Title : %s\n", buf) ;
305 psf_store_string (psf, SF_STR_TITLE, buf) ;
309 { psf_log_printf (psf, " Artist : %s\n", buf) ;
310 psf_store_string (psf, SF_STR_ARTIST, buf) ;
314 { psf_log_printf (psf, " Album : %s\n", buf) ;
315 psf_store_string (psf, SF_STR_ALBUM, buf) ;
319 { psf_log_printf (psf, " Year : %s\n", buf) ;
320 psf_store_string (psf, SF_STR_DATE, buf) ;
324 { psf_log_printf (psf, " Comment : %s\n", buf) ;
325 psf_store_string (psf, SF_STR_COMMENT, buf) ;
331 psf_log_printf (psf, " Tracknumber : %s\n", buf) ;
332 psf_store_string (psf, SF_STR_TRACKNUMBER, buf) ;
336 { psf_log_printf (psf, " Genre : %s\n", genre) ;
337 psf_store_string (psf, SF_STR_GENRE, genre) ;
342 mpeg_decoder_read_strings_id3v2 (SF_PRIVATE *psf, mpg123_id3v2 *tags)
358 psf_log_printf (psf, "ID3v2 Tags\n") ;
363 psf_log_printf (psf, " %.4s : %s\n", text_frame->id, text_frame->text.p) ;
425 psf_log_printf (psf, " %.4s : (%s)[%s] %s\n", text_frame->id,
432 psf_log_printf (psf, " %.4s : (%s) %s\n", text_frame->id,
437 psf_store_string (psf, SF_STR_TITLE, title) ;
439 psf_store_string (psf, SF_STR_COPYRIGHT, copyright) ;
441 psf_store_string (psf, SF_STR_SOFTWARE, software) ;
443 psf_store_string (psf, SF_STR_ARTIST, artist) ;
445 psf_store_string (psf, SF_STR_COMMENT, comment) ;
447 psf_store_string (psf, SF_STR_DATE, date) ;
449 psf_store_string (psf, SF_STR_ALBUM, album) ;
451 psf_store_string (psf, SF_STR_LICENSE, license) ;
453 psf_store_string (psf, SF_STR_TRACKNUMBER, tracknumber) ;
455 psf_store_string (psf, SF_STR_GENRE, id3_process_v2_genre (genre)) ;
462 mpeg_decoder_read_strings (SF_PRIVATE *psf)
463 { MPEG_DEC_PRIVATE *pmp3d = (MPEG_DEC_PRIVATE *) psf->codec_data ;
471 mpeg_decoder_read_strings_id3v1 (psf, v1_tags) ;
474 mpeg_decoder_read_strings_id3v2 (psf, v2_tags) ;
478 mpeg_dec_byterate (SF_PRIVATE *psf)
479 { MPEG_DEC_PRIVATE *pmp3d = (MPEG_DEC_PRIVATE *) psf->codec_data ;
494 mpeg_decoder_init (SF_PRIVATE *psf)
499 if (! (psf->file.mode & SFM_READ))
527 psf->codec_data = pmp3d = calloc (1, sizeof (MPEG_DEC_PRIVATE)) ;
528 if (!psf->codec_data)
533 { psf_log_printf (psf, "Could not obtain a mpg123 handle: %s\n", mpg123_plain_strerror (error)) ;
537 psf->codec_close = mpeg_dec_close ;
550 ** into psf->binheader in order that we could identify the stream.
552 if (psf->is_pipe)
557 psf_binheader_readf (psf, "p", psf->dataoffset) ;
558 pmp3d->header_remaining = psf_binheader_readf (psf, NULL) - psf->dataoffset ;
568 if (psf->id3_header.len > 0 && psf->id3_header.len + psf->id3_header.offset == psf->fileoffset)
569 psf->fileoffset = psf->id3_header.offset ;
571 psf_fseek (psf, 0, SEEK_SET) ;
574 error = mpg123_open_handle (pmp3d->pmh, psf) ;
576 { psf_log_printf (psf, "mpg123 could not open the file: %s\n", mpg123_plain_strerror (error)) ;
580 if (mpeg_dec_fill_sfinfo (pmp3d->pmh, &psf->sf) != MPG123_OK)
581 { psf_log_printf (psf, "Cannot get MPEG decoder configuration: %s\n", mpg123_plain_strerror (error)) ;
587 { psf_log_printf (psf, "Cannot get MPEG frame info: %s\n", mpg123_plain_strerror (error)) ;
592 { case 1 : psf->sf.format |= SF_FORMAT_MPEG_LAYER_I ; break ;
593 case 2 : psf->sf.format |= SF_FORMAT_MPEG_LAYER_II ; break ;
594 case 3 : psf->sf.format |= SF_FORMAT_MPEG_LAYER_III ; break ;
598 mpeg_dec_print_frameinfo (psf, &fi) ;
600 psf->read_short = mpeg_dec_read_s ;
601 psf->read_int = mpeg_dec_read_i ;
602 psf->read_float = mpeg_dec_read_f ;
603 psf->read_double = mpeg_dec_read_d ;
604 psf->seek = mpeg_dec_seek ;
605 psf->byterate = mpeg_dec_byterate ;
607 mpeg_decoder_read_strings (psf) ;
613 mpeg_decoder_get_bitrate_mode (SF_PRIVATE *psf)
614 { MPEG_DEC_PRIVATE *pmp3d = (MPEG_DEC_PRIVATE *) psf->codec_data ;
627 psf_log_printf (psf, "Cannot determine MPEG bitrate mode.\n") ;
633 int mpeg_decoder_init (SF_PRIVATE *psf)
634 { psf_log_printf (psf, "This version of libsndfile was compiled without MPEG decode support.\n") ;