[FFmpeg-cvslog] Added clockwise rotate values to metadata for 90 and 270 degrees

Piotr Tomasik git at videolan.org
Tue Jan 24 17:16:42 CET 2012


ffmpeg | branch: master | Piotr Tomasik <piotr at tomasik.co> | Tue Jan 24 02:16:41 2012 -0800| [62d2a75b024bf72e6f3648e33c5bb5baf9018358] | committer: Michael Niedermayer

Added clockwise rotate values to metadata for 90 and 270 degrees

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 libavformat/mov.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 06b2f87..133dd89 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -2156,10 +2156,21 @@ static int mov_read_tkhd(MOVContext *c, AVIOContext *pb, MOVAtom atom)
     sc->width = width >> 16;
     sc->height = height >> 16;
 
+    //Assign clockwise rotate values based on transform matrix so that
+    //we can compensate for iPhone orientation during capture.
+
+    if (display_matrix[1][0] == -65536 && display_matrix[0][1] == 65536) {
+         av_dict_set(&st->metadata, "rotate", "90", 0);
+    }
+
     if (display_matrix[0][0] == -65536 && display_matrix[1][1] == -65536) {
          av_dict_set(&st->metadata, "rotate", "180", 0);
     }
 
+    if (display_matrix[1][0] == 65536 && display_matrix[0][1] == -65536) {
+         av_dict_set(&st->metadata, "rotate", "270", 0);
+    }
+
     // transform the display width/height according to the matrix
     // skip this if the display matrix is the default identity matrix
     // or if it is rotating the picture, ex iPhone 3GS



More information about the ffmpeg-cvslog mailing list