TI E2E Community
OMAP™ Applications Processors
OMAP 4 Forum
OMX_ErrorHardware which is 0x80001009 is returned from OMX_GetHandle
On tablet with OMAP4 processor, when try to use hardware Codec by calling TI component, we found OMX_ErrorHardware which is 0x80001009 is returned from OMX_GetHandle.
We use following steps in native code:
1) dlopen /system/lib/libOMX_Core.so
2) dlsym OMX_Init, OMX_GetHandle from 1)
3) call OMX_Init and OMX_GetHandle ..
Components we tried are OMX.TI.DUCATI1.VIDEO.DECODER and OMX.TI.DUCATI1.VIDEO.H264E. Os version is Android 4.0.1
But returned value from OMX_GetHandle is OMX_ErrorHardware which is 0x80001009.
Why calling OMX component is failed on TI component? Does anyone have suggestions about how to call TI component in native code? Thx.
This is a forum for OMAP4 discussions only, not OMAP3. Also, for panda related questions use the appropriate google group.
Please click the Verify Answer button on this post if it answers your question
Be sure to read the OMAP4 and OMAP5 Forum Guidelines and FAQ
The question is also w.r.t OMAP4 (Panda). This is very much specific to DUCATI and OpenMax. Hope TI can provide support
I was my mistake, i introduced OMAP3 comments in this forum, it was in order to provide code that handles buffer movement, just has reference;
this error is returned from next file if you look at the line 658,
Can you share your original code? not the one that was base in OMAP3 that is already shared.
No problem about code, let me check this using the one already shared. thanks.
I got over this code point using next configuration in Android.mk
////////////////////////////include $(CLEAR_VARS)LOCAL_MODULE := hello-nativeLOCAL_SRC_FILES := hello-jni.cLOCAL_LDLIBS := -ldl -llogLOCAL_MODULE_TAGS := optionalLOCAL_CFLAGS := -DANDROID_NDK -DOMAP_ENHANCEMENT -DTARGET_OMAP4 -DENHANCED_DOMXinclude $(BUILD_EXECUTABLE)
like i am using NDK and not building it from inside $MYDROID build.mk flags are not being called. the ones from
***********OMAP_ENHANCEMENT := true
***********ifdef OMAP_ENHANCEMENTCOMMON_GLOBAL_CFLAGS += -DOMAP_ENHANCEMENT -DTARGET_OMAP4endif
other flags that could affect are; but it doesn't discard other configurations used from this file,
BOARD_USES_GENERIC_AUDIO := falseUSE_CAMERA_STUB := trueOMAP_ENHANCEMENT := trueENHANCED_DOMX := true
the part of -DENHANCED_DOMX makes reference to use
like OpenMax IL include directory,
then try to build it by adding your code inside hardware/ti to get actual flags in use.
try to use
for configuration settings and buffer allocation, i referred to OMAP3 code to note about buffer handling that was requested, this is the use of OMX_EmptyThisBuffer-OMX_EmptyBufferDone/OMX_FillThisBuffer-OMX_FillBufferDone and EventHandler code, that is handled by Stagefright.
You can find Android.mk file here Android.mk(right click+save file)
Thanks, But little confused about the reply. Did you try to run the code i had shared with your changes ? Did it work ?
1.In your case are you using NDK to make openmax calls or you are using ANDROID source tree to make openmax calls ?
2.Is it possible to share the sources which works with NDK or Android Source Tree.
As i said earlier I basically want to make use DUCATI for hardware acceleration. ( taking YUV as input and giving encoded 264 data as output)
Any pointers or links would be helpful.
I made tests from Android Source Tree not from NDK directory, for my source code I only have first calls as this post is going.
I working to get full code for OMX calls code, it must take me a week and a half.
But by what i have read it must reference to Android's source directories for DOMX in order to open all the keys.
Do you require to do it by using?
1. NDK folder? or it can be from Android Source Tree?
2. using dlopen(), dlsym()? like thread goes? right?
I need the android source tree based approach which you have done.
Can you kindly share the code of sample video encode and video decode using hardware codecs via omx ?
Thanks in advance for your help.
I am still working to get Video Decode code, it is not finished yet but running it is not getting any error and passes by all OMX_Init()-OMX_Deinit() process.
Can you read it and tell me if it is kind of code you are looking for? code is in next link
It must not be difficult to move it to use dlopen() my idea is to get it functional and then move it, but it seems is taking me some more time than I thought.
It is based it using code from /mydroid/hardware/ti/domx/test/sample_proxy
Yes exactly. (http://review.omapzoom.org/22418). I am looking for similar kind of the code for panda.
This code was provided for reference, you will be responsible to port it to panda. This forum is not for panda questions - see guidelines.
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.