Modified libstagefright to use legacy Qualcomm OMX IL libs on ICS for MSM7x27 SoCs

Search This thread

Ko_Ka

Senior Member
Oct 30, 2011
140
31
Dublin
This is the best news ive heard on here in I dunno how long!

Well done OP!

You have given my little phone a lease of hope, and prevented me from buying a new one, I hit Newsworthy thread, as it bloody is a newsworthy thread....

:victory:
 

Eskuero

Recognized Developer
Feb 15, 2012
1,388
2,284
Did someone try to get it working with JB?

I'm currently reading the libstagefright sources for CM10, but seems really far different to the ICS ones...
 

cybojenix

Retired Forum Mod / Retired Recognized Developer
Apr 7, 2012
801
1,864
Did someone try to get it working with JB?

I'm currently reading the libstagefright sources for CM10, but seems really far different to the ICS ones...

Someone from p500 team says they've ported the source to jb

Sent from my LG-P350 using xda app-developers app
 
  • Like
Reactions: tonoxha

cybojenix

Retired Forum Mod / Retired Recognized Developer
Apr 7, 2012
801
1,864
Can you give a me a link or something similar?

Hope this will work on CM10 too..

I'm sorry they haven't released it yet as far as I know. I told them about it and the first thing they did was port it. No report back on it so far

Sent from my LG-P350 using xda app-developers app
 

b3rvirus

Member
Jan 15, 2012
44
2
Yogyakarta, Indonesia
This is the best news ive heard on here in I dunno how long!

Well done OP!

You have given my little phone a lease of hope, and prevented me from buying a new one, I hit Newsworthy thread, as it bloody is a newsworthy thread....

:victory:
and that's a little bad news for quallcomm lol

Someone from p500 team says they've ported the source to jb

Sent from my LG-P350 using xda app-developers app

and tilal6991 from ZTE dev says that he are very close to get it working on CM10

update: recently he said that the OMX seems to have changed significantly enough that this code doesn't work on the cm 10 base

let's hope that someone can fix it for CM10
 
Last edited:

Eskuero

Recognized Developer
Feb 15, 2012
1,388
2,284
If the OP can give us some protips, or instead make an jb version of the fix would be awesome.
 

b3rvirus

Member
Jan 15, 2012
44
2
Yogyakarta, Indonesia
Can you upload on mediafire?

Gesendet von meinem LG-P350 mit Tapatalk 2

I can not dowlad on letitbir

Gesendet von meinem LG-P350 mit Tapatalk 2

It is the source that OP has provided us with, which needs to be compiled by developers,
you have to wait until developers of your device implemented this to his build

And that's a link of his ROM for ZTE Blade with these libs included
 

psyke83

Inactive Recognized Developer
Mar 29, 2011
1,267
3,959
Ganster41,

Thank you very much for this - I am building CM10 on my Samsung galaxy5 port and will report back soon. A very minor issue, but you should replace the LOG* tags with ALOG* for Jellybean.

Offtopic:

I see that you mentioned a lack of disk space to build CM10. I also had this problem until I did a little fiddling with symlinks, and now I have enough space to build CM7, 9 and 10 together.

First, move your current projects folder from your ics source to a shared folder, and then create a symlink:
Code:
mv .repo/projects ../projects-shared
ln -s ../projects-shared .repo/projects

Your ICS source will continue working as before.

The next part will create a jellybean folder and set up the same symlink to the projects-shared folder:

Code:
cd .. [i.e., the same folder as projects-shared]
mkdir -p jellybean/.repo/
cd jellybean
ln -s ../projects-shared .repo/projects
repo init -u git://github.com/CyanogenMod/android.git -b jellybean
repo sync

You will notice that the repo sync will go quite fast except for a few repositories that were never downloaded for the ICS branch (e.g. packages_apps_CMUpdater).

