[Feature Request] Full hardware acceleration - MX Player

Hi,
@ forum moderator / developer
Many Video players use GPU to decode and then CPU for transmitting buffer to display on supported videos. I don't know how Mx player handle videos. Is it possible to use GPU for decoding and directly throw the buffers to display (instead of using cpu to carry buffer)? Currently I have seen this feature in Vlc for android. It would be really better for performance as well as less battery uses.

In HW mode MX player just asks system to play video and it should use the fastest way. Dunno what happens in HW+
Also I'm not sure if there's any difference - since there's no real VRAM CPU and GPU buffers are the same.

warvevo said:
Hi,
@ forum moderator / developer
Many Video players use GPU to decode and then CPU for transmitting buffer to display on supported videos. I don't know how Mx player handle videos. Is it possible to use GPU for decoding and directly throw the buffers to display (instead of using cpu to carry buffer)? Currently I have seen this feature in Vlc for android. It would be really better for performance as well as less battery uses.
Click to expand...
Click to collapse
vivan000 said:
In HW mode MX player just asks system to play video and it should use the fastest way. Dunno what happens in HW+
Also I'm not sure if there's any difference - since there's no real VRAM CPU and GPU buffers are the same.
Click to expand...
Click to collapse
As @vivan000 said, H/W decoder uses androids native mediaplayer interface. So, the video will be played using system decoders.
H/W+ uses the same system decoders. But, it uses MXPlayer's own media framework. So, it can support more formats.
So, Both H/W and H/W+ are most efficient decoders.
But, S/W decoder uses CPU for decoding. So, you will not get the benifit of hardware acceleration. It may need very fast cpu depending upon the video. So, it may not be as efficient as H/W or H/W+. But, only thing is you can play almost all formats.
Sent from my SM-G900H

Related

[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] What is the best setting in MX Player to save maximum battery?

Can anybody suggest me which setting should i use in MX Player so that it uses minimum battery while playing movies.
hw/sw decoder, audio/video setting etc
JerryGoyal said:
Can anybody suggest me which setting should i use in MX Player so that it uses minimum battery while playing movies.
hw/sw decoder, audio/video setting etc
Click to expand...
Click to collapse
clear mx data and import http://www.mediafire.com/view/m4y07txbx00611o/mx_player.xml
JerryGoyal said:
Can anybody suggest me which setting should i use in MX Player so that it uses minimum battery while playing movies.
hw/sw decoder, audio/video setting etc
Click to expand...
Click to collapse
Simple rule is that using Maximum utilization of Hardware Acceleration & Low Brightness will reduce the battery usage.
If you haven't touched anything on settings, by default mx uses H/W decoder (If it's natively supported) & H/W accelerated onscreen controls, subtitles which are battery efficient. Only thing you have to take care is Screen Brightness.
ktsamy said:
Simple rule is that using Maximum utilization of Hardware Acceleration & Low Brightness will reduce the battery usage.
If you haven't touched anything on settings, by default mx uses H/W decoder (If it's natively supported) & H/W accelerated onscreen controls, subtitles which are battery efficient. Only thing you have to take care is Screen Brightness.
Click to expand...
Click to collapse
thanks. Although mx player is playing video properly is there any need of custom codec?why do people use custom codec?
If you are talking about ktsamy's custom codec, that is only needed for DTS audio support.

[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.

4k playback and device support

Hello all,
I am trying to make my new Philips TV play 4k HEVC videos but am having no luck with smooth playback.
MX Player seems to do the best job but stalls eventually. HW+ decoder kicks in to do the playback.
Short version of TV specs:
SoC Mediatek MT5596A
CPU ARM Cortex-A53
GPU ARM Mali-T860 MP2
Android 6
I collected MX player logs while the video was choppy and can send if required.
Can anyone tell me if my device is supported or am I wasting time on MX Player ?
Thanks
sexy_lady said:
Hello all,
I am trying to make my new Philips TV play 4k HEVC videos but am having no luck with smooth playback.
MX Player seems to do the best job but stalls eventually. HW+ decoder kicks in to do the playback.
Short version of TV specs:
SoC Mediatek MT5596A
CPU ARM Cortex-A53
GPU ARM Mali-T860 MP2
Android 6
I collected MX player logs while the video was choppy and can send if required.
Can anyone tell me if my device is supported or am I wasting time on MX Player ?
Thanks
Click to expand...
Click to collapse
What about HW decoder?
HW & HW+ decoder basically uses system decoders which are built into the firmware.
If HW decoder doesn't work and HW+ lags, probably your system decoders couldn't decode the video at that particular encoding profile. Can you share the logs here? We may have to look at the logs in order to understand the issue better.
Thirumalai.K said:
What about HW decoder?
HW & HW+ decoder basically uses system decoders which are built into the firmware.
If HW decoder doesn't work and HW+ lags, probably your system decoders couldn't decode the video at that particular encoding profile. Can you share the logs here? We may have to look at the logs in order to understand the issue better.
Click to expand...
Click to collapse
Hello and thanks,
The thing is that built-in TV video player does not work with x265 videos. I have tried VLC which performs terribly. I guess it uses SW decocoding and can't even play 1080p smoothly with x265 encoding.
Archos is really slick and works well with 1080p x265 but lags on 4K. The speed of 4K playback with Archos is the same as for MX Player with HW decoder. Only HW+ will play smoothly but it eventually stalls to a point of 1 frame per seconds as if some error is encountered (always at the same point in movie). Any attempt to rewind will kill 4K playback smoothness and menu operations often result in MX Player crashing.
Here is my report file
*h*t*t*p*s://1drv.ms/u/s!Av9g--Caxs7ogzkI5M_WUWgfOp3D

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