AVio HD performs cropping instead of scaling for resolutions other than 1920x1080



I am using AVio HD to capture video signal having resolution 720x576 and scale it to resolution 900x720 (the same 5:4 aspect ratio).
To do this I have defined a 900x720 User Mode (using the AVio Config tool) and I preserve the aspect ratio.
With the help of Microsoft Media Foundation API I am querying the AVio HD (which presents itself as a regular UVC device) for the list
of all available output resolutions (to be precise - list of all available IMFMediaType formats) and select for capturing the one having
the 900x720 resolution. If I understand it right the video frames produced by this setup should be evenly scaled input frames (no cropping
and no black bars added above, below or to the sides of the input frames). But what is produced are frames which are result of cropping the
left-top corner out of input frames scaled to 1920x1080 resolution.
Namely, the 720x576 input frames are scaled to 1920x1080 (adding black bars to the left and to the right, as the aspect ratio is different),
and then the 900x720 rectangle is cropped out of the 1920x1080 image’s left-top corner.
Should I use a different (other than Media Foundation) MS Windows API?
I am using MS Windows 10 with Visual Studio as a programming environment.
The problem can be easily demonstrated using Microsoft’s video capture sample:


Any help would be greatly appreciated.


This is very strange behaviour! Can you make sure in the config tool that the latest firmware version, 4.0.0, is being run? If not I would recommend updating.

Can you also test in VLC media player to see if this is having similar cropping results?


The problem was in my code, copied from Microsoft video capture sample - the right resolution was detected in the code, but the setting of the appropriate mode using the windows media API was missing, such that the capture mode used was the default one, having 1920x1080 resolution.