Browse Source

avformat/4xm: Change fps to AVRational

This fixes the video timebase as well

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.7
Michael Niedermayer 10 years ago
parent
commit
3bf57acb9c
2 changed files with 5 additions and 5 deletions
  1. +4
    -4
      libavformat/4xm.c
  2. +1
    -1
      tests/ref/fate/4xm-2

+ 4
- 4
libavformat/4xm.c View File

@@ -77,7 +77,7 @@ typedef struct FourxmDemuxContext {
AudioTrack *tracks; AudioTrack *tracks;


int64_t video_pts; int64_t video_pts;
float fps;
AVRational fps;
} FourxmDemuxContext; } FourxmDemuxContext;


static int fourxm_probe(AVProbeData *p) static int fourxm_probe(AVProbeData *p)
@@ -104,7 +104,7 @@ static int parse_vtrk(AVFormatContext *s,
if (!st) if (!st)
return AVERROR(ENOMEM); return AVERROR(ENOMEM);


avpriv_set_pts_info(st, 60, 1, fourxm->fps);
avpriv_set_pts_info(st, 60, fourxm->fps.den, fourxm->fps.num);


fourxm->video_stream_index = st->index; fourxm->video_stream_index = st->index;


@@ -206,7 +206,7 @@ static int fourxm_read_header(AVFormatContext *s)


fourxm->track_count = 0; fourxm->track_count = 0;
fourxm->tracks = NULL; fourxm->tracks = NULL;
fourxm->fps = 1.0;
fourxm->fps = (AVRational){1,1};


/* skip the first 3 32-bit numbers */ /* skip the first 3 32-bit numbers */
avio_skip(pb, 12); avio_skip(pb, 12);
@@ -241,7 +241,7 @@ static int fourxm_read_header(AVFormatContext *s)
ret = AVERROR_INVALIDDATA; ret = AVERROR_INVALIDDATA;
goto fail; goto fail;
} }
fourxm->fps = av_int2float(AV_RL32(&header[i + 12]));
fourxm->fps = av_d2q(av_int2float(AV_RL32(&header[i + 12])), 10000);
} else if (fourcc_tag == vtrk_TAG) { } else if (fourcc_tag == vtrk_TAG) {
if ((ret = parse_vtrk(s, fourxm, header + i, size, if ((ret = parse_vtrk(s, fourxm, header + i, size,
header_size - i)) < 0) header_size - i)) < 0)


+ 1
- 1
tests/ref/fate/4xm-2 View File

@@ -1,4 +1,4 @@
#tb 0: 1/6
#tb 0: 4/25
0, 0, 0, 1, 80640, 0x00000000 0, 0, 0, 1, 80640, 0x00000000
0, 1, 1, 1, 80640, 0x3a942680 0, 1, 1, 1, 80640, 0x3a942680
0, 2, 2, 1, 80640, 0x3a942680 0, 2, 2, 1, 80640, 0x3a942680


Loading…
Cancel
Save