- Learn what HW, HW+, and SW decoding actually do in MX Player.
- Fix black screens, stutter, and seeking freezes with the right mode.
- Choose the best tradeoff between compatibility, battery, and performance.
- What “Decoding” Means in MX Player (In Practical Terms).
- HW Decoder: The Standard Android Hardware Path.
- HW+ Decoder: Hardware Decoding With MX Player’s Extended Handling.
- SW Decoder: CPU-Based Software Decoding (Maximum Compatibility).
- HW vs HW+ vs SW: A Practical Decision Framework.
- Common Questions and Troubleshooting Scenarios (With Clear Fixes).
- What These Modes Mean for Battery, Heat, and Performance.
- Tips for Getting the Best Results (Without Guessing Every Time).
- Key Takeaways (So You Can Choose in Seconds).
- Citations
If you have ever opened MX Player’s decoder menu and wondered why the same video plays smoothly in “HW” but stutters in “HW+”, or why “SW” suddenly fixes missing audio, you are not alone. These modes are not “quality settings” in the usual sense. They are different decoding pipelines, each with tradeoffs involving compatibility, battery usage, subtitles, audio codecs, and device-specific hardware quirks. This guide explains what HW, HW+, and SW actually mean, how they work at a high level, and practical rules for choosing the right one for a given file and phone.

