[MOD] Custom ffmpeg build with DTS Support for MX Player - Samsung Galaxy R i9103

Hi All,
The latest version of MX Player supports external ffmpeg.
Our xda member ktsamy has come up with an update for us - A custom codec for MX Player with DTS Support. Kindly find details in the below forum link. Please don't forget to thank ktsamy
http://forum.xda-developers.com/showthread.php?t=2156254

emanoj.i9103 said:
Hi All,
The latest version of MX Player supports external ffmpeg. Would be great if anyone of us can build a custom ffmpeg build for our device with DTS support. Thanks in Advance!
MX Player
Click to expand...
Click to collapse
can someone also include wmv format in mx player
because my maximum wmv format are not working

azhar.munshi said:
can someone also include wmv format in mx player
because my maximum wmv format are not working
Click to expand...
Click to collapse
Tried Vplayer or VLC player??
Sent from my GT-I9103 using xda premium

azhar.munshi said:
can someone also include wmv format in mx player
because my maximum wmv format are not working
Click to expand...
Click to collapse
Buddy no one should change MX player except its author, If you want some extra features then mail the author and request him.....

mj.vikram said:
Buddy no one should change MX player except its author, If you want some extra features then mail the author and request him.....
Click to expand...
Click to collapse
Author has provided external ffmpeg support.
Sent from my GT-I9103 using xda app-developers app

azhar.munshi said:
can someone also include wmv format in mx player
because my maximum wmv format are not working
Click to expand...
Click to collapse
Try this one buddy. It can play WMV movies(as mentioned by app uploader)
MOBOPLAYER

emanoj.i9103 said:
Hi All,
The latest version of MX Player supports external ffmpeg. Would be great if anyone of us can build a custom ffmpeg build for our device with DTS support. Thanks in Advance!
MX Player
Click to expand...
Click to collapse
bump..I too would be interested if anyone could point us to an old ffmpeg build.. perhaps someone has an old .apk from when it supported DTS, I could unzip it and search for it. Or maybe someone knows how compile it?

