Hardware/GPU decoding of HEVC file on Android.

Vishal Changrani vishal_changrani at yahoo.com
Wed Nov 15 21:22:37 UTC 2017

Hi,Thanks for your reply. I tried using decodebin and it selects the software decoder avdec_h265 instead of the hardware one.Even if I turn on the debugging to *:7 I still don't see any messages from amc. I noticed that the MX player directly finds the OMX hardware decoder without going through android media framework perhaps.On the device there is the /etc/media_codecs.xml and also files: /etc/media_codecs_google_video.xml and media_codecs_google_audio.xml. Which file is actually being read by AndroidMedia/Gstreamer?Is there a working example somewhere which uses a pipeline with androidmedia?Really appreciate all the help,Vishal

    On Monday, November 13, 2017, 4:22:09 PM EST, Michael MacIntosh <mmacintosh at linear-systems.com> wrote:  
Since you are explicitly telling gstreamer to use the software decoder, (avdec_h265) it will use the software decoder.  You could try using playbin/decodebin and it might autoplug the correct hardware decoder.  So it might be worth trying to see if you get better results using playbin.  I don't have specific experience with android gstreamer, so I don't know what the hardware accelerated decoder would be called.  Also plugins get loaded on-demand, so that would explain why you don't see it getting loaded.
 On 11/13/2017 12:49 PM, Vishal Changrani wrote:
  I have been struggling to get an HEVC file to playout on an Nexus 9 tablet using the hardware decoder. 
  I have followed the GStreamer examples for Android and was able to run the examples as-is. Later I modified the tutorial 3 to use the following pipeline, 
  gst_parse_launch("filesrc location=/storage/emulated/0/myhevcfile.ts ! tsdemux ! queue ! openh264 ! avdec_h265 ! autovideosink sync=false", &error) 
  This too works fine but the playout is really slow since I suppose its using the software decoder. Hence I would like to change it to use the Hardware decoder. The MX player seems to be using the hardware decoder using the OMX plugin. I have been trying to do the same but without any luck.
 I see that 'androidmedia' is listed as part of the GSTREAMER_PLUGIN_CODECS which I have specified in the Android.mk file however it doesn't seem to be loaded when the application starts while all other plugins load fine. I don't see any 'ahc' error either. I believe the OMX hardware decoder will be accessible through it, correct? 
  Please can you give me some pointers on how to get the HEVC video to playout using the hardware decoder? 
gstreamer-devel mailing list
gstreamer-devel at lists.freedesktop.org
gstreamer-devel mailing list
gstreamer-devel at lists.freedesktop.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20171115/9acf6e24/attachment.html>

More information about the gstreamer-devel mailing list