If certain video or audio formats or individual files are choppy, grainy or stuck during playback in MX Player for Android, you can switch between the hardware and software decoder. The HW decoder will use your device’s hardware like GPU to play the media. SW decoder means that your CPU and application is being used to understand the media and play it. Switching between HW to SW decoder (or vice versa) can impact video quality and speed. These options are most useful when you play high-quality videos like 4K HDR videos. Switching between HW and SW decoder can fix sloppy playback and choppy videos. If you find a video that you can’t just play or it’s just black with some hints of pictures, switch to the other type of decoding (Hardware to software and vice-versa).
To make the Switch from Hardware (HW) to Software (SW) decoding or vice versa in the MX Player app for Android:
- Open a media in MX Player
- On the top right, tap on HW or SW (whichever is present)
- Switch between HW to HW+ or SW decoder by tapping on the screen options
In MX Player, there are additional options to enable more advanced decodings in the settings.
For hardware decoding, you will find HW+ decoder, HW decoder for playing local and network files, HW+ video codecs and audio codecs along with HW+ audio on SW video.
For software decoding, you will find SW decoder for playing local and network files, SW audio for local and network.
You can also specify additional settings like the number of CPU cores to use, Color format, speedup tricks, deinterlacing, and custom codecs. All these options are present in ⋮ > Settings > ⚙ Decoder.
Once you go to ⋮ > Settings > ⚙ Decoder, you will find the following options:
HW+ decoder (local): Check it to Set HW+ decoder as the default hardware decoder for local files.
HW+ decoder (network): Check it to Set HW+ decoder as the default hardware decoder for network play.
Try HW decoder: Check it so that MX Player will fall back to HW decoder if HW+ doesn’t work.
Try HW+ decoder: It’s the same as above only that HW+ will be used as the fallback.
HW+ video Codecs: Individual codecs like H.263 Hardware accelerated, H.264 Hardware Accelerated, H.264 10 bits, H.265 Hardware accelerated, H.265 10 bits, MPEG-4, VP8, and VP9 can be checked and applied for use.
HW+ Audio Codecs: A range of audio codecs like AAC, AMR NB, AMR WB, FLAC, G.711 A-law, G.711 μ-law, GSM, MP3, Opus, PCB, and Vorbis are available for selection.
HW+ audio on SW video: The HW+ decoder will be used for audio decoding if the SW audio decoder fails in SW decoding mode.
Correct aspect ratio: Keep it checked. It will fix the aspect ratio of HW decoded videos. Sometimes, it can ignore the aspect ratio and this option comes to the rescue.
Calibrate playback position: If your hardware decoding mechanism is displaying the media position incorrectly, use it to calibrate the exact playback position.
HW audio track selectable: If your HW decoder is crashing immediately after switching to another audio track, you might want to switch this option off. Otherwise, leave it as it is (checked).
SW decoder (local): Check it if you want to use the software decoder instead for local files.
SW decoder (network): Activate it for using the software decoder while playing streaming files.
SW audio: Once enabled, it will use the software audio decoder to understand and play music instead of the hardware.
SW audio (local): To use the software for audio playback. It will apply to files stored on the device.
SW audio (network): Applies to file streaming where those streamed audio files are played using the software (CPU decoder).
CPU Core Limit: Choose the maximum number of CPU cores that you want to give for CPU level decoding.
Color Format: An Experimental feature which allows you to switch between RGB 16-bit, RGB 32-bit, and YUV.
Deinterlace: For software decoding and it is deinterlaced by default. You can choose the mode to Yadif or W3fdif.
Custom codec: Load up a custom codec by browsing your folders.
If you haven’t noticed, by default, the hardware is the preferred method for decoding. The software is used as a fallback when everything else fails. That means, stick to HW decoding for clear, crispy playback of your media files. There are a lot of options that will ensure video and audio will be understood by your player using your GPU. In rare cases, if it fails and only if it fails, use CPU or application level decoding.
Most of the settings mentioned before are for advanced users. You might never have to use them. Just switch between the three HW, HW+ and SW that is available in the main screen.