This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

OMAP3530 EVM DShow camera preview problem CVideoCaptureWorker::DoRunLoop

Other Parts Discussed in Thread: TVP5146, OMAP3530

I am having a problem diaplaying video on our OMAP3530 EVM board when using the CVBS composite video input fed through the TVP5146 digitiser.

The digitiser is set up to process PAL B video and I have checked that the video in is present. The display does not have any live data on it. The lower half of teh display is green, the upper half is black with diagonal lines as though the sync is out but there is no live data when I point the camera at light/cover it up.

I'm using the standard TI omap_camera driver which is within BSP_A8_01_02.

I've tested the operation with the capturetest app in teh following mode: 

capturetest /auto /cap 720x576@25 /pv /time 10000 /vin av /venc raw

The operation is the same if I use the e-con systems app aCam_Omap_DShow_SampleApp

The logs show the following...

The following excerpt indicates a problem opening a decompressor which repeats several times...

359231 PID:400002 TID:69c002a CAM_IOControl(d3025510): HandlePinRequests
359231 PID:400002 TID:69c002a CAM_IOControl(d3025510): CSPROPERTY_PIN_DATAINTERSECTION
359231 PID:698002a TID:69c002a COMPMAN: (tid 0x69c002a) ICOpen(vidc.UYVY)
359231 PID:698002a TID:69c002a COMPMAN: (tid 0x69c002a) FindConverter: NO drivers for vidc.uyvy
359232 PID:698002a TID:69c002a COMPMAN: (tid 0x69c002a) ICInfo, vidc.uyvy
359232 PID:698002a TID:69c002a COMPMAN: (tid 0x69c002a) NO information in DRIVERS section
359233 PID:698002a TID:69c002a COMPMAN: (tid 0x69c002a) Unable to locate Compression module vidc.UYVY
359233 PID:698002a TID:69c002a COMPMAN: (tid 0x69c002a) ICOpen(vidc.UÙVY)
359233 PID:698002a TID:69c002a COMPMAN: (tid 0x69c002a) FindConverter: NO drivers for vidc.uÙvy
359264 PID:698002a TID:69c002a COMPMAN: (tid 0x69c002a) ICInfo, vidc.uÙvy
359264 PID:698002a TID:69c002a COMPMAN: (tid 0x69c002a) NO information in DRIVERS section
359265 PID:698002a TID:69c002a COMPMAN: (tid 0x69c002a) Unable to locate Compression module vidc.UÙVY
359265 PID:698002a TID:69c002a COMPMAN: (tid 0x69c002a) FindConverter: NO drivers for vidc.mrle
359265 PID:698002a TID:69c002a COMPMAN: (tid 0x69c002a) ICInfo, vidc.mrle
359265 PID:698002a TID:69c002a COMPMAN: (tid 0x69c002a) ICOpen(vidc.mrle)
359266 PID:698002a TID:69c002a COMPMAN: (tid 0x69c002a) FindConverter: NO drivers for vidc.mrle
359266 PID:698002a TID:69c002a COMPMAN: (tid 0x69c002a) ICInfo, vidc.mrle
359266 PID:698002a TID:69c002a COMPMAN: (tid 0x69c002a) Possible driver for ., Slot 0
359267 PID:400002 TID:69c002a OSAXST1: >>> Loading Module 'msrle32.dll' (0x8E84151C) at address 0x41C30000-0x41C36000 in Process 'NK.EXE' (0x83D4EAA0)
359594 PID:698002a TID:69c002a OSAXST1: >>> Loading Module 'msrle32.dll' (0x8E84151C) at address 0x41C30000-0x41C36000 in Process 'capturetest.exe' (0x8EA8D2D0)
359855 PID:698002a TID:69c002a COMPMAN: (tid 0x69c002a) LoadDriver: msrle32.dll, handle 8e84151c hModule 8e84151c
359856 PID:698002a TID:69c002a COMPMAN: (tid 0x69c002a) ICOPEN: LoadDriver(msrle32.dll) (590ms) Module Handle==8e84151c
359856 PID:698002a TID:69c002a COMPMAN: (tid 0x69c002a) ICClose(41C261E0) vidc.mrle \Windows\msrle32.dll
359856 PID:698002a TID:69c002a COMPMAN: (tid 0x69c002a) ICDump ---------------------------------------
359856 PID:698002a TID:69c002a COMPMAN: (tid 0x69c002a) HIC: 41C261E0 vidc.mrle Proc=41c3108c \Windows\msrle32.dll
359857 PID:698002a TID:69c002a COMPMAN: (tid 0x69c002a) ----------------------------------------------
359857 PID:698002a TID:69c002a OSAXST1: <<< Unloading Module 'msrle32.dll' (0x8E84151C) at address 0x41C30000-0x41C36000 in Process 'capturetest.exe' (0x8EA8D2D0)
360024 PID:698002a TID:69c002a OSAXST1: <<< Unloading Module 'msrle32.dll' (0x8E84151C) at address 0x41C30000-0x41C36000 in Process 'capturetest.exe' (0x8EA8D2D0)
362240 PID:698002a TID:69c002a COMPMAN: (tid 0x69c002a) Freeing library 8e84151c in FreeDriver
362240 PID:698002a TID:69c002a Error: Can't open a decompressor
362241 PID:698002a TID:69c002a Trying media type:
362241 PID:698002a TID:69c002a major type: MEDIATYPE_Video
362241 PID:698002a TID:69c002a sub type : MEDIASUBTYPE_UYVY
362241 PID:400002 TID:69c002a CAM_IOControl(d4f29850): IOCTL:0x2f0003, InBuf:0x1e0c1410, InBufLen:1376, OutBuf:0x0, OutBufLen:0x0)
362242 PID:400002 TID:69c002a CAM_IOControl(d4f29850): IOCTL_CS_PROPERTY
362242 PID:400002 TID:69c002a CAM_IOControl(d3025510): AdapterHandleCustomRequests
362242 PID:400002 TID:69c002a IOControl Adapter PDD: HandleAdapterCustomProperties Request
362242 PID:400002 TID:69c002a CAM_IOControl(d3025510): HandlePinRequests
362242 PID:400002 TID:69c002a CAM_IOControl(d3025510): CSPROPERTY_PIN_DATAINTERSECTION
362242 PID:400002 TID:69c002a CAM_IOControl(d4f29850): IOCTL:0x2f0003, InBuf:0x1e0c1410, InBufLen:1376, OutBuf:0x1e0c1990, OutBufLen:0x4a8)
362242 PID:400002 TID:69c002a CAM_IOControl(d4f29850): IOCTL_CS_PROPERTY
362242 PID:400002 TID:69c002a CAM_IOControl(d3025510): AdapterHandleCustomRequests
362242 PID:400002 TID:69c002a IOControl Adapter PDD: HandleAdapterCustomProperties Request

