Mercurial > libavformat.hg
changeset 5068:5657f855d5d0 libavformat
only set par if it does not indicates a rotation, ex iphone 3GS
author | bcoudurier |
---|---|
date | Thu, 25 Jun 2009 00:17:47 +0000 |
parents | 499c21a8e0c2 |
children | 9fd4808c3916 |
files | mov.c |
diffstat | 1 files changed, 7 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/mov.c Wed Jun 24 23:04:05 2009 +0000 +++ b/mov.c Thu Jun 25 00:17:47 2009 +0000 @@ -1671,13 +1671,16 @@ sc->width = width >> 16; sc->height = height >> 16; - //transform the display width/height according to the matrix + // 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 // to keep the same scale, use [width height 1<<16] if (width && height && - (display_matrix[0][0] != 65536 || display_matrix[0][1] || - display_matrix[1][0] || display_matrix[1][1] != 65536 || - display_matrix[2][0] || display_matrix[2][1])) { + ((display_matrix[0][0] != 65536 || + display_matrix[1][1] != 65536) && + !display_matrix[0][1] && + !display_matrix[1][0] && + !display_matrix[2][0] && !display_matrix[2][1])) { for (i = 0; i < 2; i++) disp_transform[i] = (int64_t) width * display_matrix[0][i] +