diff --git a/libavformat/mov.c b/libavformat/mov.c index 09f2097a5a..1f57dab89a 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -2949,7 +2949,7 @@ static int mov_read_tkhd(MOVContext *c, AVIOContext *pb, MOVAtom atom) for (i = 0; i < 3; i++) for (j = 0; j < 3; j++) - sc->display_matrix[i * 3 + j] = display_matrix[j][i]; + sc->display_matrix[i * 3 + j] = display_matrix[i][j]; rotate = av_display_rotation_get(sc->display_matrix); if (!isnan(rotate)) { diff --git a/libavutil/display.c b/libavutil/display.c index 53e8aa255f..a0076e067b 100644 --- a/libavutil/display.c +++ b/libavutil/display.c @@ -44,12 +44,12 @@ double av_display_rotation_get(const int32_t matrix[9]) rotation = atan2(CONV_FP(matrix[1]) / scale[1], CONV_FP(matrix[0]) / scale[0]) * 180 / M_PI; - return rotation; + return -rotation; } void av_display_rotation_set(int32_t matrix[9], double angle) { - double radians = angle * M_PI / 180.0f; + double radians = -angle * M_PI / 180.0f; double c = cos(radians); double s = sin(radians); diff --git a/libavutil/display.h b/libavutil/display.h index 2cb930dde1..c0cfee326d 100644 --- a/libavutil/display.h +++ b/libavutil/display.h @@ -55,9 +55,9 @@ * Extract the rotation component of the transformation matrix. * * @param matrix the transformation matrix - * @return the angle (in degrees) by which the transformation rotates the frame. - * The angle will be in range [-180.0, 180.0], or NaN if the matrix is - * singular. + * @return the angle (in degrees) by which the transformation rotates the frame + * counterclockwise. The angle will be in range [-180.0, 180.0], + * or NaN if the matrix is singular. * * @note floating point numbers are inherently inexact, so callers are * recommended to round the return value to nearest integer before use. @@ -65,8 +65,8 @@ double av_display_rotation_get(const int32_t matrix[9]); /** - * Initialize a transformation matrix describing a pure rotation by the - * specified angle (in degrees). + * Initialize a transformation matrix describing a pure counterclockwise + * rotation by the specified angle (in degrees). * * @param matrix an allocated transformation matrix (will be fully overwritten * by this function) diff --git a/libavutil/version.h b/libavutil/version.h index 5d433082b8..897384aecf 100644 --- a/libavutil/version.h +++ b/libavutil/version.h @@ -57,7 +57,7 @@ #define LIBAVUTIL_VERSION_MAJOR 54 #define LIBAVUTIL_VERSION_MINOR 20 -#define LIBAVUTIL_VERSION_MICRO 100 +#define LIBAVUTIL_VERSION_MICRO 101 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ LIBAVUTIL_VERSION_MINOR, \