further down the log the following is logged which indicates a surface has been processed, this repeats for several surfaces...

396632 PID:698002a TID:69c002a DirectDraw Debug Runtime in use.
396633 PID:400002 TID:69c002a OMAPDDGPE::GetVirtualVideoMemory
396634 PID:400002 TID:69c002a virtualMemoryBase = 0xd3140000
396634 PID:400002 TID:69c002a videoMemorySize = 0x01a00000
396634 PID:400002 TID:69c002a videoMemoryFree = 0x0156a000
396635 PID:400002 TID:69c002a OMAPDDGPE::GetVirtualVideoMemory
396635 PID:400002 TID:69c002a virtualMemoryBase = 0xd3140000
396635 PID:400002 TID:69c002a videoMemorySize = 0x01a00000
396635 PID:400002 TID:69c002a videoMemoryFree = 0x0156a000
396670 PID:400002 TID:69c002a +HalCanCreateSurface() -------------------------------
396671 PID:400002 TID:69c002a -HalCanCreateSurface() result = 0x1 pd->ddRVal = 0x0

396671 PID:400002 TID:69c002a +HalCreateSurface() --------------------------------
396671 PID:400002 TID:69c002a LPDDHAL_CREATESURFACEDATA:
396671 PID:400002 TID:69c002a DDPIXELFORMAT:
396671 PID:400002 TID:69c002a DDPIXELFORMAT dwFlags = 0x40
396671 PID:400002 TID:69c002a DDPF_RGB;
396671 PID:400002 TID:69c002a DDPIXELFORMAT dwFourCC = 0x0
396671 PID:400002 TID:69c002a DDPIXELFORMAT dwRGBBitCount = 16
396671 PID:400002 TID:69c002a DDPIXELFORMAT dwRBitMask (Y) = 0x0000f800
396671 PID:400002 TID:69c002a DDPIXELFORMAT dwGBitMask (U) = 0x000007e0
396672 PID:400002 TID:69c002a DDPIXELFORMAT dwBBitMask (V) = 0x0000001f
396672 PID:400002 TID:69c002a DDPIXELFORMAT dwRGBAlphaBitMask = 0x00000000
396672 PID:400002 TID:69c002a DDSCAPS:
396672 PID:400002 TID:69c002a DDSCAPS_PRIMARYSURFACE;
396672 PID:400002 TID:69c002a DDSCAPS_VIDEOMEMORY;
396672 PID:400002 TID:69c002a DDSD_WIDTH = 480
396672 PID:400002 TID:69c002a DDSD_HEIGHT = 640
396672 PID:400002 TID:69c002a DDSD_PITCH = 960
396672 PID:400002 TID:69c002a DDSD_XPITCH = 2
396672 PID:400002 TID:69c002a DDSD_SURFACESIZE = 614400
396672 PID:400002 TID:69c002a pd->dwSCnt = 1
396672 PID:400002 TID:69c002a pd->lplpSList[0] = 0xd4f2d200
396672 PID:400002 TID:69c002a -HalCreateSurface() result = 0x1 pd->ddRVal = 0x0 surface count = 1

