+ int exif_orientation = mlt_properties_get_int( producer_props, "meta.attr.orientation" );
+
+ if ( exif_orientation > 1 )
+ {
+ // Rotate image according to exif data
+ QImage processed;
+ QMatrix matrix;
+
+ switch ( exif_orientation ) {
+ case 2:
+ matrix.scale( -1, 1 );
+ break;
+ case 3:
+ matrix.rotate( 180 );
+ break;
+ case 4:
+ matrix.scale( 1, -1 );
+ break;
+ case 5:
+ matrix.rotate( 90 );
+ matrix.scale( -1, 1 );
+ break;
+ case 6:
+ matrix.rotate( 270 );
+ break;
+ case 7:
+ matrix.rotate( 270 );
+ matrix.scale( -1, 1 );
+ break;
+ case 8:
+ matrix.rotate( 90 );
+ break;
+ }
+ processed = qimage->transformed( matrix );
+ delete qimage;
+ qimage = new QImage( processed );
+ }
+