5,594,077 Members 47,201 Now Online
XDA Developers Android and Mobile Development Forum

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

Tip us?
 
Ganster41
Old
(Last edited by Ganster41; 23rd November 2012 at 11:40 AM.) Reason: Add some extra info about extended extractor
#1  
Member - OP
Thanks Meter 635
Posts: 48
Join Date: Sep 2011

 
DONATE TO ME
Talking Modified libstagefright to use legacy Qualcomm OMX IL libs on ICS for MSM7x27 SoCs

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.
Attached Files
File Type: zip OMX_libs_update.zip - [Click for QR Code] (1.35 MB, 1869 views)
The Following 524 Users Say Thank You to Ganster41 For This Useful Post: [ Click to Expand ]
 
Bytecode
Old
#2  
Bytecode's Avatar
Recognized Developer
Thanks Meter 4456
Posts: 2,589
Join Date: Dec 2010
Location: /dev/null
Wow,you are doing an amazing work right there. Big hopes for our little MSM7x27 devices
Bytecode - fifteen year old (currently not in Android anymore) developer

My devices:
thunderg>mint>maguro>mako>hammerhead

Quote:
I respect GPL and other people - you can find all my sources at github.com/BytecodeX
Quote:
I am a androidarmv6 contributor - helping old legacy devices get a better Android experience. https://github.com/androidarmv6
The Following 12 Users Say Thank You to Bytecode For This Useful Post: [ Click to Expand ]
 
cybojenix
Old
#3  
cybojenix's Avatar
Recognized Developer
Thanks Meter 716
Posts: 610
Join Date: Apr 2012

 
DONATE TO ME
awesome work
testing on p350 now
Quote:
<cybojenix> Every single language makes sense. They're logical
<cybojenix> Then there's just Perl.
<helicopter88> perl just looks like an esotheric language
<cybojenix> Perl is what came out from those monkeys trying to recreate Shakespeare
<helicopter88> cybojenix, this is the wise sentence of the month

like my work? buy me a present
 

Proud member of TeamHackLG


contact me here
My Builds
P350 kernels: 2.6.35 | 3.0.x
Github
devices: p350 | e610 | Nexus 7 | tegra note 7

The Following User Says Thank You to cybojenix For This Useful Post: [ Click to Expand ]
 
DJBhardwaj
Old
#4  
DJBhardwaj's Avatar
Recognized Contributor
Thanks Meter 1798
Posts: 3,092
Join Date: Apr 2011
Location: Delhi

 
DONATE TO ME
Huge awesomeness! not developing anymore or would have started building!
Good job
Nexus 4 - ThinkingBridge ROM (Latest build) // Nexus S - ThinkingBridge ROM (Latest build) // HTC Desire Z - AOSP 4.2.2 // LG Optimus One - CyanogenMod 10
Nexus 4 Guide // Nexus S Guide
Follow me on Twitter!

( ( Join The Nexus 4 Geeks Community on G+ ) )


Kindly Obey The Forum Rules
Are you a Recognized Contributor? Please read this
 

 
b3rvirus
Old
(Last edited by b3rvirus; 29th October 2012 at 11:13 PM.)
#5  
b3rvirus's Avatar
Member
Thanks Meter 2
Posts: 32
Join Date: Jan 2012
Location: Yogyakarta, Indonesia
Great!

I have tested your build on my Blade
and this is the first time in history that our old armv6 device can play 800x480 videos on ICS!

hope the other dev can see this and works together to fix the remaining issues

keep up the good work!
 
fundoozzz
Old
#6  
fundoozzz's Avatar
Senior Member
Thanks Meter 1210
Posts: 1,558
Join Date: Sep 2011
Location: New Delhi
Thanks a lot.
Video playback was the only thing that was keeping me away from ics
Sony Xperia S

Google +


Open dropbox account from this link and we both get 250MB additional space
 
thachtunganh
Old
#7  
thachtunganh's Avatar
Senior Member
Thanks Meter 1979
Posts: 1,672
Join Date: Mar 2011
Location: Hà Nội - Hanoi
YOU ARE THE MAN!!!!!:thumbup::thumbup::thumbup::thumbup::thumb up::thumbup::thumbup::thumbup:

Sent from my Desire HD using xda app-developers app
Sony Xperia SP - running on Cyanogenmod 10.1 unofficial build
  • I brought sweep2wake feature for Atmel touch panel driver to HTC Desire HD for Android with Sense 4.1.
Advice: Only Use Original Software
Nevermind, install CyanogenMod ROM, doesn't matter it's unofficial or official version, believe me, it's still the best!
The Following User Says Thank You to thachtunganh For This Useful Post: [ Click to Expand ]
 
shreyas.kukde
Old
#8  
shreyas.kukde's Avatar
Senior Member
Thanks Meter 614
Posts: 520
Join Date: Feb 2011
Location: Amravati
HOLY MOTHER OF GOD
ALL THE BEST DEVS
The Following User Says Thank You to shreyas.kukde For This Useful Post: [ Click to Expand ]
 
acerkumar
Old
#9  
acerkumar's Avatar
Senior Member
Thanks Meter 29
Posts: 278
Join Date: Jun 2012
Excellent good job.

Sent from my LG-P500 using xda premium
 
aspee
Old
#10  
aspee's Avatar
Recognized Contributor
Thanks Meter 1027
Posts: 662
Join Date: Aug 2011
Location: mumbai
Now this is real development.
It‘s Legend! Wait for it! Dary!
Legendary!

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

The Following 3 Users Say Thank You to aspee For This Useful Post: [ Click to Expand ]
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes