TI中文支持网
TI专业的中文技术问题搜集分享网站

新手求支援,VIDENC_PROCESS 卡住不动。。。

我的例程简写如下 

。。。

while (1) {
  Capture_get(hCapture, &cBuf);
  // Process captured buffer "cBuf".
   printf("Capture_process…\n");

 Buffer_Attrs attrs=Buffer_Attrs_DEFAULT;
 attrs.type=Buffer_Type_GRAPHICS;
   encDestBuf=Buffer_create(8*1024, &attrs);
   Buffer_print (engine_valset.encDestBuf);
 if (Venc1_process(encHandle, cBuf, encDestBuf) < 0) {
  printf("Failed to encode\n");
 } 
 Buffer_delete(encDestBuf);  

Capture_put(cap_valset.hCapture, cap_valset.cBuf);
 }

。。。

去掉编码算法调用采集很流畅,加上后只能解码出几帧然后卡死不动,将循环利用的buffer替换为及时申请用完释放也不行。

然后按下ctrl+C 出现oops。

能解码的帧数也不是固定的,不知道问题出在哪里。。。

 

capture_thread_fxn start…
Capture_process…
[0] @ 0x42470000 (0xa7630000 phys) numBytes 0 (24576) useMask 0 (1) ref no
@0x00096dd2:[T:0x42eda490] ti.sdo.dmai – [Venc1] VIDENC1_process() start
@0x0009c9b2:[T:0x42eda490] ti.sdo.dmai – [Venc1] VIDENC1_process() ret 0 generated 9041 bytes
Capture_process…
[0] @ 0x42470000 (0xa7630000 phys) numBytes 9041 (24576) useMask 0 (1) ref no
@0x0009cb80:[T:0x42eda490] ti.sdo.dmai – [Venc1] VIDENC1_process() start
@0x000a35f0:[T:0x42eda490] ti.sdo.dmai – [Venc1] VIDENC1_process() ret 0 generated 3837 bytes
Capture_process…
[0] @ 0x42470000 (0xa7630000 phys) numBytes 3837 (24576) useMask 0 (1) ref no
@0x000a5fbc:[T:0x42eda490] ti.sdo.dmai – [Venc1] VIDENC1_process() start
@0x000acc32:[T:0x42eda490] ti.sdo.dmai – [Venc1] VIDENC1_process() ret 0 generated 4215 bytes
Capture_process…
[0] @ 0x42470000 (0xa7630000 phys) numBytes 4215 (24576) useMask 0 (1) ref no
@0x000afbfc:[T:0x42eda490] ti.sdo.dmai – [Venc1] VIDENC1_process() start
@0x0053f649:[T:0x42eda490] ti.sdo.dmai – [Venc1] VIDENC1_process() ret 0 generated 4065 bytes
Capture_process…
[0] @ 0x42470000 (0xa7630000 phys) numBytes 4065 (24576) useMask 0 (1) ref no
@0x0053f829:[T:0x42eda490] ti.sdo.dmai – [Venc1] VIDENC1_process() start
Unable to handle kernel paging request at virtual address c81cb010
pgd = c6708000
[c81cb010] *pgd=804a8011, *pte=00000000, *ppte=00000000
Internal error: Oops: 7 [#1]
Modules linked in: dsplinkk cmemk
CPU: 0
PC is at SYNC_WaitSEM+0x234/0x32c [dsplinkk]
LR is at flush_signals+0x64/0x90
pc : [<bf00d804>]    lr : [<c0051000>]    Tainted: GF   sp : c6927e38  ip : c6927e20  fp : c6927e84
r10: ffffffff  r9 : c003e698  r8 : c81cb008
r7 : c6927e44  r6 : c81cb000  r5 : c6926000  r4 : 00000002
r3 : 00000001  r2 : 00000000  r1 : c05da0b4  r0 : c05da0b4
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  Segment user
Control: 5317F
Table: 86708000  DAC: 00000015
Process cap0 (pid: 270, stack limit = 0xc6926258)
Stack: (0xc6927e38 to 0xc6928000)
7e20:                                                       c8209c80 000080007e40: c6927e5c 00000001 c052a040 c003e698 c81cb008 c81cb008 bf015938 000000007e60: 00008000 c6927ef4 c81c7000 ffffffff 80008051 bf022670 c6927eb4 c6927e887e80: bf011c08 bf00d5e0 bf011d30 00006f0b 42ed9b44 00006f0b c0588780 000000097ea0: c6926000 0004a3bc c6927ec4 c6927eb8 bf008a7c bf011b88 c6927f24 c6927ec87ec0: bf008400 bf008a7c c6927f1c c6927ed8 c015b688 c0159e08 c02f6bbc c015e9fc7ee0: c73b480c 00000049 00000018 00000000 ffffffff 00000000 00008000 000000007f00: 00010003 ffffffff 00000000 a7630000 c0588780 42ed9b44 c6927f44 c6927f287f20: c009fa7c bf00809c 00000049 c0588780 00000009 42ed9b44 c6927f74 c6927f487f40: c009fd5c c009fa10 00000000 1d34ce80 00000049 00000000 42ed9b44 00006f0b7f60: 00000009 c6926000 c6927fa4 c6927f78 c009fe38 c009faa8 42ed9bd8 000000017f80: 00000018 ffffffff 0004a100 42ed9bec 00000036 c002ff64 00000000 c6927fa87fa0: c002ff40 c009fd94 ffffffff 0004a100 00000009 00006f0b 42ed9b44 000000097fc0: ffffffff 0004a100 42ed9bec 00000036 00010003 0000126c 0004a3bc 42ed9b2c7fe0: 0004b36c 42ed9a58 00028c20 400ff27c 60000010 00000009 80004800 40004000Backtrace:[<bf00d5d0>] (SYNC_WaitSEM+0x0/0x32c [dsplinkk]) from [<bf011c08>] (LDRV_MSGQ_get+0x90/0xd0 [dsplinkk])
[<bf011b78>] (LDRV_MSGQ_get+0x0/0xd0 [dsplinkk]) from [<bf008a7c>] (PMGR_MSGQ_get+0x10/0x14 [dsplinkk])
[<bf008a6c>] (PMGR_MSGQ_get+0x0/0x14 [dsplinkk]) from [<bf008400>] (DRV_Ioctl+0x374/0x9a0 [dsplinkk])
[<bf00808c>] (DRV_Ioctl+0x0/0x9a0 [dsplinkk]) from [<c009fa7c>] (do_ioctl+0x7c/0x98)
 r5 = 42ED9B44  r4 = C0588780[<c009fa00>] (do_ioctl+0x0/0x98) from [<c009fd5c>] (vfs_ioctl+0x2c4/0x2ec)
 r6 = 42ED9B44  r5 = 00000009  r4 = C0588780[<c009fa98>] (vfs_ioctl+0x0/0x2ec) from [<c009fe38>] (sys_ioctl+0xb4/0xe8)
 r9 = C6926000  r8 = 00000009  r6 = 00006F0B  r5 = 42ED9B44
 r4 = 00000000[<c009fd84>] (sys_ioctl+0x0/0xe8) from [<c002ff40>] (__sys_trace_return+0x0/0x20)
 r8 = C002FF64  r7 = 00000036  r6 = 42ED9BEC  r5 = 0004A100
 r4 = FFFFFFFFCode: e5834000 e5953004 e2833001 e5853004 (e5963010) <6>note: cap0[270] exited with preempt_count 1
prev->state: 2 != TASK_RUNNING??
cap0/270[CPU#0]: BUG in __schedule at kernel/sched.c:3826

liang ding:

忘了说, dm6446板 server是dvsdk demo带的 h264enc  

刚刚上手,对codec engine 还是一片迷茫。。。

赞(0)
未经允许不得转载:TI中文支持网 » 新手求支援,VIDENC_PROCESS 卡住不动。。。
分享到: 更多 (0)