[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