martos Posted October 25, 2019 Posted October 25, 2019 Hello all, i download the new DEV image 20191025 ( kernel 5.4.0 rc4 ) For the dtb is use : meson-gxm-s912-kiii-pro.dtb ( h96 pro+ hardware like the k3 pro ) in the file : uEnv.ini change this line : dtb_name=/dtb/amlogic/meson-gxm-s912-kiii-pro.dtb install packages : sudo apt-get install nasm sudo apt-get install yasm apt install autoconf automake cmake libtool git checkinstall nasm yasm libass-dev libfreetype6-dev libsdl2-dev p11-kit libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo wget zlib1g-dev libchromaprint-dev frei0r-plugins-dev gnutls-dev ladspa-sdk libcaca-dev libcdio-paranoia-dev libcodec2-dev libfontconfig1-dev libfreetype6-dev libfribidi-dev libgme-dev libgsm1-dev libjack-dev libmodplug-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libopenjp2-7-dev libopenmpt-dev libopus-dev libpulse-dev librsvg2-dev librubberband-dev librtmp-dev libshine-dev libsmbclient-dev libsnappy-dev libsoxr-dev libspeex-dev libssh-dev libtesseract-dev libtheora-dev libtwolame-dev libv4l-dev libvo-amrwbenc-dev libvorbis-dev libvpx-dev libwavpack-dev libwebp-dev libx264-dev libx265-dev libxvidcore-dev libxml2-dev libzmq3-dev libzvbi-dev liblilv-dev libopenal-dev opencl-dev libjack-dev v4l-utils compile aom : cd ~/ffmpeg_sources mkdir aom cd aom git clone https://aomedia.googlesource.com/aom cmake aom/ -DBUILD_SHARED_LIBS=1 make -j8 sudo checkinstall -y --deldoc=yes --pkgversion=1.0.0 cd .. Compile ffmpeg : mkdir -p ~/ffmpeg_sources ~/bin cd ~/ffmpeg_sources && \ wget -O ffmpeg-snapshot.tar.bz2 https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 && \ tar xjvf ffmpeg-snapshot.tar.bz2 && \ cd ffmpeg && \ PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \ --prefix="$HOME/ffmpeg_build" \ --pkg-config-flags="--static" \ --extra-cflags="-I$HOME/ffmpeg_build/include" \ --extra-ldflags="-L$HOME/ffmpeg_build/lib" \ --extra-libs="-lpthread -lm" \ --bindir="$HOME/bin" \ --enable-gpl \ --enable-libaom \ --enable-libass \ --enable-libfdk-aac \ --enable-libfreetype \ --enable-libmp3lame \ --enable-libopus \ --enable-libvorbis \ --enable-libvpx \ --enable-libx264 \ --enable-libx265 \ --enable-version3 \ --enable-shared --enable-small --enable-avisynth --enable-chromaprint \ --enable-frei0r --enable-gmp --enable-ladspa \ --enable-libaom --enable-libass --enable-libcaca --enable-libcdio \ --enable-libcodec2 --enable-libfontconfig --enable-libfreetype \ --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack \ --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb \ --enable-libopencore-amrwb --enable-libopencore-amrwb \ --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse \ --enable-librubberband --enable-libshine \ --enable-libsnappy --enable-libsoxr --enable-libspeex \ --enable-libssh --enable-libtheora \ --enable-libtwolame --enable-libvo-amrwbenc \ --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp \ --enable-libx264 --enable-libx265 --enable-libxvid \ --enable-libzvbi --enable-lv2 \ --enable-openal --enable-opencl --enable-opengl --enable-libdrm \ --enable-nonfree --enable-libfdk-aac \ --enable-nonfree && \ PATH="$HOME/bin:$PATH" make -j8 && \ make install && \ hash -r some changes : open /etc/ld.so.conf add this line in this file /root/ffmpeg_build/lib/ launch : ldconfig the ffmpeg bin is on : /root/bin/ test sofware decode and encode ( h264 1920*1080 to 320*240 ) /root/bin/ffmpeg -vcodec h264 -i http://192.168.1.50:8001/1:0:19:606:6:20FA:EEEE0000:0:0:0: -s 320x240 /tmp/test.avi (works but not enough cpu , don't forget the s912 have 8 arm A53 core BUT 4 at 1600 Ghz and 4 at 1 Ghz AND IT'S NOT 8 core at 2Ghz ... so we need speed 1 , we have max 1.1 and 0.7 with S912 without hw decoder ) my best conf for software decoder/encoder : /root/bin/ffmpeg -threads 16 -i http://192.168.1.50:8001/1:0:19:415:4:20FA:EEEE0000:0:0:0: -b:a 32k -b:v 300k -s 320x240 /tmp/test.avi or /root/bin/ffmpeg -benchmark -filter_threads 16 -threads 16 -thread_queue_size 3276800 -i http://192.168.1.50:8001/1:0:19:415:4:20FA:EEEE0000:0:0:0: -ac 1 -ar 22050 -b:a 8k -max_muxing_queue_size 9999999 -b:v 275k -s 320x240 /home/martos/test.avi test hardware decode and software decode ( h264 1920*1080 to 320*240 ) /root/bin/ffmpeg -vcodec h264_v4l2m2m -i http://192.168.1.50:8001/1:0:19:606:6:20FA:EEEE0000:0:0:0: -s 160x120 /tmp/test.avi BUT : [h264_v4l2m2m_decoder @ 0xaaaac47b5b00] Could not find a valid device [h264_v4l2m2m @ 0xaaaac477fe70] can't configure decoder do you know if this kernel have the change for Hardware aml decoder ?
martos Posted October 26, 2019 Author Posted October 26, 2019 just for information, in dmesg repeat when i made my test : [29560.295075] meson-dw-hdmi c883a000.hdmi-tx: channels=2 sample_width=16 sample_rate=44100 [29560.295134] meson_aiu_i2s_dma_hw_params: physical_width=16 buffer_bytes=17664 period_bytes=4352 [29582.217953] meson-aiu-i2s meson-aiu-i2s.4.auto: Failed to set sysclk to 0Hz and i think i have trouble with the sound ( horrible )
martos Posted October 26, 2019 Author Posted October 26, 2019 if i understand this : https://www.phoronix.com/scan.php?page=news_item&px=Amlogic-H264-Decode-Almost https://lkml.org/lkml/2019/10/7/692 https://kodi.tv/article/devcon-2019-belgrade-part-iii we have this in the kernel 5.5 ... But now how it's made in LE ?
Recommended Posts