I'm trying to update our encoder to use the version 2.0 encoder, and
I'm having some issues. I'm following the instructions here since we're still using the DVSDK 2.10:
http://processors.wiki.ti.com/index.php/H.264_DM36x_Ver_2.0_Codec#Usage:_integrate_into_dvsdk2.10.00.18
I've done everything exept the first part, which is:
- update below software component with dvsdk2.10.00.18, update the H264enc codec package and change the Rules.make for FC_INSTALL_DIR and CMEM_INSTALL_DIR
framework_components_2_24_01
linuxutils_2_24_03
...I'm unclear what this instruction means. When I look at our DVSDK directory, I see we're using framework_components_2_25_00_
Anyway, I did all the other instructions and tweaked a few settings in our alg_vidEnc.c to be compatible with the new encoder, and rebuild kernel/DVSDK/ipnc. It will boot into linux, and attempt to setup and configure everything, but it seems like it's having some trouble with something to do with DMA? In the output, I see:
CAPTURE: Opening ISIF.
CAPTURE: Opening H3A.
APPRO Setting Applied
CAPTURE: Opening IPIPE.
Default Icon TI Logo
Default Icon TI Logo
DM365MM Init SuccessfulRate Control Type: IVIDE DRV ERR :DMA_copyFillCreate:437: Unable to request DMA (channel=-1).
O_STORAGE ALG: I DRV ERR :DMA_copyFillCreate:437: Unable to request DMA (channel=-1).
mgEnc: XDM_GETBUFINFO: min in bufs:2 buf(0):307200 buf(1):153600
Rate Control Type: IVIDEO_STORAGE STREAM: Ext 0: 640x480
STREAM: Ext 1: 640x480
queue id:0
queue id:65538
FF: FF open
DavinciDisplay DavinciDisplay.1: Before finishing with S_FMT:
Once av_server and our app are running, I'll see errors like:
Cache Error: CacheMng_Video_Cache: CacheMng_Find_Freeblk Fail
Cache Error: CacheMng_Video_Cache: CACHE_FAIL
GOP Error: Lock Gop fail from 254 to 254
Module | Avg Time/Frame | Frame-rate | Total time | Total Frames |
CAPTURE | 94.01 | 10.64 | 42398 | 451 |
IPIPE | 89.14 | 11.22 | 40204 | 451 |
ENCODE0 | 20.00 | 49.99 | 9002 | 450 |
ENCODE1 | 7.72 | 129.53 | 3474 | 450 |
ENCODE2 | 9.27 | 107.91 | 4170 | 450 |
STREAM | 0.16 | 6081.08 | 222 | 1350 |
Cache Error: pFrame->realsize = 38714
Cache Error: CacheMng_Video_Cache: CacheMng_Find_Freeblk Fail
Cache Error: CacheMng_Video_Cache: CACHE_FAIL
GOP Error: Lock Gop fail from 509 to 509
Video streaming doesn't seem to work even though I do get performance reports like the above. Performance does seem like it's substantially better (maybe 30% or more) though.