This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

video playing using h/w accelerator

Other Parts Discussed in Thread: 4460

Hi,

I'm trying to paly the video using H/w accelerators in jelly bean using panda board ES(omap 4460)

but it was loading ducati after DOMX error(D/DOMX    (  817): ERROR: failed check:(eError == OMX_ErrorNone) || (eError == OMX_ErrorNoMore) - returning error: 0x8000101a - Error returned from OMX API in ducati) was occuering.

Then video was playing using the software decoder.

please help me how to play the video using h/w decoder.

I'm attaching the logs.

I/ActivityManager(  269): START {act=android.intent.action.VIEW dat=content://media/external/video/media/22 typ=video/* cmp=com.android.gallery3d/.app.MovieActivity (8
W/OrientationEventListener(  798): Cannot detect sensors. Invalid disable
I/InputDispatcher(  269): Dropping event because there is no touched window.
W/BlobCache(  798): cannot read header
D/dalvikvm(  798): GC_CONCURRENT freed 4214K, 38% free 7178K/11564K, paused 15ms+7ms, total 61ms
D/dalvikvm(  798): WAIT_FOR_CONCURRENT_GC blocked 25ms
I/AudioService(  269):  AudioFocus  requestAudioFocus() from android.media.AudioManager@410ba330
I/ActivityManager(  269): Displayed com.android.gallery3d/.app.MovieActivity: +300ms
V/StateManager(  798): saveState
V/StateManager(  798): saveState class com.android.gallery3d.app.AlbumSetPage
V/StateManager(  798): saveState class com.android.gallery3d.app.AlbumPage
V/StateManager(  798): saveState class com.android.gallery3d.app.PhotoPage
E/WVMExtractor(  817): Failed to open libwvm.so
E/Trace   (  817): error opening trace file: No such file or directory (2)
[  206.836364] rpmsg_omx rpmsg-omx1: local addr assigned: 0x401
[  206.843139] omap-iommu omap-iommu.0: iommu_get: ducati qos_request
[  206.869781] omap_hwmod: ipu: failed to hardreset
[  206.878723] omap-iommu omap-iommu.0: ducati: version 2.1
[  207.083923] rpmsg_omx rpmsg6: conn rsp: status 0 addr 101
D/DOMX    (  817): ERROR: failed check:(eError == OMX_ErrorNone) || (eError == OMX_ErrorNoMore) - returning error: 0x8000101a - Error returned from OMX API in ducati
D/DOMX    (  817): ERROR: failed check:eError == OMX_ErrorNone - returning error: 0x8000101a -  Error in Proxy SetParameter for Enhanced port reconfig usage
I/OMXCodec(  817): [OMX.google.mpeg4.decoder] video dimensions are 352 x 288
I/OMXCodec(  817): [OMX.google.mpeg4.decoder] Crop rect is 352 x 288 @ (0, 0)
D/MediaPlayer(  798): getMetadata
I/OMXCodec(  817): [OMX.google.mpeg4.decoder] video dimensions are 848 x 480
I/OMXCodec(  817): [OMX.google.mpeg4.decoder] Crop rect is 848 x 480 @ (0, 0)
I/OMXCodec(  817): [OMX.google.mpeg4.decoder] video dimensions are 848 x 480
I/OMXCodec(  817): [OMX.google.mpeg4.decoder] Crop rect is 848 x 480 @ (0, 0)
D/dalvikvm(  269): GC_CONCURRENT freed 407K, 23% free 7569K/9760K, paused 4ms+9ms, total 109ms
W/OrientationEventListener(  798): Cannot detect sensors. Not enabled
D/dalvikvm(  798): GC_CONCURRENT freed 908K, 42% free 6759K/11564K, paused 7ms+7ms, total 52ms
D/dalvikvm(  798): WAIT_FOR_CONCURRENT_GC blocked 32ms
D/dalvikvm(  798): GC_FOR_ALLOC freed 8K, 40% free 6951K/11564K, paused 34ms, total 35ms
I/dalvikvm-heap(  798): Grow heap (frag case) to 7.835MB for 926736-byte allocation
D/dalvikvm(  798): GC_FOR_ALLOC freed <1K, 33% free 7856K/11564K, paused 37ms, total 37ms
I/GalleryEGLConfigChooser(  798): Config chosen: R5 G6 B5 A0 D24 S8 ID7 CAVEAT12344
I/GLRootView(  798): GLObject has changed from com.google.android.gles_jni.GLImpl@41050488 to com.google.android.gles_jni.GLImpl@4129a188
I/GLRootView(  798): onSurfaceChanged: 1024x564, gl10: com.google.android.gles_jni.GLImpl@4129a188
D/dalvikvm(  798): GC_CONCURRENT freed 42K, 32% free 7877K/11564K, paused 2ms+4ms, total 73ms
I/GLRootView(  798): onSurfaceChanged: 1024x564, gl10: com.google.android.gles_jni.GLImpl@4129a188
D/dalvikvm(  798): GC_FOR_ALLOC freed 30K, 33% free 7857K/11564K, paused 48ms, total 50ms
I/dalvikvm-heap(  798): Grow heap (frag case) to 8.720MB for 926736-byte allocation
D/dalvikvm(  798): GC_FOR_ALLOC freed <1K, 25% free 8762K/11564K, paused 41ms, total 41ms
D/dalvikvm(  798): GC_CONCURRENT freed 1K, 25% free 8767K/11564K, paused 2ms+6ms, total 55ms
D/dalvikvm(  798): GC_FOR_ALLOC freed 5K, 17% free 9672K/11564K, paused 32ms, total 32ms
I/dalvikvm-heap(  798): Grow heap (frag case) to 10.493MB for 926736-byte allocation
D/dalvikvm(  798): GC_FOR_ALLOC freed <1K, 16% free 10577K/12472K, paused 33ms, total 33ms
I/AudioService(  269):  AudioFocus  abandonAudioFocus() from android.media.AudioManager@410ba330
D/dalvikvm(  798): GC_FOR_ALLOC freed 3K, 16% free 10577K/12472K, paused 29ms, total 29ms
I/dalvikvm-heap(  798): Grow heap (frag case) to 11.375MB for 926736-byte allocation
D/dalvikvm(  798): GC_FOR_ALLOC freed 4K, 15% free 11477K/13380K, paused 31ms, total 31ms
V/StateManager(  798): finishState com.android.gallery3d.app.PhotoPage@410c2be0
I/GLRootView(  798): layout content pane 1024x564 (compensation 0)
V/StateManager(  798): finishState com.android.gallery3d.app.AlbumPage@4103b4c0
D/Gallery.MultiSetSync(  798): onSyncDone: MTP devices #pending=2
D/Gallery.MultiSetSync(  798):   request sync: MTP devices
D/Gallery.MultiSetSync(  798): onSyncDone: Local albums #pending=1
D/Gallery.MultiSetSync(  798):   request sync: Local albums
D/Gallery.MultiSetSync(  798): onSyncDone: picasa #pending=0
D/Gallery.MultiSetSync(  798):   request sync: picasa
I/GLRootView(  798): layout content pane 1024x564 (compensation 0)
V/MtpDeviceSet(  798): loadDevices: [], size=0

with regards

v

  • Panda board is not supported in this forum.

    Could you try Ducati binary like indicate in next post?

    http://e2e.ti.com/support/omap/f/849/p/217986/768060.aspx#768060

    In this post it is indicated for 4AJ.1.1 and Blaze.

    What release are you using? 4AJ1.1?, if it is 4AJ.2.1 follow same instructions.

  • I tried with 4Aj1.1 and 4AJ.2.1.

    if I use the above binaries I'm getting below error.

    [    8.020599] omap-rproc omap-rproc.1: Loaded BIOS image ducati-m3.bin, size 7664364
    [    8.030517] omap-rproc omap-rproc.1: BIOS image version is 2
    [    8.037414] rproc_check_poolmem: section size does not fit within carveout memory
    [    8.045593] omap-rproc omap-rproc.1: static memory for IPU_MEM_IPC_VRING doesn't belong to poolmem
    [    8.055328] omap-rproc omap-rproc.1: Failed to process the image: -28.

    so I'm using the binary form the working ICS file system, which was using the H/w accelerator on Panda board ES(omap 4460). But I'm getting the above error(mentioned in previous post).



  • Hi Vnai,

    That error is because the memory needed by ducati have change, try enabling HIGHMEM in your kernel. That should allow you to start ducai properly.

  • Hi,

    I was tried by enabling CONFIG_HIGHMEM in my kernel (3.0.31)

    but i am getting the build errors

    drivers/media/video/tiler/tiler-iface.c: In function 'tiler_virt2phys':
    drivers/media/video/tiler/tiler-iface.c:160: error: implicit declaration of function 'kmap_atomic'
    make[4]: *** [drivers/media/video/tiler/tiler-iface.o] Error 1
    make[3]: *** [drivers/media/video/tiler] Error 2
    make[2]: *** [drivers/media/video] Error 2
    make[1]: *** [drivers/media] Error 2

    With Regards

    V

  • Are you changing something else in the kernel?, because I don't see any kmap_atomic in that file line 160.

    Please check the changes you are doing and try again.

  • Hi Israel,

    Thank you for the answer.

    We have the same issue.

    HIGHMEM is enabled in the .config, but still the same issue:

    The kernel is based on the Blaze - 4AJ.2.1 with some modifications.

    As you know, we are using the RFBI, so HDMI, DPI and other DSS modules are disabled.

    [ 5.491699] omap-rproc omap-rproc.1: Loaded BIOS image ducati-m3.bin, size 7664364
    [ 5.501495] omap-rproc omap-rproc.1: BIOS image version is 2
    [ 5.508331] rproc_check_poolmem: section size does not fit within carveout memory
    [ 5.516754] omap-rproc omap-rproc.1: static memory for IPU_MEM_IPC_VRING doesn't belong to poolmem
    [ 5.526855] omap-rproc omap-rproc.1: Failed to process the image: -28

    I have few ducati-m3.bin - what are differences:

    -rwxr-xr-x 1 gil gil 1388356 2012-10-31 11:14 ./hardware/ti/omap4xxx/domx/Ducati_binary/etc/firmware/ducati-m3.bin
    -rwxr-xr-x 1 gil gil 1388356 2012-10-31 11:14 ./hardware/ti/domx/Ducati_binary/etc/firmware/ducati-m3.bin
    -rw-r--r-- 1 gil gil 6803232 2012-10-31 17:55 ./out/target/product/blaze/system/vendor/firmware/ducati-m3.bin
    -rw-r--r-- 1 gil gil 7664364 2012-11-08 11:46 /home/gil/Downloads/4AJ.2.1_Blaze_ducati-m3.bin

    I am using the blaze system.img - by just downloading it, but I think I will use my compiled system.img.

    Any ideas?

    Thank you

  • Hi Gil,

    The default ducati-m3.bin that comes in the mydroid is an old version, what you have to do is to replace that with the prebuild version that match with that release as pointed in the Relese Notes.

    Building Ducati

    Appropriate Ducati binary can be found on Android: Working with pre-built binaries page.

    Just download the binary and place it in out/target/product/<blaze or blaze tablet>/system/vendor/firmware/ducate-m3.bin before create the system.img. Or if you aready flash the system.img try pushing the file using adb.

    After that it should work.

  • Hi Israel,

    As you see, the file I have downloaded from Omappedia 4AJ.2.1 is 7664364 bytes.

    Which is what the log says it is loading too.

    So I have the new ducati-m3.bin in the system:

    root@android:/system/vendor/firmware # ls -l
    -rw-r--r-- root root 7664364 2012-10-19 09:08 ducati-m3.bin
    lrw-r--r-- root root 2012-10-18 15:19 hdcp.keys -> /factory/hdcp.keys
    -rw-r--r-- root root 199068 2012-10-18 15:59 tesla-dsp.bin

    Do I need to do anything else in the kernel to expect this big binary file?

    Thank you

    Gil

  • Hi,

    No, I have only changed the CONFIG_HIGHMEM in the configeration. If I disable this the Build didn't facing any errors.

  • Error 0x8000101a from ducati Corresponds to ErrorUnsupportedIndex.

    Log shows Setparam call for Enhanced port reconfig is resulting in this.

    This could happen due to index mismatch between ducati and domx (mostly due to version mismatch in two)...


  • Is There any ducati binary available for panda board ES using 3.0.31 kernel and jelly bean FS .

    Is It possible to increase the carveout memory.

  • Check this: http://www.omappedia.com/wiki/4AI.1.7_OMAP4_Icecream_Sandwich_Panda_Notes

    It is not JB, but is is a kernel 3.0.31 and ducati is working, so you can use that kernel, change the FS to one from JB and use it's ducati-m3.bin if that meets your expectations.

    carvout memory is increased by using HIGHMEM, seems like that patch fix that in the release from that link.

  • Hi,

    I already used that ducati binary.

    I'm getting carveout memory issue.

    I try to solve that by enabling HIGHMEM in the kernel configeration. But if enable that i am getting build errors.

     

  • Hi Gil,

    It is a big file because it has the OS for the M3 cores, video codecs, etc. You don't need to do anything else, are you still having issues?

  • Hi Israel,

    Nope, I wasn't able to resolve this issue.

    I tried many configurations.  But in the end - I tried the kernel you attached with the 9 patches patched and still the same issue.

    I run the kernel on my board (change the Panda mach-id to mine to be able to boot) and still the same issue.

    I have attached the log.8814.logcat_4AJ.1.7_panda_mem4g.txt

    Thank you

    Gil

  • Gil,

    Are you trying with the kernel from AI.1.7 release?, if that is the case you should use the ducati binary from that release to, it should be this size:

    -rw-rw-r-- 1 israel israel   6727928 Oct 25 21:10 4AI.1.7_Blaze_ducati-m3.bin

  • I tried this now, Still the same issue.

    <6>[ 10.809051] omap-rproc omap-rproc.1: Loaded BIOS image ducati-m3.bin, size 6727928
    <6>[ 10.818786] omap-rproc omap-rproc.1: BIOS image version is 2
    <4>[ 10.826293] rproc_check_poolmem: section does not fit in carveout memory, pa=0xb2a00000 size=0x100000 st_base=0xef200000 st_size=0xd300000
    <3>[ 10.843353] omap-rproc omap-rproc.1: static memory for IPU_MEM_IPC_VRING doesn't belong to poolmem

    if (pa < pool->st_base || pa + size > pool->st_base + pool->st_size) 

    So, pa=0xb2a00000 < st_base=ef200000 - which causes the failure.

    It is not the size, only the start address.

    Which is defined here: omap4_ducati_heap_addr = 0xef200000

    I am not sure where 0xb2a00000 is coming from...

    Gil

  • HI Israel,

    One more thing to add to my previous post.

    My board is a bit different then Panda board by having one a different memory:

    static __initdata struct emif_device_details emif_devices = {
    .cs0_device = &lpddr2_micron_4G_S4_dev
    };

    micron is the same as elpida, but we use 4G instead of 2G and CS0 instead of CS0 and CS1.

    Thank you

  • Can you share the boot args you are passing to the kernel?

  • bootargs=console=ttyO2,115200n8 mem=456M@0x80000000 mem=512M@0xA0000000 init=/init vram=10M omapfb.vram=0:4M androidboot.console=ttyO2

    Thank you

  • Gil,

    Try passing "mem=1G vmalloc=768M" instead of "mem=456M@0x80000000 mem=512M@0xA0000000"

  • Gil,

    Try what Grigory mention, but since you are using a 4G memory I am not sure about the fist parameter, it might be changed. Please try also changing it to 4G. But you need the vmalloc.

  • Hi Israel,

    Nope, that didn't work, still the same issue:

    Here is my the full bootargs:

    #define CONFIG_BOOTARGS "console=ttyO2,115200n8 mem=4G vmalloc=768M init=/init vram=48M omapfb.vram=0:2M,1:2M androidboot.console=ttyO2 omapdss.debug=y omapfb.debug=y consoleblank=0 omapfb.mode=kopin_a230_panel:428x240"

    What else can I do?

    Thank you