H.264 decode/encode hardware acceleration on Surface RT - Windows RT General

Hi guys,
Since Tegra 3 chip has H264 hardware encoder and decoder, just curious how I can use them to do H.264 decoding and encoding in my Metro app or desktop app. Any documents or sample are welcomed. Thank you very much.

Assuming it's similar to WP7 (which I would hope so, but I haven't done any work with codecs in WinRT yet), just use the built-in encoder/decoder libraries and they will be run through the hardware acceleration. For example, if you attempt to record video from the camera, it should automatically encode using the hardware.

Yes. Hardware accelerator is already implemented in drivers. And not only for H264, audio decoding is also accelerated.
If you'll use MS official API and not try to decode data yourself - you'll automatically get accelerated.

Related

Is H.264 supported or not?

I installed coreplayer on my AT&T Tilt2, and it says, for a video I want to play, that AVC aka H.264 is not supported by the player. I have seen sites that say it is, and it isn't supported. What is the story, and is there any way to have coreplayer play this video or do I have to convert it?
thanks!
as far as i know all usa phones support h.264 streaming but as for the playback you'll need to use a new media player (try vplayer).
There are several different profiles of H.264. The hardware only supports Baseline profile, many sites are using Main or High profile for their streams. Hardware acceleration won't work for those, and the CPU is too slow to play them back reasonably without acceleration.

MX Player Codec for HW support

MX Player plays MKV files in SW mode. Even after installing NEON codec, only HW+ works. It's normal for Nexus 7 with S4 Pro?
Winudert said:
MX Player plays MKV files in SW mode. Even after installing NEON codec, only HW+ works. It's normal for Nexus 7 with S4 Pro?
Click to expand...
Click to collapse
if mkv and normal,mp4 is work for both, and this s4 pro + gpu 305 only support mpeg2 480i hw decode....
god_md5 said:
if mkv and normal,mp4 is work for both, and this s4 pro + gpu 305 only support mpeg2 480i hw decode....
Click to expand...
Click to collapse
Only understood your last part, but that is clearly wrong. It is branded an S4 Pro SoC, but it is an underclock S600 with 1.5GHz Krait300 CPU cores and an Adreno 320 GPU.
To the OP: .mkv files can be anything really, it is just a container. There are limitations to the HW playback of these devices, often times they don't accept anything h.264 above level 4.1. Maybe your encodes are just done for more advanced devices. But if hw+ works, why are you worried?
Death666Angel said:
Only understood your last part, but that is clearly wrong. It is branded an S4 Pro SoC, but it is an underclock S600 with 1.5GHz Krait300 CPU cores and an Adreno 320 GPU.
To the OP: .mkv files can be anything really, it is just a container. There are limitations to the HW playback of these devices, often times they don't accept anything h.264 above level 4.1. Maybe your encodes are just done for more advanced devices. But if hw+ works, why are you worried?
Click to expand...
Click to collapse
I did my own research and yeah, no problems with HW+ for me. Strange thing, btw. If I watch 1080p in SW mode, after 20-30 minutes Nexus 7 is starting to warm up (maybe that way S4 Pro SoC is used way more?). Nothing alike with HW+.
Winudert said:
If I watch 1080p in SW mode, after 20-30 minutes Nexus 7 is starting to warm up (maybe that way S4 Pro SoC is used way more?). Nothing alike with HW+.
Click to expand...
Click to collapse
Not surprising at all. Since videos are compressed using specific rules, these rules can be implemented very efficiently in dedicated hardware. Nearly all SoCs in the last few years have some sort of video decoding abilities backed into silicon, which means they can use those very efficient hardware functions to decode your videos. But if your video is encoded in a format just a bit differently (for example h.264 lvl5 instead of lvl 4.1), that hardware cannot deal with it and you have to switch to software, which means the CPU cores get fired up and a software is running on them to decode the video. Using the CPU to decode is the most inefficient way to do it, GPU is slightly more efficient and dedicated hardware is the most efficient way. The flexibility of these methods is the other way around.
Did you modify the Viddec in the media properties xml? There is a guide somewhere. It enabled more HW decoding for me & I do not have any temperature or throttling issues.
GSLEON3 said:
Did you modify the Viddec in the media properties xml? There is a guide somewhere. It enabled more HW decoding for me & I do not have any temperature or throttling issues.
Click to expand...
Click to collapse
No, I didn't. What guide? Where?
my question might not fit 100% to op's. using mx player too. just a quick question. is there a good/proper way to get dts support?
thx in advance
L-ViZ said:
my question might not fit 100% to op's. using mx player too. just a quick question. is there a good/proper way to get dts support?
thx in advance
Click to expand...
Click to collapse
Just add this plugin to MX Player.
MX Player Custom Codec with DTS Support
stock 4.4.2 is remove mpeg2 480i decode..
cm10.2 is can hw decode mpeg2 1080i,but h264 is lag..

troubleshooting choppy xvid playback in gotham xbmc

