Why would you guy want to play MKV video file with HW decoding mode?
There's a mkv file that I tried with stock player and MX video player (HW mode) but it only give the video without sound.
I try again MX video player (S/W mode) and it works fine...
Two things. First, mkv isn't a video type; it's a container format, and has absolutely nothing to do with the type of video it contains. Regardless of that video type, however, decoding video through hardware takes massively less power than letting the CPU do it (i.e. software decoding in MX). For comparison's sake, I can play something like 10-12 hours of hardware-decoded video on a charge. Playing about 22 minutes of software video--one TV episode at 720p with 10-bit x.264--burned through over 10% of my battery. Obviously these figures aren't precise and will vary by video type and content (since screen power is also quite relevant, videos with lots of black simply consume less power, <3 OLED). As a ballpark figure, I tend to assume that decoding the same video through software will take 3-4x more power. If you want to test it yourself, the built-in battery stats will actually provide a mildly competent comparison: compare mediaserver battery consumption (hardware) to your player's battery consumption (software).
Second, if the video is encoded at a reasonably high bitrate, software mode will not play smoothly. You can use HW video decoding and still use software audio in MX by clicking on the little music notes next to the hardware/software decoding switcher, which works fine for playing DTS audio. You can even make this the default if you want (preferences->decoder->s/w audio), so you don't have to choose it every time you play a new file.
Or you can just do what the above poster suggested and transcode the DTS to ac3 or mp3 or any other sound format that our hardware supports.