Nasko
Members
-
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