[haiku-commits] r41070 - haiku/trunk/src/add-ons/media/media-add-ons/usb_webcam/addons/uvc

  • From: korli@xxxxxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 21 Mar 2011 20:32:59 +0100 (CET)

Author: korli
Date: 2011-03-21 20:32:58 +0100 (Mon, 21 Mar 2011)
New Revision: 41070
Changeset: https://dev.haiku-os.org/changeset/41070

Modified:
   haiku/trunk/src/add-ons/media/media-add-ons/usb_webcam/addons/uvc/USB_video.h
   
haiku/trunk/src/add-ons/media/media-add-ons/usb_webcam/addons/uvc/UVCCamDevice.cpp
Log:
improves uvc information dump


Modified: 
haiku/trunk/src/add-ons/media/media-add-ons/usb_webcam/addons/uvc/USB_video.h
===================================================================
--- 
haiku/trunk/src/add-ons/media/media-add-ons/usb_webcam/addons/uvc/USB_video.h   
    2011-03-21 15:32:23 UTC (rev 41069)
+++ 
haiku/trunk/src/add-ons/media/media-add-ons/usb_webcam/addons/uvc/USB_video.h   
    2011-03-21 19:32:58 UTC (rev 41070)
@@ -190,7 +190,7 @@
        usbvc_image_size_pattern imageSizePatterns[0];
        uint8 NumCompressionPatterns() const { return *(CompressionPatterns() - 
1); }
        const uint8* CompressionPatterns() const {
-               return (const uint8*)(imageSizePatterns + 
sizeof(usbvc_image_size_pattern)
+               return ((const uint8*)imageSizePatterns + 
sizeof(usbvc_image_size_pattern)
                        * numImageSizePatterns + sizeof(uint8));
        } 
 } _PACKED;

Modified: 
haiku/trunk/src/add-ons/media/media-add-ons/usb_webcam/addons/uvc/UVCCamDevice.cpp
===================================================================
--- 
haiku/trunk/src/add-ons/media/media-add-ons/usb_webcam/addons/uvc/UVCCamDevice.cpp
  2011-03-21 15:32:23 UTC (rev 41069)
+++ 
haiku/trunk/src/add-ons/media/media-add-ons/usb_webcam/addons/uvc/UVCCamDevice.cpp
  2011-03-21 19:32:58 UTC (rev 41070)
@@ -45,10 +45,16 @@
 static void
 print_guid(const usbvc_guid guid)
 {
-       
printf("%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:"
-               "%02x:%02x:%02x", guid[0], guid[1], guid[2], guid[3], guid[4], 
guid[5],
-               guid[6], guid[7], guid[8], guid[9], guid[10], guid[11], 
guid[12],
-               guid[13], guid[14], guid[15]);
+       if (!memcmp(guid, kYUY2Guid, sizeof(usbvc_guid)))
+               printf("YUY2");
+       else if (!memcmp(guid, kNV12Guid, sizeof(usbvc_guid)))
+               printf("NV12");
+       else {
+               
printf("%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:"
+                       "%02x:%02x:%02x:%02x", guid[0], guid[1], guid[2], 
guid[3], guid[4],
+                       guid[5], guid[6], guid[7], guid[8], guid[9], guid[10], 
guid[11],
+                       guid[12], guid[13], guid[14], guid[15]);
+       }
 }
 
 
@@ -330,8 +336,9 @@
                {
                        const usbvc_interface_header_descriptor* descriptor =
                                (const 
usbvc_interface_header_descriptor*)_descriptor;
-                       printf("VC_HEADER:\tUVC v%04x, clk %lu Hz\n", 
descriptor->version,
-                               descriptor->clockFrequency);
+                       printf("VC_HEADER:\tUVC v%x.%02x, clk %.5f MHz\n",
+                               descriptor->version >> 8, descriptor->version & 
0xff,
+                               descriptor->clockFrequency / 1000000.0);
                        for (uint8 i = 0; i < descriptor->numInterfacesNumbers; 
i++) {
                                printf("\tStreaming Interface %d\n",
                                        descriptor->interfaceNumbers[i]);
@@ -347,6 +354,15 @@
                                descriptor->associatedTerminal);
                        printf("\tDesc: %s\n",
                                
fDevice->DecodeStringDescriptor(descriptor->terminal));
+                       if (descriptor->terminalType == 0x201) {
+                               const usbvc_camera_terminal_descriptor* desc =
+                                       (const 
usbvc_camera_terminal_descriptor*)descriptor;
+                               printf("\tObjectiveFocalLength Min/Max %d/%d\n",
+                                       desc->objectiveFocalLengthMin,
+                                       desc->objectiveFocalLengthMax);
+                               printf("\tOcularFocalLength %d\n", 
desc->ocularFocalLength);
+                               printf("\tControlSize %d\n", desc->controlSize);
+                       }
                        break;
                }
                case VC_OUTPUT_TERMINAL:


Other related posts:

  • » [haiku-commits] r41070 - haiku/trunk/src/add-ons/media/media-add-ons/usb_webcam/addons/uvc - korli