summaryrefslogtreecommitdiff
path: root/libavcodec/mpeg12dec.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2022-01-25 17:39:19 +0100
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2022-01-29 19:30:24 +0100
commitaeb83322aa26621b940c32e76d8601b4d5378a09 (patch)
tree4fab50b10ebf93f5356f1feaa4cd6d7ac5886138 /libavcodec/mpeg12dec.c
parente17ceeba3cfec8015846a4866cb84d2b51b82667 (diff)
avcodec/mpegvideo: Move frame_rate_index to (Mpeg1|MPEG12Enc)Context
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavcodec/mpeg12dec.c')
-rw-r--r--libavcodec/mpeg12dec.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c
index 0c5eddb7f1..4a7bd6d466 100644
--- a/libavcodec/mpeg12dec.c
+++ b/libavcodec/mpeg12dec.c
@@ -70,6 +70,7 @@ typedef struct Mpeg1Context {
int save_width, save_height, save_progressive_seq;
int rc_buffer_size;
AVRational frame_rate_ext; /* MPEG-2 specific framerate modificator */
+ unsigned frame_rate_index;
int sync; /* Did we reach a sync point like a GOP/SEQ/KEYFrame? */
int closed_gop;
int tmpgexs;
@@ -1297,7 +1298,7 @@ static int mpeg_decode_postinit(AVCodecContext *avctx)
if (avctx->codec_id == AV_CODEC_ID_MPEG1VIDEO) {
// MPEG-1 fps
- avctx->framerate = ff_mpeg12_frame_rate_tab[s->frame_rate_index];
+ avctx->framerate = ff_mpeg12_frame_rate_tab[s1->frame_rate_index];
avctx->ticks_per_frame = 1;
avctx->chroma_sample_location = AVCHROMA_LOC_CENTER;
@@ -1305,8 +1306,8 @@ static int mpeg_decode_postinit(AVCodecContext *avctx)
// MPEG-2 fps
av_reduce(&s->avctx->framerate.num,
&s->avctx->framerate.den,
- ff_mpeg12_frame_rate_tab[s->frame_rate_index].num * s1->frame_rate_ext.num,
- ff_mpeg12_frame_rate_tab[s->frame_rate_index].den * s1->frame_rate_ext.den,
+ ff_mpeg12_frame_rate_tab[s1->frame_rate_index].num * s1->frame_rate_ext.num,
+ ff_mpeg12_frame_rate_tab[s1->frame_rate_index].den * s1->frame_rate_ext.den,
1 << 30);
avctx->ticks_per_frame = 2;
@@ -2110,11 +2111,11 @@ static int mpeg1_decode_sequence(AVCodecContext *avctx,
if (avctx->err_recognition & (AV_EF_BITSTREAM | AV_EF_COMPLIANT))
return AVERROR_INVALIDDATA;
}
- s->frame_rate_index = get_bits(&s->gb, 4);
- if (s->frame_rate_index == 0 || s->frame_rate_index > 13) {
+ s1->frame_rate_index = get_bits(&s->gb, 4);
+ if (s1->frame_rate_index == 0 || s1->frame_rate_index > 13) {
av_log(avctx, AV_LOG_WARNING,
- "frame_rate_index %d is invalid\n", s->frame_rate_index);
- s->frame_rate_index = 1;
+ "frame_rate_index %d is invalid\n", s1->frame_rate_index);
+ s1->frame_rate_index = 1;
}
s->bit_rate = get_bits(&s->gb, 18) * 400LL;
if (check_marker(s->avctx, &s->gb, "in sequence header") == 0) {