

Nasko
-
Posts
4 -
Joined
-
Last visited
Reputation Activity
-
Nasko reacted to divis1969 in HW accelerated video decoding/encoding on BPI M?
I have reworked ffmpeg's cedrus264 encoder to use libcedrus and modified libcedrus to allow few clients to use VE (in the same process).
How it is possible to use both vdpau-sunxi decoder and cedrus264 encoder to transcode the video.
The results for
./ffmpeg -hwaccel vdpau -i big_buck_bunny_720p_H264_AAC_25fps_3400K.MP4 -pix_fmt nv12 -r 5 -an -b:v 64k -c:v cedrus264 stream.mp4 are the following:
Video is viewable, CPU usage is ~80-90%, FPS while encoding ~6.7, time real 0m56.523s, user 0m28.210s, sys 0m15.720s
It is not as good as I was expecting though. Perhaps, copying data in memory is a bottleneck.
Not sure it could be improved
The code is located at https://github.com/divis1969/libcedrus (branch master) and https://github.com/divis1969/FFmpeg (branch 2.8-cedrus)
-
Nasko got a reaction from Igor in Kodi/XBMC on Armbian with HW Accleration possible?
Okay
Here is my solution:
1. Clone Igor's tools for building an image
git clone https://github.com/igorpecovnik/lib
2. Download two patches from above:
cd lib/patch/kernel/sun7i-default
wget https://github.com/mosterta/linux-sunxi/commit/563e0154269acffaa36ec3b678e4b35cbf7ee1c0.patch
wget https://github.com/mosterta/linux-sunxi/commit/67de2b9320eeb1fe205d29a49742919c1613da68.patch
3. Edit lib/config/linux-sun7i-default.config like this:
# CONFIG_CMA is not set CONFIG_CMA=y 4. Build your image For mine cubietruck I am using following selections from ./compile.sh menu: -> cubietruck -> jessie -> yes (graphical) -> default (kernel) Sample output: [ o.k. ] Started patching process for [ kernel sun7i-default 3.4.104 ] [ o.k. ] Looking for user patches in [ userpatches/kernel/sun7i-default ] [ o.k. ] ... 0010-patch-3.4.104-105.patch [ succeeded ] [ o.k. ] ... 0011-patch-3.4.105-106.patch [ succeeded ] [ o.k. ] ... 0012-patch-3.4.106-107.patch [ succeeded ] [ o.k. ] ... 0013-patch-3.4.107-108.patch [ succeeded ] [ o.k. ] ... 0015-linux-sunxi-3.4.108-overlayfs.patch [ succeeded ] [ o.k. ] ... 0016-patch-3.4.108-109.patch [ succeeded ] [ o.k. ] ... 0017-patch-3.4.109-110.patch [ succeeded ] [ o.k. ] ... 0018-patch-3.4.110-111.patch [ succeeded ] [ o.k. ] ... 0020-clustering-patch-3.4-ja1.patch [ succeeded ] [ o.k. ] ... 0020-dev-bananapi-r1.patch [ succeeded ] [ o.k. ] ... 0021-IDE-led-trigger-to-generic-disk-activity.patch [ succeeded ] [ o.k. ] ... 0022-a20-temp.patch [ succeeded ] [ o.k. ] ... 0024-dev-chip-id-and-gmac-fixing-mac.patch [ succeeded ] [ o.k. ] ... 0025-gpio.patch [ succeeded ] [ o.k. ] ... 0026-rt8192cu-missing-case.patch [ succeeded ] [ o.k. ] ... 0027-banana_touch_screen.patch [ succeeded ] [ o.k. ] ... 0028-nikkov-i2s-spdif-2.0.patch [ succeeded ] [ o.k. ] ... 0029-HDMI-8ch-and-alsa-fix-2.0.patch [ succeeded ] [ o.k. ] ... 0029-dev-spi-sun7i.patch [ succeeded ] [ o.k. ] ... 0030-ap6210_module-cubietruck.patch [ succeeded ] [ o.k. ] ... 0031-ap6211_module-bananapro.patch [ succeeded ] [ o.k. ] ... 0050-lircgpio_and_raw.patch [ succeeded ] [ o.k. ] ... 0061-w1-fix.patch [ succeeded ] [ o.k. ] ... 563e0154269acffaa36ec3b678e4b35cbf7ee1c0.patch [ succeeded ] [ o.k. ] ... 67de2b9320eeb1fe205d29a49742919c1613da68.patch [ succeeded ] [ o.k. ] ... fbtft_for_older.patch [ succeeded ] [ o.k. ] ... fix-gcc5.patch [ succeeded ] [ o.k. ] ... packaging-legacy-with-postinstall-scripts.patch [ succeeded ] [ o.k. ] ... rtl2832.patch [ succeeded ] [ o.k. ] Started patching process for [ u-boot u-boot-default 2016.01 ] I am testing this approach at the moment and ill let you know if it is working