Devices & players
Hardware vs software decoding: the right decoder for every IPTV device
By the IPTV Gold editorial team · How we write and test
Should I use hardware or software decoding for IPTV? Last updated:
Use hardware decoding by default. It runs on a dedicated video chip, so it plays HEVC and 4K smoothly with little heat or battery drain. Switch to software decoding only to test one misbehaving channel, such as a green picture or black screen with sound, and only on Full HD or lower streams.
Every IPTV channel reaches your device as a compressed stream, and something has to turn that stream back into pictures 30 or 60 times a second. That job is called decoding. Your player lets you choose who does it: a dedicated video chip (hardware decoding) or the device’s main processor (software decoding).
Most of the time you never think about it, because players default to hardware decoding and it simply works. The setting starts to matter when something goes wrong: a green picture on one channel, a black screen with sound, a 4K channel that stutters, or a Fire TV Stick that feels hot to the touch. The wrong decoder causes some of those problems, and the right one fixes them.
This article explains H.264 and HEVC, what the HW, HW+ and SW labels mean in TiviMate, IPTV Smarters, MX Player-style apps, VLC and Kodi, and which setting suits the devices found in Canadian homes, from a Fire TV Stick Lite to a Windows desktop. It finishes with a symptom table and a five-minute test you can run tonight.
What a video decoder actually does
Video is enormous before it’s compressed. A single 1080p frame holds about 2.07 million pixels, and at the 8-bit colour format TV uses, each pixel needs about 1.5 bytes. That’s roughly 3.1 MB per frame, and at 60 frames per second it comes to about 187 MB every second, or close to 1.5 Gbps.
A Full HD channel might arrive at around 8 Mbps instead. The arithmetic says the stream is compressed by a factor of roughly 190: 1,500 Mbps divided by 8 Mbps. For a 4K channel at 60 frames, the raw figure is about 6 Gbps, squeezed into something near 25 Mbps.
Compression works by storing a full picture now and then (a keyframe) and, in between, only the changes from one frame to the next. The decoder’s job is to rebuild every complete frame from those pieces, in order, on time, without ever falling behind. Miss the deadline and you see a dropped frame; get the maths wrong and you see coloured blocks.
Decoding is also separate from your internet connection. A perfect gigabit line won’t help if the decoder can’t keep up, and the strongest decoder in the world can’t play a stream that never arrives. Keeping those two problems apart is half of troubleshooting.
H.264 and HEVC: the two codecs behind your channels
A codec is the method used to compress and decompress video. IPTV lineups rely on two of them, and your device needs to handle both.
| H.264 (AVC) | HEVC (H.265) | |
|---|---|---|
| Standard published | 2003 | 2013 |
| Where you’ll meet it | SD, HD and most Full HD channels | 4K channels, HDR content, some Full HD channels |
| Efficiency | The baseline | Rule of thumb: similar quality at roughly half the bitrate |
| Decoding effort | Light | Noticeably heavier, especially in software |
| Colour depth | Usually 8-bit | 8-bit (Main) or 10-bit (Main 10) |
| HDR | Rare in practice | HDR10, HLG and Dolby Vision all use it |
| Hardware support | Universal on streaming devices | Standard on current devices; older or budget hardware may lack 10-bit |
Why 4K channels are almost always HEVC
The efficiency gap decides it. A 4K picture has four times the pixels of 1080p, and H.264 would need a bitrate many homes couldn’t sustain on Wi-Fi. HEVC brings 4K down to a level that a decent connection handles, at the price of more work for the decoder.
The data maths shows why this matters even with an unlimited plan. One megabit per second for an hour is about 0.45 GB, so a 25 Mbps 4K stream uses roughly 11 GB an hour. The same picture in H.264 would need far more.
8-bit, 10-bit and HDR
HDR video needs 10-bit colour, which in HEVC means the Main 10 profile. A device can decode HEVC in hardware and still lack Main 10 support, which is common on older chips. On those devices an HDR channel either refuses to play or forces the player into software decoding it can’t sustain.
Interlaced channels
North American broadcast HD has long been produced as 1080i or 720p, and many live channels keep that format. In 1080i, each frame arrives as two half-pictures that the device has to weave back together, a step called deinterlacing. Hardware decoders on streaming boxes handle this with varying quality, so a scrolling news ticker can look combed or jittery on one device and clean on another.
A large lineup of Canadian IPTV channels mixes sources with different codecs, resolutions and frame rates. Your decoder may handle H.264 at 720p on one channel and 10-bit HEVC in 4K on the next, which is exactly why a single setting can work on 99 channels and misbehave on the hundredth.
Hardware decoding: the dedicated video engine
Every streaming stick, TV box, phone and graphics card contains a block of silicon built only for decoding video. It’s fixed-function hardware: it knows a specific list of codecs and profiles and decodes them very efficiently, using a small fraction of the power the main processor would need.
On Android devices, apps reach this block through the system’s MediaCodec framework. On Windows, it’s DXVA2 or Direct3D 11 video acceleration. On Apple devices, it’s VideoToolbox. The labels in your player’s settings usually map to one of these.
Hardware decoding has clear strengths:
- It plays 4K HEVC smoothly on devices with modest processors, including a Fire TV Stick 4K Max.
- It runs cool, which matters for a stick tucked behind a wall-mounted TV.
- It saves battery on phones and tablets.
- It leaves the processor free for the guide, the menus and background updates, so the app stays responsive.
Its weakness is rigidity. A hardware decoder handles what it was designed for and nothing else. A stream with an unusual profile, a resolution change in mid-broadcast or a damaged frame can trip it up, and because the logic lives in the chip, an app update can’t teach it new tricks. Fixes come only through device firmware or graphics driver updates, if at all.
Software decoding: the processor does the work
Software decoding runs the same maths on the device’s general-purpose processor, usually with libraries derived from the open-source FFmpeg project. Because it’s just code, it’s flexible: it accepts odd formats, recovers better from damaged data and improves whenever the app updates.
The cost is processing power. Decoding 1080p at 60 frames per second in software keeps several processor cores busy, and 4K HEVC is beyond the processor of any streaming stick. When software decoding can’t keep up, frames are dropped, motion stutters and audio can drift ahead of the picture. Meanwhile the chip heats up, and phones drain their batteries quickly.
| Hardware decoding | Software decoding | |
|---|---|---|
| Where it runs | Dedicated video block in the chip | Main processor cores |
| 4K HEVC on a streaming stick | Smooth | Not realistic |
| Heat and power use | Low | High |
| Tolerance of unusual or damaged streams | Lower | Higher |
| How it improves | Firmware or driver updates only | Every app update |
| Deinterlacing options | Whatever the chip offers | Chosen in the app, such as VLC’s modes |
| Best use | The default for every channel | A test, or a fix for one stubborn channel at HD or lower |
HW, HW+ and SW: what the labels mean in each player
Each player names its decoder options differently, and the menus move between versions. The table shows where to look in the apps used most often with IPTV.
| Player | Options you’ll see | Where to find them | Sensible default |
|---|---|---|---|
| TiviMate | Hardware or software decoder | Settings → Playback; labels vary slightly by version | Hardware |
| IPTV Smarters Pro | Choice of playback engine, plus a decoder option in some versions | Settings → Player Selection, then the player’s own options | Built-in player with hardware decoding |
| MX Player | HW, HW+ and SW | The HW/SW label at the top right during playback; defaults under Settings → Decoder | HW+ where available |
| VLC for Android | Automatic, Disabled, Decoding acceleration, Full acceleration | Settings → Video → Hardware acceleration | Automatic |
| VLC for Windows | Automatic, Direct3D11 Video Acceleration, DXVA 2.0, Disable | Tools → Preferences → Input / Codecs → Hardware-accelerated decoding | Automatic |
| Kodi on Android | MediaCodec (Surface) and MediaCodec | Settings → Player → Videos, at Advanced or Expert level | Both on |
| Kodi on Windows | DXVA2 | Settings → Player → Videos, at Advanced or Expert level | On |
TiviMate
TiviMate uses hardware decoding unless you change it, and that’s the right choice on every TV device it runs on. If a single channel shows a green or blocky picture, switch to software as a test, replay that channel, then switch back once you know the answer. Software decoding of 4K on a stick will stutter, so never leave it on for a 4K group. The TiviMate settings guide covers the rest of the Playback menu, including the options that sit next to the decoder.
IPTV Smarters Pro
Smarters lets you pick the playback engine under Settings → Player Selection: its built-in player, a VLC-based option on some versions, or an external player installed on the device. If one channel misbehaves in the built-in player, trying a different engine is a quick test, because each engine has its own decoding path. Keep the built-in player with hardware decoding as your everyday setting.
MX Player and ExoPlayer-based apps
MX Player uses three labels that several other Android apps have borrowed:
- HW uses Android’s standard hardware path.
- HW+ is MX Player’s own way of driving the same hardware block, and it’s often more compatible with unusual streams.
- SW decodes on the processor with MX Player’s built-in codecs.
Some builds can’t play certain Dolby audio formats in SW mode without an extra codec pack, which shows up as a picture with no sound. That’s an audio problem, not a video one. Many other Android players are built on Google’s ExoPlayer library, which uses hardware decoding through MediaCodec and rarely exposes a switch at all.
Switching decoders in VLC and Kodi, step by step
VLC and Kodi let you force each mode explicitly on almost every platform, which makes them handy tools for testing a problem channel. Both are free, so it’s worth keeping one installed even if you watch in another app.
VLC on Android and Windows
On an Android phone, tablet or TV box with VLC installed:
- Open VLC and go to Settings. On phones and tablets, it’s More → the gear icon; on TV boxes, it’s the Settings entry on VLC’s home screen.
- Choose Video → Hardware acceleration. Some versions keep this option under Advanced instead.
- Select Automatic for normal viewing, or Disabled to force software decoding for a test.
- Back out of Settings and replay the channel.
On Windows:
- Open VLC and choose Tools → Preferences, or press Ctrl+P.
- Select the Input / Codecs tab.
- Set Hardware-accelerated decoding to Automatic, or to Direct3D11 Video Acceleration if Automatic misbehaves. Choose Disable to force software decoding.
- Select Save, then close and reopen VLC so the change takes effect.
Kodi
Kodi hides its decoder settings until you raise the settings level:
- Open Settings (the gear icon) → Player.
- At the bottom left, select the settings level button until it reads Advanced or Expert.
- Open Videos. On Android, find Allow hardware acceleration - MediaCodec (Surface) and Allow hardware acceleration - MediaCodec. On Windows, the option is Allow hardware acceleration - DXVA2. On Apple devices, it’s VideoToolbox.
- Leave them on for normal viewing. To test software decoding, turn them off, replay the channel, then turn them back on.
On Android boxes, MediaCodec (Surface) is generally the most efficient path for 4K and HDR, so it’s the one to keep on if you disable anything.
Which decoder to use on each device
The short version is the same everywhere: hardware first. What differs is how far software decoding can go as a fallback, which depends on how strong the processor is.
| Device | Hardware HEVC | Plays 4K | Everyday setting | Software as a fallback |
|---|---|---|---|---|
| Fire TV Stick Lite | Yes, up to 1080p | No | Hardware | SD and 720p only, as a test |
| Fire TV Stick 4K and 4K Max | Yes, including 4K HDR | Yes | Hardware | Full HD may play; expect dropped frames on 60 fps sports; never 4K |
| Fire TV Cube | Yes, including 4K HDR | Yes | Hardware | Full HD, with headroom to spare |
| NVIDIA Shield TV and Shield TV Pro | Yes, including Dolby Vision | Yes | Hardware | Usually fine for Full HD H.264 |
| Formuler Z11 Pro series | Yes | Yes | Hardware (the MyTVOnline 3 default) | Full HD as a test |
| Recent Android phones and tablets | Yes on most models | Varies by screen and chip | Hardware | Full HD on stronger phones, at a cost in battery and heat |
| Windows PC with modern graphics | Yes, through the GPU | Yes, with a recent GPU | Automatic in VLC or DXVA2 in Kodi | Full HD on most desktop processors; 4K HEVC needs a strong one |
| Mac with Apple silicon | Yes, through VideoToolbox | Yes | Hardware | Comfortable for Full HD |
Fire TV Stick Lite, 4K and 4K Max
The Lite is a Full HD device. A 4K channel will show a black screen or play in HD on it, and no decoder setting changes that. Use the FHD version of the channel instead. The Lite’s processor is also the weakest of the family, so software decoding is only practical for SD and 720p channels.
The 4K and 4K Max decode 4K HEVC and HDR in hardware without breaking a sweat. Leave them on hardware. If the whole stick feels sluggish, with slow menus and long app launches, that’s usually storage and background apps rather than the decoder; the guide to fixing a Firestick running slow covers the cleanup routine.
Heat is the other Fire TV issue. A stick hanging behind a TV gets little airflow, and software decoding makes it worse. Use the HDMI extender that came in the box so the stick sits away from the TV’s hot back panel.
NVIDIA Shield TV
The Shield’s processor has the most headroom of any common Android TV box, and its hardware decoder covers every format IPTV uses, including Dolby Vision HEVC. Hardware is still the right default. The Shield’s extra power is most useful as a fallback: if one Full HD channel needs software decoding, the Shield is the box most likely to cope.
Formuler boxes
Formuler’s MyTVOnline 3 uses the box’s hardware decoder, and its settings are tuned for the chip inside. If you install TiviMate on a Formuler as well, the same rule applies: hardware for everything, software only to test one channel.
Android phones and tablets
Phones decode HEVC in hardware on most models from recent years. Software decoding works on stronger phones but drains the battery quickly and warms the phone in your hand, which is a clear sign to switch back. The Android setup guide covers the other phone-specific setting that matters: battery usage set to Unrestricted, so playback doesn’t pause in the background.
Windows PCs and Macs
On a computer, the graphics chip does the hardware decoding. As a rough guide, Intel processors with integrated graphics from about the 7th generation onward, NVIDIA cards from the GTX 10 series onward and AMD cards from the Radeon RX 400 series onward decode 10-bit HEVC in hardware. Older graphics may manage 8-bit HEVC but not 10-bit, which affects HDR and many 4K channels.
VLC brings its own decoders, so it plays HEVC without Microsoft’s paid HEVC Video Extensions, which only matter for Windows’ built-in apps. The Windows and Mac setup guide lists players for both systems. Macs with Apple silicon decode HEVC in hardware and have processors strong enough for software decoding of Full HD when you need it.
Symptoms of the wrong decoder, and what to do
Decoder problems have recognizable signatures. So do problems that look similar but come from somewhere else. Use this table to tell them apart before you change settings.
| What you see | Likely cause | What to try |
|---|---|---|
| Green screen, or green and pink blocks | Hardware decoder rejecting that stream’s format, or a damaged frame | Switch to software for a test; if that fixes it, tell support which channel |
| Black screen with sound | Video decoder failed to start, often 4K HEVC on a Full HD-only device | Play the FHD version; switch decoder; restart the app |
| Picture but no sound | Audio format not supported on the current path, or passthrough to a device that can’t decode it | Change audio output to PCM or stereo; this isn’t a video decoder issue |
| Stutter, dropped frames, sound drifting ahead | Software decoder can’t keep up | Switch back to hardware |
| Smooth picture but judder on slow pans | Stream frame rate doesn’t match the TV’s refresh rate | Turn on auto frame rate or Match Content |
| Device hot, menus laggy, temperature warning | Software decoding running the processor flat out | Hardware decoding, better airflow, the HDMI extender |
| Freezes with a spinning circle, then catches up | Network or buffer, not the decoder | Check the connection and the buffer size |
| Combing lines on moving text | Interlaced source with weak deinterlacing | Try software decoding with deinterlacing in VLC or Kodi |
A black screen has several possible causes beyond the decoder, from HDMI handshakes to account status. The ordered checklist for IPTV black screen with no sound works through them in sequence.
A five-minute decoder test
When one channel looks wrong, this routine tells you whether the decoder is responsible, without leaving your device in a bad state.
- Note the channel name, the time and exactly what you see, such as “green blocks on movement” or “black screen, sound fine”.
- Play two other channels from the same group. If they fail too, the decoder isn’t the cause; check your connection, the app and your account first.
- Switch the player to software decoding and replay the problem channel.
- If it now plays correctly, the stream uses a format your chip dislikes. Use software for that channel only if the device keeps up without stuttering or heating, or pick another version of the channel, such as FHD instead of 4K.
- If it fails in both modes, open the same channel in VLC on a phone or computer using your M3U link. If it plays there, the problem is the device or app; if not, it’s the source.
- Switch the player back to hardware decoding, then send support the channel name, the time and what each test showed.
Quick decision guide
- The channel is 4K: hardware only. If your device isn’t 4K-capable, use the FHD version.
- Every channel misbehaves: it isn’t the decoder. Restart the device, check the connection, then check the account.
- One channel shows green or blocky video: run the software test.
- The device is hot or the menus lag: go back to hardware and improve airflow.
- A phone gets warm and the battery drops fast: hardware.
- Motion judders but the picture is clean: frame-rate matching, not decoding.
Audio decoding is a separate setting
Players decode audio separately from video, and audio settings cause their own family of problems. Live channels often carry Dolby Digital (AC3) or Dolby Digital Plus (E-AC3) sound. With passthrough on, the player sends that audio untouched to your TV, soundbar or receiver to decode. With passthrough off, the player converts it to PCM itself.
If your soundbar can’t decode the format the player passes through, you get a picture with no sound. The fix is in the audio settings, not the video decoder. In TiviMate, look for audio passthrough under Settings → Playback. On a Fire TV, Settings → Display & Sounds → Audio → Surround Sound offers options such as Best Available, Dolby Digital Plus and Stereo, depending on the model.
Audio processing in soundbars and receivers also adds delay, which shows up as lips moving before the words arrive. That’s a sync issue rather than a decoding failure, and players such as TiviMate and VLC include an audio delay control to correct it.
When the decoder isn’t the problem
The decoder gets blamed for plenty it didn’t do. Before you change settings, rule out these common lookalikes:
- Judder on Apple TV and 4K boxes. Smooth motion with a regular hitch on pans usually means the TV is running at a different refresh rate from the stream, such as a 50 fps channel on a 60 Hz output. The guide to Apple TV IPTV stuttering covers Match Content and frame-rate settings in detail.
- Freezing with a spinning circle. That’s the buffer running empty because data arrived late. Ethernet, the 5 GHz band and a larger buffer help, and the article on IPTV buffer size settings gives recommended values per device.
- A device that’s simply too old. If hardware decoding stutters on 4K and software is worse, the chip has run out of road. The buyer’s guide to the best streaming device for IPTV in Canada compares decoder support across current models.
No IPTV subscription can pick your decoder for you, because the same stream goes to every device and the decoding happens on your side of the connection. What a service can do is offer FHD versions alongside 4K and backup streams on big events, which give you somewhere to go when one version doesn’t suit your hardware. That’s one of the practical points worth checking when you compare the best IPTV Canada services.
Test your own device during the trial
The easiest time to learn how your device handles every format is before you’ve paid for anything. The 24-hour free trial gives you a real login, so you can try an SD channel, a Full HD sports channel at 60 frames and a 4K channel on your own TV. Watch each for a few minutes in hardware mode, and run the software test on anything that looks off.
If you’re setting up our IPTV Canada service on a new box, run that check on the first evening. Ten minutes of testing tells you more about your device than any spec sheet, and support is available 24/7 in English and French if a channel needs a closer look.
Key takeaways
- Hardware decoding uses a dedicated video chip; it’s cool, efficient and the right default on every device.
- Software decoding uses the main processor; it’s more tolerant of odd streams but runs hot and can’t handle 4K HEVC on streaming sticks.
- Most 4K and HDR channels use 10-bit HEVC, so check that your device decodes HEVC Main 10 in hardware.
- Green blocks on one channel point to the decoder; freezing with a spinning circle points to the network; judder on pans points to frame-rate matching.
- Use software decoding as a test for one channel, then switch back to hardware.
More in devices & players
- TiviMate settings, section by section: what each option does and why
- The best IPTV player for Samsung and LG TV, compared by model year
- Fixing Apple TV IPTV stuttering: frame rates, HDR and player settings
- Free vs paid IPTV player apps: features, licences and privacy in Canada
- Choosing the best streaming device for IPTV in Canada, room by room
- Firestick Running Slow: Causes, Cleanup Steps and When to Upgrade
Quick answers
Does hardware decoding lower picture quality?
No. Hardware and software decoders follow the same standard and rebuild the same frames from the stream, so a correctly decoded picture looks identical either way. Differences you might notice come from other steps, such as deinterlacing, upscaling or HDR handling, which some apps do differently in each mode. If one mode looks softer, compare the same channel in both for a minute before deciding.
Does software decoding use more internet data?
No. Your data use depends on the stream's bitrate, not on how your device decodes it. The same channel downloads the same amount either way: a stream at 8 Mbps uses about 3.6 GB an hour, whether the video chip or the processor turns it into pictures. Software decoding costs processing power, heat and battery life, not bandwidth. The Fire TV Stick setup guide lists the settings that do matter.
Is HEVC the same as H.265?
Yes. HEVC (High Efficiency Video Coding) and H.265 are two names for the same codec, just as AVC and H.264 are the same thing. As a rule of thumb, HEVC needs roughly half the bitrate of H.264 for similar quality, which is why 4K and HDR channels use it. Your device needs hardware HEVC support, ideally 10-bit, to play those channels smoothly.
Keep reading
Watch tonight. Decide tomorrow.
Take all 56,000+ channels for a 24-hour test drive on your own TV and internet. No card, no payment. Plans start at $17 a month in CAD, with a 7-day money-back guarantee.
7-day refund 24/7 Live Chat help Priced in CAD