Hi All, Im trying to develop a UVC video grabber device, which captures interlaced PAL video. My hardware (custom firmware on LPC3131 with a TVP5147 analog frontend) is working to the point of streaming video but I cant get the computer to deinterlace the picture. The desired frame specs are a resolution of 768x576 @ 25fps, YUY2 16Bit. The video Im streaming currently is each field separately, ie half frames at double the frame rate of 768x288 @ 50fps. The way I read the UVC specs this should be a supported standard (One field per sample). I cant seem to get the computer to think so however, it just shows the half height double rate frames. Is one field per sample format supported in the UVC driver, and if so how you to inform the driver of the format correctly.
Ive included my descriptors in the hope someone might see something there
thats askew, but I feel Ive tried a lot of different things there with no
positive results. One thing I noticed, its reporting 2 fields per frame in
the interlaced flags, whereas bit 1 set should read as One field per frame
according to the spec, so lsusb is reporting wrong
.. a minor bug. UVCview
in windows reports it right for what its worth. On the flip side, lsusb
seems to report bmVideoStandards correctly unlike UVCview, which gets those
flags offset.
Im guessing that the interleaved line format is more common for interlaced,
but that would require full frames worth of ram in my hardware which I just
dont have (Ive got 96KB total ram where a half frame requires ~430KB ).
Ive been working on this for over a week and am really at a loss, any help
would be very much appreciated.
Thanks,
Andrew Leech
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2 ?
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
idVendor 0x14e3
idProduct 0x8000
bcdDevice 1.00
iManufacturer 1
iProduct 2
iSerial 3
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 191
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 100mA
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 2
bFunctionClass 14 Video
bFunctionSubClass 3 Video Interface Collection
bFunctionProtocol 0
iFunction 2
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 14 Video
bInterfaceSubClass 1 Video Control
bInterfaceProtocol 0
iInterface 2
VideoControl Interface Descriptor:
bLength 13
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdUVC 1.10
wTotalLength 51
dwClockFrequency 480.000000MHz
bInCollection 1
baInterfaceNr( 0) 1
VideoControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 1
wTerminalType 0x0201 Camera Sensor
bAssocTerminal 0
iTerminal 0
wObjectiveFocalLengthMin 0
wObjectiveFocalLengthMax 0
wOcularFocalLength 0
bControlSize 2
bmControls 0x0000000f
Scanning Mode
Auto-Exposure Mode
Auto-Exposure Priority
Exposure
Time (Absolute)
VideoControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 3
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bSourceID 5
iTerminal 0
VideoControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 5 (PROCESSING_UNIT)
bUnitID 5
bSourceID 1
wMaxMultiplier 0
bControlSize 2
bmControls 0x00000001
Brightness
iProcessing 0
bmVideoStandards 0x 4
PAL - 625/50
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 8
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 14 Video
bInterfaceSubClass 2 Video Streaming
bInterfaceProtocol 0
iInterface 0
VideoStreaming Interface Descriptor:
bLength 14
bDescriptorType 36
bDescriptorSubtype 1 (INPUT_HEADER)
bNumFormats 1
wTotalLength 71
bEndPointAddress 131
bmInfo 0
bTerminalLink 3
bStillCaptureMethod 1
bTriggerSupport 1
bTriggerUsage 0
bControlSize 1
bmaControls( 0) 27
VideoStreaming Interface Descriptor:
bLength 27
bDescriptorType 36
bDescriptorSubtype 4 (FORMAT_UNCOMPRESSED)
bFormatIndex 1
bNumFrameDescriptors 1
guidFormat {59555932-0000-1000-8000-00aa00389b71}
bBitsPerPixel 16
bDefaultFrameIndex 1
bAspectRatioX 4
bAspectRatioY 3
bmInterlaceFlags 0x67
Interlaced stream or variable: Yes
Fields per frame: 2 fields
Field 1 first: Yes
Field pattern: Regular pattern of
fields 1 and 2
bCopyProtect 0
VideoStreaming Interface Descriptor:
bLength 30
bDescriptorType 36
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
bFrameIndex 1
bmCapabilities 0x03
Still image supported
Fixed frame-rate
wWidth 768
wHeight 288
dwMinBitRate 174489600
dwMaxBitRate 174489600
dwMaxVideoFrameBufferSize 436224
dwDefaultFrameInterval 200000
bFrameIntervalType 1
dwFrameInterval( 0) 200000
VideoStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 13 (COLORFORMAT)
bColorPrimaries 1 (BT.709,sRGB)
bTransferCharacteristics 1 (BT.709)
bMatrixCoefficients 4 (SMPTE 170M (BT.601))
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 14 Video
bInterfaceSubClass 2 Video Streaming
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x1404 3x 1028 bytes
bInterval 1
_______________________________________________
Linux-uvc-devel mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/linux-uvc-devel
