[Q] Codec supported by HW/HW+ Decoder - MX Player

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.

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.

[Q] Laggy when playing video 1080p with VP9 video format

Hi, Recently I've downloaded video 1080p from youtube but when playing it, the video laggy but the audio just playing properly fine...
I thought it because the decoder set to H/W, but when switched to S/W both video & audio become laggy, then try switched to H/W+ it become worse (doesn't support this kind video it says...).
When I see media info of video, it use VP9 format video.
Here is the video: www[dot]youtube[dot]com/watch?v=aE2GCa-_nyU
I've tried on 3 devices; Asus Zenfone 6, Samsung Galaxy Note 10.1, and LG G2, all of it have the same issues...
And tried on PC to check if the video has errors or something, but the video is playing perfectly fine.
Is it something like bugs so the video didn't play properly? Or android can't play video with format VP9 properly?
Because I've tried other video 1080p, it can be played properly.
Oh FYI, I've tried using few other video player, and none of its can play the video as good as MX Player. That's why I've been using MX Player as default video player.
Hope there will be improvement on the next update so the video VP9 1080p can be played properly
MX Player is the best
All 1080p videos are not same.
It may lag at various parameters like higher frame rate, bitrate, color depth,....etc.
For example if you consider a video 1080p @ 30fps inorder to display 1 sec of videos it needs to decode 30 frames. Where as in 1080p @ 60 fps it requires 60 frames to be decoded. So, It will require the double power. Like wise various encoding parameters matters in video playback.
Second, H/W uses your hardware's native decoder . If the codec is natively supported by your device, H/W decoder will be the best option.
In case of S/W decoder, it supports more video formats since it depends on the ffmpeg. But, decoding will be completely done one CPU. So, it needs very high cpu power. That's why it's more laggy.
Night.Lurker said:
Hi, Recently I've downloaded video 1080p from youtube but when playing it, the video laggy but the audio just playing properly fine...
I thought it because the decoder set to H/W, but when switched to S/W both video & audio become laggy, then try switched to H/W+ it become worse (doesn't support this kind video it says...).
When I see media info of video, it use VP9 format video.
Here is the video: www[dot]youtube[dot]com/watch?v=aE2GCa-_nyU
I've tried on 3 devices; Asus Zenfone 6, Samsung Galaxy Note 10.1, and LG G2, all of it have the same issues...
And tried on PC to check if the video has errors or something, but the video is playing perfectly fine.
Is it something like bugs so the video didn't play properly? Or android can't play video with format VP9 properly?
Because I've tried other video 1080p, it can be played properly.
Oh FYI, I've tried using few other video player, and none of its can play the video as good as MX Player. That's why I've been using MX Player as default video player.
Hope there will be improvement on the next update so the video VP9 1080p can be played properly
MX Player is the best
Click to expand...
Click to collapse
VP9 isn't a widely supported format. That's likely why HW and HW+ don't work well with it; most devices don't have VP9 hardware acceleration.
SW rendering of a 1080p video is very demanding. Even on the most powerful devices, since there's no hardware acceleration, expect performance to be sub-par. Currently, devices on the market can only SW render 720p smoothly.
This being said, for SW mode, try Settings > Decoder > use speedup tricks. See if that helps a little bit on SW.
Ultimately, the best option is to reencode the video to something like H264/AVC mp4.
VP9 on KitKat+
I've tried on 3 devices; Asus Zenfone 6, Samsung Galaxy Note 10.1, and LG G2, all of it have the same issues...
And tried on PC to check if the video has errors or something, but the video is playing perfectly fine.
Click to expand...
Click to collapse
Can you explain more where you're trying to playback the video? VP9 support is built in to Android from KitKat+ and should not have an issue playing back. Additionally, can you try playing back the video on Chrome on Android and see if there are still decode issues?
Thanks.
ktsamy said:
All 1080p videos are not same.
It may lag at various parameters like higher frame rate, bitrate, color depth,....etc.
For example if you consider a video 1080p @ 30fps inorder to display 1 sec of videos it needs to decode 30 frames. Where as in 1080p @ 60 fps it requires 60 frames to be decoded. So, It will require the double power. Like wise various encoding parameters matters in video playback.
Second, H/W uses your hardware's native decoder . If the codec is natively supported by your device, H/W decoder will be the best option.
In case of S/W decoder, it supports more video formats since it depends on the ffmpeg. But, decoding will be completely done one CPU. So, it needs very high cpu power. That's why it's more laggy.
Click to expand...
Click to collapse
CDB-Man said:
VP9 isn't a widely supported format. That's likely why HW and HW+ don't work well with it; most devices don't have VP9 hardware acceleration.
SW rendering of a 1080p video is very demanding. Even on the most powerful devices, since there's no hardware acceleration, expect performance to be sub-par. Currently, devices on the market can only SW render 720p smoothly.
This being said, for SW mode, try Settings > Decoder > use speedup tricks. See if that helps a little bit on SW.
Ultimately, the best option is to reencode the video to something like H264/AVC mp4.
Click to expand...
Click to collapse
I see... So the point is the problem because most devices don't have VP9 hardware accelaration yet, especially for 1080p VP9...
Well... I've tried using SW speed up trick, it didn't much help...
Yeah...maybe the best option is to reencode the video to H264...or download 720p version..., cause the 720p VP9 can be played perfectly fine.
Still... I hope the MX Player developer team has plan to improve playback for 1080p VP9 video
Btw thanks for your answer bro
gurupanguji said:
Can you explain more where you're trying to playback the video? VP9 support is built in to Android from KitKat+ and should not have an issue playing back. Additionally, can you try playing back the video on Chrome on Android and see if there are still decode issues?
Thanks.
Click to expand...
Click to collapse
As I said before, I'm trying to play 1080p VP9 video (that I've downloaded from youtube using IDM on computer) on my Asus Zenfone 6, Samsung Galaxy Note 10.1, & LG G2 using MX Player.
But when I playing it, the video is laggy on all devices...
Surely you can streaming it using youtube app & chrome android and it plays well till the end cause the available quality option in those apps is up to 720p (the 1080p quality option is hidden on those apps so I can't select it to test if it plays well or not).
Night.Lurker said:
Still... I hope the MX Player developer team has plan to improve playback for 1080p VP9 video
Click to expand...
Click to collapse
That would be something you would have to ask the ffmpeg team to do, since MX uses their codecs. Unless the MX dev has a magic trick up his sleeve, I don't think there's much else MX can do to further improve SW playback performance for a video that exceeds the CPU's capabilities...
Likewise, on a hardware acceleration, it's limited by the hardwaree put in place by the manufacturer... so this aspect would need a new device.
Hi, i bumping this thread because i encountered the issue on some youtube vids too, but it's mostly playing fine, i think that with a few updates it will be good my phone is getting hot fast though.. (oneplus one)
VP9 1440p https://www.youtube.com/watch?v=mNNfZuIA1GQ : fine
VP9 1080p with a lot of "motion" https://www.youtube.com/watch?v=KGyZY4HNumw a bit laggy
I think I have already answered.
Read the second post. Video encoding parameters matters.
If you can't play in H/W or H/W+ decoder, Don't expect the smooth playback on S/W. It fully depends on CPU. If is laggy then your processor is not powerful enough. Sometime enabling the speed up tricks may reduce the lagging.
One more thing, using CPU will drain your battery faster than H/W. When CPU runs it's maximum speed for long time it will emit more heat which may lead to issues.
ktsamy said:
I think I have already answered.
Read the second post. Video encoding parameters matters.
If you can't play in H/W or H/W+ decoder, Don't expect the smooth playback on S/W. It fully depends on CPU. If is laggy then your processor is not powerful enough. Sometime enabling the speed up tricks may reduce the lagging.
One more thing, using CPU will drain your battery faster than H/W. When CPU runs it's maximum speed for long time it will emit more heat which may lead to issues.
Click to expand...
Click to collapse
Okay thank you. Then i hope new processors will have vp9 decoding h/w
coc014 said:
Okay thank you. Then i hope new processors will have vp9 decoding h/w
Click to expand...
Click to collapse
The chance of that happening, I can't see to be high. The MPEG consortium probably pays a lot to lobby chipset makers to only support MPEG formats, such as H.264 and H.265.
CDB-Man said:
The MPEG consortium probably pays a lot to lobby chipset makers to only support MPEG formats, such as H.264 and H.265.
Click to expand...
Click to collapse
Lolno, it's just that industry is not interested in VP9. Even if they don't have to pay royalties they still have to develop asics (and h/w engineers are saying that it's not h/w friendly) and include them into the chip. It still costs a lot.
And what is the point of supporting vp9? It's an ugly google toy that they're ready to abandon (say hello to vp10 in 2015).
Ah yes, ASICs. I don't think manufacturers would be very happy at making more dies for new ICs. They already aren't happy with being forced to support Hi10p in H.265.
Forced? I would be happy if they were forced, but, at least Qualcomm, have no plans whatsoever
vivan000 said:
Forced? I would be happy if they were forced, but, at least Qualcomm, have no plans whatsoever
Click to expand...
Click to collapse
Well, this sucks. Looks like we'll be waiting another generation... Where did you find that support chart?
Edit: We should move this discussion to the 10-bit thread. I'm going to quote you over there. http://forum.xda-developers.com/app...layer-10-bit-video-discussion-t2725241/page12
abput supporting vp9 1080p and undeleting files in mx player p higher andrpid version
first of all:
"Most probably you’re on Android marshmallow 6.0 API. If you’re trying to delete a video that is located on the external storage then its not possible due to some bug in the file system and mx player.
If you’re on the internal storage then MX player has only read only rights on the directory on which you’re currently on."
or just delete on your internal system file manager application.
Second answer about playng videos vp9
becayse you can't play vp9 if you download youtube videos with IDM (internet download manager)
because it is bull**** and its newer versions used idmmkvlib.01 codec.so when downloadimg it not only download andit convert into ist bull**** special format.so won't play withx pr others.try another downloader or manual download yt videos i recomend.

[Q] Only Software Decoder for MKV Files?

I love using MX Player to watch shows on my Android devices. However I'm watching Psycho-Pass right now and noticed that only software decoder works for .mkv files, probably because of the way fansub groups encode their anime. Are there any intentions to add in a hardware decoder support for .mkv files in the future? Would help a lot with regards to how smooth the show is when I try to watch it on my phone, especially if it is 1080P. Would also help with battery life too.
Or is this more related with Hi10P? It seems that way but I am not sure since I know some of the anime I watch encode using Hi10P while others don't.
.mkv is just a container. What matters is video codec. H.264 will be decoded using h/w decoder (unless something in f/w is badly broken), 10-bit H.264 ("Hi10P") can't be decoded using h/w decoder and nobody can do anything about it.
(you can check the profile using MediaInfo on PC)

[Q] Cannot play HEVC files on my RK3288

Hi everyone,
Hoping someone can help
I just bought an Android TV Box featuring the RK3288 SoC and I cannot get MX Player to play the standard HEVC's (Sintel, Kazu, Tears of Steel etc).
They are just resulting in a black screen with audio only using the HW decoder, I tried activating the HW+ decoder but it says it's not available.
Any ideas? The files play fine in HW mode on Kodi.
Thanks,
Steve
I dont know about tv box. HW is not supported for HEVC. SW Decoder can play HEVC in my mobile. Have you switch to sw decoder?
SW is too stuttery to be of any use. The weird thing is I know that others can playback HEVC on theis SoC on MX Player so there is obviously something I'm missing...
It depends.
H/W decoder uses android's mediaplayer API to play the video. In short it will be similar to stock player. Some devices natively support HEVC. So, they can play HEVC in H/W decoder.
In some cases, the SOC may support HEVC decoding. But, the OEM may disable it to avoid patent issue or to save licensing fees.
If it's not natively supported, S/W decoder is the only option. But, in this entire decoding will be done on CPU. So, the performance will be purely depends on CPU power. It may be laggy on HEVC/HD videos.

MX player not supporting hevc h265 and hw+ not working with h264 and h263 1080p video

Please create support for hevc(h265) which highly effective and efficient codec video format for video and has gain lots of popularity. There is also issue for hw+ not supporting and compatible with h264 and h263.
ragXcoder said:
Please create support for hevc(h265) which highly effective and efficient codec video format for video and has gain lots of popularity. There is also issue for hw+ not supporting and compatible with h264 and h263.
Click to expand...
Click to collapse
It depends on the device. Most of the modern devices can play HEVC Main profile videos in the HW & HW+ decoders. We will be able to assist you better if you can share a bug report from the MX Player help menu.
IN general, HW & HW+ decoders make use of the hardware acceleration provided by your device chipset. If the chipset doesn't support hardware acceleration of HEVC or it is not implemented by the manufacturer, there is no way to play the same in the HW or HW+ decoder. It is your hardware limitation. The only way to play is to use SW decoders. But, it may lag if your CPU is not powerful enough to handle the decoding load.
MXPlayer said:
It depends on the device. Most of the modern devices can play HEVC Main profile videos in the HW & HW+ decoders. We will be able to assist you better if you can share a bug report from the MX Player help menu.
IN general, HW & HW+ decoders make use of the hardware acceleration provided by your device chipset. If the chipset doesn't support hardware acceleration of HEVC or it is not implemented by the manufacturer, there is no way to play the same in the HW or HW+ decoder. It is your hardware limitation. The only way to play is to use SW decoders. But, it may lag if your CPU is not powerful enough to handle the decoding load.
Click to expand...
Click to collapse
Can you analyze my report file?
I think most devices now support h264 decoding. I know for sure my Fire Stick 4k supports 264 and 265 decoding by hardware, and it starts playback fine....but then after a while it jumps from HW to HW+ to SW, saying not supported.
I'm very happy to see that MX Player now streams 1080p HEVC 10-bit MKV flawlessly to my Samsung Galaxy Tab A 10.1 2016! I have literally tried to get it to work for years. HW+ option did not bring better results (stutters and hickups), heck, even transcoding from my Synology Disk Station was a pain in the a. I am curious to know what you changed in the recent version 1.10.51 (I will archive it forever and keep it in my heart) or if I was just too stupid or my device was too slow.

Categories

Resources