How to build your own ffmpeg with DTS support
Firstly, this advice isn't for the light hearted - most people will give up very quickly. I myself am still fairly new to C and compiling in a unix/linux environment (I just completed a beginners unit in C programming - you won't need this).
You will need:
a Linux machine (or virtual machine) - I used Ubuntu 12.04 (on a virtual machine)
GCC and C compilers (Ubuntu should come with these)
The "latest" Android NDK - you can get it from here: developer.android.com/tools/sdk/ndk/index.html
FFmpeg for MX Player source code: sites.google.com/site/mxvpen/ffmpeg
The attached modified build-ffmpeg.zip
The attached build-ffmpeg.zip contains a new build-ffmpeg.sh that I wrote from scratch as a replacement for the horribly messy one used by the developer. The config-ffmpeg.sh has also been modified such that all the lines that exclude codecs from the build (like --disable-demuxer=dts) have been removed along with a couple more that cause trouble when compiling. To build ffmpeg:
Extract the .tar.bz2 NDK
Copy the folder inside to "/usr/src/" (you will need root privelages to copy here - I ran Nautilus as root ["sudo nautilus"])
Rename it to "/usr/src/android-ndk-r8b" (Changing the "NDK="/usr/src/android-ndk-r8b" line in "config-ffmpeg.sh" didn't seem to work - it may work now with the updated build-ffmpeg.sh I wrote)
Extract your ffmpeg.7z somewhere. Extract the contents of build-ffmpeg.zip into this folder - replacing both build-ffmpeg.sh and config-ffmpeg.sh with the ones in the zip. This will make life much easier
Now open a terminal, cd to the location this file is in, and run "./build-ffmpeg.sh <your platform>". I used "./build-ffmpeg.sh neon" for my Nexus 7. Type some gibberish as <your platform> to see a list of valid platforms
Go and have a cup of tea while it builds (depending on your machine - this could take 30min ... I did this inside a virtual machine, so that's probably why)
Once it's done, inside the output folder should be another folder - with the name of the platform you specified. Inside that will be all the .so files you need. Grab this folder and put it on your device somewhere
Open MX Player on your device. Go to Settings -> Decoder -> Custom Codec, and navigate to the folder you put on your device. Press OK
Once MX Player restarts, you can check if the codec is in use by going back to Custom Codec to see if it is using the folder specified
Voila! You should now be able to get audio on movies with DTS sound =D
If someone could test these instructions for me (ktsamy I'm referring to you) that'd be great =D

will this help in playing mkv 720p or even 1080p videos in hw decoding mode?
Sent from my GT-I9103 using Tapatalk 2

khpatel4991 said:
will this help in playing mkv 720p or even 1080p videos in hw decoding mode?
Sent from my GT-I9103 using Tapatalk 2
Click to expand...
Click to collapse
You can't overcome a hardware limitation beyond a point. I guess it's not possible.
Sent from my GT-I9103 using xda app-developers app

emanoj.i9103 said:
You can't overcome a hardware limitation beyond a point. I guess it's not possible.
Click to expand...
Click to collapse
Manoj Tegra 2 is capable of playing 1080 P videos, But Samsung haven't provided the support/required drivers, In CM 10 also our Dev's are using Samsung's libs only so we are not able to play 1080P ......

UPDATE to "How to build your own ffmpeg with DTS support"
UPDATE: YOU DO NOT NEED A ROOTED ANDROID DEVICE! You can copy these .so files into a folder in your device's sdcard folder. Once this is done, from MX player, go to settings -> decoder -> custom codec. Locate the folder with all the .so files you made, and hit ok. Now it should work.
dylanh333 said:
Firstly, this advice isn't for the light hearted - most people will give up very quickly. I myself am still fairly new to C and compiling in a unix/linux environment (I just completed a beginners unit in C programming - you won't need this).
You will need:
a Linux machine (or virtual machine) - I used Ubuntu 12.04 (on a virtual machine)
GCC and C compilers (Ubuntu should come with these)
The "latest" Android NDK - you can get it from here: developer.android.com/tools/sdk/ndk/index.html
FFmpeg for MX Player source code: sites.google.com/site/mxvpen/ffmpeg
A rooted android device where you can directly access "/data/data/com.mxtech.videoplayer.ad/lib" (and a means of getting files there from your computer)
Now,
Extract the .tar.bz2 NDK
Copy the folder inside to "/usr/src/" (you will need root privelages to copy here - I ran Nautilus as root ["sudo nautilus"])
Rename it to "/usr/src/android-ndk-r8b" (Changing the "NDK="/usr/src/android-ndk-r8b" line in "config-ffmpeg.sh" doesn't work - the script is too messy)
Now extract your ffmpeg.7z somewhere, and in that same location make a folder called "libs", and inside that make a folder called "output"
Now open config-ffmpeg.sh, and look for the line "--disable-demuxer=dts", which you then (without hesitation) need to remove. This line explicitly removes support for the DTS audio codec from the ffmpeg codec package - it is evil.
Now open a terminal, cd to the location this file is in, and run "./build-ffmpeg.sh <your platform>". I used "./build-ffmpeg.sh neon" for my Nexus 7.
Go and have a cup of tea while it builds (depending on your machine - this could take 30min ... I did this inside a virtual machine, so that's probably why)
Once it's done, in the folder, look inside "./libs/output/<your platform>" (I went to "./libs/output/ffmpeg_v7_neon"). There should be a handful of .so files in there.
Find a way to copy these files to "/data/data/com.mxtech.videoplayer.ad/lib" on your Android device (overwriting the existing ones)
Voila! You should now be able to get audio on movies with DTS sound =D
Click to expand...
Click to collapse

Here's what I have compiled for my Nexus 7.
NOTE: NO ROOT REQUIRED!!!
The attached zip file contains the files for the ffmpeg codec WITH DTS audio support (quite a few .mkv movies use this), compiled for devices that use "NEON" (some architectural enhancement in the CPU to do with floating point numbers). That means it should work with any device that has a Tegra 3 processor, and I'm sure lots of others. A few quick Google searches should reveal information about your phone's processor. Here's how to get the codec working:
Extract the contents of the .zip somewhere on your device - take note of where the folder you extracted is.
Once this is done, from MX Player, go to Settings -> Decoder -> Custom Codec
Locate the folder you extracted, select it and hit OK. Once MX Player restarts, it should work.
Remember, your device's CPU must have "NEON". I'll compile ffmpeg for other platforms within the next few days for compatibility with other devices.

More codecs on the way
micah197 said:
Thanks heaps, dylanh333, that's really really helpful. Really sucks that it got removed because of the legal troubles, but now that I've got it back I'm really pleased! There're a lot of people who would benefit from your compiling of that brilliant custom codec, you might want to go post in http://forum.xda-developers.com/showthread.php?t=1831111 to let people there know that it is possible to go back to MX Player with DTS now. Again, thanks!
Click to expand...
Click to collapse
Thanks for the thanks =D
I shall have the codec compiled for more platforms tonight, so those who are using Samsung phones with a different processor and get really laggy video should see an improvement with a codec compiled for your phone's processor. Once this is done I'll also post a link to this thread in the one you suggested. It feels good to already be appreciated after just joining XDA Developers.

Ffmpeg codecs, all of them!
I have now compiled ffmpeg for several different platforms. Your device is likely to have a processor that is either:
A Tegra 2
Uses NEON (the Tegra 3 and a lot of newer processors use this)
Is an ARMv6 compliant processor with vfp (older phones)
Is an ARMv6 compliant processor (older phones)
Is an ARMv5 compliant processor (very old phones)
Is an x86 compliant processor
Is a MIPS compliant processor
A quick Google search of your device should reveal what processor it has, and another Google search should reveal information about the processor. Once you know which one of these categories your device fits, copy and extract the corresponding zip to your device, and take note of its location. Now open up MX Player, go to Settings -> Decoder -> Custom Codec, and once inside the folder you extracted, hit OK. After MX Player has restarted, MX Player will not only have support for DTS audio, but a few other codecs as well that were explicitly disabled by the developer.

Great!!!:good:

Thanks a lotttt. This is awesome
Sent from my GT-I9103 using xda app-developers app

Ohh My God!!!
I love you dylanh333. You saved my life. Went to a lot different forums, they got the lbffmpeg or something like that, still didnt play audios DTS with my Galaxy S3. All i could find was for Arm's processors and neon, no tegra builds. Always it was like"if you dont see your processor here, compile it and do your own custom build". I found you finally and not only my tegra2 processor but the most common ones as well. Good guy greg man lol. Thanks for everything
dylanh333 said:
I have now compiled ffmpeg for several different platforms. Your device is likely to have a processor that is either:
A Tegra 2
Uses NEON (the Tegra 3 and a lot of newer processors use this)
Is an ARMv6 compliant processor with vfp (older phones)
Is an ARMv6 compliant processor (older phones)
Is an ARMv5 compliant processor (very old phones)
Is an x86 compliant processor
Is a MIPS compliant processor
A quick Google search of your device should reveal what processor it has, and another Google search should reveal information about the processor. Once you know which one of these categories your device fits, copy and extract the corresponding zip to your device, and take note of its location. Now open up MX Player, go to Settings -> Decoder -> Custom Codec, and once inside the folder you extracted, hit OK. After MX Player has restarted, MX Player will not only have support for DTS audio, but a few other codecs as well that were explicitly disabled by the developer.
Click to expand...
Click to collapse

I think ffmpeg codecs use sw decoding. Have you seen any lag with 5.1?
Sent from my GT-I9103 using xda app-developers app

my phone (Huawei U8800) has an ARMv7 instruction set, so which one should i download then?
tia..

Related

[INFO] Cifs on leaked 3.1

Didn't see another thread about this so thought it was worth it to start one.
Ok, after upgrading to 3.1 I lost my cifs functionality...
Started looking around and finally found that the cifs.ko module from this thread:
http://forum.xda-developers.com/showthread.php?t=1058713
And more specifically: "modules - k2.6.36.3.zip".
I extracted the cifs.ko to system\lib\modules and changed persmissions to the default values of the other modules there (using root explorer, you also have to set the mounting to rw instead of read only).
Next downloading terminal emulator from the market and typing the following things:
'su' (changes to super user, terminal emulator asks for root permissions at this step)
and
'insmod cifs.ko'
After that set up shares with mount manager and cifs manager, and voila...
Unfortunately the 720p mkv I tried still didn't play smoothly (game of thrones) but atleast cifs and sharing/mounting worked!
720p x264 main profile level 3.1 worked fine for me. High profile is not supported according to official specs, so no surprises.
Sent from my Transformer TF101 using Tapatalk
I just restored from a titanium backup.
I can play the avatar high profile clip no problem after the 3.1 update in 720p. It should be able to play mkvs, but it just needs a proper decoder from a player like mobo or vital, unfortunately they do not have poper mkv support yet.
http://searchcio-midmarket.techtarget.com/definition/Common-Internet-File-System
I had to look up the definition, so there it is for the rest of us
ivan.volosyuk said:
720p x264 main profile level 3.1 worked fine for me. High profile is not supported according to official specs, so no surprises.
Sent from my Transformer TF101 using Tapatalk
Click to expand...
Click to collapse
that really sucks. the xoom is better at playing high profile now with the 3.1 update. granted you have to convert the files to mp4s and reencode the audio to aac. good thing is that converting the mkv to mp4 is a whole lot faster than reencoding the entire file.
check the xoom forum for tips.
madsquabbles said:
that really sucks. the xoom is better at playing high profile now with the 3.1 update. granted you have to convert the files to mp4s and reencode the audio to aac. good thing is that converting the mkv to mp4 is a whole lot faster than reencoding the entire file.
check the xoom forum for tips.
Click to expand...
Click to collapse
But having to reencode is sucky though... I would love to simply be able to download 720p videos and play them.
But now with AC3 not being supported and these other quirks it's too much of a hassle. Guess I'll give it a shot on my SGS2, and perhaps the future will change some things.
Might actually be a reason to ditch the transformer and get another tablet with full support though. Even though all tegra2 tablets suffer the same issue of course.
Deathalo said:
I can play the avatar high profile clip no problem after the 3.1 update in 720p. It should be able to play mkvs, but it just needs a proper decoder from a player like mobo or vital, unfortunately they do not have poper mkv support yet.
Click to expand...
Click to collapse
This is incorrect no 3rd party app can add container parsing to Stagefright, and without Stagefright handling the videostream you don't get hardware acceleration.
dagrim1 said:
Unfortunately the 720p mkv I tried still didn't play smoothly (game of thrones) but atleast cifs and sharing/mounting worked!
Click to expand...
Click to collapse
What are you using to play the MKV? I'm guessing moboplayeror something similar that does CPU decode for anything that Stagefright can't handle
SilentMobius said:
This is incorrect no 3rd party app can add container parsing to Stagefright, and without Stagefright handling the videostream you don't get hardware acceleration.
What are you using to play the MKV? I'm guessing moboplayeror something similar that does CPU decode for anything that Stagefright can't handle
Click to expand...
Click to collapse
I am able to play MKVs using stock Video player. Over the CIFS it pauses sometimes due to running out of data, but generally 720p h.264 MKVs are pretty smooth.
However, I was unable to get any sound...
Sent from my Transformer TF101 using XDA Premium App
SilentMobius said:
This is incorrect no 3rd party app can add container parsing to Stagefright, and without Stagefright handling the videostream you don't get hardware acceleration.
What are you using to play the MKV? I'm guessing moboplayeror something similar that does CPU decode for anything that Stagefright can't handle
Click to expand...
Click to collapse
Tried moboplayer as well, with hardware decoding there is fluid video but no sound. With software decoding there is both but not fluid (and sound is out of sync).
Guess AC3 is simply a no go and parsing the video with hardware accelaration and audio with software processing is not an option. Perhaps when overclocked kernels are coming out for 3.1 there are some possibilities using software mode but I'm afraid there will be other (stability/heat) issues then.
dagrim1 said:
Didn't see another thread about this so thought it was worth it to start one.
Ok, after upgrading to 3.1 I lost my cifs functionality...
Started looking around and finally found that the cifs.ko module from this thread:
http://forum.xda-developers.com/showthread.php?t=1058713
And more specifically: "modules - k2.6.36.3.zip".
I extracted the cifs.ko to system\lib\modules and changed persmissions to the default values of the other modules there (using root explorer, you also have to set the mounting to rw instead of read only).
Next downloading terminal emulator from the market and typing the following things:
'su' (changes to super user, terminal emulator asks for root permissions at this step)
and
'insmod cifs.ko'
After that set up shares with mount manager and cifs manager, and voila...
Unfortunately the 720p mkv I tried still didn't play smoothly (game of thrones) but atleast cifs and sharing/mounting worked!
Click to expand...
Click to collapse
after I type 'insmod cifs.ko' I get:
insmod: can't open 'cifs.ko'
I've set the mounting to rw, any ideas?
prospect said:
after I type 'insmod cifs.ko' I get:
insmod: can't open 'cifs.ko'
I've set the mounting to rw, any ideas?
Click to expand...
Click to collapse
Same here, help?
try 'insmod /system/lib/modules/cifs.ko'
Worked for me...
Also, this was on Prime 1.4 rather than primordial...should work on either I would think.
Any idea how to get that to run at boot?
I added commands into GScript and I'll run manually after boot.
would be better to run at startup.
Thanks

VLC!!!

It was a complete P.I.T.A but I just finished building VLC. I had to upgrade my Linux distro, upgrade from Android SDK 15 to 17, install the NDK, install Eclipse from source (the version in the repos wasn't current enough), install the Android Developers Tools plugin for Eclipse, install about 30 different dependencies on Ubuntu, download over 1GB of Android SDK modules, and finally pull the Android VLC sources. Then I had to wait about 30 minutes while my ridiculously slow netbook compiled the source code, and THEN I had to compile the result of THAT in Eclipse.
The end result is an alpha build of VLC that runs on our phones (despite being built against the Gingerbread libs). It does in fact work, I just tested a couple video and audio files. I've tested the build with NEON enabled (hardware accelerated decoding) which seems to be okay and is in fact enabled on our SK4G. That being said, tomorrow i'll probably hit it again and build without NEON and see if it's more stable.
ENJOY
*** SCREENSHOTS
Uploaded with ImageShack.us
Uploaded with ImageShack.us
*** DOWNLOAD
https://rapidshare.com/files/648759753/vlc.apk
Ill give it a try in the morning looks legit. Are subtitles working? Like with mkv?
Sent from my SGH-T839 using XDA
I haven't tested subtitles yet. I tried one .mkv which caused the app to hang, but it was an odd format that I actually ripped from youtube. (it was a .webm which is basically a renamed .mkv)
Oh, and in case you're wondering why it says "no media" when you start it, you have to go into preferences and select which directories it reads from. mine are set to /sdcard/Music and /sdcard/Videos.
Unintentional kang
I didn't realize until I tried rebuilding VLC on my other computer today, but I uploaded someone else's VLC build (and a rather old one at that). I should really clean up my home directory because it's full of random APK files (both compiled and decompiled) and SDK components at the moment. I rebuilt about 4 times today, encountering all manner of errors along the way but after i finally got the issues all sorted out, the resulting build only runs on Gingerbread and ICS. This is because the Froyo code has been stripped from the the code base in the VLC git, so it's pretty much a no go on our phones until we get a Gingerbread ROM. On the upside, I just tested my VLC build on my old LG Optimus running CM7 and it works like a champ. I'll post the build I just made if anyone is interested, not that it does us any good on our SK4G
I'm definitely interested! Can you post your build. Does your build allow for entry of rtsp url to connect to a stream? Thanks a ton
no, there is no support for streaming built into the VLC app and I don't think there will be. There was no mention of it in the code, so I think that the VLC app is simply intended to be for local files only and be able to handle video playback of most file types and codecs. So far, I haven't been too impressed with it. It was a lot of work to get it up and running only to find that it lags far behind competitors like Mobo player and Rock player. Then again, it's still an alpha software so I'm sure file support will come.
I'm not sure why, but I wasn't able to locate a single media file using VLC. (And I have songs, and a few .mp4 on the SD Card.) Anyways, thanks for compiling this.

[APP] HOW TO New codec to Diceplayer

Diceplayer 2.0.8 support plug-in codec.
so you can add your own codec support.
1. make libffmpeg.so
you can download ffmpeg source for diceplayer
http://diceplayer.inisoft.co.kr/technical-note
configure and compile
at configure stage you can add your own codec selection.
2. copy libffmpeg.so to /sdcard/libffmpeg.so
3. launch diceplayer
menu key -> settings -> enable custom plug-in
you can play all of ffmpeg supported codecs.
*If you want to use codec , you should have rights to use that codec.
How is it configure and complie..
I try it.. but hard...
please help... >_<
Sorry. It is hard for non dev guys
I get it.. so.. I do it ^^
success
but.. I curios how it build..
I need to help..
Thank You ^^
Here's the libffmpeg.so from the previous release. Put it on my galaxy nexus, loaded it as a plugin, and it works. I now have DTS again on the most current version of Dice from the market.
thanks you guys. finally the player is back to being superb
Rooted..?
mbieler said:
thanks you guys. finally the player is back to being superb
Click to expand...
Click to collapse
So do I have to be rooted to do this..? I don't understand where to put the .so file at?
I'm super noob and just trying to get my .mkv files playing properly.
Any help would really be appreciated.
you don't need to be rooted.
download nathan118's zip file. extract it and place the contained "libffmpeg.so" in the root folder of your device. the root should be the folder you see when you connect your device to your computer. thats basically what the path "/sdcard/libffmpeg.so" in the first post means. if you proceed to enable the custom plugin in dice player it will show the path "/sdcard/libffmpeg.so" in the option for the custom plugin.
Thanks for the helping hand
mbieler said:
you don't need to be rooted.
download nathan118's zip file. extract it and place the contained "libffmpeg.so" in the root folder of your device. the root should be the folder you see when you connect your device to your computer. thats basically what the path "/sdcard/libffmpeg.so" in the first post means. if you proceed to enable the custom plugin in dice player it will show the path "/sdcard/libffmpeg.so" in the option for the custom plugin.
Click to expand...
Click to collapse
Ha! Got it. Thank you so much the both of you. Really appreciate this. This forum is so awesome. Thanked the both of you. :good:
nathan118 said:
Here's the libffmpeg.so from the previous release. Put it on my galaxy nexus, loaded it as a plugin, and it works. I now have DTS again on the most current version of Dice from the market.
Click to expand...
Click to collapse
Didn't Dice always had DTS? I thought it was MX Player that removed DTS
DicePlayer had to remove DTS as well for the same reason as MXplayer had to remove it: License issues.
The file from nathan118 is "fixing" this issue for DicePlayer.
Working on my Transformer TF201
I wonder if you can get even better media support by making the file yourself and selecting all the potential codecs. Sadly this is beyond my abilities to check
I'm having trouble with the libffmpeg.so plug in.
The DTS files would cause the player to kick back out when libffmpeg.so plugin was enabled. Without it enabled, it'd just say that the video file can't be played.
I had to download Diceplayer 2.0.6 with the Tegra Plug-in in order to get the DTS movies to work.
Is anyone able to get libffmpeg.so working on their Transformer TF101 ?
klau1 said:
I'm having trouble with the libffmpeg.so plug in.
The DTS files would cause the player to kick back out when libffmpeg.so plugin was enabled. Without it enabled, it'd just say that the video file can't be played.
I had to download Diceplayer 2.0.6 with the Tegra Plug-in in order to get the DTS movies to work.
Is anyone able to get libffmpeg.so working on their Transformer TF101 ?
Click to expand...
Click to collapse
you need different version of libffmpeg.so for TF101 from "diceplayer plugin for tegra2"
juami said:
you need different version of libffmpeg.so for TF101 from "diceplayer plugin for tegra2"
Click to expand...
Click to collapse
can anyone get/build the libffmpeg.so for tegra 3 (I'm assuming the chipset is the key here, I'd like to try it on HTC One X)
thx in advance
Would really love if MX Player do the same, the UI is just much better.
Oh yeah ! Thanks juami ! This works perfectly. I was so pissed off at DTS forcing you to remove the codec and refusing to sell it. Hope you never dorp the custom plugin feature )
---------- Post added at 09:33 PM ---------- Previous post was at 09:30 PM ----------
.tnm said:
can anyone get/build the libffmpeg.so for tegra 3 (I'm assuming the chipset is the key here, I'd like to try it on HTC One X)
thx in advance
Click to expand...
Click to collapse
No need to. I downloaded nathan's libffmpeg.so file (page 1) and put it on the root of my SDCard on my TF201 (Tegra 3), enabled Custom Plugins in Dice Player's settings and boom, it works.
DicePlayer on my TF201 doesn't require any additional lib to work (I suppose it's because the Tegra3 has the NEON instruction set and that's what DicePlayer uses by default). My Atrix 4G though is another matter, it does need the tegra2 plugin for diceplayer, and the libffmepg.so trick didn't work on the Atrix.
juami said:
you need different version of libffmpeg.so for TF101 from "diceplayer plugin for tegra2"
Click to expand...
Click to collapse
Where is this Tegra2 version of libffmpeg.so ?
Was wondering if one injects the libffmpeg.so into the dicplayer apk and sign it, would it work like that?
thanks for this thread. finally my huge mkv file with dts audio is now working with newest dice app in the market(2.10).

[Q] Integrating MX Codecs into AOSP build

Hi,
I'm having troubles using the stock JB Android 4.1.2 play m3u8 live streaming. Issue described in:
http://stackoverflow.com/questions/26181554/stock-android-h264-decoder-failing-on-m3u8-url-files
After some debugging, seems to me that only the "baseline profile" is supported by the stock SW codec (frameworks/av/media/libstagefright/codecs/on2/h264dec), while the stream has the entropy_coding_mode_flag set (i.e. it is a CABAC encoding - I'm not an expert about H264, but I read it's a rather different encoding scheme).
So, I was wondering if it was ever possible to entirely replace the libstagefright/codecs provided with stock AOSP with the SW codecs of MX Player, which seems to be working fine on the same m3u8 stream.s.
Any idea if ever feasble and, if so, about how to proceed?
thanks
Fabio
ffxx68 said:
So, I was wondering if it was ever possible to entirely replace the libstagefright/codecs provided with stock AOSP with the SW codecs of MX Player, which seems to be working fine on the same m3u8 stream.s.
Any idea if ever feasble and, if so, about how to proceed?
Click to expand...
Click to collapse
E.g. I was thinking if that was possible by simply hacking the codec declarations in
device/.../.../media_codecs.xml
or if a more complex code integration in AOSP is required. Note - I can rebuild AOSP for my device.
Any advice welcome, anyway.
I think its not only a matter of software, hardware must supports it.
ffxx68 said:
E.g. I was thinking if that was possible by simply hacking the codec declarations in
device/.../.../media_codecs.xml
or if a more complex code integration in AOSP is required. Note - I can rebuild AOSP for my device.
Any advice welcome, anyway.
Click to expand...
Click to collapse
Even if you declare, if it's not supported by your gpu then it will simply through a error.
Mx player uses the hardware decoders included with your system. If it's not supported ffmpeg is used. But, it will use the cpu to decode the video.
So, there won't be much benefits.
ktsamy said:
Even if you declare, if it's not supported by your gpu then it will simply through a error.
Mx player uses the hardware decoders included with your system. If it's not supported ffmpeg is used. But, it will use the cpu to decode the video.
So, there won't be much benefits.
Click to expand...
Click to collapse
I know.... actually, I didn't know ffmpeg was the underlying SW decoder.
I'm afraid my HW GPU doesn't support H264 coded in CABAC. while it does decode seamlessly CAVLC (two flavors of H264 encoding... I found out.).
There will be a benefit in having SW codec, so - at least screen doesn't blank out
I noticed it takes 30-35% CPU while using SW MX Player on those streams. Still acceptable (I don't think GPU will use greatly less power). Final quality is definitely OK.
Any suggestion about how to proceed with ffmpeg codec integration in AOSP? What are the main integration points to consider?
thanks
Fabio
ffxx68 said:
I noticed it takes 30-35% CPU while using SW MX Player on those streams. Still acceptable (I don't think GPU will use greatly less power).
Click to expand...
Click to collapse
I'd just like to note that generally, GPU rendering reduces power consumption dramatically. For example, a SW rendered 30min video will use 25% of battery life on a Nexus 5. The same video reencoded to a GPU-supported codec will use closer to 10% battery.
ffxx68 said:
...
Any suggestion about how to proceed with ffmpeg codec integration in AOSP? What are the main integration points to consider?
...
Click to expand...
Click to collapse
Just for the sake of informing the audience here, I think I found a very good starting point for this, here:
https://github.com/omxcodec/stagefright-plugins
ffxx68 said:
Just for the sake of informing the audience here, I think I found a very good starting point for this, here:
https://github.com/omxcodec/stagefright-plugins
Click to expand...
Click to collapse
I'm working on the porting of the above to my AOSP, but found issues with the integration.. There's something not going well with picture quality. Still debugging (https://groups.google.com/forum/#!topic/android-x86/mTnTe39D5Co).
Meanwhile, let me ask here whether there's any documentation, about how to access access the MPlayer SW codecs from other apps, or AOSP libstagefright.
thanks
Fabio
ffxx68 said:
I'm working on the porting of the above to my AOSP, but found issues with the integration.. There's something not going well with picture quality. Still debugging (https://groups.google.com/forum/#!topic/android-x86/mTnTe39D5Co).
Meanwhile, let me ask here whether there's any documentation, about how to access access the MPlayer SW codecs from other apps, or AOSP libstagefright.
thanks
Fabio
Click to expand...
Click to collapse
FYI
Mx player is free can be distributed with rom without any modifications.
https://sites.google.com/site/mxvpe...e-or-preinstall-on-commercial-Android-device-
You can call mx player free/pro through the api
Read the following link for more information
https://sites.google.com/site/mxvpen/api

[DEV/THINKTANK] VC1/MPEG2/WMA hardware decode for the Nexus Player

Hello Fellow Nexus Payer Owners! I have started a dev project to get MPEG2, VC1, and WMA hardware decoding working on the Nexus Player in hopes together we can enable this. I have never attempted anything more than built roms from asop with slight modification so Im going to need some assistance on this project
Description of Issue
The Nexus Player had great possibilities had it not been rushed to market with buggy applications and lack of hardware codec licencing. To me this product would be the perfect HTPC if Plex had worked with 5.1 audio (DTS/AC3) pass-through and MPEG2 hardware decoding for use with my HDHomeRun Prime for live TV. But Asus or Google dropped the ball as this is not enabled so the HDHomeRun View app has to fall back to software decoding which make the stream very choppy. Most cable companies are still using MPEG2 for now.
Here is a discussion on the Nexus Player over at the Silicon Dust's Forums:
http://www.silicondust.com/forum2/viewtopic.php?f=81&t=17894
Research into MPEG2 on Android
Searching Around the fourms I stumbled on this post enabling hardware decoding on the Nexus 7 2013 and other ARM devices.
http://forum.xda-developers.com/showthread.php?t=2517925
It seems they pulled libOmxCore.so from Cyanogenmod 11 on various devices and edited the media_codecs.xml. Ive contacted both contributors in hope I can discuss this with them. Im not sure there is any x86 CM12 Devices we can extract the libOmxCore.so from to test on the NP and thats if they have even merged they media codecs in CM12 yet.
Here are some projects and discussion for building ffmpeg into android which may enable MPEG2 decoding:
http://stackoverflow.com/questions/4725773/ffmpeg-on-android
https://github.com/appunite/AndroidFFmpeg
https://github.com/guardianproject/android-ffmpeg
Ffmpeg on Android x86
https://software.intel.com/en-us/android/blogs/2013/12/06/building-ffmpeg-for-android-on-x86
As of right now Im just gathering information to get started on this project so anyone with any input will be appreciated.
Once I get my Nexus Player the way I want it and if there is a custom recover (ahemm TWRP) I will post my personal build for you to try out.
*EDIT* Google has pushed Android 5.0.1 (build LRX22C) to AOSP with reports that it has fixes for "video issues". Fingers crossed they enabled MPEG2 hw decoding so I don't have to
XDA:DevDB Information
VC1/MPEG2/WMA hardware decode on the Nexus Player, Device Specific App for the Nexus Player
Contributors
WhiteWidows, whitewidows, god_md5, kennylam
Version Information
Status: Testing
Created 2014-12-03
Last Updated 2014-12-03
Very very happy to see I'm not the only one interested in this feature. I have a lot of dvd movies muxed into mkv in my plex server. My plex server does not have the power to transcode so to get Nexus player to direct play this is a huge step forward. Thanks!
Skickat från min GT-I9505 via Tapatalk
As an Nexus Player owner, and HDHomeRun Prime user, I'm also very interested in MPEG2 HW decoding.
For now I'm using my ADT-1's for TV... But who knows if Google will keep updating them... so far they are still on preview 5.0 builds.
Me too..
Add me to the list of people interested in this. There is a ton of MPEG2 content out there - US broadcast TV is all MPEG2. Enabling MPEG2 would open a ton of possibilities for this device.
Glad I wasn't the only one interested in this. I think its ridiculous to make a so called TV devices with no mpeg hw decoding
Update is I have been trying to build ffmpeg in to lollypop but it keeps failing. I going to at least try to build lollypop from source (arm) first because its been since jellybean I have done it. I'm a bit rusty ?
Plus one interested.any news?
Sent from my Nexus 7 using XDA Free mobile app
I'm still working on it I got x86 android to build. But with ffmpeg they fail. Work and holidays have been consuming most of my time but I try to put some time into it tomorrow.
We still need a custom recovery to simplify flashing
http://forum.xda-developers.com/nexus-player/general/nexus-player-mpeg2-hardware-decoding-t2996377
In the thread above, they claim that mx player is able to hardware decode mpeg2 with intel code plugin. Has anyone looked into this for a solution?
xomikronx said:
http://forum.xda-developers.com/nexus-player/general/nexus-player-mpeg2-hardware-decoding-t2996377
In the thread above, they claim that mx player is able to hardware decode mpeg2 with intel code plugin. Has anyone looked into this for a solution?
Click to expand...
Click to collapse
When the hdhomerun view app/googles live TV app launches a mpeg-2 stream which in turn uses androids default media player. There is no option to use MX or change to that. I wouldn't want to use MX as the over lays for the guide would not work. I tried another build last night but again it failed. Lat time I built android was back in the ICS daysband never with ffmpeg. I not sure I'm even going about this the correct way.
I just noticed a thread about a CM11 port for the GeeksPhone Revolution which runs an Intel® Atom™ processor Z2560. The processor is 32bit x86, but usually these things are backwards compatible. Maybe you can pull binaries from that image? I'd post a link to the thread and associated image, but since this is my first post on these forums it won't let me.
Any updates on this?
Did this project die?
No....its just my builds always fail compiling with ffmpeg into 5.0. I'm stuck. So if anyone can help !e out it would be appreciated

Categories

Resources