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

Search This thread

Eskuero

Recognized Developer
Feb 15, 2012
1,388
2,284
Here CM10, HQ Playback it's still laggy, faster, but need more improvements...
 

asturel

Member
Oct 28, 2010
38
13
which devices use it?

Sent from my GT-S5570 using xda app-developers app

xperia x8, htc leo, n1 :D and mine (huawei s7 slim)

(i will not be at home for a week, so i cant compile it until then)

when i tried the opensource qdsp6 openmax IL codecs it gave some nativewindow error too (afaik), so i hope this patch fixes it:confused:
 

Eskuero

Recognized Developer
Feb 15, 2012
1,388
2,284
And Cm9 ?? you compiled with linaro GCC 4.7.1?

Sent from my GT-S5570 using xda app-developers app

I compile normmaly, i don't how to use another compiler, but where's the difference?
I can't sync my cm9 repos, for some strange reason it get stopñed on 99% xD

Enviado desde mi Wildfire S A510e usando Tapatalk 2
 

gabrielking9

Senior Member
Feb 12, 2012
2,331
410
Recife
please report and tell to us how hq video playback is woking and if video recording is working smooth

Sent from my GT-S5570 using xda app-developers app
 

cougarcougar

Senior Member
Dec 12, 2010
311
462
tulsa, ok
I got it to work on the LS670, by using the LS670 kernel audio headers and replacing the ones in the device/include/linux/ folder.
Only adding this line to the msm_audio.h :
Code:
/* ZTE_Audio_CJ_100302, chenjun, 2010-3-2, start */
/* ZTE_Audio-LB_CJ_1 chenjun 2009-10-28 start */
#define SND_SET_AUDIO_LOOPBACK _IOW(SND_IOCTL_MAGIC, 8, unsigned *)
/* ZTE_Audio-LB_CJ_1 chenjun 2009-10-28 end */
/* ZTE_Audio_CJ_100302, chenjun, 2010-3-2, end */


And using the zte blade omx proprietary files attached.
 

Attachments

  • YThq.fixa.zip
    1 MB · Views: 236
Last edited:

miroslav_mm

Senior Member
Jan 30, 2011
579
2,029
Kiev
Report:
LG GT540 (msm7227/256RAM/512ROM)
CM9.1 + OpenMax Libs from 2.3
HQ Youtube working good!
LQ Youtube not working!

MXPlayer said:
*.264 - S/W
*.3gp - H/W
*.dvix - S/W
*.mpeg4 - H/W
*.mpg2 - S/W
*.xvid - S/W

but it said the same before changes.

Thanks a lot! :good:
 

sweetnsour

Senior Member
May 11, 2011
2,628
2,465
Report:
LG GT540 (msm7227/256RAM/512ROM)
CM9.1 + OpenMax Libs from 2.3
HQ Youtube working good!
LQ Youtube not working!

MXPlayer said:
*.264 - S/W
*.3gp - H/W
*.dvix - S/W
*.mpeg4 - H/W
*.mpg2 - S/W
*.xvid - S/W

but it said the same before changes.

Thanks a lot! :good:
That is definitely encouraging news :) I'd sacrifice low quality for high quality any day
Can't wait to see this implemented on the P500
 

Ganster41

Senior Member
Sep 12, 2011
52
632
MXPlayer said:
*.264 - S/W
*.3gp - H/W
*.dvix - S/W
*.mpeg4 - H/W
*.mpg2 - S/W
*.xvid - S/W

I think this containers are not enabled in CM libmedia. AVI does not associated with Android's video player... Need some merges from Qualcomm repo to activate ExtendedExtractor, and DivX/XviD support.
Now it plays only h263/avc/mpeg4 Baseline profile codecs from mp4 container(may be mkv and ogm too, I don't test it) on my Blade. Video resolution can't be more than 800x480 by any side. It sad, but most 480p videos are not playing, because it has 854x480 resolution(16:9 aspect ratio) :( But on Gingerbread it doesn't play too.
 
Last edited:

miroslav_mm

Senior Member
Jan 30, 2011
579
2,029
Kiev
I think this containers are not enabled in CM libmedia. AVI does not associated with Android's video player... Need some merges from Qualcomm repo to activate ExtendedExtractor, and DivX/XviD support.
Now it plays only h263/avc/mpeg4 Baseline profile codecs from mp4 container(may be mkv and ogm too, I don't test it) on my Blade. Video resolution can't be more than 800x480 by any side. It sad, but most 480p videos are not playing, because it has 854x480 resolution(16:9 aspect ratio) :( But on Gingerbread it doesn't play too.

Yes, its true, 800x480 is maximum for msm7227. its wrote in Qallcom sources.
And need check MSM_PMEM_MDP_SIZE / MSM_PMEM_ADSP_SIZE / MSM_PMEM_AUDIO_SIZE, size in kernel. For example LG L5 (480*320 and official 4.0) have much more size in kernel then GT540/P500 and other device with 480*320. think need increase MDP_SIZE & ADSP_SIZE. Короче надеюсь ты понял что я имел ввиду :laugh:
 

maximum117

Member
Jan 7, 2011
32
5
Full CM9 ROM?

Hi, guys! When we have the full CM9 ROM for LG P500 (I am mean with OpenMAX codecs): day, week, month? Thanks.
 
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 :)