xbmc gotham 13.1 release - I have been trying to eliminate choppy playback with xvid encoded files. ( jitter stutter whatever you want to call it ) The file I am looking at is not using packed bitstream and does not matter whether it is in avi or mkv container. A good measure of this symptom is the opening studio logos or scenes which have panning or gliding objects. In my limited test divx encoded videos did not have this problem.
If you have hardware acceleration applied, go into settings, video settings, acceleration, disable libstagefright, disable mediacodec, and try and see if that works, otherwise choose software acceleration without choosing multi-threaded decoding.
the key to get this to work is to not have libstagefright or medicodec applied in hardware decoding. If you have to, then apply software decoding without multi-threaded decoding. It might take a reboot for this to work, or simply play a file with hardware decoding and then choose the above settings.
Let me know if that works for you. This also works on the xbmc for ouya application.
after turning off hardware acceleration you will need to re-enable it when playing anything larger than 720p.
I was looking at advancesettings.xml options to see if I could disable hardware for xvid only but I don't see that option, and trying to enable it only for avc, etc did not work. If I could figure out a way to play said files with xbmc for ouya automatically from gotham then I would do that.
hmagoo said:
xbmc gotham 13.1 release - I have been trying to eliminate choppy playback with xvid encoded files. ( jitter stutter whatever you want to call it ) The file I am looking at is not using packed bitstream and does not matter whether it is in avi or mkv container. A good measure of this symptom is the opening studio logos or scenes which have panning or gliding objects. In my limited test divx encoded videos did not have this problem.
If you have hardware acceleration applied, go into settings, video settings, acceleration, disable libstagefright, disable mediacodec, and try and see if that works, otherwise choose software acceleration without choosing multi-threaded decoding.
the key to get this to work is to not have libstagefright or medicodec applied in hardware decoding. If you have to, then apply software decoding without multi-threaded decoding. It might take a reboot for this to work, or simply play a file with hardware decoding and then choose the above settings.
Let me know if that works for you. This also works on the xbmc for ouya application.
after turning off hardware acceleration you will need to re-enable it when playing anything larger than 720p.
I was looking at advancesettings.xml options to see if I could disable hardware for xvid only but I don't see that option, and trying to enable it only for avc, etc did not work. If I could figure out a way to play said files with xbmc for ouya automatically from gotham then I would do that.
Click to expand...
Click to collapse
I know this is a pretty old thread, but wanted to just chime in here. I'm having these exact issues in my Ouya, but my AFTV plays the xvid/dvix (at 480p) files just fine (no stutter). I have my hardware decoding turned ON when i see the stuttering. As you mentioned, if/when I disable hardware decoding, the xvid/divx SD files play smoother (as smooth as i'd want). Wondering if ANYONE here knows anything about a way to disable hardware decoding on xvid/divx files, leaving it on for all else, without having to manually disable/re-enable it for each file? That is super wife-unfriendly (though it's fine for me).
I've been searching for over an hour so far, so if anyone has a quick link for me on how to do it, don't flame me for not finding it on my own please
Use spmc problem solved. Changes decode settings automatically.

[Q] h.265?

Hey. So I understand that HTC isn't using h.265 encoding despite it being one of the potentially killer features of the 810 (hopefully they do in a future update).
But what really disappoints me is that I can't seem to get h.265 hardware decoding to work...
Has anybody else gotten it to work somehow? It'd be great as software decoding doesn't seem to cut the mustard...
h.265 hardware decoding works now using MX Player HW+ mode on the latest firmware (1.40.709.8). Here's hoping that encode becomes available sometime in the future (either via a third party app or from HTC themselves as an advanced setting in the camera settings).

Question HEVC hardware decoder not support on MXplayer

H265 HEVC 10bit HDR can not decode by hardware on MX player and built-in player(google photo)
Other brand smartphone can be supported, is there any way to solve this? Or is Google not going to support it?
Video decoder is part of SOC based on the Samsung Exynos
H265 HEVC 10 bit HDR not listed as supported on P6P so no
Code:
Video file formats/codecs
3GPP (3rd Generation Partnership Project, .3gp)
AVI (Audio Video Interleaved, .avi)
DivX (.avi, .divx, .mkv)
Flash Video (.flv, .f4v, .f4p, .f4a, .f4b)
H.263
H.264 / MPEG-4 Part 10 / AVC video
H.265 / MPEG-H Part 2 / HEVC
MKV (Matroska Multimedia Container, .mkv .mk3d .mka .mks)
QuickTime (.mov, .qt)
MP4 (MPEG-4 Part 14, .mp4, .m4a, .m4p, .m4b, .m4r, .m4v)
VC-1
VP8
WebM
WMV (Windows Media Video, .wmv)
Xvid
https://www.devicespecifications.com/en/model/c6c557c6
miravision said:
Video decoder is part of SOC based on the Samsung Exynos
H265 HEVC 10 bit HDR not listed as supported on P6P so no
Code:
Video file formats/codecs
3GPP (3rd Generation Partnership Project, .3gp)
AVI (Audio Video Interleaved, .avi)
DivX (.avi, .divx, .mkv)
Flash Video (.flv, .f4v, .f4p, .f4a, .f4b)
H.263
H.264 / MPEG-4 Part 10 / AVC video
H.265 / MPEG-H Part 2 / HEVC
MKV (Matroska Multimedia Container, .mkv .mk3d .mka .mks)
QuickTime (.mov, .qt)
MP4 (MPEG-4 Part 14, .mp4, .m4a, .m4p, .m4b, .m4r, .m4v)
VC-1
VP8
WebM
WMV (Windows Media Video, .wmv)
Xvid
https://www.devicespecifications.com/en/model/c6c557c6
Click to expand...
Click to collapse
I don't get it. Why my 3 years old Sony Xperia 1 can support it but new phone like P6P?
Sony Xperia 1 supports HEVC 10bit HDR since its supported by Snapdragon 855 SOC
Code:
https://www.qualcomm.com/products/snapdragon-855-mobile-platform
miravision said:
Your Snapdragon 855 device supports HEVC 10bit HDR since its supported by SOC
Code:
https://www.qualcomm.com/products/snapdragon-855-mobile-platform
Click to expand...
Click to collapse
Thanks for the reply.
Try VCL it's much better and supports casting
paulwang323 said:
H265 HEVC 10bit HDR can not decode by hardware on MX player and built-in player(google photo)
Other brand smartphone can be supported, is there any way to solve this? Or is Google not going to support it?
Click to expand...
Click to collapse
miravision said:
Video decoder is part of SOC based on the Samsung Exynos
H265 HEVC 10 bit HDR not listed as supported on P6P so no
Code:
Video file formats/codecs
3GPP (3rd Generation Partnership Project, .3gp)
AVI (Audio Video Interleaved, .avi)
DivX (.avi, .divx, .mkv)
Flash Video (.flv, .f4v, .f4p, .f4a, .f4b)
H.263
H.264 / MPEG-4 Part 10 / AVC video
H.265 / MPEG-H Part 2 / HEVC
MKV (Matroska Multimedia Container, .mkv .mk3d .mka .mks)
QuickTime (.mov, .qt)
MP4 (MPEG-4 Part 14, .mp4, .m4a, .m4p, .m4b, .m4r, .m4v)
VC-1
VP8
WebM
WMV (Windows Media Video, .wmv)
Xvid
https://www.devicespecifications.com/en/model/c6c557c6
Click to expand...
Click to collapse
Fyi the pixel 6 pro plays h265/hevc 10bit/10bit HDR just fine with hardware decoding.
It's h264 10bit which is the issue file type which doesn't play in photos or Mxplayer without software, dunno why you had an issue. We even went and tested multiple files.
H264 10bit is the issue file type which tbf is very niche now and still kinda weird it doesn't work
Izy said:
Fyi the pixel 6 pro plays h265/hevc 10bit/10bit HDR just fine with hardware decoding.
It's h264 10bit which is the issue file type which doesn't play in photos or Mxplayer without software, dunno why you had an issue. We even went and tested multiple files.
H264 10bit is the issue file type which tbf is very niche now and still kinda weird it doesn't work
Click to expand...
Click to collapse
xxxxxx
Mod Edit: Links removed.
This two are sample of X265.10bit.HDR10Plus HEVC and they don't hardware decoding on Mx player. Could you please test it and tell me the result, I don’t know if I setup anything wrong.
edit:​I just update my google photo it work now on photos , but still can't hardware decoding on Mx player.
Shipoftheline said:
Try VCL it's much better and supports casting
Click to expand...
Click to collapse
VCL worked, thanks. But how do I know the video is decoded by hardware or software in VCL
paulwang323 said:
xxxxxxxxx Mod Edit: Links removed
This two are sample of X265.10bit.HDR10Plus HEVC and they don't hardware decoding on Mx player. Could you please test it and tell me the result, I don’t know if I setup anything wrong.
edit:​I just update my google photo it work now on photos , but still can't hardware decoding on Mx player.
Click to expand...
Click to collapse
The World In HDR UHD 4K Demo | 4K Media
The World in HDR in 4K (HDR10). Video Info: Resolution : 3840 x 2160 File size : 308 MB Duration : 00:02:35 Format : MKV Codec : HEVC Overall bit rate : 16.7 Mb/s Bit depth : 10 bits Frame rate : 60 fps
4kmedia.org
This does hw+ decoding which is hw on mxplayers own framework.
I tried arcane above and hw decoding (not hw+) was support just fine
Izy said:
The World In HDR UHD 4K Demo | 4K Media
The World in HDR in 4K (HDR10). Video Info: Resolution : 3840 x 2160 File size : 308 MB Duration : 00:02:35 Format : MKV Codec : HEVC Overall bit rate : 16.7 Mb/s Bit depth : 10 bits Frame rate : 60 fps
4kmedia.org
This does hw+ decoding which is hw on mxplayers own framework.
I tried arcane above and hw decoding (not hw+) was support just fine
Click to expand...
Click to collapse
Thanks, My current first choice is mxplay, followed by VCL. If neither of these two can be decoded by hardware, will find sources in other formats.

Categories

Resources