@@ -4267,8 +4267,7 @@ static void mov_write_uuidprof_tag(AVIOContext *pb, AVFormatContext *s)
AVCodecParameters *video_par = s->streams[0]->codecpar;
AVCodecParameters *audio_par = s->streams[1]->codecpar;
int audio_rate = audio_par->sample_rate;
- // TODO: should be avg_frame_rate
- int frame_rate = ((video_st->time_base.den) * (0x10000)) / (video_st->time_base.num);
+ int64_t frame_rate = (video_st->avg_frame_rate.num * 0x10000LL) / video_st->avg_frame_rate.den;
int audio_kbitrate = audio_par->bit_rate / 1000;
int video_kbitrate = FFMIN(video_par->bit_rate / 1000, 800 - audio_kbitrate);
@@ -1,4 +1,4 @@
-c4b2503a069fecd2f82704decf285160 *tests/data/fate/copy-psp.psp
+6889223644fc560069c8591984175a62 *tests/data/fate/copy-psp.psp
2041379 tests/data/fate/copy-psp.psp
#extradata 0: 51, 0xaf6d1012
#extradata 1: 2, 0x00b200a1
Using the stream timebase simply overflows Fix integer overflow in psp framerate computation Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> --- libavformat/movenc.c | 3 +-- tests/ref/fate/copy-psp | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-)