I use the newest version of the H264 encoder (2.30.00.01) with the EVMDM365 board. With the old encoder (version 1.1) I had no problems when creating the encoder instance. But when I set the encQuality parameter of the IH264VENC_Params structure to 3 (High speed mode on platinum encoder) or set the encodingPreset parameter of the VIDENC1_Params structure to XDM_HIGH_SPEED the creation fails. With CE_DEBUG=1 the error message is:
Algorithm_create> Assignment of alg resources through RMAN FAILED (0x8)
I looked in the user guide or in the forum for answers and think, that the codec in platinum mode needs much more ressources (EDMA channels or contigous memory). How can I assign these ressources to the codec? I could use the cmem module with different parameters but I'm not really sure what I'm doing. I had replace the loadmodules.sh file with the file from the codec test app but that doesn't work. Here is my loadmodules.sh-file for the module insertion and the bootargs I use:
# mem=60M console=ttyS0,115200n8 root=/dev/nfs rw nfsroot=<nfsroot> ip=dhcp video=davincifb:vid0=OFF:vid1=OFF:osd0=OFF dm365_imp.oper_mode=0
insmod cmemk.ko phys_start=0x83C00000 phys_end=0x88000000 pools=2x384,1x16384,1x2688,1x20480,3x74,1x60288,2x28,1x147048,1x10240,1x896,1x65536,1x663552,1x9175376,4x24,1x282624,2x5984,1x58144,1x1024,1x48952,1x464,2x16768,1x1251264,1x30720,1x65792,8x774144,1x173712,1x146,1x98,2x296,50x56,2x86,1x624,1x3328,1x518912,4x62,1x242,4x663552,1x1637824,14x1645056,1x16538976,4x1382400 allowOverlap=1 phys_start_1=0x00001000 phys_end_1=0x00008000 pools_1=1x28672
I added the allowOverlap=1 phys_start_1=... part at the end to allow TCM use by the codec.
Thank you for any answers!
There are several resources that are managed for the DM365 by RMAN (Edma3, vicp resources etc). If you could enable some trace then we could get an idea of what resource is running out.
Please enable trace for FC via configuration http://processors.wiki.ti.com/index.php/Trace_in_Framework_Components, and then run your application with CE_DEBUG=3. Please attach trace log for our review.
If my reply answers your question please mark the thread as answered
here is my log file. The error message is in line 4009. The application is the only one started after booting and logged in. I only execute the loadmodules.sh file with the cmemk, edmak, irqk and dm365mmap drivers and a little self-written driver, which doesn't use any edma channels or interrupts or contigous memory.
I forgot to enable trace support. Please use this file (debug_trace_2.log) with enabled debug + trace support for all framework components. If this helps, the error message is in line 9766.
since I enabled trace support for FC, another error message comes up with CE_DEBUG=1:
ti.sdo.rman - RMAN_assignResources> Resource protocol ti.sdo.fc.ires.examples.resources.memtcm and version 0xd4d24 didn't match any registered protocol and version
I looked into the FC directory but I didn't find an examples directory in ires. I found a memtcm directory in the ires directory. Maybe that is part of the problem.
PS: my FC version is 2.25.01.05 (DVSDK 3.10.00.16)
the problem is solved! After searching the FC directory, I found an example with the memtcm module. I added the lines of that config file to my config file and the encoder instance was created without errors. The 2 lines are:
var TCM = xdc.useModule('ti.sdo.fc.ires.memtcm.MEMTCM');
TCM.cmemBlockId = 1;
I'm glad your issue was fixed. The first line of defence is enabling trace and it usually points you to the issue.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.