Accelerated H.264 and HEVC video decoding with Cedrus
#1
Starting with Kernel 3.10.65-2-pine64-longsleep-43 the media modules are included. This means one could use the hardware video engine on the SoC. So i felt why not try it - and surprisingly it worked Smile.

Pine64 decodes 1080p H.264 and HEVC just fine and smooth with Cedrus from linux-sunxi community.

You can do it yourself following the Cedrus build instructions on http://linux-sunxi.org/Cedrus

HEVC bbb-1920x1080-cfg02.mkv
Code:
MPlayer 1.2.1 (Debian), built with gcc-5.3.1 (C) 2000-2016 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing bbb-1920x1080-cfg02.mkv.
libavformat version 56.40.101 (external)
libavformat file format detected.
[lavf] stream 0: video (hevc), -vid 0
[lavf] stream 1: audio (aac), -aid 0
VIDEO:  [HEVC]  1920x1080  0bpp  60.000 fps    0.0 kbps ( 0.0 kbyte/s)
Clip info:
encoder: libebml v1.3.0 + libmatroska v1.4.1
creation_time: 2014-04-22 08:46:13
Load subtitles in ./
[VDPAU SUNXI] VE version 0x1689 opened
[VDPAU SUNXI] OSD disabled!
==========================================================================
Forced video codec: ffmpeg12vdpau
Forced video codec: ffh264vdpau
Forced video codec: ffhevcvdpau
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 56.60.100 (external)
Selected video codec: [ffhevcvdpau] vfm: ffmpeg (FFmpeg HEVC / H.265 (VDPAU))
==========================================================================
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 48000 Hz, 6 ch, floatle, 0.0 kbit/0.00% (ratio: 0->1152000)
Selected audio codec: [ffaac] afm: ffmpeg (FFmpeg AAC (MPEG-2/MPEG-4 Audio))
==========================================================================
AO: [pulse] Init failed: Connection refused
Failed to initialize audio driver 'pulse'
AO: [alsa] 48000Hz 2ch floatle (4 bytes per sample)
Starting playback...
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [vdpau] 1920x1080 => 1920x1080 HEVC VDPAU acceleration
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [vdpau] 1920x1080 => 1920x1080 HEVC VDPAU acceleration
A:   1.9 V:   0.8 A-V:  1.089 ct:  0.056   0/  0 86% 135%  7.5% 50 0


H.264 big_buck_bunny_1080p_H264_AAC_25fps_7200K.MP4
Code:
MPlayer 1.2.1 (Debian), built with gcc-5.3.1 (C) 2000-2016 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing big_buck_bunny_1080p_H264_AAC_25fps_7200K.MP4.
libavformat version 56.40.101 (external)
libavformat file format detected.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fb6fd8688]Protocol name not provided, cannot determine if input is local or a network protocol, buffers and access patterns cannot be configured optimally without knowing the protocol
[lavf] stream 0: video (h264), -vid 0
[lavf] stream 1: audio (aac), -aid 0, -alang und
VIDEO:  [H264]  1920x1080  24bpp  25.000 fps  7254.9 kbps (885.6 kbyte/s)
Clip info:
major_brand: mp42
minor_version: 1
compatible_brands: isommp423gp5
creation_time: 2011-08-04 01:51:12
title: big_buck_bunny_1080p_surround.avi_006.AVI.MP4
artist: created with SUPER(C).v2011.bld.49
encoder: eRightSoft
comment: 09:51:32
Load subtitles in ./
[VDPAU SUNXI] VE version 0x1689 opened
[VDPAU SUNXI] OSD disabled!
==========================================================================
Forced video codec: ffmpeg12vdpau
Forced video codec: ffh264vdpau
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 56.60.100 (external)
Selected video codec: [ffh264vdpau] vfm: ffmpeg (FFmpeg H.264 (VDPAU))
==========================================================================
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 44100 Hz, 2 ch, floatle, 96.1 kbit/3.40% (ratio: 12009->352800)
Selected audio codec: [ffaac] afm: ffmpeg (FFmpeg AAC (MPEG-2/MPEG-4 Audio))
==========================================================================
AO: [pulse] Init failed: Connection refused
Failed to initialize audio driver 'pulse'
AO: [alsa] 44100Hz 2ch floatle (4 bytes per sample)
Starting playback...
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [vdpau] 1920x1080 => 1920x1080 H.264 VDPAU acceleration
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [vdpau] 1920x1080 => 1920x1080 H.264 VDPAU acceleration
A:   7.5 V:   6.7 A-V:  0.776 ct:  0.071   0/  0 60% 42%  1.4% 50 0


Pine64 SoC temperature is stable at around 70C while decoding HEVC 1080p (without a heat sink, no enclosure).

For easy mplayer launches with the correct parameters feel free to use https://github.com/longsleep/build-pine6...er-play.sh


I will not support this overly much, but it confirms that the BSP Kernel has everything which is needed to use the media decoder in the Pine64.

Cheers
Simon


Messages In This Thread
Accelerated H.264 and HEVC video decoding with Cedrus - by longsleep - 03-12-2016, 01:27 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Video wall? monty1 2 4,736 04-12-2017, 04:34 PM
Last Post: monty1
  pine64 accelerated jpeg decoding jacklau 1 4,074 01-12-2017, 01:12 AM
Last Post: Trizna
  Pine64 accelerated H.264 encoding hngjms 7 12,249 10-18-2016, 03:15 AM
Last Post: pfeerick
  The sunxi transform module is very slow, how to do video rotation? jacklau 0 2,392 09-19-2016, 12:24 AM
Last Post: jacklau
  Video encoding h.265/HEVC tomaThoma 1 6,078 07-02-2016, 11:35 PM
Last Post: tllim
  Question about video acceleration BringItOn 10 15,248 06-23-2016, 10:33 AM
Last Post: ssvb
  Linux accelerated graphics nomadewolf 1 4,420 12-29-2015, 11:26 PM
Last Post: tllim

Forum Jump:


Users browsing this thread: 1 Guest(s)