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 Linux-uvc-devel@lists.berlios.de https://lists.berlios.de/mailman/listinfo/linux-uvc-devel