divis1969

Members
  • Content count

    18
  • Joined

  • Last visited

  1. Is it possible to provide more details? I'm not familiar with uboot (yet), but how this could affect the kernel start up? As for the kernel - the same question: what features could prevent armbian to boot?
  2. But why can I build A20 (bananapi) with both 3.4 and mainline? What is the reason for this limitation? Actually, I would try to do some development for this board if this is possible (i.e. no HW debugger is needed and I can use the console) and I'm asking for the best starting point. If I can start with 3.4 - great, I hope it is much easier to port board-specific drivers to the mainline if I have something working. This, of course, good is the chipset can boot (at least) on mainline.
  3. Actually device starts with the banana-pi (Sinovoip's) build (Desktop Ubuntu Mate, ), so I supposed it can also run the Armbian. If I got correctly, I should not rely the device boots to CLI with network (to use ssh) and I probably need to debug with serial console. It would be great to understand what is the best kernel (I mean where to get it) to start with. Armbian is currently using https://github.com/megous/linux/ , branch linux-sun8i-dev. Is it the best choice? What about mainline?
  4. What is the exact status of the M3 build? Can it at least boot? I've got a board few days ago and I've tried to build it and boot from SD - it does not boot.
  5. Do you know which kernel (3.4) is used by banana-pi.org for this device (http://www.banana-pi.org/m3-download.html) ? Can I try to build an image with this kernel?
  6. Hi, I'm wondering can I build the armbian for BPI-M3? I've tried this way: ./compile.sh BOARD=bananapim3 It fails on rootfs creation (I've tried to select CLI Xenial or Jessie): [ error ] ERROR in function create_rootfs_cache [ debootstrap-ng.sh:137 ] [ error ] Debootstrap base system first stage failed Can it be fixed?
  7. I've tired to do some profiling and debugging and had found that ffmpeg performs some conversions from yuv420p pixel format to nv12 format. These conversions are consuming a lot of time because are performed in software. Note that cedrus_vdpau decoder (vdpau-sunxi) is doing one more conversion from the internal decoder format to yuv420p (on mine A20 which is using VE engine version 1623. On a newer chipsets with version 1680, it seems can directly decode into yuv420p). I've found that ffmpeg_vdpau.c always selects the yuv420p as the decoder output format (see https://github.com/divis1969/FFmpeg/blob/2.8-cedrus/ffmpeg_vdpau.c#L191, https://github.com/divis1969/FFmpeg/blob/2.8-cedrus/ffmpeg_vdpau.c#L265 and the code of sunxi-vdpau). I did not find yet a way to figure out that user has specified the pixel format (-pix_fmt) at this point to make this code configurable and thus I've tried to just swap lines 192 and 193 (to select nv12 first) and recompiled the ffmpeg. This increased the encoding FPS (~2 times, up to 14 FPS): CPU usage is ~75-85%, FPS while encoding ~14, time real 0m28.137s, user 0m15.670s, sys 0m8.830s
  8. 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)
  9. It looks like libvdpau-suxi and ffmeg-cedrus are actually compete for VE. First one uses libcedrus to access VE, second uses the code compiled in directly. Most likely each one affects another. So, there should be some rework needed to allow these pieces of code to co-exist. Not sure about VE (cedrus) kernel driver, does it allow two clients or not. BTW, I'm still not sure whether vdpau is actually improving the decoding (see test #2). I suppose encoding back to mpeg hides the effect. Is there a test I can use to verify it (ex. to just drop the decoded frames)?
  10. Thanks for the links. I've built the ffmpeg from https://github.com/stulluk/FFmpeg-Cedrus and performed few tests to re-encode the mpeg file http://samplemedia.linaro.org/H264/big_buck_bunny_720p_H264_AAC_25fps_3400K.MP4 to reduce the frame rate to 5 FPS 1. Encoding with cedrus works pretty good, ffmpeg consumes around 120% CPU (my estimation of average, I've just run top at the same time). Test took: real 1m10.127s, user 1m8.180s, sys 0m5.530s. FFMpeg showed ~ 5.7-6.2 FPS at the time on encoding. Command line ./ffmpeg -i big_buck_bunny_720p_H264_AAC_25fps_3400K.MP4 -pix_fmt nv12 -r 5 -an -b:v 64k -c:v cedrus264 stream.mp4 2. Decoding with vdpau is something horrible. CPU (average) 90%, time real 9m44.446s, user 9m12.470s, sys 0m14.860s. FFMpeg shows 0.8 FPS while processing. ./ffmpeg -hwaccel vdpau -i big_buck_bunny_720p_H264_AAC_25fps_3400K.MP4 -r 5 -an stream.mp4 In both these case the video is viewable. 3. I've tried to use both vdpau and cedrus codec. CPU is only 10% ! BUT!! time real 7m6.911s, user 0m28.900s, sys 0m13.050s, processing FPS is 0.9. And video is completely unviewable... FFmpeg logged at the end: Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used). File length is 419 bytes. ./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 What might be issue with vdpau? Is is possible to use both vdpau (to decode) and cedrus encoder simultaneously?
  11. Thanks everyone! I had modified the 'disp_mem_reserves' and now I can run vdpauinfo. Unfortunately, there are some issues with vdpau usage. 1. vdpauinfo only works if I use 'ssh -X' to connect bananapi. Otherwise it fails because it cannot connect X server. I'm suspecting I will not be able to use vdpau from the process running as a system service. What can I do to fix this? 2. Test with ffmpeg to add a timestamp sting over the RTP stream from camera and write it to the a file is failing. ffmpeg starts writing to a file but stucks at some point. After the termination with Ctrl-C (which is not so easy actually), the file is not looking like a valid mp4 (and is too short, about few KB) Is there any test case (maybe with the mp4 file as an input) which I can use to check vdpau functionality and performance? The RTP stream is 25 FPS, so perhaps I need to reduce the frame rate along with adding a time stamp to make it working... Is there any way to enable/collect some logging to debug the issue with ffmpeg?
  12. Yeah, I'll try. BTW, I've tried to build the desktop to figure out how this HW acceleration is enabled. But did not find it. At least kernel config seems have the CMA disabled. Is there any receipt how to replace the kernel on the system? I do not want to use a fresh install...
  13. Actually, I was able to install kerberos.io onto armbian ubuntu server running on Banana PI M. I did not remember the exact steps. I'd definitely installed php-7.0. There was also some issue with the .so libraries (it is referring libs which have different naming, something with the version .56 in the name as I recall), I've just created the links to existing libs. I was able to configure the IP camera, but I'm not satisfied with the event detection and video recording. I'm suspecting the reason is the stream quality and the video processing performance. I'm trying to enable the hw-assisted decoding but have some troubles (see https://forum.armbian.com/index.php?/topic/4060-hw-accelerated-video-decodingencoding-on-bpi-m/)
  14. It seems I need to enable a cedar_dev at least. I've found the following in the kernel log: [ 1.915496] [cedar dev]: not installed! ve_mem_reserve=0 The questions are 1. What should I do to enable it 2. how to rebuild the kernel and replace it on the running machine or SD. I'm using the image built by myself. It was configured as Ubuntu server, kernel 3.4.
  15. I've tried to install some of the packages (xorg, libvdpau-sunxi1, etc) but was unable to make vdpauinfo work. Here is the log $ vdpauinfo debug1: client_input_channel_open: ctype x11 rchan 3 win 65536 max 16384 debug1: client_request_x11: request from ::1 42042 debug1: channel 1: new [x11] debug1: confirm x11 display: localhost:10.0 screen: 0 debug1: client_input_channel_open: ctype x11 rchan 4 win 65536 max 16384 debug1: client_request_x11: request from ::1 42043 debug1: channel 2: new [x11] debug1: confirm x11 debug1: channel 1: FORCE input drain debug1: channel 2: FORCE input drain Error creating VDPAU device: 25 debug1: channel 1: free: x11, nchannels 3 debug1: channel 2: free: x11, nchannels 2 Note that I was able to run xtrerm. I'm running ubuntu server, kernel 3.4.113 Did I miss something?