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

1 次查看(过去 30 天)
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.

采纳的回答

Walter Roberson
Walter Roberson 2013-10-14
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.

更多回答(1 个)

Jay
Jay 2013-10-24
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 个评论
Walter Roberson
Walter Roberson 2013-10-25
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.

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by