Hi,
I tried a raw dump with luvcview -c. The resulting file is 744x480
big. With the following commands I can decode the image properly in
matlab:
fid = fopen('frame000.raw');
A=fread(fid,357120,'uchar');
Ares = reshape(A,744,480);
imshow(demosaic(uint8(Ares),'grbg'))
Is there a way I could hack the driver to produce the same result?
This would be much more convient (and efficient) to use the data in
some vision code I am writing. I tried changing
.name = "YUV 4:2:2 (YUYV)",
.guid = UVC_GUID_FORMAT_YUY2,
.fcc = V4L2_PIX_FMT_YUYV,
the fcc to
V4L2_PIX_FMT_SBGGR8 but that caused a segfault with luvcview. Is
there a way I could force it to use bayer?
Thank you
Sebastian
2009/3/9 Sebastian Scherer <[email protected]>:
> Hi,
> Thank you so much for your help!
>
> How do I capture raw frames?
>
> What would it take to get the single frame capture implemented?
>
> Another strange thing is that the camera also supports 60 frames per
> second and it does not show up as a format. Could this be related to
> the 372 size?
>
> This is the output from guvcview --verbose:
> guvcview 1.0.2
> video_device: /dev/video0
> vid_sleep: 0
> resolution: 372 x 480
> windowsize: 480 x 700
> vert pane: 578
> spin behavior: 0
> mode: uyvy
> fps: 1/30
> Display Fps: 0
> bpp: 0
> hwaccel: 1
> grabmethod: 1
> avi_format: 2
> sound: 0
> sound Device: 2
> sound samp rate: 0
> sound Channels: 0
> Sound Block Size: 1 seconds
> Sound Format: 80
> Sound bit Rate: 160 Kbps
> Pan Step: 2 degrees
> Tilt Step: 2 degrees
> Video Filter Flags: 0
> image inc: 0
> profile(default):/home/ulb/default.gpfl
> language catalog=> dir:/usr/share/locale type�ػr...@�gtk20
> lang:en_US.UTF-8 cat:guvcview.mo
> uyvy: setting format to 1498831189
> video device: /dev/video0
> /dev/video0 - device 1
> Init. DFx 21AUC03 (location: usb-0000:00:1a.7-2)
> { pixelformat = 'YUYV', description = 'YUV 4:2:2 (YUYV)' }
> { discrete: width = 372, height = 480 }
> Time interval between frame: 1/30,
> { discrete: width = 320, height = 480 }
> Time interval between frame: 1/30,
> { pixelformat = 'UYVY', description = 'YUV 4:2:2 (UYVY)' }
> { discrete: width = 372, height = 480 }
> Time interval between frame: 1/30,
> { discrete: width = 320, height = 480 }
> Time interval between frame: 1/30,
> checking format: 1498831189
> vid:199e
> pid:8202
> driver:uvcvideo
> Controls:
> control[0]: 0x980913 Gain, 16:1:64, default 16
> control[1]: 0x9a0901 Exposure, Auto, 0:1:3, default 6
> control[2]: 0x9a0902 Exposure (Absolute), 1:1:2550, default 127
> resolutions of 2º format=2
> frame rates of 1º resolution=1
> Def. Res: 0 numb. fps:1
> --------------------------------------- device #0
> [ Default Input, Default Output ]
> Name = /dev/dsp
> Host API = OSS
> Max inputs = 16, Max outputs = 16
> Def. low input latency = 0.012
> Def. low output latency = 0.012
> Def. high input latency = 0.046
> Def. high output latency = 0.046
> Def. sample rate = 44100.00
> --------------------------------------- device #1
> Name = HDA Intel: ALC260 Analog (hw:0,0)
> Host API = ALSA
> Max inputs = 2, Max outputs = 2
> Def. low input latency = 0.012
> Def. low output latency = 0.012
> Def. high input latency = 0.046
> Def. high output latency = 0.046
> Def. sample rate = 44100.00
> --------------------------------------- device #2
> Name = HDA Intel: ALC260 Digital (hw:0,1)
> Host API = ALSA
> Max inputs = 0, Max outputs = 2
> Def. low input latency = -1.000
> Def. low output latency = 0.012
> Def. high input latency = -1.000
> Def. high output latency = 0.046
> Def. sample rate = 44100.00
> --------------------------------------- device #3
> Name = front
> Host API = ALSA
> Max inputs = 0, Max outputs = 2
> Def. low input latency = -1.000
> Def. low output latency = 0.012
> Def. high input latency = -1.000
> Def. high output latency = 0.046
> Def. sample rate = 44100.00
> --------------------------------------- device #4
> Name = surround40
> Host API = ALSA
> Max inputs = 0, Max outputs = 2
> Def. low input latency = -1.000
> Def. low output latency = 0.012
> Def. high input latency = -1.000
> Def. high output latency = 0.046
> Def. sample rate = 44100.00
> --------------------------------------- device #5
> Name = surround51
> Host API = ALSA
> Max inputs = 0, Max outputs = 2
> Def. low input latency = -1.000
> Def. low output latency = 0.012
> Def. high input latency = -1.000
> Def. high output latency = 0.046
> Def. sample rate = 44100.00
> --------------------------------------- device #6
> Name = surround71
> Host API = ALSA
> Max inputs = 0, Max outputs = 2
> Def. low input latency = -1.000
> Def. low output latency = 0.012
> Def. high input latency = -1.000
> Def. high output latency = 0.046
> Def. sample rate = 44100.00
> --------------------------------------- device #7
> Name = iec958
> Host API = ALSA
> Max inputs = 0, Max outputs = 2
> Def. low input latency = -1.000
> Def. low output latency = 0.012
> Def. high input latency = -1.000
> Def. high output latency = 0.046
> Def. sample rate = 44100.00
> --------------------------------------- device #8
> Name = spdif
> Host API = ALSA
> Max inputs = 0, Max outputs = 2
> Def. low input latency = -1.000
> Def. low output latency = 0.012
> Def. high input latency = -1.000
> Def. high output latency = 0.046
> Def. sample rate = 44100.00
> --------------------------------------- device #9
> [ Default ALSA Input, Default ALSA Output ]
> Name = default
> Host API = ALSA
> Max inputs = 128, Max outputs = 128
> Def. low input latency = 0.043
> Def. low output latency = 0.043
> Def. high input latency = 0.046
> Def. high output latency = 0.046
> Def. sample rate = 44100.00
> --------------------------------------- device #10
> Name = dmix
> Host API = ALSA
> Max inputs = 0, Max outputs = 2
> Def. low input latency = -1.000
> Def. low output latency = 0.043
> Def. high input latency = -1.000
> Def. high output latency = 0.043
> Def. sample rate = 48000.00
> ----------------------------------------------
> SampleRate:0 Channels:0
> Video driver: x11
> A window manager is available
>
>
>
> 2009/3/9 Paulo Assis <[email protected]>:
>> For the list (I keep pressing the reply button, and forget to change the
>> address)
>>
>> Sebastian,
>>
>> Sebastian Scherer escreveu:
>>> Hi,
>>> Thank you for your replies. I tried guvcview with both formats but the
>>> output seems to be the same. It would be fine with me to manually
>>> correct the output.
>>>
>>>
>> What is the console output from guvcview --verbose ?
>> Setting an unsupported device format would only make guvcview drop back
>> to the first supported device format.
>>
>>> However I would really like to capture the full resolution images.
>>> How can I use capture still images?
>>>
>>>
>> I don't think that's implemented in linux uvc.
>>
>>
>>> Also the 372 does not really make sense because this should not be a
>>> frame size that is supported by the camera. Maybe halving the size
>>> messes up the encoding?
>>> Thank you
>>>
>>>
>> Your best bet is to grab a RAW frame and try to analyse it.
>> I would say that the 372 pix line needs to be converted to 744, UYVY has
>> 2 bytes per pixel, although you need 4 bytes to render 2 pixels, in this
>> case it seems you are getting a format with 1 byte per pixel.
>>> Sebastian
>>>
>>>
>>> 2009/3/9 Paulo Assis <[email protected]>:
>>>
>>>> Sebastien, I've taken another look at luvcview output and it reports
>>>> UYVY not YUYV, luvcview doesn't support this format I believe,
>>>> you should try the latest version from guvcview (1.0.2), and see if
>>>> outputs the frame correctly.
>>>>
>>>> Best regards,
>>>> Paulo
>>>>
>>>> Sebastian Scherer escreveu:
>>>>
>>>>> Hi,
>>>>> After looking a little more carefully it might be that the resolution
>>>>> problem is related to de-bayering.
>>>>> I uploaded a sample image captured from the video:
>>>>> http://www.frc.ri.cmu.edu/~basti/01-20090306125232-17.jpg
>>>>>
>>>>> Does anybody have any insight what the problem could be?
>>>>>
>>>>> I downloaded the latest drivers and used them on Ubuntu 8.10 but the
>>>>> problem persists.
>>>>> Thank you
>>>>>
>>>>> Sebastian
>>>>>
>>>>>
>>>>>
>>>>>> Hi,
>>>>>> I have a problem with this camera.
>>>>>> http://www.theimagingsource.com/en_US/products/oem-cameras/usb-cmos-color/dfm21auc03ml/
>>>>>> It shows a picture but I cannot set the frame size and resolution of
>>>>>> the camera. The camera supports
>>>>>> 60 frames per second and a resolution of 744x480 YUV2. However I
>>>>>> always get 372x480 and the colors are wrong.
>>>>>>
>>>>>> This is what dmesg reports:
>>>>>>
>>>>>>
>>>>>
>>>>>> [179400.340015] usb 6-1: new high speed USB device using ehci_hcd and
>>>>>> address 3
>>>>>> [179400.777492] usb 6-1: configuration #1 chosen from 1 choice
>>>>>> [179400.777790] uvcvideo: Found UVC 1.00 device DFx 21AUC03 (199e:8202)
>>>>>> [179401.306390] input: DFx 21AUC03 as
>>>>>> /devices/pci0000:00/0000:00:1a.7/usb6/6-1/6-1:1.0/input/input7
>>>>>>
>>>>>> This is whalt lsusb reports:
>>>>>> Bus 006 Device 003: ID 199e:8202 The Imaging Source Europe GmbH
>>>>>> Device Descriptor:
>>>>>> bLength 18
>>>>>> bDescriptorType 1
>>>>>> bcdUSB 2.00
>>>>>> bDeviceClass 239 Miscellaneous Device
>>>>>> bDeviceSubClass 2 ?
>>>>>> bDeviceProtocol 1 Interface Association
>>>>>> bMaxPacketSize0 64
>>>>>> idVendor 0x199e The Imaging Source Europe GmbH
>>>>>> idProduct 0x8202
>>>>>> bcdDevice 8.13
>>>>>> iManufacturer 2 The Imaging Source Europe GmbH
>>>>>> iProduct 1 DFx 21AUC03
>>>>>> iSerial 3 38800104
>>>>>> bNumConfigurations 1
>>>>>> Configuration Descriptor:
>>>>>> bLength 9
>>>>>> bDescriptorType 2
>>>>>> wTotalLength 349
>>>>>> bNumInterfaces 2
>>>>>> bConfigurationValue 1
>>>>>> iConfiguration 0
>>>>>> bmAttributes 0x80
>>>>>> (Bus Powered)
>>>>>> MaxPower 500mA
>>>>>> Interface Association:
>>>>>> bLength 8
>>>>>> bDescriptorType 11
>>>>>>
>>>>>>
>>>>> bFirstInterface 0
>>>>> bInterfaceCount 2
>>>>> bFunctionClass 14 Video
>>>>> bFunctionSubClass 3 Video Interface Collection
>>>>> bFunctionProtocol 0
>>>>> iFunction 0
>>>>> Interface Descriptor:
>>>>> bLength 9
>>>>> bDescriptorType 4
>>>>> bInterfaceNumber 0
>>>>> bAlternateSetting 0
>>>>> bNumEndpoints 1
>>>>> bInterfaceClass 14 Video
>>>>> bInterfaceSubClass 1 Video Control
>>>>> bInterfaceProtocol 0
>>>>> iInterface 0
>>>>> VideoControl Interface Descriptor:
>>>>> bLength 13
>>>>> bDescriptorType 36
>>>>> bDescriptorSubtype 1 (HEADER)
>>>>> bcdUVC 1.00
>>>>> wTotalLength 78
>>>>> dwClockFrequency 6.000000MHz
>>>>> bInCollection 1
>>>>> baInterfaceNr( 0) 1
>>>>> VideoControl Interface Descriptor:
>>>>> bLength 18
>>>>> bDescriptorType 36
>>>>> bDescriptorSubtype 2 (INPUT_TERMINAL)
>>>>> bTerminalID 1
>>>>> wTerminalType 0x0201 Camera Sensor
>>>>> bAssocTerminal 0
>>>>> iTerminal 0
>>>>> wObjectiveFocalLengthMin 0
>>>>> wObjectiveFocalLengthMax 0
>>>>> wOcularFocalLength 0
>>>>> bControlSize 3
>>>>> bmControls 0x0000001a
>>>>> Auto-Exposure Mode
>>>>> Exposure Time (Absolute)
>>>>> Exposure Time (Relative)
>>>>> VideoControl Interface Descriptor:
>>>>> bLength 12
>>>>> bDescriptorType 36
>>>>> bDescriptorSubtype 5 (PROCESSING_UNIT)
>>>>> Warning: Descriptor too short
>>>>> bUnitID 3
>>>>> bSourceID 1
>>>>> wMaxMultiplier 0
>>>>> bControlSize 3
>>>>> bmControls 0x00000200
>>>>> Gain
>>>>> iProcessing 0
>>>>> bmVideoStandards 0x1a
>>>>> NTSC - 525/60
>>>>> SECAM - 625/50
>>>>> NTSC - 625/50
>>>>> VideoControl Interface Descriptor:
>>>>> bLength 26
>>>>> bDescriptorType 36
>>>>> bDescriptorSubtype 6 (EXTENSION_UNIT)
>>>>> bUnitID 4
>>>>> guidExtensionCode {2652215a-8932-5641-894a-5c557cdf9664}
>>>>> bNumControl 4
>>>>> bNrPins 1
>>>>> baSourceID( 0) 3
>>>>> bControlSize 1
>>>>> bmControls( 0) 0x1f
>>>>> iExtension 0
>>>>> VideoControl Interface Descriptor:
>>>>> bLength 9
>>>>> bDescriptorType 36
>>>>> bDescriptorSubtype 3 (OUTPUT_TERMINAL)
>>>>> bTerminalID 2
>>>>> wTerminalType 0x0101 USB Streaming
>>>>> bAssocTerminal 0
>>>>> bSourceID 4
>>>>> iTerminal 0
>>>>> Endpoint Descriptor:
>>>>> bLength 7
>>>>> bDescriptorType 5
>>>>> bEndpointAddress 0x81 EP 1 IN
>>>>> bmAttributes 3
>>>>> Transfer Type Interrupt
>>>>> Synch Type None
>>>>> Usage Type Data
>>>>> wMaxPacketSize 0x0008 1x 8 bytes
>>>>> bInterval 9
>>>>> Interface Descriptor:
>>>>> bLength 9
>>>>> bDescriptorType 4
>>>>> bInterfaceNumber 1
>>>>> bAlternateSetting 0
>>>>> bNumEndpoints 1
>>>>> bInterfaceClass 14 Video
>>>>> bInterfaceSubClass 2 Video Streaming
>>>>> bInterfaceProtocol 0
>>>>> iInterface 0
>>>>> VideoStreaming Interface Descriptor:
>>>>> bLength 15
>>>>> bDescriptorType 36
>>>>> bDescriptorSubtype 1 (INPUT_HEADER)
>>>>> bNumFormats 2
>>>>> wTotalLength 217
>>>>> bEndPointAddress 130
>>>>> bmInfo 0
>>>>> bTerminalLink 2
>>>>> bStillCaptureMethod 2
>>>>> bTriggerSupport 1
>>>>> bTriggerUsage 0
>>>>> bControlSize 1
>>>>> bmaControls( 0) 27
>>>>> bmaControls( 1) 27
>>>>> VideoStreaming Interface Descriptor:
>>>>> bLength 27
>>>>> bDescriptorType 36
>>>>> bDescriptorSubtype 4 (FORMAT_UNCOMPRESSED)
>>>>> bFormatIndex 1
>>>>> bNumFrameDescriptors 2
>>>>> guidFormat
>>>>> {59555932-0000-1000-8000-00aa00389b71}
>>>>> bBitsPerPixel 16
>>>>> bDefaultFrameIndex 1
>>>>> bAspectRatioX 0
>>>>> bAspectRatioY 0
>>>>> bmInterlaceFlags 0x00
>>>>> Interlaced stream or variable: No
>>>>> Fields per frame: 1 fields
>>>>> Field 1 first: No
>>>>> Field pattern: Field 1 only
>>>>> bCopyProtect 0
>>>>> VideoStreaming Interface Descriptor:
>>>>> bLength 30
>>>>> bDescriptorType 36
>>>>> bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
>>>>> bFrameIndex 1
>>>>> bmCapabilities 0x00
>>>>> Still image unsupported
>>>>> wWidth 372
>>>>> wHeight 480
>>>>> dwMinBitRate 838992000
>>>>> dwMaxBitRate 838992000
>>>>> dwMaxVideoFrameBufferSize 786432
>>>>> dwDefaultFrameInterval 333333
>>>>> bFrameIntervalType 1
>>>>> dwFrameInterval( 0) 333333
>>>>> VideoStreaming Interface Descriptor:
>>>>> bLength 30
>>>>> bDescriptorType 36
>>>>> bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
>>>>> bFrameIndex 2
>>>>> bmCapabilities 0x00
>>>>> Still image unsupported
>>>>> wWidth 320
>>>>> wHeight 480
>>>>> dwMinBitRate 838992000
>>>>> dwMaxBitRate 838992000
>>>>> dwMaxVideoFrameBufferSize 786432
>>>>> dwDefaultFrameInterval 333333
>>>>> bFrameIntervalType 1
>>>>> dwFrameInterval( 0) 333333
>>>>> VideoStreaming Interface Descriptor:
>>>>> bLength 11
>>>>> bDescriptorType 36
>>>>> bDescriptorSubtype 3 (STILL_IMAGE_FRAME)
>>>>> bEndpointAddress 0
>>>>> bNumImageSizePatterns 1
>>>>> wWidth( 0) 744
>>>>> wHeight( 0) 480
>>>>> bNumCompressionPatterns 1
>>>>> bCompression( 0) 0
>>>>> VideoStreaming Interface Descriptor:
>>>>> bLength 27
>>>>> bDescriptorType 36
>>>>> bDescriptorSubtype 4 (FORMAT_UNCOMPRESSED)
>>>>> bFormatIndex 2
>>>>> bNumFrameDescriptors 2
>>>>> guidFormat
>>>>> {55595659-0000-1000-8000-00aa00389b71}
>>>>> bBitsPerPixel 16
>>>>> bDefaultFrameIndex 1
>>>>> bAspectRatioX 0
>>>>> bAspectRatioY 0
>>>>> bmInterlaceFlags 0x00
>>>>> Interlaced stream or variable: No
>>>>> Fields per frame: 1 fields
>>>>> Field 1 first: No
>>>>> Field pattern: Field 1 only
>>>>> bCopyProtect 0
>>>>> VideoStreaming Interface Descriptor:
>>>>> bLength 30
>>>>> bDescriptorType 36
>>>>> bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
>>>>> bFrameIndex 1
>>>>> bmCapabilities 0x00
>>>>> Still image unsupported
>>>>> wWidth 372
>>>>> wHeight 480
>>>>> dwMinBitRate 838992000
>>>>> dwMaxBitRate 838992000
>>>>> dwMaxVideoFrameBufferSize 786432
>>>>> dwDefaultFrameInterval 333333
>>>>> bFrameIntervalType 1
>>>>> dwFrameInterval( 0) 333333
>>>>> VideoStreaming Interface Descriptor:
>>>>> bLength 30
>>>>> bDescriptorType 36
>>>>> bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
>>>>> bFrameIndex 2
>>>>> bmCapabilities 0x00
>>>>> Still image unsupported
>>>>> wWidth 320
>>>>> wHeight 480
>>>>> dwMinBitRate 838992000
>>>>> dwMaxBitRate 838992000
>>>>> dwMaxVideoFrameBufferSize 786432
>>>>> dwDefaultFrameInterval 333333
>>>>> bFrameIntervalType 1
>>>>> dwFrameInterval( 0) 333333
>>>>> VideoStreaming Interface Descriptor:
>>>>> bLength 11
>>>>> bDescriptorType 36
>>>>> bDescriptorSubtype 3 (STILL_IMAGE_FRAME)
>>>>> bEndpointAddress 0
>>>>> bNumImageSizePatterns 1
>>>>> wWidth( 0) 744
>>>>> wHeight( 0) 480
>>>>> bNumCompressionPatterns 1
>>>>> bCompression( 0) 0
>>>>> VideoStreaming Interface Descriptor:
>>>>> bLength 6
>>>>> bDescriptorType 36
>>>>> bDescriptorSubtype 13 (COLORFORMAT)
>>>>> bColorPrimaries 0 (Unspecified)
>>>>> bTransferCharacteristics 0 (Unspecified)
>>>>> bMatrixCoefficients 0 (Unspecified)
>>>>> Endpoint Descriptor:
>>>>> bLength 7
>>>>> bDescriptorType 5
>>>>> bEndpointAddress 0x82 EP 2 IN
>>>>> bmAttributes 2
>>>>> Transfer Type Bulk
>>>>> Synch Type None
>>>>> Usage Type Data
>>>>> wMaxPacketSize 0x0200 1x 512 bytes
>>>>> bInterval 1
>>>>> Device Qualifier (for other device speed):
>>>>> bLength 10
>>>>> bDescriptorType 6
>>>>> bcdUSB 2.00
>>>>> bDeviceClass 239 Miscellaneous Device
>>>>> bDeviceSubClass 2 ?
>>>>> bDeviceProtocol 1 Interface Association
>>>>> bMaxPacketSize0 64
>>>>> bNumConfigurations 1
>>>>> Device Status: 0x0000
>>>>> (Bus Powered)
>>>>>
>>>>> This is what I get with lucview:
>>>>>
>>>>> luvcview 0.2.4
>>>>>
>>>>> SDL information:
>>>>> Video driver: x11
>>>>> A window manager is available
>>>>> Device information:
>>>>> Device path: /dev/video0
>>>>> Stream settings:
>>>>> Frame format: UYVY
>>>>> Frame size: 372x480 (requested size 744x480 is not supported by device)
>>>>> Frame rate: 30/1 fps (requested frame rate 60 fps is not supported by
>>>>> device)
>>>>>
>>>>>
>>>>>
>>>>> Thank you!
>>>>> _______________________________________________
>>>>> Linux-uvc-devel mailing list
>>>>> [email protected]
>>>>> https://lists.berlios.de/mailman/listinfo/linux-uvc-devel
>>>>>
>>>>>
>>>>>
>>>> _______________________________________________
>>>> Linux-uvc-devel mailing list
>>>> [email protected]
>>>> https://lists.berlios.de/mailman/listinfo/linux-uvc-devel
>>>>
>>>>
>>>
>>>
>> Best regards,
>> Paulo
>>
>>
>> _______________________________________________
>> Linux-uvc-devel mailing list
>> [email protected]
>> https://lists.berlios.de/mailman/listinfo/linux-uvc-devel
>>
>>
>
_______________________________________________
Linux-uvc-devel mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/linux-uvc-devel