diff options
author | Kacper Michajłow <kasper93@gmail.com> | 2014-11-11 15:49:02 +0300 |
---|---|---|
committer | Hendrik Leppkes <h.leppkes@gmail.com> | 2014-11-28 16:51:45 +0300 |
commit | 566c4e060180249b5ee362763d71d8c933d3851b (patch) | |
tree | cb83ec6dbc85569674fc76e85fb4b5a11b669e44 /demuxer | |
parent | da570a4d86d0e608ca62611ac783191ca053b232 (diff) |
Do not round aspect ratio when one of its values exceed 255.
- Use the same limit everywhere for consistency.
- Add one missing cast to avoid possible overflow.
Diffstat (limited to 'demuxer')
-rw-r--r-- | demuxer/Demuxers/LAVFDemuxer.cpp | 2 | ||||
-rw-r--r-- | demuxer/Demuxers/LAVFVideoHelper.cpp | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/demuxer/Demuxers/LAVFDemuxer.cpp b/demuxer/Demuxers/LAVFDemuxer.cpp index 980681b4..d59c7841 100644 --- a/demuxer/Demuxers/LAVFDemuxer.cpp +++ b/demuxer/Demuxers/LAVFDemuxer.cpp @@ -950,7 +950,7 @@ STDMETHODIMP CLAVFDemuxer::CreatePacketMediaType(Packet *pPacket, enum AVCodecID } if (aspect_num && aspect_den) { int num = vih2->bmiHeader.biWidth, den = vih2->bmiHeader.biHeight; - av_reduce(&num, &den, (int64_t)aspect_num * num, (int64_t)aspect_den * den, 255); + av_reduce(&num, &den, (int64_t)aspect_num * num, (int64_t)aspect_den * den, INT_MAX); vih2->dwPictAspectRatioX = num; vih2->dwPictAspectRatioY = den; } diff --git a/demuxer/Demuxers/LAVFVideoHelper.cpp b/demuxer/Demuxers/LAVFVideoHelper.cpp index 380733ed..ac494a16 100644 --- a/demuxer/Demuxers/LAVFVideoHelper.cpp +++ b/demuxer/Demuxers/LAVFVideoHelper.cpp @@ -270,9 +270,9 @@ VIDEOINFOHEADER2 *CLAVFVideoHelper::CreateVIH2(const AVStream* avstream, ULONG * AVRational rc = avstream->codec->sample_aspect_ratio; int num = vih->bmiHeader.biWidth, den = vih->bmiHeader.biHeight; if (r.den > 0 && r.num > 0) { - av_reduce(&num, &den, (int64_t)r.num * num, (int64_t)r.den * den, 255); + av_reduce(&num, &den, (int64_t)r.num * num, (int64_t)r.den * den, INT_MAX); } else if (rc.den > 0 && rc.num > 0) { - av_reduce(&num, &den, (int64_t)rc.num * num, (int64_t)rc.den * den, 255); + av_reduce(&num, &den, (int64_t)rc.num * num, (int64_t)rc.den * den, INT_MAX); } else { av_reduce(&num, &den, num, den, num); } |