|
|
|
@@ -64,6 +64,7 @@ typedef struct Mpeg1Context { |
|
|
|
int slice_count; |
|
|
|
AVRational save_aspect; |
|
|
|
int save_width, save_height, save_progressive_seq; |
|
|
|
int rc_buffer_size; |
|
|
|
AVRational frame_rate_ext; /* MPEG-2 specific framerate modificator */ |
|
|
|
int sync; /* Did we reach a sync point like a GOP/SEQ/KEYFrame? */ |
|
|
|
int tmpgexs; |
|
|
|
@@ -1417,7 +1418,7 @@ static void mpeg_decode_sequence_extension(Mpeg1Context *s1) |
|
|
|
bit_rate_ext = get_bits(&s->gb, 12); /* XXX: handle it */ |
|
|
|
s->bit_rate += (bit_rate_ext << 18) * 400LL; |
|
|
|
check_marker(s->avctx, &s->gb, "after bit rate extension"); |
|
|
|
s->avctx->rc_buffer_size += get_bits(&s->gb, 8) * 1024 * 16 << 10; |
|
|
|
s1->rc_buffer_size += get_bits(&s->gb, 8) * 1024 * 16 << 10; |
|
|
|
|
|
|
|
s->low_delay = get_bits1(&s->gb); |
|
|
|
if (s->avctx->flags & AV_CODEC_FLAG_LOW_DELAY) |
|
|
|
@@ -1433,7 +1434,7 @@ static void mpeg_decode_sequence_extension(Mpeg1Context *s1) |
|
|
|
av_log(s->avctx, AV_LOG_DEBUG, |
|
|
|
"profile: %d, level: %d ps: %d cf:%d vbv buffer: %d, bitrate:%"PRId64"\n", |
|
|
|
s->avctx->profile, s->avctx->level, s->progressive_sequence, s->chroma_format, |
|
|
|
s->avctx->rc_buffer_size, s->bit_rate); |
|
|
|
s1->rc_buffer_size, s->bit_rate); |
|
|
|
} |
|
|
|
|
|
|
|
static void mpeg_decode_sequence_display_extension(Mpeg1Context *s1) |
|
|
|
@@ -2118,7 +2119,7 @@ static int mpeg1_decode_sequence(AVCodecContext *avctx, |
|
|
|
return AVERROR_INVALIDDATA; |
|
|
|
} |
|
|
|
|
|
|
|
s->avctx->rc_buffer_size = get_bits(&s->gb, 10) * 1024 * 16; |
|
|
|
s1->rc_buffer_size = get_bits(&s->gb, 10) * 1024 * 16; |
|
|
|
skip_bits(&s->gb, 1); |
|
|
|
|
|
|
|
/* get matrix */ |
|
|
|
@@ -2167,7 +2168,7 @@ static int mpeg1_decode_sequence(AVCodecContext *avctx, |
|
|
|
|
|
|
|
if (s->avctx->debug & FF_DEBUG_PICT_INFO) |
|
|
|
av_log(s->avctx, AV_LOG_DEBUG, "vbv buffer: %d, bitrate:%"PRId64", aspect_ratio_info: %d \n", |
|
|
|
s->avctx->rc_buffer_size, s->bit_rate, s->aspect_ratio_info); |
|
|
|
s1->rc_buffer_size, s->bit_rate, s->aspect_ratio_info); |
|
|
|
|
|
|
|
return 0; |
|
|
|
} |
|
|
|
|