Is there anybody trying to bring XVID support to Android? - myTouch 3G, Magic Android Development

Is there anybody trying to bring XVID support to Android? I would love the ability to copy a movie to my SD card and then watch it without converting it.

even if someone did port it it would be software accelerated as the hardware only supports H.264 decoding, and the cpu in the phone wont be very good at decoding it. especially if its higher than the phones resolution of 480x320

Actually, the hardware is capable of h263 as well...
FYI: There is no such thing as "xvid" as an actual video encoding. It is just a video encodER/decodER that implements a SUBSET of mpeg4 part2, which *INCLUDES H263*. That means that xvid <= h263 and is therefore theoretically compatible with the hardware decoder.
That means that you should be able to playback so-called "xvid" without having to reencode.
Note that that does NOT mean that you can simply playback whatever you downloaded from the 'net. There are other issues affecting compatibility... 1) CONTAINER FORMAT... this is typically indicated by the file extension... i.e. ".avi" probably won't play since there is no appropriate demuxer available. Might help to remux it into a compatible container... .MP4 is a suitable container, as is .3GP. The container format selected has NEGLIGIBLE affect on CPU load and demuxing is always done in software, so don't worry about that. 2) overall bitrate/resolution... this still has an affect. Though it has a dedicated decoder chip, it DOES have limitations. Don't expect it to be able to handle HD content under any circumstances. 3) the decoder's implementation of mpeg4 -- not all hardware implements everything possible. 4) audio used -- it WILL choke on cryptic proprietary audio encodings.

Related

Why does a video from my Fuze not play on my PC?

