]> rtime.felk.cvut.cz Git - frescor/ffmpeg.git/commitdiff
exported mpa_decode_header for new parser API
authorbellard <bellard@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Mon, 10 Nov 2003 15:21:16 +0000 (15:21 +0000)
committerbellard <bellard@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Mon, 10 Nov 2003 15:21:16 +0000 (15:21 +0000)
git-svn-id: file:///var/local/repositories/ffmpeg/trunk@2491 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b

libavcodec/mpegaudio.h
libavcodec/mpegaudiodec.c

index 7aba13200b6a99d9e8ef5ab49633940a404305b6..e50e8bd6f6cd519ca434a92f574f79c5e3867711 100644 (file)
@@ -19,6 +19,7 @@
 #define MPA_MONO    3
 
 int l2_select_table(int bitrate, int nb_channels, int freq, int lsf);
+int mpa_decode_header(AVCodecContext *avctx, uint32_t head);
 
 extern const uint16_t mpa_bitrate_tab[2][3][15];
 extern const uint16_t mpa_freq_tab[3];
index 51c8ef1305afefb92ba5ad9ab578f45539481af5..e94d91900d8b70aaa4aba6debb378cd6f7a1ff8a 100644 (file)
@@ -1207,15 +1207,10 @@ static int decode_header(MPADecodeContext *s, uint32_t header)
 }
 
 /* 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 @@ int mp_decode_header(int *sample_rate_ptr,
 
     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 */