1. What “Decoding” Means in MX Player (In Practical Terms).
A video file (like MP4, MKV, or WEBM) is a container that holds one or more compressed streams, typically:
- Video (H.264/AVC, H.265/HEVC, VP9, AV1, etc.)
- Audio (AAC, MP3, AC-3, E-AC-3, DTS, FLAC, etc.)
- Subtitles (SRT, SSA/ASS, PGS, VobSub, etc.)
“Decoding” is the process of turning those compressed streams into raw video frames and audio samples your device can display and play. MX Player can do that decoding primarily in two ways:
- Hardware decoding: using the phone’s dedicated media hardware through Android’s media framework. This is usually fastest and most battery-efficient.
- Software decoding: using the phone’s CPU to decode the streams in software. This is usually most compatible, but can use more power and may struggle with high-resolution files on weaker devices.
MX Player’s “HW”, “HW+”, and “SW” modes are essentially different ways of choosing and managing those two approaches, plus how MX Player routes data to the screen, to the audio output, and through its subtitle and post-processing features.
2. HW Decoder: The Standard Android Hardware Path.
HW (hardware decoder) typically means MX Player is using Android’s standard hardware-accelerated decoding path (commonly via the Android media stack and the device’s hardware codec implementation). Conceptually, the app hands the compressed bitstream to the platform decoder, and the hardware does the heavy lifting.
In real-world use, HW mode is usually the best first choice because it tends to provide:
- Lower CPU usage (good for battery life and heat).
- Smoother playback for high-bitrate or high-resolution video, assuming the format is supported.
- Stable A/V sync because the platform pipeline is designed for real-time playback.
However, HW mode is only as capable as your device’s hardware decoder and its drivers. If your phone does not support a codec (or a specific profile/level of that codec), HW mode may fail, show artifacts, display a black screen, or refuse to play.
2.1 When HW Is Usually the Best Choice
- Mainstream codecs: H.264 in MP4, H.265/HEVC on devices that officially support it.
- High-resolution files: 1080p and 4K content on modern devices.
- Long playback sessions: when battery life and thermals matter.
- Streaming-like files: consistent bitrates and “normal” encoding settings.
If a video plays correctly in HW, it is usually the mode you should keep.
2.2 Common Reasons HW Can Fail
- Unsupported codec or codec profile: for example, a file encoded with a profile your hardware does not decode.
- Odd container features: some combinations of MKV features, timestamps, or interleaving can trip up device decoders.
- Driver quirks: hardware decoders depend on vendor implementations and can behave differently across devices.
- Subtitle rendering limitations: depending on how the pipeline is set up, some subtitle types or rendering options may be restricted.
When HW fails, many users switch to HW+ next because it attempts to keep hardware acceleration while changing how MX Player feeds or displays the decoded output.
3. HW+ Decoder: Hardware Decoding With MX Player’s Extended Handling.
HW+ is best understood as “still hardware accelerated, but with a different integration path.” MX Player uses a more app-controlled pipeline around the hardware decoder. The goal is typically to improve compatibility for certain files and to enable features that may be limited in the standard HW path on some devices.
Because HW+ still relies on the device’s hardware decoding capabilities, it does not magically add hardware support for codecs your device cannot decode. But it can help when:
- The file is supported by hardware, yet HW mode glitches, drops frames, or shows artifacts.
- You need hardware efficiency but the standard path is not behaving well with the container or timestamps.
- You want a hardware-based approach that better cooperates with MX Player’s rendering or subtitle pipeline on your device.
The practical takeaway is that HW+ is often a “compatibility rescue” mode when HW is close to working but not quite stable.
3.1 When HW+ Often Fixes Problems
- Green/purple blocks, tearing, or intermittent corruption in HW mode on certain chipsets.
- Jittery playback where HW shows uneven frame pacing but the device should be fast enough.
- Container edge cases where seeking or resuming in HW causes freezes.
- Subtitle and overlay behavior that may work better in HW+ on some devices and Android versions.
That said, HW+ can also be less stable on some devices because it exercises different parts of the rendering path. If HW+ introduces new issues (audio desync, stutter, or crashes), falling back to HW or switching to SW is the next step.
3.2 When HW+ Might Be Worse Than HW
- Older devices where the “extended” pipeline is less optimized.
- Edge-case firmware where the vendor’s codec behaves differently under alternate buffer handling.
- Very high bitrate 4K where any extra overhead can push the system over the edge.
If HW works, you generally do not gain much by forcing HW+. Consider HW+ as a second-line option when HW is failing.
4. SW Decoder: CPU-Based Software Decoding (Maximum Compatibility).
SW (software decoding) means MX Player decodes video and audio primarily on the CPU in software. This is the “most compatible” approach because it is not limited by what your hardware decoder supports. If a file uses an unusual encoding option, a niche codec, or an audio format your device’s media stack does not handle well, SW mode is often the fix.
Software decoding has real costs:
- Higher battery drain and more heat, especially for 1080p and 4K.
- Performance limits on weaker devices, leading to dropped frames or audio crackling.
But it also comes with benefits that matter in everyday troubleshooting:
- It can play files that HW and HW+ refuse.
- It can avoid hardware-driver bugs that cause corruption or crashes.
- It can handle “difficult” streams more consistently because the behavior is controlled by software.
4.1 When SW Is the Right Call
- HW and HW+ show a black screen but audio plays, or the app reports unsupported video.
- Audio codec issues, such as missing audio or “unsupported audio format” messages.
- Unusual encodes: very high reference frames, odd level settings, or rare container combinations.
- Playback correctness matters more than battery, such as reviewing footage for work.
If SW plays the file correctly, it confirms the file itself is not “broken”; it is often a hardware decode limitation or driver issue.
4.2 How to Decide if Your Device Can Handle SW Smoothly
As a quick heuristic:
- 720p H.264 is usually fine on most devices in SW.
- 1080p H.264 is often fine on midrange and flagship phones, depending on bitrate.
- 1080p HEVC and 4K can be heavy in SW and may stutter even on decent hardware.
When SW stutters, you have three main options: switch back to HW/HW+, use a lower-resolution file, or re-encode the video into a hardware-friendly format for your device.
5. HW vs HW+ vs SW: A Practical Decision Framework.
If you just want a simple process that works most of the time, use this order:
- Try HW first for best efficiency.
- Switch to HW+ if HW glitches, artifacts, freezes, or has unstable seeking.
- Switch to SW if hardware modes fail or the file is incompatible.
To make this more concrete, here is a quick comparison of the three modes.
5.1 Side-by-Side Comparison Table
| Mode | What It Primarily Uses | Biggest Strength | Common Downsides | Best For |
|---|---|---|---|---|
| HW | Android hardware decoder path | Battery efficiency and smooth playback | Limited by device codec support and driver quirks | Most normal H.264/H.265 videos |
| HW+ | Hardware decoding with MX Player’s extended handling | Better compatibility than HW in some edge cases | Can be less stable on some devices; still hardware-limited | HW glitches, artifacts, or seeking issues |
| SW | CPU software decoding | Maximum compatibility and predictable behavior | More battery drain and heat; may stutter on heavy files | Unsupported codecs or hardware decode bugs |
6. Common Questions and Troubleshooting Scenarios (With Clear Fixes).
6.1 “My Video Has Sound But the Screen Is Black. What Should I Switch To?”
This often indicates the video stream is not being decoded correctly by the hardware pipeline, or the render output is failing. Try the following in order:
- Switch from HW to HW+.
- If still black, switch to SW.
If SW works, it strongly suggests your device cannot hardware-decode that exact video stream or is hitting a device-specific hardware decode bug.
6.2 “Playback Is Choppy in SW, But HW Works. Should I Stay on HW?”
Yes, in most cases. If HW plays smoothly and you are not seeing corruption or sync problems, HW is usually the best choice for battery and thermals.
If you need SW for compatibility reasons (for example, correct subtitles or correct audio handling for a particular file), consider re-encoding that file into a more hardware-friendly format for your phone, such as H.264 video with AAC audio in an MP4 container.
6.3 “Seeking (Skipping Forward) Freezes the Video in HW Mode.”
Seeking stress-tests timestamp handling and buffer management. If HW freezes when you scrub the timeline:
- Try HW+ first.
- If the file is an MKV with unusual timestamp behavior, SW can be more tolerant.
If the issue happens across many files, it may be a firmware-specific decoder bug. Keeping MX Player updated and updating your device firmware can help, because these problems can be fixed at either the app layer or the device media stack layer.
6.4 “Why Does HW Mode Sometimes Look ‘Worse’ Than SW?”
Most of the time, the decoded picture should be visually equivalent. When you see differences, they are often due to:
- Post-processing differences: software pipelines may apply different scaling or color conversion paths.
- Hardware decoder quirks: some devices may handle limited range vs full range, or certain color formats, differently.
If you see obvious banding, washed-out colors, or incorrect contrast only in hardware mode, try HW+ and compare. If both hardware modes look wrong and SW looks correct, you have likely found a device-specific hardware decode/render issue.
6.5 “Which Mode Is Best for Subtitles?”
Subtitle behavior depends on subtitle type and how MX Player overlays them on video. In general:
- SW tends to be the most predictable when you have complex subtitle rendering requirements (fonts, positioning, effects) because the pipeline is controlled in software.
- HW and HW+ can be excellent for subtitles too, but some devices have limitations or quirks with overlays, especially with certain subtitle formats or high-resolution playback.
If you notice subtitles disappearing, lagging, or rendering incorrectly, test SW on that file to see if it is a hardware pipeline interaction.
7. What These Modes Mean for Battery, Heat, and Performance.
Choosing a decoder mode is often a tradeoff between efficiency and compatibility.
7.1 Battery and Thermals
- HW is typically the most power-efficient because dedicated hardware blocks are designed for video decode.
- HW+ is usually close to HW, but can have extra overhead depending on device and rendering path.
- SW often uses significantly more CPU, which increases power draw and heat.
If your phone gets hot, dims the screen, or drops frames after several minutes in SW mode, that can be thermal throttling. Hardware decode often avoids this.
7.2 Performance and Frame Drops
Hardware decode performance mainly depends on whether the codec and encode settings are supported. Software decode performance mainly depends on CPU strength and how demanding the file is (resolution, bitrate, codec complexity). That is why:
- A 4K HEVC file may be buttery smooth in HW on a device with HEVC hardware support.
- The same file may be unwatchable in SW on that same device because CPU decoding 4K HEVC is demanding.
8. Tips for Getting the Best Results (Without Guessing Every Time).
8.1 Start With “HW” and Only Switch When You Have a Symptom
A good default strategy is to keep HW as your baseline and only switch when something is clearly wrong: artifacts, black screen, stutter that should not be happening, broken seeking, or missing audio.
8.2 Use One File as a Test Case
If you frequently download the same type of video (for example, HEVC anime in MKV), keep one representative file and quickly test HW, HW+, and SW after major Android updates. Device updates can change decoder behavior because the underlying media stack and vendor codecs can change.
8.3 If SW Is Your Only Working Option, Consider Re-encoding
If you repeatedly need SW for a particular library of videos, you will often get a better long-term experience by re-encoding into a more widely supported format for your device’s hardware decoder. A commonly compatible target is:
- H.264/AVC video
- AAC audio
- MP4 container
This is not always ideal for maximum compression, but it is frequently the most compatible across Android devices and playback pipelines.
9. Key Takeaways (So You Can Choose in Seconds).
If you remember nothing else, remember this:
- HW is the default for smooth, battery-friendly playback when the device supports the file.
- HW+ is a hardware-accelerated alternative when HW is glitchy or unstable.
- SW is the compatibility fallback when hardware decoding fails, at the cost of power and performance.
In practice, the best mode is the one that plays your specific file correctly on your specific device, with acceptable battery use. Start with HW, switch to HW+ for hardware-related weirdness, and use SW when you need a guaranteed “just play it” option.
Citations
- MediaCodec API overview. (Android Developers)
- Media formats and the Android media framework (device-dependent codec support). (Android Developers)
- FFmpeg project overview (software decoding/encoding library used widely in players). (FFmpeg)
- Hardware acceleration. (Android Developer)