The logging finally starts to report a problem with CVideoCaptureWorker::DoRunLoop which is repeated while the application runs...

402290 PID:400002 TID:69c002a +EnableCamera
402290 PID:400002 TID:69c002a +ISPInit
402290 PID:400002 TID:69c002a +ISPEnable
402290 PID:400002 TID:69c002a +ISPEnable: soft reset completed: setting=1, ulTimeout=50
402290 PID:400002 TID:69c002a +CCDCInit
402290 PID:400002 TID:69c002a +CCDCInitCFG
402290 PID:400002 TID:69c002a +CCDCInitSYNC
402290 PID:400002 TID:69c002a +AllocBuffer
402297 PID:400002 TID:69c002a m_pYUVVirtualAddr=0xd52e0000
402298 PID:400002 TID:69c002a m_pYUVPhysicalAddr=0xa6f9c000
402298 PID:400002 TID:69c002a m_pYUVDMAAddr=0xd5210000
402298 PID:400002 TID:69c002a +ISPConfigSize
402298 PID:400002 TID:69c002a +ConfigOutlineOffset
402299 PID:400002 TID:69c002a +CCDCEnable
402301 PID:400002 TID:7600036 PIN_IOControl(d4f298b0): IOCTL:0x2f401f, InBuf:0x1ff1fd80, InBufLen:8, OutBuf:0x0, OutBufLen:0x0)
402304 PID:400002 TID:7600036 PIN_IOControl(d4f298b0): IOCTL_CS_BUFFERS
402304 PID:400002 TID:7600036 PIN_IOControl(d4f298b0): EnqueueDescriptor
402309 PID:400002 TID:7600036 PIN_IOControl(d4f298b0): IOCTL:0x2f401f, InBuf:0x1ff1fd80, InBufLen:8, OutBuf:0x0, OutBufLen:0x0)
402310 PID:400002 TID:7600036 PIN_IOControl(d4f298b0): IOCTL_CS_BUFFERS
402310 PID:400002 TID:7600036 PIN_IOControl(d4f298b0): EnqueueDescriptor
402325 PID:400002 TID:7600036 PIN_IOControl(d4f298b0): IOCTL:0x2f401f, InBuf:0x1ff1fd80, InBufLen:8, OutBuf:0x0, OutBufLen:0x0)
402325 PID:400002 TID:7600036 PIN_IOControl(d4f298b0): IOCTL_CS_BUFFERS
402326 PID:400002 TID:7600036 PIN_IOControl(d4f298b0): EnqueueDescriptor
402301 PID:400002 TID:5fe0016 PIN_IOControl(d4f298b0): RemoveBufferFromList
402353 PID:400002 TID:5fe0016 CCameraPdd::FillBuffer: biWidth=720, biHeight=-480, biSizeImage=691200, pImage=0xD5551800
402357 PID:400002 TID:5fe0016 InitMsgQueueDescriptor: LastPT = 0, elapsed = 0
402357 PID:400002 TID:5fe0016 InitMsgQueueDescriptor(d4f298b0): Frame buf queued: 1 (dropped 0), start 402357, time 0
402451 PID:698002a TID:7600036 CVideoCaptureWorker::DoRunLoop: GetBuffers returned 80040223
402452 PID:698002a TID:7600036 PinType: 0 CVideoCaptureWorker::DoRunLoop: Error sending buffers to Driver, 0x80040223
402453 PID:400002 TID:5fe0016 PIN_IOControl(d4f298b0): RemoveBufferFromList
402453 PID:400002 TID:5fe0016 CCameraPdd::FillBuffer: biWidth=720, biHeight=-480, biSizeImage=691200, pImage=0xD5488C00
402457 PID:400002 TID:5fe0016 InitMsgQueueDescriptor: LastPT = 100, elapsed = 100
402457 PID:400002 TID:5fe0016 InitMsgQueueDescriptor(d4f298b0): Frame buf queued: 2 (dropped 0), start 402357, time 100
402458 PID:698002a TID:6fd0036 Passing Quality notification through transform
402557 PID:400002 TID:7600036 PIN_IOControl(d4f298b0): IOCTL:0x2f401f, InBuf:0x1ff1fd80, InBufLen:8, OutBuf:0x0, OutBufLen:0x0)
402558 PID:400002 TID:7600036 PIN_IOControl(d4f298b0): IOCTL_CS_BUFFERS
402558 PID:400002 TID:7600036 PIN_IOControl(d4f298b0): EnqueueDescriptor
402564 PID:400002 TID:5fe0016 PIN_IOControl(d4f298b0): RemoveBufferFromList
402565 PID:698002a TID:6fd0036 Passing Quality notification through transform
402568 PID:400002 TID:7600036 PIN_IOControl(d4f298b0): IOCTL:0x2f401f, InBuf:0x1ff1fd80, InBufLen:8, OutBuf:0x0, OutBufLen:0x0)
402569 PID:400002 TID:7600036 PIN_IOControl(d4f298b0): IOCTL_CS_BUFFERS
402569 PID:400002 TID:7600036 PIN_IOControl(d4f298b0): EnqueueDescriptor
402577 PID:400002 TID:5fe0016 CCameraPdd::FillBuffer: biWidth=720, biHeight=-480, biSizeImage=691200, pImage=0xD5488C00
402581 PID:400002 TID:5fe0016 InitMsgQueueDescriptor: LastPT = 224, elapsed = 124
402581 PID:400002 TID:5fe0016 InitMsgQueueDescriptor(d4f298b0): Frame buf queued: 3 (dropped 0), start 402357, time 224
402676 PID:698002a TID:7600036 CVideoCaptureWorker::DoRunLoop: GetBuffers returned 80040223
402676 PID:698002a TID:7600036 PinType: 0 CVideoCaptureWorker::DoRunLoop: Error sending buffers to Driver, 0x80040223
402676 PID:400002 TID:5fe0016 PIN_IOControl(d4f298b0): RemoveBufferFromList
402676 PID:400002 TID:5fe0016 CCameraPdd::FillBuffer: biWidth=720, biHeight=-480, biSizeImage=691200, pImage=0xD5551800
402681 PID:400002 TID:5fe0016 InitMsgQueueDescriptor: LastPT = 324, elapsed = 100
402681 PID:400002 TID:5fe0016 InitMsgQueueDescriptor(d4f298b0): Frame buf queued: 4 (dropped 0), start 402357, time 324

Regards,

Steve