5,603,858 Members 40,160 Now Online
XDA Developers Android and Mobile Development Forum

[WIP] Modified libstagefright for Qualcomm OMX IL for MSM7x27 SoCs running JB

Tip us?
 
Rashed97
Old
(Last edited by Rashed97; 17th November 2012 at 04:04 AM.)
#1  
Rashed97's Avatar
Recognized Contributor / Recognized Developer - OP
Thanks Meter 9013
Posts: 1,441
Join Date: May 2012

 
DONATE TO ME
Default [WIP] Modified libstagefright for Qualcomm OMX IL for MSM7x27 SoCs running JB

First of all, here is Ganster41's original post and HERE is a link:
Quote:
Originally Posted by Ganster41 View Post
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: I make same changes in CM10 sources tree, but it doesn't working, and I can't try to fix it, because haven't enough disk space to build CM10 ROM. I think, Google changes OMX API again, and it needs more fixes to get it working. You can download sources from here. For now I not interestid in CM10, because now it laggy and has some not good issues.

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.

UPD3: If you trying to make port for your device, this post can be helpful. Thanks to cougarcougar for it.

UPD4: We still get errors, if trying to play videos from some apps(e.g. Android browser) in not-fullscreen mode. gralloc or mmap returns error, when try to map buffers from NativeWindow. If anybody have ideas how to fix it, please write it here, or to my PM...

