Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/LAVFilters.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKacper Michajłow <kasper93@gmail.com>2014-11-11 15:49:02 +0300
committerHendrik Leppkes <h.leppkes@gmail.com>2014-11-28 16:51:45 +0300
commit566c4e060180249b5ee362763d71d8c933d3851b (patch)
treecb83ec6dbc85569674fc76e85fb4b5a11b669e44 /demuxer
parentda570a4d86d0e608ca62611ac783191ca053b232 (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.cpp2
-rw-r--r--demuxer/Demuxers/LAVFVideoHelper.cpp4
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);
}