Accelerated H.264 and HEVC video decoding with Cedrus
#19
For anybody wanted a try, here are quick instructions.

I am using vdpau 1.1.1-3, from Debian Stretch (aka testing) and/or Sid (aka unstable).

Code:
sudo apt-get install libvdpau-dev
git clone https://github.com/linux-sunxi/libcedrus.git
cd libcedrus/
make && sudo make install
git clone https://github.com/linux-sunxi/libvdpau-sunxi.git
cd libvdpau-sunxi
make && sudo make install
sudo ldconfig

Other pieces, like /dev/disp and /dev/cedrus_dev already exist and are set to be in the group "video". (You can check if you are in this group using 'id' command).

If you need pixman, try sudo apt-get install libpixman-1-dev , this will install pixman 0.33.6-1, and retry above script.

Then try

Code:
VDPAU_DRIVER=sunxi mplayer -vo vdpau -vc ffmpeg12vdpau,ffh264vdpau, video_file.mkv

Unfortunetly for me, it crashes after few frames of very smooth playback, and then cendrus leavs nasty video overlay with one of the frames (slightly corrupted), that I have no idea how to get rid of other than rebooting

You can add export VDPAU_DRIVER=sunxi maybe to your ~/.bashrc file, or /etc/profile.d/vdpau-sunxi.sh maybe for easier use.

Output from vdpauinfo (installed via sudo apt-get install vdpauinfo):

Code:
$ export VDPAU_DRIVER=sunxi
$ vdpauinfo
display: :0   screen: 0
[VDPAU SUNXI] VE version 0x1689 opened
[VDPAU SUNXI] OSD disabled!
API version: 1
Information string: sunxi VDPAU Driver

Video surface:

name   width height types
-------------------------------------------
420     8192  8192  NV12 YV12

Decoder capabilities:

name                        level macbs width height
----------------------------------------------------
MPEG1                           0 32400  3840  2160
MPEG2_SIMPLE                    3 32400  3840  2160
MPEG2_MAIN                      3 32400  3840  2160
H264_BASELINE                  51 32400  3840  2160
H264_MAIN                      51 32400  3840  2160
H264_HIGH                      51 32400  3840  2160
VC1_SIMPLE                     --- not supported ---
VC1_MAIN                       --- not supported ---
VC1_ADVANCED                   --- not supported ---
MPEG4_PART2_SP                  5 32400  3840  2160
MPEG4_PART2_ASP                 5 32400  3840  2160
DIVX4_QMOBILE                  --- not supported ---
DIVX4_MOBILE                   --- not supported ---
DIVX4_HOME_THEATER             --- not supported ---
DIVX4_HD_1080P                 --- not supported ---
DIVX5_QMOBILE                  --- not supported ---
DIVX5_MOBILE                   --- not supported ---
DIVX5_HOME_THEATER             --- not supported ---
DIVX5_HD_1080P                 --- not supported ---
H264_CONSTRAINED_BASELINE      51 32400  3840  2160
H264_EXTENDED                  --- not supported ---
H264_PROGRESSIVE_HIGH          --- not supported ---
H264_CONSTRAINED_HIGH          51 32400  3840  2160
H264_HIGH_444_PREDICTIVE       --- not supported ---
HEVC_MAIN                      150 32400  3840  2160
HEVC_MAIN_10                   --- not supported ---
HEVC_MAIN_STILL                --- not supported ---
HEVC_MAIN_12                   --- not supported ---
HEVC_MAIN_444                  --- not supported ---

Output surface:

name              width height nat types
----------------------------------------------------
B8G8R8A8          8192  8192    -  
R8G8B8A8          8192  8192    -  

Bitmap surface:

name              width height
------------------------------
B8G8R8A8          8192  8192
R8G8B8A8          8192  8192

Video mixer:

feature name                    sup
------------------------------------
DEINTERLACE_TEMPORAL             -
DEINTERLACE_TEMPORAL_SPATIAL     -
INVERSE_TELECINE                 -
NOISE_REDUCTION                  -
SHARPNESS                        -
LUMA_KEY                         -
HIGH QUALITY SCALING - L1        -
HIGH QUALITY SCALING - L2        -
HIGH QUALITY SCALING - L3        -
HIGH QUALITY SCALING - L4        -
HIGH QUALITY SCALING - L5        -
HIGH QUALITY SCALING - L6        -
HIGH QUALITY SCALING - L7        -
HIGH QUALITY SCALING - L8        -
HIGH QUALITY SCALING - L9        -

parameter name                  sup      min      max
-----------------------------------------------------
VIDEO_SURFACE_WIDTH              y         0     8192
VIDEO_SURFACE_HEIGHT             y         0     8192
CHROMA_TYPE                      y  
LAYERS                           y         0        0

attribute name                  sup      min      max
-----------------------------------------------------
BACKGROUND_COLOR                 -  
CSC_MATRIX                       -  
NOISE_REDUCTION_LEVEL            -  
SHARPNESS_LEVEL                  -  
LUMA_KEY_MIN_LUMA                -  
LUMA_KEY_MAX_LUMA                -


Messages In This Thread
RE: Accelerated H.264 and HEVC video decoding with Cedrus - by baryluk - 04-24-2016, 12:25 PM

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

Forum Jump:


Users browsing this thread: 16 Guest(s)