Important addition!
Devices based on MSM7x27 chips has two different versions of OMX libs.
"Oldt"(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.
Now for this thread:
This is a project for porting this over to JB. Currently it builds. That's just about it. We need to make this work.
Current contributors are:
  • Rashed97
  • Bytecode
  • bieltv.3
  • erikcas

And the repos currently resides at: https://github.com/androidarmv6/android_frameworks_av and https://github.com/androidarmv6/andr...meworks_native

Anyone else wanting to work on this, just shoot me a PM and I'll add you to the list and the repo!
--Rashed

NOTICE: My PM is not a help central. I will not reply to any messages about simple stuff that has already been discussed on the forums nor will I reply to any messages asking me simple questions that will receive answers on the forums. Thank you.

My devices:
LG Thrive (P506):
Baseband: 1.1
Kernel: Android ARMv6 3.0.8 Kernel
ROM: CM 10.1 (by Me)
Governor: smartassV2
Min: 122 MHz
Max: 806 MHz
Recovery: 5.0.2.0 for P500 (ROManager) or 6.0.2.8 (by Me)

Motorola Moto X (XT1049):
Kernel: Stock 3.4
ROM: Stock 4.2.2

My Stuff:
CyanogenMod 10 (Jelly Bean) for LG MSM7x27 | CyanogenMod 10.2 (Jelly Bean) for LG MSM7x27 | Google Apps Lightweight for ARMv6
OMX (JB) for MSM7x27 | CWM 6.0.2.7 for LG MSM7x27 | 3.0 Kernel for LG MSM7x27


Code:
I'm a 16 year old Recognized Developer ;)
The Following 50 Users Say Thank You to Rashed97 For This Useful Post: [ Click to Expand ]
 
gabrielking9
Old
#2  
Senior Member
Thanks Meter 397
Posts: 2,239
Join Date: Feb 2012
Location: Recife
Good Luck with this project! Hope you get it working on JB.

Sent from my GT-S5570 using xda app-developers app
Press thanks if i helped you.

Device
Samsung Galaxy Mini S5570B - DEAD
Motorola Razr D1 XT916 - LIVE
The Following 2 Users Say Thank You to gabrielking9 For This Useful Post: [ Click to Expand ]
 
OliverG96
Old
#3  
OliverG96's Avatar
Recognized Developer
Thanks Meter 1970
Posts: 1,281
Join Date: Feb 2012
Location: Canary Islands
I'm interesting on get it working, but not sure if really I can help, I'll continue testing some fixes in my local, and if a discover something interesting I'll give you the info.


Enviado desde mi Wildfire S A510e usando Tapatalk 2
ĦA la tortilla se le echan huevos! ĦMuchos huevos!
The Following User Says Thank You to OliverG96 For This Useful Post: [ Click to Expand ]
 
hcweb
Old
(Last edited by hcweb; 9th November 2012 at 02:52 AM.)
#4  
hcweb's Avatar
Member
Thanks Meter 31
Posts: 72
Join Date: Jun 2009
Location: Mayaguez

 
DONATE TO ME
Im gonna give it a try, and see what happends.

Edit 1: Mine did boot how can I verify that its working?

Edit 2: Its complaining about a missing libwvm.so
 
erikcas
Old
#5  
erikcas's Avatar
Recognized Developer
Thanks Meter 4782
Posts: 1,784
Join Date: May 2008
Location: Castricum
Rashed, sent you PM. Done some things on this.
like I said in PM, it is some port from CM9 and result of a little out-of-the-box thinking
HQ stream comes in but lags (..we're much too late, skipping..." in logcat)
see https://github.com/erikcas/android_frameworks_av/
The Following 2 Users Say Thank You to erikcas For This Useful Post: [ Click to Expand ]
 
Rashed97
Old
#6  
Rashed97's Avatar
Recognized Contributor / Recognized Developer - OP
Thanks Meter 9013
Posts: 1,441
Join Date: May 2012

 
DONATE TO ME
Quote:
Originally Posted by erikcas View Post
Rashed, sent you PM. Done some things on this.
like I said in PM, it is some port from CM9 and result of a little out-of-the-box thinking
HQ stream comes in but lags (..we're much too late, skipping..." in logcat)
see https://github.com/erikcas/android_frameworks_av/
Are the errors something like this?
"The main process is doing to much work on its main thread. Skipping xx frames!"

If they are I get those too...



Sent from my iPod touch using Tapatalk
--Rashed

NOTICE: My PM is not a help central. I will not reply to any messages about simple stuff that has already been discussed on the forums nor will I reply to any messages asking me simple questions that will receive answers on the forums. Thank you.

My devices:
LG Thrive (P506):
Baseband: 1.1
Kernel: Android ARMv6 3.0.8 Kernel
ROM: CM 10.1 (by Me)
Governor: smartassV2
Min: 122 MHz
Max: 806 MHz
Recovery: 5.0.2.0 for P500 (ROManager) or 6.0.2.8 (by Me)

Motorola Moto X (XT1049):
Kernel: Stock 3.4
ROM: Stock 4.2.2

My Stuff:
CyanogenMod 10 (Jelly Bean) for LG MSM7x27 | CyanogenMod 10.2 (Jelly Bean) for LG MSM7x27 | Google Apps Lightweight for ARMv6
OMX (JB) for MSM7x27 | CWM 6.0.2.7 for LG MSM7x27 | 3.0 Kernel for LG MSM7x27


Code:
I'm a 16 year old Recognized Developer ;)
The Following User Says Thank You to Rashed97 For This Useful Post: [ Click to Expand ]
 
erikcas
Old
#7  
erikcas's Avatar
Recognized Developer
Thanks Meter 4782
Posts: 1,784
Join Date: May 2008
Location: Castricum
Quote:
Originally Posted by Rashed97 View Post
Are the errors something like this?
"The main process is doing to much work on its main thread. Skipping xx frames!"

If they are I get those too...



Sent from my iPod touch using Tapatalk
Exactly those

Verstuurd van mijn GT-S5660 met Tapatalk
 
hcweb
Old
#8  
hcweb's Avatar
Member
Thanks Meter 31
Posts: 72
Join Date: Jun 2009
Location: Mayaguez

 
DONATE TO ME
Quote:
Originally Posted by erikcas View Post
Quote:
Originally Posted by Rashed97 View Post
Are the errors something like this?
"The main process is doing to much work on its main thread. Skipping xx frames!"

If they are I get those too...



Sent from my iPod touch using Tapatalk
Exactly those

Verstuurd van mijn GT-S5660 met Tapatalk
I get those everywhere including messeges app with or without the omx hack, to me those errors can be ignore, that's android saying the thing it just doing it taking a lot of cpu power to the point the screen frame started to skip.
The Following User Says Thank You to hcweb For This Useful Post: [ Click to Expand ]
 
erikcas
Old
#9  
erikcas's Avatar
Recognized Developer
Thanks Meter 4782
Posts: 1,784
Join Date: May 2008
Location: Castricum
Quote:
Originally Posted by hcweb View Post
I get those everywhere including messeges app with or without the omx hack, to me those errors can be ignore, that's android saying the thing it just doing it taking a lot of cpu power to the point the screen frame started to skip.
I got those on ICS too when lagging. When solved they dissapeared so in my opinion they cannot be ignored.

Also. Skipping frames equals lag implicitly imo

Verstuurd van mijn GT-S5660 met Tapatalk
 
hcweb
Old
#10  
hcweb's Avatar
Member
Thanks Meter 31
Posts: 72
Join Date: Jun 2009
Location: Mayaguez

 
DONATE TO ME
Quote:
Originally Posted by erikcas View Post
I got those on ICS too when lagging. When solved they dissapeared so in my opinion they cannot be ignored.

Also. Skipping frames equals lag implicitly imo

Verstuurd van mijn GT-S5660 met Tapatalk
I know its a more detailed way of saying the app just hanged and its laggin, its helpfull to identify if its running full at perfromance, but imo it does not give right now a reason why it does not work at all. Later this night im gonna post a more detail log about the errors.

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes