TI E2E Community
Multimedia Software Codecs
Multimedia Software Codecs forum
VISA_create2> FAILED to create local codec
i am trying to play a mp4 file using OMX (openmax interface) hardware codecs on DM365 platform .i have ported Android froyo on DM365 platform .
dvsdk version used is dvsdk_3_00_01_10.i am not able to see the CE Debug messages even after exporting the variable CE_DEBUG=2.
somehow managed to print some log messages and the problem got traced to VISA_create2 function.
E/libnav ( 1707): Into Codec Engine VIDDEC2_create funE/libnav ( 1707): Into Codec Engine VISA_create funE/libnav ( 1707): Into Codec Engine VISA_create2 funE/libnav ( 1707): VISA_create2> FAILED to create local codec.E/libnav ( 1707): VISA_create2 failedE/libnav ( 1707): out from Codec Engine VIDDEC2_create funE/libnav ( 1707): Failed to open video decode algorithmI/omx-dsp ( 1707): 0273928317 [VIDEO.ERROR] Failed to open decoder 'mpeg4dec'
can anyone help me whats going wrong when i try to play a mp4 file ?also please let me know the correct params variable to be passed to Videc2_create function in the DMAI layer.
i'm facing with the same issue on our target board, i just want to know if you get your problem solved.
Does CE_DEBUG=3 generate any additional trace? Are you able build your application with 'debug' profile components and step into the VISA create function? If you have the algorithm package source you may also want to put a breakpoint in its algorithm IALG::algAlloc function. (external symbols should be published with the algorithm documentation).
A creation error would likely be due to running out of a system resource (memory, dma channels, vicp, ... ) perhaps posting relevant information of your application configuration might have some clues.
Thanks for you post.
this is what i have done :
status = VIDDEC2_process(pvideodec->hDecoder, &inBufs, &outBufs, &inArgs, &outArgs);status Failed with -1 and getlastererror: 0printf("decodedBufs.extendedError 0x%x\n" , (int)outArgs.decodedBufs.extendedError);decodedBufs.extendedError return with 0x0
with CE_DEBUG=3 i get
@83,574,873us: [+0 T:0x41b15490 S:0x41b141e4] ti.sdo.ce.video2.VIDDEC2 - VIDDEC2_process> Enter (handle=0x335dd8, inBufs=0x41b14ac0, outBufs=0x41b14ab4, inArgs=0x41b14aa8, outArgs=0x41b14308)
@83,575,113us: [+5 T:0x41b15490 S:0x41b141c4] CV - VISA_enter(visa=0x335dd8): algHandle = 0x335e10
@83,575,351us: [+0 T:0x41b15490 S:0x41b141b4] ti.sdo.ce.alg.Algorithm - Algorithm_activate> Enter(alg=0x335e10)
@83,575,553us: [+0 T:0x41b15490 S:0x41b1417c] ti.sdo.ce.osal.SemMP - Entered SemMP_pend> sem[0x335c28] timeout[0xffffffff]
@83,575,774us: [+0 T:0x41b15490 S:0x41b1417c] ti.sdo.ce.osal.SemMP - Leaving SemMP_pend> sem[0x335c28] status
@83,576,059us: [+0 T:0x41b15490 S:0x41b141c4] ti.sdo.ce.alg.Algorithm - Algorithm_activate> Exit
@83,576,359us: [+5 T:0x41b15490 S:0x41b141cc] CV - VISA_exit(visa=0x335dd8): algHandle = 0x335e10
@83,576,565us: [+0 T:0x41b15490 S:0x41b141bc] ti.sdo.ce.alg.Algorithm - Algorithm_deactivate> Enter(alg=0x335e10)
@83,576,772us: [+0 T:0x41b15490 S:0x41b1419c] ti.sdo.ce.osal.SemMP - Entered SemMP_post> sem[0x335c28]
@83,576,981us: [+0 T:0x41b15490 S:0x41b1419c] ti.sdo.ce.osal.SemMP - Leaving SemMP_post> sem[0x335c28]
@83,577,168us: [+0 T:0x41b15490 S:0x41b141cc] ti.sdo.ce.alg.Algorithm - Algorithm_deactivate> Exit
@83,577,344us: [+0 T:0x41b15490 S:0x41b141e4] ti.sdo.ce.video2.VIDDEC2 - VIDDEC2_process> Exit (handle=0x335dd8, retVal=0xffffffff)
any ideas ????
thanks in advance.
It looks like you are farther along, past the 'create' phase, and now bumping into issues as to how to use the codec. (Curious what the issue was with creation before.)
Your trace here shows that as far as Codec Engine is concerned everything went as expected. However, your decoder has returned -1, which is a general non-specific failure.
This could be due to a lot of codec specific reasons, so you will have to ensure that you have created the codec with the supported creation parameters, and are passing everything as expected by the codec's process() function. These include the sizes of the inBufs and outBufs, and the other attributes of the inArgs and outArgs. I am not a codec expert, so you would need to rely on documentation about the codec.
You may also want to check the 'extendedError' fields of the outArgs after the process() function returns, to see if there is any more specific error information.
Thanks very much.
it was found out that if the app is running not in the script but the active shell, the timeout message gone:
Entered SemMP_pend> sem[0x335c28] timeout[0xffffffff].
I have checked "extendedError"
i don't know why if CE_DEBUG=2/3 is set, i get none zero value with the "extendedError" or else it was always 0.
now i get extendedError of 0x40211620
the LSB 0x20 tell us that the error is :
which tell me that Error in frame number.
what's that referring to ???
i'm reading the 264 file form sps, pps, and I form the beginning.
any coments will be thankfull.
I am not familiar with the codec specifics or the extended error code you are observing. My advice is to read up on the documentation and check your usage.
Perhaps someone in the community with better insight might reply.
thanks any way.
i get my problem solved
i check every thing passed to the code engine, and compare it with the one using DMAI interface.
now it works.
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.