mlt_frame_get_image( this, &input, format, &iwidth, &iheight, 0 );
+#if 0
// Determine maximum size within the aspect ratio:
- double aspect_ratio = mlt_frame_get_aspect_ratio( this );
- float display_aspect_ratio = 4.0 / 3.0; // (float)iwidth / (float)iheight;
- if ( *width < *height * aspect_ratio )
- oheight = *width / aspect_ratio;
+ double i_aspect_ratio = mlt_frame_get_aspect_ratio( this );
+ // TODO: this needs to be provided q
+ #define o_aspect_ratio ( double )( 4.0 / 3.0 )
+
+ if ( ( owidth * i_aspect_ratio * o_aspect_ratio ) > owidth )
+ oheight *= o_aspect_ratio / i_aspect_ratio;
else
- owidth = *height * aspect_ratio;
- if ( ( float )owidth * display_aspect_ratio < *width )
- owidth = ( int )( ( float )owidth * display_aspect_ratio );
- else if ( ( float )oheight * display_aspect_ratio < *height )
- oheight = ( int )( ( float )oheight * display_aspect_ratio );
+ owidth *= i_aspect_ratio * o_aspect_ratio;
+ fprintf( stderr, "rescale: from %dx%d (%f) to %dx%d\n", iwidth, iheight, i_aspect_ratio, owidth, oheight );
+#endif
+
// If width and height are correct, don't do anything
- if ( input != NULL && ( iwidth != owidth || iheight != oheight ) )
+ if ( strcmp( interps, "none" ) && input != NULL && ( iwidth != owidth || iheight != oheight ) )
{
if ( *format == mlt_image_yuv422 )
{