[FFmpeg-cvslog] mov: Prioritize aspect ratio values found in pasp atom
Vittorio Giovara
git at videolan.org
Thu Apr 15 18:40:10 EEST 2021
ffmpeg | branch: master | Vittorio Giovara <vittorio.giovara at gmail.com> | Tue Apr 6 18:15:49 2021 +0200| [918273aa3eb721323ec2de37a39ad8ce9f4dcfb7] | committer: Vittorio Giovara
mov: Prioritize aspect ratio values found in pasp atom
>From the ISO/IEC specification for MP4:
The pixel aspect ratio and clean aperture of the video may be specified
using the ‘pasp’ and ‘clap’ sample entry boxes, respectively. These are
both optional; if present, they over-ride the declarations (if any) in
structures specific to the video codec, which structures should be
examined if these boxes are absent. For maximum compatibility, these
boxes should follow, not precede, any boxes defined in or required by
derived specifications.
Fixes trac/#7277.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=918273aa3eb721323ec2de37a39ad8ce9f4dcfb7
---
libavformat/mov.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/libavformat/mov.c b/libavformat/mov.c
index 43c55ef4a4..9ca1ac89a8 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -941,6 +941,7 @@ static int mov_read_wfex(MOVContext *c, AVIOContext *pb, MOVAtom atom)
return ret;
}
+/* This atom overrides any previously set aspect ratio */
static int mov_read_pasp(MOVContext *c, AVIOContext *pb, MOVAtom atom)
{
const int num = avio_rb32(pb);
@@ -951,13 +952,7 @@ static int mov_read_pasp(MOVContext *c, AVIOContext *pb, MOVAtom atom)
return 0;
st = c->fc->streams[c->fc->nb_streams-1];
- if ((st->sample_aspect_ratio.den != 1 || st->sample_aspect_ratio.num) && // default
- (den != st->sample_aspect_ratio.den || num != st->sample_aspect_ratio.num)) {
- av_log(c->fc, AV_LOG_WARNING,
- "sample aspect ratio already set to %d:%d, ignoring 'pasp' atom (%d:%d)\n",
- st->sample_aspect_ratio.num, st->sample_aspect_ratio.den,
- num, den);
- } else if (den != 0) {
+ if (den != 0) {
av_reduce(&st->sample_aspect_ratio.num, &st->sample_aspect_ratio.den,
num, den, 32767);
}
More information about the ffmpeg-cvslog
mailing list