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.