Anyone else have an issue? I use Zoomplayer and I have ffdshow. I didn't know anything was left to not be playable!
Check what codec it wants with Gspot(http://www.headbands.com/gspot/)
For a player you can try MediaPlayerClassic(http://sourceforge.net/project/showfiles.php?group_id=82303&package_id=84358&release_id=403110) or get MPC included with a pretty robust codec pack CCCP(http://www.cccp-project.net/download.php?type=cccp)
As a last resort try VLC(http://www.videolan.org/vlc/) it plays pretty much anything, but not always in an optimized way
FFDShow can play TouchPro/Fuze videos, but it may not be configured to recognize the files by default.
GSpot reports video: MP4V, and audio: AMR.
Look under your start menu for the link to ffdshow config (eg: Start > Programs > ffdshow > ... or CCCP > Filters > ... if you use that pack)
Choose FFDShow Audio Decoder Configuration
→ Under the Codecs category, look for AMR and set Decoder to libavcodec.
Then choose FFDShow Video Decoder Configuration
→ Under the Codecs category, look for Other MPEG4 (you will see MP4V noted in the FourCC) and set Decoder to libavcodec
Close ZoomPlayer (or MPC, which I highly recommend), and reload. FFDShow will now properly decode and play the videos.
Man I hate the nightmare over which player to use. I used to use only MPC, but people told me it had inferior video quality and/or couldn't support 5.1.
If you're using the default video format (.mp4), here's a trick that will usually play the video on a PC using Quicktime.
Change the .mp4 file extension to .3gp.
In the advanced menu on the video camera, you can also change the capture format to H.263 and those files seem to play fine on my PC without any changes.
thehyecircus said:
Man I hate the nightmare over which player to use. I used to use only MPC, but people told me it had inferior video quality and/or couldn't support 5.1.
Click to expand...
Click to collapse
Technically MPC isn't a factor when it comes to video quality or support for additional features. Video/audio quality depends on the filters/decoders being used (such as ffdshow, coreavc, powerdvd, etc). Support for extra features comes from splitters (such as Haali Media Splitter, which will tell MPC how to read/playback different kinds of data in a file) and other kinds of filters (such as directvobsub for rendering subtitles).
MPC is pretty much just a GUI that lets you control all those splitters/filters. Without any splitters/filters, MPC is pretty useless, and the default filters would use (that are included in Windows) are indeed pretty low-quality. But ffdshow is one of the best quality decoders out there.
Just for reference, ZoomPlayer is also a good player which uses the same splitters/filters to play media files--it's just a matter of GUI preference. The CCCP package is popular because it includes both MPC and ZoomPlayer as well as the best (non-commercial) splitters and filters like Haali and ffdshow.
If you're interested in getting more information, this is a good start:
http://www.cccp-project.net/wiki/index.php?title=Media_Players
Hopefully this isn't too far off-topic
Is H.263 a poor video quality? I can open it with Media Player and I installed the CCCP, but it takes a while to open my original video file for some reason. And I'd rather never use Quicktime, in fact The CCCP site had me uninstall it. But anyway - does H.263 matter compared to MPEG4? What can I do to have my next video file not be such a pain?
"Choose FFDShow Audio Decoder Configuration
→ Under the Codecs category, look for AMR and set Decoder to libavcodec.
Then choose FFDShow Video Decoder Configuration
→ Under the Codecs category, look for Other MPEG4 (you will see MP4V noted in the FourCC) and set Decoder to libavcodec"
I am going to do that now. I would have done it before, but I did not have those files.
http://en.wikipedia.org/wiki/H.263
There's a lot of rude and ignorant posters on this site, aren't there? I went to the Wiki page first thing - and guess what, there's no information. So *gasp* I asked here. Directing me backwards won't help.
It's pretty complicated so I'll just try to keep it simple:
MP4V is just an identifier for MPEG-4 video. There's a lot of technical stuff behind MPEG-4 codecs concerning quality, but I would say it's safe to assume the Fuze/TouchPro uses just the simple profiles (optimized for handhelds). H.263 is quite simply just an older codec but is similarly intended for handhelds. MPEG-4 technically can offer much better quality, but the Fuze/TouchPro does not let you change the codec's internal settings (since it's built-in to the camera app and/or camera chip).
So whether one codec is better than the other isn't clear; you'll just have to test both modes and see which one you prefer (but at 320x240, I doubt the difference will be very noticable). If the quality is almost the same, the other significant factor is that one codec may produce smaller files.
Hope that helps.

Video playback / Quality and battery impact?

When I first had my Nexus S I don't think there was a suitable video playback solution for the large avi / divx / mkv video files as rockplayer was not compatible and neithere was AVPlayer I don't think.
How are things now some months on? How does the Nexus S cope with large video files in popular formats such as those above? How is the battery impacted given that the lack of native codecs means that software decoding and playbach has to be used rather than hardware? As a portable media plater, does the Nexus S pass the test?

Video Player software/hardware

Is there any combo video player?
For solve problem with Tegra 2 unsupported codecs.
PS. Video - hardware decode, audio - software decode
dimon222 said:
Is there any combo video player?
For solve problem with Tegra 2 unsupported codecs.
PS. Video - hardware decode, audio - software decode
Click to expand...
Click to collapse
Im not sure if it's what you are looking for but MoboPlayer is the best video player I have found and I have tried ALOT.
It's free on the Market and works very well both visually and for compatability with all file types.
Mark.
mskip
Tegra 2 doesn't support hardware decoding AC3/DTS.
I want to decode sound via software. But video via hardware.
You didn't answered mine question
dimon222 said:
mskip
Tegra 2 doesn't support hardware decoding AC3/DTS.
I want to decode sound via software. But video via hardware.
You didn't answered mine question
Click to expand...
Click to collapse
To my mind this is a sort of one-or-the-other situation when it comes to decoding a video 'container' with video and audio 'streams', I don't think there is anything that will do a mixture of both hardware and software decoding depending on what 'streams' can or can't be decoded by the hardware. This would probably create all sorts of complications from a developer's perspective to try and implement such a feature. Even if only one of the 'streams' can't be processed by the hardware the software will kick in and take over processing of both 'streams'. The video 'container' is treated as a single entity as far as I can see, therefore only one decoding method (whichever it is that can decode both 'streams') can be used at any one time.
[EDIT]: Come to think of it, why do you want this kind of hybrid processing in the first place ?
jonitfcfan
Coz lazy to compress each video for just watching on Asus (due "AC3" sound decoder by standard in about every video)
dimon222 said:
jonitfcfan
Coz lazy to compress each video for just watching on Asus (due "AC3" sound decoder by standard in about every video)
Click to expand...
Click to collapse
You can use one of the "MKV -> MP4" converter, like gotsent, XeonMKV...
They are only encoding the ac3 stream to aac put them and the video stream into mp4 container.
dimon222 said:
jonitfcfan
Coz lazy to compress each video for just watching on Asus (due "AC3" sound decoder by standard in about every video)
Click to expand...
Click to collapse
Sometimes you've gotta put extra work into getting more out of things .

[Q] Codec supported by HW/HW+ Decoder

I just wondered about some of my videos not being played by the HW decoder. I figured out the issue must lay upon the codec, so I thought I do some research, since some HD Videos are going well with the HW decoder.
I would be really glad if someone can actually give me some advices how to convert the videos and which codec I should use for the best outcome.
The SW decoder is such a batterie consuming beast, I wish all videos could make use of the HW decoder.
Which converter are you using?
Try using basic convertion. You can reduce bightness so battery can extend a little bit.
About supported codecs:
HW decoder should support all codecs that are supported by your device. The best (and most common) codec is AVC (H.264), it's supported by your device for sure. It's the only codec worth caring about (for now).
However this doesn't end at codecs, because codecs have profiles and levels. Basically they are set of restrictions (like "to be able to play this video you need to be able to do this"). They are needed to ensure that if decoder supports particular profile/level, then it would be able to play any video with that (or lower) profile/level.
I believe that your device should support at least High Profile L4.1, which means that it should be able to play most H.264 videos.
However there's one special case - videos that use High 10 Profile (hi10p, 10 bit depth). It's commonly used on anime sources, becauses it preserves gradients well. There're no hardware decoders that support it.
Unfortunately manufactures usually are very vague about codecs/profiles/level support ("1080p HD video" is all what qualcomm says, lol), so you should test by yourself to find it out.
The first thing you need to do if you want to know why you can or can't play some video using h/w decoder is to check it's codec, profile and level (using MediaInfo or any other similar tool, usually media players have it built-in).
About conversion:
Try Handbrake, by default it should produce files playable by your device (no need to touch presets). You can play with "x264 Preset" to control speed/size and Quality to control quality/size.
Converting with Handbrake into x264 mp4 would be the most universally acceptable format for all devices, and work with HW decoding.
That should be no problem with your stock Nexus 4.

[Bug]Color space and component range info ignored by decoders

Hello!
In videos (with any decoder selected - SW/HW/HW+) a wrong colorspace (bt.601 instead of bt.709) and component range (Limited instead of Full) are used at the same time when decoding (checked in VirtualDub2 by changing Decode Format settings respectively). It looks like information about them from video file is ignored. Video - mkv h264 high L5.1, yuv420p.
Color Format in options doesn't affect anything.
On a PC in MPC (all settings default, Enhanced Video Renderer (custom presenter)) the colors are correct.
Video was rendered with next x264 settings:
Code:
--range pc --colormatrix bt709
In mediainfo:
Code:
Color range : Full
Matrix coefficients : BT.709
Question: is there a way to force custom colorspace and component range for decoders?
vice2 said:
Hello!
In videos (with any decoder selected - SW/HW/HW+) a wrong colorspace (bt.601 instead of bt.709) and component range (Limited instead of Full) are used at the same time when decoding (checked in VirtualDub2 by changing Decode Format settings respectively). It looks like information about them from video file is ignored. Video - mkv h264 high L5.1, yuv420p.
Color Format in options doesn't affect anything.
On a PC in MPC (all settings default, Enhanced Video Renderer (custom presenter)) the colors are correct.
Video was rendered with next x264 settings:
In mediainfo:
Question: is there a way to force custom colorspace and component range for decoders?
Click to expand...
Click to collapse
HW decoder just makes use of android mediaplayer API. And, HW+ uses the same decoder component from the device, but in mx player's media framework. In both cases, color conversion is handled by the system.
SW decoder mainly relies on ffmpeg.
So, if you facing issues with all 3 decoders, it's less likely to be an issue with the app. Would you mind sharing a sample with us at [email protected]? It will hep us to investigate further.
Thank you.
Thirumalai.K said:
HW decoder just makes use of android mediaplayer API. And, HW+ uses the same decoder component from the device, but in mx player's media framework. In both cases, color conversion is handled by the system.
SW decoder mainly relies on ffmpeg.
So, if you facing issues with all 3 decoders, it's less likely to be an issue with the app. Would you mind sharing a sample with us at [email protected]? It will hep us to investigate further.
Thank you.
Click to expand...
Click to collapse
After some research, sadly, VLC and VLC-based players like MX player don't support full range rec.709 videos. I'll have to look for other software because all of my videos are rendered in full range. Expert's commenrary:
MPC is displaying the image correctly. VLC is displaying the video as limited range rec.601, darks are crushed, brights are blown out, and colors are off). But as mentioned, full range video is very uncommon. The industry standard for HD video is limited range rec.709.
Click to expand...
Click to collapse

Categories

Resources