Mercurial > libavcodec.hg
diff mpegaudiodec.c @ 1612:0d2b59cf9f45 libavcodec
exported mpa_decode_header for new parser API
author | bellard |
---|---|
date | Mon, 10 Nov 2003 15:21:16 +0000 |
parents | 7fbe89a76b73 |
children | b47d56b1a049 |
line wrap: on
line diff
--- a/mpegaudiodec.c Mon Nov 10 15:19:05 2003 +0000 +++ b/mpegaudiodec.c Mon Nov 10 15:21:16 2003 +0000 @@ -1207,15 +1207,10 @@ } /* useful helper to get mpeg audio stream infos. Return -1 if error in - header */ -int mp_decode_header(int *sample_rate_ptr, - int *nb_channels_ptr, - int *coded_frame_size_ptr, - int *decoded_frame_size_ptr, - uint32_t head) + header, otherwise the coded frame size in bytes */ +int mpa_decode_header(AVCodecContext *avctx, uint32_t head) { MPADecodeContext s1, *s = &s1; - int decoded_frame_size; if (check_header(head) != 0) return -1; @@ -1226,25 +1221,25 @@ switch(s->layer) { case 1: - decoded_frame_size = 384; + avctx->frame_size = 384; break; case 2: - decoded_frame_size = 1152; + avctx->frame_size = 1152; break; default: case 3: if (s->lsf) - decoded_frame_size = 576; + avctx->frame_size = 576; else - decoded_frame_size = 1152; + avctx->frame_size = 1152; break; } - *sample_rate_ptr = s->sample_rate; - *nb_channels_ptr = s->nb_channels; - *coded_frame_size_ptr = s->frame_size; - *decoded_frame_size_ptr = decoded_frame_size * 2 * s->nb_channels; - return 0; + avctx->sample_rate = s->sample_rate; + avctx->channels = s->nb_channels; + avctx->bit_rate = s->bit_rate; + avctx->sub_id = s->layer; + return s->frame_size; } /* return the number of decoded frames */