Browse Source

Added clockwise rotate values to metadata for 90 and 270 degrees

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n0.10
Piotr Tomasik Michael Niedermayer 13 years ago
parent
commit
62d2a75b02
1 changed files with 11 additions and 0 deletions
  1. +11
    -0
      libavformat/mov.c

+ 11
- 0
libavformat/mov.c View File

@@ -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


Loading…
Cancel
Save