Mat Laibowitz wrote:

Encode Debug: 3 capture buffers were successfully allocated.
Encode Debug: Capture buffer 0 mapped to address 0x41b5d000
Encode Debug: Capture buffer 1 mapped to address 0x4215d000
Encode Debug: Capture buffer 2 mapped to address 0x4275d000
Encode Debug: Video capture initialized and started
Encode Debug: Codec Engine opened in video thread
Encode Debug: Video encoder created
Encode Debug: Contiguous buffer allocated at physical address 0x8c36a000
Encode Debug: Contiguous buffer allocated at physical address 0x8c435000
Encode Debug: Entering video main loop.
CMEMK Error: get_phys: Unable to find phys addr for 0xbedda4f3
index 0
CMEMK Error: get_phys: get_user_pages() failed: -14
CMEMK Error: GETPHYS: Failed to convert virtual 0xbedda4f3 to physical.
CMEM Error: getPhys: Failed to get physical address of 0xbedda4f3

so, CMEM is not able to map your virtual address back to a physical one.
can you check what the virtual address is for all the buffers that you have 
allocated via CMEM,
the traces above show only the physical ones.

Encode Error: VIDENC_process() failed with a fatal error (-2 ext: 0x3f9
Encode Error: no frame captured

My CMEM insmod from the loadmodules.sh script:
insmod /lib/modules/cmemk.ko phys_start=0x87800000 phys_end=0x88000000 pools=1x3145728,3x829440,1x61440,1x10240

not the issue, CMEM is allocating, but for some reason you pass a virtual 
address that it does not like.


Here is the encodeVideoBuffer function that calls the VIDENC_Process and always fails.

static int encodeVideoBuffer(VIDENC_Handle hEncode, char *inBuf, int inBufSize,
                             char *outBuf, int *outBufSize)

yes, but what is your inbuf/outbuf actually.


_______________________________________________
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to