[FFmpeg-cvslog] lavf/movenc: Put correct display aspect ratio in ARES atom.

Carl Eugen Hoyos git at videolan.org
Thu Sep 29 16:57:12 EEST 2016


ffmpeg | branch: master | Carl Eugen Hoyos <cehoyos at ag.or.at> | Thu Sep 29 15:41:17 2016 +0200| [e84eeca5779b894ea1739296e17c4361d4638de7] | committer: Carl Eugen Hoyos

lavf/movenc: Put correct display aspect ratio in ARES atom.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e84eeca5779b894ea1739296e17c4361d4638de7
---

 libavformat/movenc.c  | 6 +++++-
 libavformat/version.h | 2 +-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index 7de4580..8b4aa5f 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -1071,6 +1071,7 @@ static int mov_write_avid_tag(AVIOContext *pb, MOVTrack *track)
     int i;
     int interlaced;
     int cid;
+    int display_width = track->par->width;
 
     if (track->vos_data && track->vos_len > 0x29) {
         if (ff_dnxhd_parse_header_prefix(track->vos_data) != 0) {
@@ -1122,7 +1123,10 @@ static int mov_write_avid_tag(AVIOContext *pb, MOVTrack *track)
     ffio_wfourcc(pb, "ARES");
     ffio_wfourcc(pb, "0001");
     avio_wb32(pb, cid); /* dnxhd cid, some id ? */
-    avio_wb32(pb, track->par->width);
+    if (   track->par->sample_aspect_ratio.num > 0
+        && track->par->sample_aspect_ratio.den > 0)
+        display_width = display_width * track->par->sample_aspect_ratio.num / track->par->sample_aspect_ratio.den;
+    avio_wb32(pb, display_width);
     /* values below are based on samples created with quicktime and avid codecs */
     if (interlaced) {
         avio_wb32(pb, track->par->height / 2);
diff --git a/libavformat/version.h b/libavformat/version.h
index 848403e..5e7448a 100644
--- a/libavformat/version.h
+++ b/libavformat/version.h
@@ -33,7 +33,7 @@
 // Also please add any ticket numbers that you believe might be affected here
 #define LIBAVFORMAT_VERSION_MAJOR  57
 #define LIBAVFORMAT_VERSION_MINOR  51
-#define LIBAVFORMAT_VERSION_MICRO 101
+#define LIBAVFORMAT_VERSION_MICRO 102
 
 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
                                                LIBAVFORMAT_VERSION_MINOR, \



More information about the ffmpeg-cvslog mailing list