That's it! The two build systems should co-exist peacefully*. When you run "repo sync" in CM9 or CM10, you will save bandwidth when reposync'ing the other repository. Remember, a "git pull" (which is performed by repo) will updates all branches of a repository. This means that if you repo sync your ics build, the jellybean branches will also get updated in the process (but you will still need to "repo sync" for it to sync the local files, of course).

* The only caveat: do not perform any repo commands that can affect the projects-shared files (e.g. repo sync, repo upload) if you are running two different builds at the same time.
 
Last edited:

Eskuero

Recognized Developer
Feb 15, 2012
1,388
2,284
I'm currently building CM10 for an HTC Wildfire S now, will report it if I got compiling issues.
Hope that it didn't appear!:p

a bug appear and the build get stopped:

http://pastebin.com/ExeuHbVm

Just change LOGI into ALOGI :D
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 523
    Hi, low-end devices users! I have good news for you :)

    As you know, Qualcomm has ended support for their SoCs, based on ARMv6 core, and doesn't release OpenMax IL libraries for Android 4.0+. Someone was crying on Qualcomm's forum, someone try to understand, how to extend GB proprietaries to support new Google OMX extensions, but nobody try to modify libstagefright, and disable using new unimplemended functions...

    I spent about a few weeks, learning stagefright architecture, and differents between GB and ICS OMX layers...and now I ready to show it to you :)

    I have only ZTE Blade, and can make ROM only for it. You can download it here. In addition to worked hardware-accelerated video playback, and camcorder, it builded with Linaro GCC 4.7.1, and has a little UI speedup(if it not a placebo :) ). ROM based on KonstaT device tree, thanks him for it.
    Oh, my Dropbox temporary blocked to public links. I upload ROM to letitbit too.

    Modified framework's sources can be found on my github. Besides it, you need to add one global define to your device's BoardConfig.mk - COMMON_GLOBAL_CFLAGS += -DQCOM_LEGACY_OMX

    UPD: Patch already ported by XDA users! Read CM10 port thread.

    UPD2: Please, if you want my help with integration problem, attach logcat at the time, when you try to use vide playback/camcorder. I can't help without any information.
    This post can be helpful. Thanks to cougarcougar for it.

    UPD3: Fixed playing videos in Browser, and non-fullscreen mode.

    UPD4: Last important error on ICS is color banding on gradients in some videos. I think its not OMX work, that need something improvements in Surface rendering...

    UPD5: You can use updated OMX from attachment, and my last changes in libstagefright to enable HW playback of AVI, DivX, WMA and RealMedia formats! :)
    Big thanks to miroslav_mm for this research!
    For RealMedia some kernel improvements needed. Look here for differents.
    If you get a problems with new libs, you can try to still use your device oem libs. For get extended extractor working you need only add that:
    libdivxdrmdecrypt.so, libmmosal.so, libmmparser.so and libmmparser_divxdrmlib.so

    Important addition!
    Devices based on MSM7x27 chips has two different versions of OMX libs.
    "Old"(for froyo?) has an unknown padding between color components parts of returning buffer. I have fixed that for most videos, but some strange resolutions are still gets broken colors with green line on top.
    "New" version are present in Samsung/LG devices, who has official Gingerbread ROMs. It returns correct buffer in dfferent color format(YV12, instead of NV21), but it laggy on VGA+ videos. Now don't know why. May be it convert resulting buffer to YV12 on CPU... I will try to understand it later.
    I think you can use "old" libs from ZTE Blade on any device, because "new" libs work on ZTE Blade too.

    PS: If you want to thanks/support my work - you know where you can find button for it. ;)
    22
    I suggest everyone to press the "newsworthy thread" button ;)
    This is the best news I heard in a few months...
    and facepalm to Qualcomm
    20
    omx ALL the things!

    I'll give this a look and see what I can do. Thanks!
    13
    This decoders already implemented in our platform. You need only update OMX libs in your ROM to get it working.
    Last Samsung and LG phones already has it in its oem libs, i think, because it can play this formats on Gingerbread.
    12
    Wow,you are doing an amazing work right there. Big hopes for our little MSM7x27 devices :)