Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

S905x H/W Video Accel for Gstreamer?

Featured Replies

Hello All,

 

how can I get hardware video acceleration for S905x on Debian/Armbian using Gstreamer?

 

I installed gstreamer, and using 'decodebin' and 'fbdevsink' gives terrible performance (software decoding).

 

I did some searching and found that amlogic has two GST plugins for hardware accelerated video decoding: "amlvdec" and "amlvsink"

 

I was able to locate the source code here:

http://openlinux.amlogic.com:8000/download/ARM/filesystem/

 

I downloaded the newest archive "arm-buildroot-2016-08-18-5aaca1b35f.tar.gz"

 

Would this work with debian/Armbian?

 

When I try to compile the plugin, I get the message:

 

 

usr/bin/ld: cannot find -lamcodec
/usr/bin/ld: cannot find -lamadec
/usr/bin/ld: cannot find -lamavutils
collect2: error: ld returned 1 exit status
 

 

so I searched online, and found:

https://github.com/mdrjr/c1_aml_libs

 

I tried to compile this however I got the error:

 

 

cc: error: unrecognized command line option ‘-mlong-calls’

 

 

Does anyone know how I can get Gstreamer to play videos with hardware acceleration?

 

Thanks so much!

 

  • Author

So I found the correct version after some more searching

 

"https://github.com/mdrjr/c2_aml_libs"

and everything compiles except for the 'example'

 

 

cc -I/home/onev/c2-aml-libs/c2_aml_libs/example -pthread -O2 esplayer.c -o esplayer -L/usr/lib/aml_libs -lamcodec -ldl -lamadec -lasound -lamavutils
/usr/bin/ld: cannot find -lamcodec
/usr/bin/ld: cannot find -lamadec
/usr/bin/ld: cannot find -lasound
/usr/bin/ld: cannot find -lamavutils
collect2: error: ld returned 1 exit status
Makefile:25: recipe for target 'esplayer' failed
make[1]: *** [esplayer] Error 1
 

 

I'm guessing that since this is the example file I do not need it?  so I commented it out of the Makefile, and finished with "make all" and "make install"

 

however I still get this error when trying to compile GST plugins

 

 

/usr/bin/ld: cannot find -lamcodec
/usr/bin/ld: cannot find -lamadec
/usr/bin/ld: cannot find -lamavutils

 

am I missing some basic step to enable /usr/bin/ld to find the libraries?

  • Author

So I manually copied the three *.so files to /usr/lib and then ran "ldconfig", and everything finished compiling.  I will report back once I have tried installing/testing the plugins

  • Author

for "gst-aml-plugins1", compile did complete however "make install" placed the *.so and *.la files into /usr/local/lib/gstreamer1.0

 

So I had to manually copy the files to "/usr/lib/aarch64-linux-gnu/gstreamer-1.0/"

 

now when I run gst-inspect, I get errors for the amlogic plugins:

 

 

 gst-inspect-1.0 |grep aml

(gst-plugin-scanner:16911): GStreamer-WARNING **: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstamlvdec.so': /usr/lib/aml_libs/libamadec.so: undefined symbol: snd_pcm_writei

(gst-plugin-scanner:16911): GStreamer-WARNING **: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstamlasink.so': /usr/lib/aml_libs/libamadec.so: undefined symbol: snd_pcm_writei

(gst-plugin-scanner:16911): GStreamer-WARNING **: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstamladec.so': /usr/lib/aml_libs/libamadec.so: undefined symbol: snd_pcm_writei

(gst-plugin-scanner:16911): GStreamer-WARNING **: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstamlvsink.so': /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstamlvsink.so: undefined symbol: amvideo_release

 

What is the problem with my compilation?  Am I not linking something correctly?

Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.