avformat/movenc: Switch mov_write_uuidprof_tag() to avg_frame_rate

Using the stream timebase simply overflows
Fix integer overflow in psp framerate computation

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2016-10-09 02:42:57 +02:00
parent 987690799d
commit 21bffa93a6
2 changed files with 2 additions and 3 deletions

View File

@ -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);

View File

@ -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