Why does the list of "Supported Formats" in Mac OS X differ than Windows?

1 view (last 30 days)
I am using a USB camera and the Image Acquisition toolbox to enable video acquisition.
Using the function of imaqhwinfo(), these are what given in two different Operating Systems :
Windows 7 :
DefaultFormat: 'RGB24_640x480'
DeviceFileSupported: 0
DeviceName: 'Logitech HD Pro Webcam C910'
DeviceID: 1
VideoInputConstructor: 'videoinput('winvideo', 1)'
VideoDeviceConstructor: 'imaq.VideoDevice('winvideo', 1)'
SupportedFormats: {1x56 cell}
Mac OS X 10.8.5:
DefaultFormat: 'ARGB32_2592x1944'
DeviceFileSupported: 0
DeviceName: 'Logitech Camera'
DeviceID: 1
VideoInputConstructor: 'videoinput('macvideo', 1)'
VideoDeviceConstructor: 'imaq.VideoDevice('macvideo', 1)'
SupportedFormats: {'ARGB32_2592x1944'}
Why are the number of SupportedFormats different in both OS? Is this due up to the webcam driver installed in each OS? I am using Logitech HD Pro Webcam C910.
Other than the SupportedFormats, other properties seemed to be different as well.
Many thanks in advance.

Accepted Answer

Walter Roberson
Walter Roberson on 14 Oct 2013
Different available decoders, different drivers (different interfaces between software and OS, OS and hardware)
As a general statement: MS Windows makes it harder to write generic software drivers that can perform at acceptable rates, because it imposes too many internal layers for good software control. So manufacturers end up having to write trusted low-level drivers that get privileged access to hardware, instead of using APIs. But the market for MS Windows is still huge, so they do those... and then often do not have the resources to do more than a couple of formats for OS-X or Linux even though those use less-hindered interfaces.

More Answers (1)

Jay
Jay on 24 Oct 2013
Is any information available on how to bypass this problem?
I need to use a smaller video format, however the only format available is 1920x1080.
DefaultFormat: 'ARGB32_1920x1080'
DeviceFileSupported: 0
DeviceName: 'HD Webcam C525'
DeviceID: 1
VideoInputConstructor: 'videoinput('macvideo', 1)'
VideoDeviceConstructor: 'imaq.VideoDevice('macvideo', 1)'
SupportedFormats: {'ARGB32_1920x1080'}
  1 Comment
Walter Roberson
Walter Roberson on 25 Oct 2013
If you do not encounter bandwidth problems, then resize the image after acquiring it.
If you need to reduce the size because of bandwidth problems, then I do not know if there is a solution short of writing your own driver.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!