使用 dm368, DVSDK 4.0.2, mt9p031, 720P
测试 capture 720P OK
测试 h264 encode OK ( 程序生成的 720P video )
capture 后, 再用 h264 encode, 跑几帧或几十帧 或几百帧, 就 linux 重启了.
猜测是不是 codec engine config 不正确 ( copied from encode sample in DVSDK )?
还是 cmem 不正确? ( cmem 看起来没有问题 )
CMEM_SCOPE="phys_start=0x83C00000 phys_end=0x88000000 useHeapIfPoolUnavailable=1"
CMEM_POOLS="pools=3x1534464" 这个是给 capture 用的(打印信息表明, 的确给capture 用了), 其它的就用 heap 吧
CMEM_ARM926TCM="allowOverlap=1 phys_start_1=0x00001000 phys_end_1=0x00008000 pools_1=1x28672"
insmod cmemk.ko $CMEM_SCOPE $CMEM_POOLS $CMEM_ARM926TCM
应该是 capture 和 encode 合伙把 linux 搞散架了, 但不知道为什么? 请高手出招吧, 谢谢 !
我看到 demo 都是 capture 和 encode 各自独立线程, 不会一定要这样吧? 我用一个线程, 先 capture , 再 encode, ,,