[FFmpeg-devel] [PATCH 05/10] asfdec: move bitrate to ASFContext

Anton Khirnov anton
Tue Feb 8 21:46:50 CET 2011


This will be useful for splitting asf_read_header()
---
 libavformat/asfdec.c |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/libavformat/asfdec.c b/libavformat/asfdec.c
index 87faed7..f285d61 100644
--- a/libavformat/asfdec.c
+++ b/libavformat/asfdec.c
@@ -36,6 +36,7 @@ typedef struct {
     int asfid2avid[128];                 ///< conversion table from asf ID 2 AVStream ID
     ASFStream streams[128];              ///< it's max number and it's not that big
     AVRational dar[128];
+    uint32_t bitrate[128];
     char stream_languages[128][6];       ///< max number of streams, language for each (RFC1766, e.g. en-US)
     /* non streamed additonnal info */
     /* packet filling */
@@ -192,9 +193,6 @@ static int asf_read_header(AVFormatContext *s, AVFormatParameters *ap)
     ASFStream *asf_st;
     int size, i;
     int64_t gsize;
-    uint32_t bitrate[128];
-
-    memset(bitrate, 0, sizeof(bitrate));
 
     ff_get_guid(pb, &g);
     if (ff_guidcmp(&g, &ff_asf_header))
@@ -530,7 +528,7 @@ static int asf_read_header(AVFormatContext *s, AVFormatParameters *ap)
             payload_ext_ct = get_le16(pb); //payload-extension-system-count
 
             if (stream_num < 128)
-                bitrate[stream_num] = leak_rate;
+                asf->bitrate[stream_num] = leak_rate;
 
             for (i=0; i<stream_ct; i++){
                 get_le16(pb);
@@ -613,7 +611,7 @@ static int asf_read_header(AVFormatContext *s, AVFormatParameters *ap)
         if(stream_num>=0){
             AVStream *st = s->streams[stream_num];
             if (!st->codec->bit_rate)
-                st->codec->bit_rate = bitrate[i];
+                st->codec->bit_rate = asf->bitrate[i];
             if (asf->dar[i].num > 0 && asf->dar[i].den > 0){
                 av_reduce(&st->sample_aspect_ratio.num,
                           &st->sample_aspect_ratio.den,
-- 
1.7.2.3




More information about the ffmpeg-devel mailing list