ahmed mosad
Posts: 17
Joined: Sun Jun 03, 2018 10:41 pm

Re: B101 hdmi input with i2s sound

Wed Jun 06, 2018 3:57 pm

so as i understand

this module not support get audio and video out in the same time through HDMI ?

what i need in final that video and audio output in HDMI in the same time ,

also did you get that works on what version of raspberry pi ( RPI3 MODULE B , OR RASPBERRY PI 2 OR WHAT ?)/

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 7124
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: B101 hdmi input with i2s sound

Wed Jun 06, 2018 4:37 pm

ahmed mosad wrote:
Wed Jun 06, 2018 3:57 pm
this module not support get audio and video out in the same time through HDMI ?

what i need in final that video and audio output in HDMI in the same time ,
The chip supports HDMI capture (ie input) of both audio and video simultaneously, and produces raw streams.

Combining those two raw streams requires an application that interacts with both ALSA for the audio and V4L2 for the video. GStreamer can do that and will allow pipelines of raw video (generally UYVY) and audio, both with synchronised timestamps.

Raw video is large amounts of data, so compression is normally used. The hardware codecs on the Pi can't taqke UYVY or (BGR888 that the TC358743 can also produce). The yavta app uses another part of the hardware to do the required conversion, but GStreamer has no suitable component to do that so will try doing it on the CPU. That is unlikely to be that successful though might be worth a try.
You can then feed the raw video into the gst-omx plugins to use the hardware video codec, but there are a few inefficiencies in there.
ahmed mosad wrote:also did you get that works on what version of raspberry pi ( RPI3 MODULE B , OR RASPBERRY PI 2 OR WHAT ?)/
Early testing was on a Pi2, then Pi3, and more recently CM3.

The B101 is not officially supported, and adding support is work in progress. We've got the raw components, but gluing them together isn't complete.

What specifically is your use case?
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

ahmed mosad
Posts: 17
Joined: Sun Jun 03, 2018 10:41 pm

Re: B101 hdmi input with i2s sound

Thu Jun 07, 2018 10:42 am

thnak you very much for your help

my works exactly are to make IOT control on HDMI signal ( calculate time , overlay , ...etc )

so the setup i should have that HDMI input from any media like TV , XBOX ....etc and this input will go through pi and from pi again to TV

so i should keep video and audio input the same as output , but in case of B101 i get only video by using " raspivid -o vid.h264 " command

so output video without audio that mean zero sucess for my works , also if you can help me find another hardware can do that i mean some thing support HDMI input to raspberry pi and can get output ( audio and video ) that will be great and save my time

i readly suprised that this company not support it's module like that , how they thing that people can use it :x

so in final my Q is , can we get aduio and video on the same time using the module ( do you think you can do that in one packege so i keep my hope alive ) ?

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 7124
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: B101 hdmi input with i2s sound

Thu Jun 07, 2018 2:17 pm

If you're wanting to loop the input to output with a few overlays on the video, then A/V synchronisation is less of an issue - you go for as low a latency as possible on both pipelines.

My modified yavta app will show the input on the HDMI output with minimal latency.
alsaloop appears to loopback an audio input to an audio output, but I haven't got a setup that can test that at the moment.
Run those two in parallel and you should get the result you want. alsaloop also allows the latency to be adjusted, so you should be able to get the A/V sync fairly close.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

ahmed mosad
Posts: 17
Joined: Sun Jun 03, 2018 10:41 pm

Re: B101 hdmi input with i2s sound

Thu Jun 07, 2018 2:47 pm

so i should fallow your steps and i will get result or i should take another way ?

i mean i should fallow those steps :

git clone https://github.com/maditnerd/tc358743.git
cd tc358743
nano install.sh
Edit line 27 to read "git clone --depth 1 -b rpi-4.14.y-unicam-and-codecs https://github.com/6by9/linux/". Save and quit.
./install.sh
Wait for it to complete. It will take several hours.
Follow the steps that it prints at the end. Add "dtoverlay=tc358743-audio" to /boot/config.txt before you reboot.
Wire up the B101 as previously discussed.

cd yavta
wget https://raw.githubusercontent.com/6by9/ ... 50EDID.txt
v4l2-ctl --set-edid=file=1080P50EDID.txt --fix-edid-checksums
v4l2-ctl --list-ctrls should list audio_present reflecting the current status, and audio_sampling_rate reflecting the sampling rate of the audio.
./yavta --capture=1000 -n 3 --encode-to=file.h264 -f UYVY -m -T /dev/video0 will capture 1000 frames of video.


then using alsoloop to get audio out ?

or there is some different steps i should make ?

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 7124
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: B101 hdmi input with i2s sound

Thu Jun 07, 2018 3:19 pm

Follow the steps I'd listed and you should be able to create the display you have described.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

ahmed mosad
Posts: 17
Joined: Sun Jun 03, 2018 10:41 pm

Re: B101 hdmi input with i2s sound

Sat Jun 09, 2018 12:58 pm

hello 6by9

i followed your step to build kerenal , but it is seems things not go well

it stops after 10 min , you told me it will take some hours

here all ssh commands

[email protected]:~ $ cd tc358743
[email protected]:~/tc358743 $ nano install.sh
[email protected]:~/tc358743 $ ./install.sh
-bash: ./install.sh: Permission denied
[email protected]:~/tc358743 $ chmod +x ./install.sh
[email protected]:~/tc358743 $ ./install.sh
----- BCM2835_unicam drivers installation ------
This script wasn't test yet, use it at your own risk!
This will takes about 2h! Go on the forum : viewtopic.php?t=120702&start= 300#p1231396
... Download Dependencies
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
... Clone https://github.com/6by9/linux/ - Branch unicam_v4_4.14
Cloning into 'linux'...
remote: Counting objects: 65774, done.
remote: Compressing objects: 100% (60211/60211), done.
remote: Total 65774 (delta 7076), reused 15373 (delta 4593), pack-reused 0
Receiving objects: 100% (65774/65774), 174.21 MiB | 1024.00 KiB/s, done.
Resolving deltas: 100% (7076/7076), done.
Checking out files: 100% (61843/61843), done.
... Compile Kernel
./install.sh: line 31: cd: Linux: No such file or directory
make: *** No rule to make target 'bcm2709_defconfig'. Stop.
make: *** No rule to make target 'zImage'. Stop.
make: *** No rule to make target 'modules_install'. Stop.
... Copy kernel
cp: cannot stat 'arch/arm/boot/dts/*.dtb': No such file or directory
cp: cannot stat 'arch/arm/boot/dts/overlays/*.dtb*': No such file or directory
cp: cannot stat 'arch/arm/boot/dts/overlays/README': No such file or directory
cp: cannot stat 'arch/arm/boot/zImage': No such file or directory
... Kernel is ready!
... Install yatva fork
... Download raspberrypi/userland
Cloning into 'userland'...
remote: Counting objects: 5517, done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 5517 (delta 1), reused 3 (delta 0), pack-reused 5508
Receiving objects: 100% (5517/5517), 34.24 MiB | 628.00 KiB/s, done.
Resolving deltas: 100% (3159/3159), done.
Checking out files: 100% (811/811), done.
... Build userland
~/tc358743/userland/build/raspberry/release ~/tc358743/userland
./buildme: line 15: cmake: command not found
make: *** No targets specified and no makefile found. Stop.
make: *** No rule to make target 'install'. Stop.
~/tc358743/userland
... Download yatva fork by 6by9
Cloning into 'yavta'...
remote: Counting objects: 423, done.
remote: Total 423 (delta 0), reused 0 (delta 0), pack-reused 423
Receiving objects: 100% (423/423), 146.76 KiB | 0 bytes/s, done.
Resolving deltas: 100% (270/270), done.
./install.sh: line 56: cd: yatva: No such file or directory
make: *** No targets specified and no makefile found. Stop.

Everything should be installed
Add in /boot/config.txt
dtparam=i2c_vc
dtoverlay=tc358743-fast

Add in /boot/cmdline.txt
cma=128M before rootwait

And reboot!

ahmed mosad
Posts: 17
Joined: Sun Jun 03, 2018 10:41 pm

Re: B101 hdmi input with i2s sound

Sat Jun 09, 2018 4:03 pm

UPDATE

RUN AS sudo , but in final there in no file call " yatva "

[email protected]:~ $ cd tc358743
[email protected]:~/tc358743 $ nano install.sh
[email protected]:~/tc358743 $ chmod +x ./install.sh
[email protected]:~/tc358743 $ ./install.sh
----- BCM2835_unicam drivers installation ------
This script wasn't test yet, use it at your own risk!
This will takes about 2h! Go on the forum : v iewtopic.php?t=120702&start=300#p1231396
... Download Dependencies
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
... Clone https://github.com/6by9/linux/ - Branch unicam_v4_4.14
Cloning into 'linux'...
remote: Counting objects: 65774, done.
^C
[email protected]:~/tc358743 $ sudo ./install.sh
----- BCM2835_unicam drivers installation ------
This script wasn't test yet, use it at your own risk!
This will takes about 2h! Go on the forum : v iewtopic.php?t=120702&start=300#p1231396
... Download Dependencies
Reading package lists... Done
Building dependency tree
Reading state information... Done
build-essential is already the newest version (12.3).
The following additional packages will be installed:
cmake-data libjsoncpp1 libtinfo-dev
Suggested packages:
codeblocks eclipse ninja-build ncurses-doc
The following NEW packages will be installed:
bc cmake cmake-data libjsoncpp1 libncurses5-dev libtinfo-dev
0 upgraded, 6 newly installed, 0 to remove and 44 not upgraded.
Need to get 4,092 kB of archives.
After this operation, 20.7 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://mirror.as43289.net/raspbian/raspbian stretch/main armhf cmake-data all 3.7.2-1 [1,216 kB]
Get:2 http://mirror.as43289.net/raspbian/raspbian stretch/main armhf libjsoncpp1 armhf 1.7.4-3 [66.2 kB]
Get:3 http://mirror.as43289.net/raspbian/raspbian stretch/main armhf cmake armhf 3.7.2-1 [2,402 kB]
Get:4 http://mirror.as43289.net/raspbian/raspbian stretch/main armhf bc armhf 1. 06.95-9 [96.3 kB]
Get:5 http://mirror.as43289.net/raspbian/raspbian stretch/main armhf libtinfo-de v armhf 6.0+20161126-1+deb9u2 [65.6 kB]
Get:6 http://mirror.as43289.net/raspbian/raspbian stretch/main armhf libncurses5 -dev armhf 6.0+20161126-1+deb9u2 [245 kB]
Fetched 4,092 kB in 8s (477 kB/s)
Selecting previously unselected package cmake-data.
(Reading database ... 124722 files and directories currently installed.)
Preparing to unpack .../0-cmake-data_3.7.2-1_all.deb ...
Unpacking cmake-data (3.7.2-1) ...
Selecting previously unselected package libjsoncpp1:armhf.
Preparing to unpack .../1-libjsoncpp1_1.7.4-3_armhf.deb ...
Unpacking libjsoncpp1:armhf (1.7.4-3) ...
Selecting previously unselected package cmake.
Preparing to unpack .../2-cmake_3.7.2-1_armhf.deb ...
Unpacking cmake (3.7.2-1) ...
Selecting previously unselected package bc.
Preparing to unpack .../3-bc_1.06.95-9_armhf.deb ...
Unpacking bc (1.06.95-9) ...
Selecting previously unselected package libtinfo-dev:armhf.
Preparing to unpack .../4-libtinfo-dev_6.0+20161126-1+deb9u2_armhf.deb ...
Unpacking libtinfo-dev:armhf (6.0+20161126-1+deb9u2) ...
Selecting previously unselected package libncurses5-dev:armhf.
Preparing to unpack .../5-libncurses5-dev_6.0+20161126-1+deb9u2_armhf.deb ...
Unpacking libncurses5-dev:armhf (6.0+20161126-1+deb9u2) ...
Processing triggers for install-info (6.3.0.dfsg.1-1+b1) ...
Setting up libtinfo-dev:armhf (6.0+20161126-1+deb9u2) ...
Setting up cmake-data (3.7.2-1) ...
Setting up libncurses5-dev:armhf (6.0+20161126-1+deb9u2) ...
Processing triggers for libc-bin (2.24-11+deb9u3) ...
Processing triggers for man-db (2.7.6.1-2) ...
Setting up bc (1.06.95-9) ...
Setting up libjsoncpp1:armhf (1.7.4-3) ...
Setting up cmake (3.7.2-1) ...
Processing triggers for libc-bin (2.24-11+deb9u3) ...
... Clone https://github.com/6by9/linux/ - Branch unicam_v4_4.14
Cloning into 'linux'...
remote: Counting objects: 65774, done.
remote: Compressing objects: 100% (60211/60211), done.
remote: Total 65774 (delta 7076), reused 15373 (delta 4593), pack-reused 0
Receiving objects: 100% (65774/65774), 174.21 MiB | 753.00 KiB/s, done.
Resolving deltas: 100% (7076/7076), done.
Checking out files: 100% (61843/61843), done.
... Compile Kernel
./install.sh: line 31: cd: Linux: No such file or directory
make: *** No rule to make target 'bcm2709_defconfig'. Stop.
make: *** No rule to make target 'zImage'. Stop.
make: *** No rule to make target 'modules_install'. Stop.
... Copy kernel
cp: cannot stat 'arch/arm/boot/dts/*.dtb': No such file or directory
cp: cannot stat 'arch/arm/boot/dts/overlays/*.dtb*': No such file or directory
cp: cannot stat 'arch/arm/boot/dts/overlays/README': No such file or directory
cp: cannot stat 'arch/arm/boot/zImage': No such file or directory
... Kernel is ready!
... Install yatva fork
... Download raspberrypi/userland
Cloning into 'userland'...
remote: Counting objects: 5517, done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 5517 (delta 1), reused 3 (delta 0), pack-reused 5508
Receiving objects: 100% (5517/5517), 34.24 MiB | 977.00 KiB/s, done.
Resolving deltas: 100% (3159/3159), done.
... Build userland
/home/pi/tc358743/userland/build/raspberry/release /home/pi/tc358743/userland
-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning at makefiles/cmake/arm-linux.cmake:5 (message):
*********************************************************
* CMAKE_TOOLCHAIN_FILE not defined *
* This is correct for compiling on the Raspberry Pi *
* *
* If you are cross-compiling on some other machine *
* then DELETE the build directory and re-run with: *
* -DCMAKE_TOOLCHAIN_FILE=toolchain_file.cmake *
* *
* Toolchain files are in makefiles/cmake/toolchains. *
*********************************************************
Call Stack (most recent call first):
CMakeLists.txt:24 (include)


-- Looking for execinfo.h
-- Looking for execinfo.h - found
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/cc
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29")
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi/tc358743/userland/build/raspberry/release
Scanning dependencies of target khrn_client
Scanning dependencies of target vcfiled_check
Scanning dependencies of target vcos
Scanning dependencies of target khrn_static
[ 0%] Building C object interface/vmcs_host/linux/vcfiled/CMakeFiles/vcfiled_check.dir/vcfiled_check.c.o
[ 0%] Building C object interface/khronos/CMakeFiles/khrn_client.dir/common/khrn_client_pointermap.c.o
[ 0%] Building C object interface/vcos/pthreads/CMakeFiles/vcos.dir/vcos_pthreads.c.o
[ 0%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/egl/egl_client_config.c.o
[ 0%] Linking C static library ../../../../../../lib/libvcfiled_check.a
[ 0%] Built target vcfiled_check
[ 0%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/egl/egl_client_context.c.o
[ 1%] Building C object interface/khronos/CMakeFiles/khrn_client.dir/common/khrn_client_vector.c.o
[ 2%] Building C object interface/vcos/pthreads/CMakeFiles/vcos.dir/vcos_dlfcn.c.o
[ 2%] Building C object interface/khronos/CMakeFiles/khrn_client.dir/common/khrn_int_hash.c.o
[ 2%] Building ASM object interface/khronos/CMakeFiles/khrn_client.dir/common/khrn_int_hash_asm.s.o
[ 2%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/egl/egl_client.c.o
[ 2%] Building C object interface/khronos/CMakeFiles/khrn_client.dir/common/khrn_client_cache.c.o
[ 2%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/egl/egl_client_get_proc.c.o
[ 2%] Building C object interface/vcos/pthreads/CMakeFiles/vcos.dir/__/glibc/vcos_backtrace.c.o
[ 2%] Building C object interface/vcos/pthreads/CMakeFiles/vcos.dir/__/generic/vcos_generic_event_flags.c.o
[ 2%] Building C object interface/vcos/pthreads/CMakeFiles/vcos.dir/__/generic/vcos_mem_from_malloc.c.o
[ 3%] Linking C static library ../../../../lib/libkhrn_client.a
Scanning dependencies of target GLESv2_static
[ 4%] Building C object interface/vcos/pthreads/CMakeFiles/vcos.dir/__/generic/vcos_generic_named_sem.c.o
[ 4%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/egl/egl_client_surface.c.o
[ 4%] Built target khrn_client
[ 4%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/ext/egl_brcm_driver_monitor_client.c.o
[ 5%] Building C object interface/khronos/CMakeFiles/GLESv2_static.dir/glxx/glxx_client.c.o
[ 6%] Building C object interface/vcos/pthreads/CMakeFiles/vcos.dir/__/generic/vcos_generic_safe_string.c.o
[ 6%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/ext/egl_brcm_perf_monitor_client.c.o
Scanning dependencies of target EGL_static
[ 6%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/egl/egl_client_config.c.o
[ 6%] Building C object interface/vcos/pthreads/CMakeFiles/vcos.dir/__/generic/vcos_generic_reentrant_mtx.c.o
[ 6%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/ext/egl_brcm_global_image_client.c.o
[ 6%] Building C object interface/vcos/pthreads/CMakeFiles/vcos.dir/__/generic/vcos_abort.c.o
[ 6%] Building C object interface/vcos/pthreads/CMakeFiles/vcos.dir/__/generic/vcos_cmd.c.o
[ 7%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/ext/egl_brcm_flush_client.c.o
[ 8%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/egl/egl_client_context.c.o
[ 8%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/ext/egl_khr_image_client.c.o
[ 8%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/egl/egl_client.c.o
[ 9%] Building C object interface/vcos/pthreads/CMakeFiles/vcos.dir/__/generic/vcos_init.c.o
[ 9%] Building C object interface/vcos/pthreads/CMakeFiles/vcos.dir/__/generic/vcos_msgqueue.c.o
[ 9%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/ext/egl_khr_sync_client.c.o
[ 9%] Building C object interface/vcos/pthreads/CMakeFiles/vcos.dir/__/generic/vcos_logcat.c.o
[ 9%] Building C object interface/vcos/pthreads/CMakeFiles/vcos.dir/__/generic/vcos_generic_blockpool.c.o
[ 9%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/ext/gl_oes_egl_image_client.c.o
[ 9%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/egl/egl_client_get_proc.c.o
[ 9%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/ext/egl_khr_lock_surface_client.c.o
[ 9%] Linking C shared library ../../../../../lib/libvcos.so
[ 9%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/egl/egl_client_surface.c.o
[ 9%] Built target vcos
[ 10%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/ext/egl_brcm_driver_monitor_client.c.o
[ 11%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/ext/ext_gl_debug_marker.c.o
Scanning dependencies of target debug_sym
[ 11%] Building C object host_applications/linux/libs/debug_sym/CMakeFiles/debug_sym.dir/debug_sym.c.o
[ 11%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/common/khrn_int_image.c.o
[ 11%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/ext/egl_brcm_perf_monitor_client.c.o
[ 11%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/ext/egl_brcm_global_image_client.c.o
[ 11%] Linking C shared library ../../../../../../lib/libdebug_sym.so
[ 11%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/ext/egl_brcm_flush_client.c.o
[ 11%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/common/khrn_int_util.c.o
[ 11%] Built target debug_sym
Scanning dependencies of target mmal_components_extra
In file included from /home/pi/tc358743/userland/interface/khronos/common/khrn_int_util.c:30:0:
/home/pi/tc358743/userland/interface/khronos/common/khrn_int_util.c: In function ‘khrn_clip_range2’:
/home/pi/tc358743/userland/interface/khronos/common/khrn_int_util.h:145:57: warning: assuming signed overflow does not occur when assuming that (X - c) <= X is always true [-Wstrict-overflow]
return (y > 0) ? ((z < x) ? (int32_t)0x7fffffff : z) : ((z > x) ? (int32_t)0x80000000 : z);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/tc358743/userland/interface/khronos/common/khrn_int_util.h:151:57: warning: assuming signed overflow does not occur when assuming that (X + c) >= X is always true [-Wstrict-overflow]
return (y > 0) ? ((z > x) ? (int32_t)0x80000000 : z) : ((z < x) ? (int32_t)0x7fffffff : z);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/tc358743/userland/interface/khronos/common/khrn_int_util.h:145:57: warning: assuming signed overflow does not occur when assuming that (X - c) <= X is always true [-Wstrict-overflow]
return (y > 0) ? ((z < x) ? (int32_t)0x7fffffff : z) : ((z > x) ? (int32_t)0x80000000 : z);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/tc358743/userland/interface/khronos/common/khrn_int_util.h:151:57: warning: assuming signed overflow does not occur when assuming that (X + c) >= X is always true [-Wstrict-overflow]
return (y > 0) ? ((z > x) ? (int32_t)0x80000000 : z) : ((z < x) ? (int32_t)0x7fffffff : z);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 11%] Linking C static library ../../../../lib/libGLESv2_static.a
[ 11%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/ext/egl_khr_image_client.c.o
[ 11%] Built target mmal_components_extra
[ 11%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/common/khrn_options.c.o
[ 12%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/ext/egl_khr_sync_client.c.o
[ 12%] Built target GLESv2_static
[ 12%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/ext/gl_oes_egl_image_client.c.o
[ 13%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/common/khrn_client_global_image_map.c.o
Scanning dependencies of target mmal_omxutil
[ 13%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/ext/egl_khr_lock_surface_client.c.o
Scanning dependencies of target containers_net_extra
[ 13%] Built target containers_net_extra
[ 13%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/ext/ext_gl_debug_marker.c.o
[ 13%] Building C object interface/mmal/openmaxil/CMakeFiles/mmal_omxutil.dir/mmalomx_util_params.c.o
[ 13%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/common/linux/khrn_client_rpc_linux.c.o
[ 14%] Building C object interface/mmal/openmaxil/CMakeFiles/mmal_omxutil.dir/mmalomx_util_params_audio.c.o
[ 14%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/common/khrn_int_image.c.o
Scanning dependencies of target containers_dump_pktfile
[ 14%] Building C object containers/test/CMakeFiles/containers_dump_pktfile.dir/dump_pktfile.c.o
[ 14%] Linking C executable ../../../../bin/containers_dump_pktfile
[ 14%] Building C object interface/mmal/openmaxil/CMakeFiles/mmal_omxutil.dir/mmalomx_util_params_video.c.o
[ 14%] Built target containers_dump_pktfile
[ 14%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/common/khrn_int_util.c.o
[ 14%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/common/khrn_options.c.o
In file included from /home/pi/tc358743/userland/interface/khronos/common/khrn_int_util.c:30:0:
/home/pi/tc358743/userland/interface/khronos/common/khrn_int_util.c: In function ‘khrn_clip_range2’:
/home/pi/tc358743/userland/interface/khronos/common/khrn_int_util.h:145:57: warning: assuming signed overflow does not occur when assuming that (X - c) <= X is always true [-Wstrict-overflow]
return (y > 0) ? ((z < x) ? (int32_t)0x7fffffff : z) : ((z > x) ? (int32_t)0x80000000 : z);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/tc358743/userland/interface/khronos/common/khrn_int_util.h:151:57: warning: assuming signed overflow does not occur when assuming that (X + c) >= X is always true [-Wstrict-overflow]
return (y > 0) ? ((z > x) ? (int32_t)0x80000000 : z) : ((z < x) ? (int32_t)0x7fffffff : z);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/tc358743/userland/interface/khronos/common/khrn_int_util.h:145:57: warning: assuming signed overflow does not occur when assuming that (X - c) <= X is always true [-Wstrict-overflow]
return (y > 0) ? ((z < x) ? (int32_t)0x7fffffff : z) : ((z > x) ? (int32_t)0x80000000 : z);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/tc358743/userland/interface/khronos/common/khrn_int_util.h:151:57: warning: assuming signed overflow does not occur when assuming that (X + c) >= X is always true [-Wstrict-overflow]
return (y > 0) ? ((z > x) ? (int32_t)0x80000000 : z) : ((z < x) ? (int32_t)0x7fffffff : z);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 15%] Building C object interface/mmal/openmaxil/CMakeFiles/mmal_omxutil.dir/mmalomx_util_params_camera.c.o
Scanning dependencies of target containers_test_extra
[ 15%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/common/khrn_client_global_image_map.c.o
[ 15%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/common/linux/khrn_client_platform_linux.c.o
[ 15%] Built target containers_test_extra
[ 15%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/vg/vg_int_mat3x3.c.o
[ 15%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/common/linux/khrn_client_rpc_linux.c.o
[ 15%] Building C object interface/mmal/openmaxil/CMakeFiles/mmal_omxutil.dir/mmalomx_util_params_misc.c.o
Scanning dependencies of target debug_sym_static
[ 16%] Building C object host_applications/linux/libs/debug_sym/CMakeFiles/debug_sym_static.dir/debug_sym.c.o
[ 16%] Linking C shared library ../../../../../lib/libmmal_omxutil.so
[ 16%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/vg/vg_client.c.o
[ 16%] Built target mmal_omxutil
[ 17%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/common/khrn_client.c.o
[ 18%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/common/linux/khrn_client_platform_linux.c.o
[ 18%] Linking C static library ../../../../../../lib/libdebug_sym_static.a
[ 18%] Built target debug_sym_static
[ 18%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/ext/egl_openmaxil_client.c.o
Scanning dependencies of target fdt
[ 19%] Building C object opensrc/helpers/libfdt/CMakeFiles/fdt.dir/fdt.c.o
[ 19%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/vg/vg_int_mat3x3.c.o
[ 19%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/ext/gl_oes_draw_texture_client.c.o
[ 19%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/vg/vg_client.c.o
[ 19%] Building C object opensrc/helpers/libfdt/CMakeFiles/fdt.dir/fdt_empty_tree.c.o
[ 19%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/common/khrn_client.c.o
[ 19%] Building C object opensrc/helpers/libfdt/CMakeFiles/fdt.dir/fdt_ro.c.o
[ 19%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/ext/gl_oes_query_matrix_client.c.o
[ 20%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/ext/egl_openmaxil_client.c.o
[ 20%] Building C object opensrc/helpers/libfdt/CMakeFiles/fdt.dir/fdt_rw.c.o
[ 21%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/ext/gl_oes_framebuffer_object.c.o
[ 21%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/ext/gl_oes_draw_texture_client.c.o
[ 22%] Building C object opensrc/helpers/libfdt/CMakeFiles/fdt.dir/fdt_sw.c.o
[ 22%] Building C object opensrc/helpers/libfdt/CMakeFiles/fdt.dir/fdt_strerror.c.o
[ 22%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/ext/gl_oes_query_matrix_client.c.o
[ 22%] Building C object opensrc/helpers/libfdt/CMakeFiles/fdt.dir/fdt_wip.c.o
[ 22%] Linking C static library ../../../../../lib/libfdt.a
[ 22%] Built target fdt
[ 22%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/ext/gl_oes_map_buffer.c.o
[ 22%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/ext/gl_oes_matrix_palette_client.c.o
Scanning dependencies of target vchiq_arm
[ 22%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/ext/gl_oes_framebuffer_object.c.o
[ 22%] Building C object interface/vchiq_arm/CMakeFiles/vchiq_arm.dir/vchiq_lib.c.o
[ 22%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/glxx/glxx_client.c.o
Scanning dependencies of target vcfiled_lock_test
[ 23%] Building C object interface/vmcs_host/linux/vcfiled/CMakeFiles/vcfiled_lock_test.dir/vcfiled_lock_test.c.o
[ 23%] Linking C executable ../../../../../../bin/vcfiled_lock_test
[ 23%] Built target vcfiled_lock_test
[ 23%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/wf/wfc_client_stream.c.o
[ 24%] Building C object interface/vchiq_arm/CMakeFiles/vchiq_arm.dir/vchiq_util.c.o
[ 24%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/ext/gl_oes_map_buffer.c.o
[ 24%] Linking C shared library ../../../../lib/libvchiq_arm.so
[ 24%] Built target vchiq_arm
[ 25%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/wf/wfc_client.c.o
[ 25%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/wf/wfc_client_server_api.c.o
/home/pi/tc358743/userland/interface/khronos/wf/wfc_client_server_api.c:59:22: warning: ‘wfc_client_server_api_send_stream’ defined but not used [-Wunused-function]
static VCOS_STATUS_T wfc_client_server_api_send_stream(WFC_IPC_MSG_TYPE msg_type, WFCNativeStreamType stream)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Scanning dependencies of target vcsm
[ 26%] Building C object host_applications/linux/libs/sm/CMakeFiles/vcsm.dir/user-vcsm.c.o
[ 27%] Building C object interface/khronos/CMakeFiles/EGL_static.dir/ext/gl_oes_matrix_palette_client.c.o
[ 27%] Linking C shared library ../../../../../../lib/libvcsm.so
[ 27%] Built target vcsm
[ 27%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/wf/wfc_client_ipc.c.o
[ 27%] Linking C static library ../../../../lib/libEGL_static.a
[ 27%] Built target EGL_static
[ 27%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/common/openwfc/khrn_client_platform_openwfc.c.o
Scanning dependencies of target mmal_core
[ 27%] Building C object interface/mmal/core/CMakeFiles/mmal_core.dir/mmal_format.c.o
Scanning dependencies of target mmal_util
[ 27%] Building C object interface/mmal/util/CMakeFiles/mmal_util.dir/mmal_il.c.o
Scanning dependencies of target mmal_vc_client
[ 28%] Building C object interface/mmal/vc/CMakeFiles/mmal_vc_client.dir/mmal_vc_client.c.o
[ 28%] Building C object interface/mmal/core/CMakeFiles/mmal_core.dir/mmal_port.c.o
[ 29%] Building C object interface/mmal/util/CMakeFiles/mmal_util.dir/mmal_util.c.o
[ 29%] Building C object interface/mmal/vc/CMakeFiles/mmal_vc_client.dir/mmal_vc_shm.c.o
[ 29%] Building C object interface/mmal/util/CMakeFiles/mmal_util.dir/mmal_connection.c.o
[ 29%] Building C object interface/mmal/vc/CMakeFiles/mmal_vc_client.dir/mmal_vc_api.c.o
[ 29%] Building C object interface/mmal/util/CMakeFiles/mmal_util.dir/mmal_graph.c.o
[ 29%] Building C object interface/mmal/core/CMakeFiles/mmal_core.dir/mmal_port_clock.c.o
[ 30%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/common/khrn_client_pointermap.c.o
[ 30%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/common/khrn_client_vector.c.o
[ 30%] Building C object interface/mmal/core/CMakeFiles/mmal_core.dir/mmal_component.c.o
[ 30%] Building C object interface/mmal/vc/CMakeFiles/mmal_vc_client.dir/mmal_vc_opaque_alloc.c.o
[ 30%] Building C object interface/mmal/vc/CMakeFiles/mmal_vc_client.dir/mmal_vc_msgnames.c.o
[ 30%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/common/khrn_int_hash.c.o
[ 31%] Building C object interface/mmal/vc/CMakeFiles/mmal_vc_client.dir/mmal_vc_api_drm.c.o
[ 31%] Building ASM object interface/khronos/CMakeFiles/khrn_static.dir/common/khrn_int_hash_asm.s.o
[ 31%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/common/khrn_client_cache.c.o
[ 31%] Linking C shared library ../../../../../lib/libmmal_vc_client.so
[ 32%] Building C object interface/mmal/core/CMakeFiles/mmal_core.dir/mmal_buffer.c.o
[ 32%] Built target mmal_vc_client
[ 32%] Building C object interface/mmal/util/CMakeFiles/mmal_util.dir/mmal_list.c.o
[ 32%] Building C object interface/mmal/core/CMakeFiles/mmal_core.dir/mmal_queue.c.o
Scanning dependencies of target containers
[ 32%] Building C object interface/mmal/util/CMakeFiles/mmal_util.dir/mmal_param_convert.c.o
[ 32%] Building C object containers/CMakeFiles/containers.dir/core/containers.c.o
[ 32%] Building C object interface/mmal/core/CMakeFiles/mmal_core.dir/mmal_pool.c.o
[ 33%] Linking C static library ../../../../lib/libkhrn_static.a
[ 34%] Building C object interface/mmal/util/CMakeFiles/mmal_util.dir/mmal_util_params.c.o
[ 34%] Built target khrn_static
[ 34%] Building C object interface/mmal/util/CMakeFiles/mmal_util.dir/mmal_component_wrapper.c.o
[ 34%] Building C object containers/CMakeFiles/containers.dir/core/containers_io.c.o
[ 34%] Building C object interface/mmal/core/CMakeFiles/mmal_core.dir/mmal_events.c.o
[ 35%] Building C object interface/mmal/util/CMakeFiles/mmal_util.dir/mmal_util_rational.c.o
[ 35%] Building C object interface/mmal/core/CMakeFiles/mmal_core.dir/mmal_logging.c.o
[ 35%] Building C object containers/CMakeFiles/containers.dir/core/containers_io_helpers.c.o
Scanning dependencies of target dtovl
[ 35%] Building C object helpers/dtoverlay/CMakeFiles/dtovl.dir/dtoverlay.c.o
[ 35%] Building C object interface/mmal/core/CMakeFiles/mmal_core.dir/mmal_clock.c.o
[ 35%] Linking C shared library ../../../../../lib/libmmal_util.so
[ 35%] Built target mmal_util
[ 36%] Building C object containers/CMakeFiles/containers.dir/core/containers_codecs.c.o
[ 36%] Building C object containers/CMakeFiles/containers.dir/core/containers_utils.c.o
Scanning dependencies of target vchostif
[ 37%] Building C object interface/vmcs_host/CMakeFiles/vchostif.dir/linux/vcfilesys.c.o
[ 37%] Linking C shared library ../../../../../lib/libmmal_core.so
[ 37%] Built target mmal_core
[ 37%] Building C object containers/CMakeFiles/containers.dir/core/containers_writer_utils.c.o
[ 37%] Building C object interface/vmcs_host/CMakeFiles/vchostif.dir/linux/vcmisc.c.o
Scanning dependencies of target vchiq_test
[ 37%] Building C object containers/CMakeFiles/containers.dir/core/containers_loader.c.o
[ 37%] Building C object interface/vchiq_arm/CMakeFiles/vchiq_test.dir/vchiq_test.c.o
[ 37%] Linking C shared library ../../../../lib/libdtovl.so
[ 37%] Built target dtovl
[ 37%] Building C object containers/CMakeFiles/containers.dir/core/containers_filters.c.o
Scanning dependencies of target mmal_omx
[ 37%] Building C object interface/vmcs_host/CMakeFiles/vchostif.dir/vc_vchi_gencmd.c.o
[ 37%] Building C object interface/mmal/openmaxil/CMakeFiles/mmal_omx.dir/mmalomx_core.c.o
[ 38%] Building C object containers/CMakeFiles/containers.dir/core/containers_logging.c.o
[ 38%] Building C object interface/vmcs_host/CMakeFiles/vchostif.dir/vc_vchi_filesys.c.o
[ 38%] Building C object containers/CMakeFiles/containers.dir/core/containers_uri.c.o
[ 38%] Building C object interface/mmal/openmaxil/CMakeFiles/mmal_omx.dir/mmalomx_logging.c.o
[ 38%] Building C object containers/CMakeFiles/containers.dir/core/containers_bits.c.o
[ 38%] Building C object interface/mmal/openmaxil/CMakeFiles/mmal_omx.dir/mmalomx_commands.c.o
[ 38%] Building C object containers/CMakeFiles/containers.dir/core/containers_list.c.o
[ 38%] Building C object interface/vmcs_host/CMakeFiles/vchostif.dir/vc_vchi_gpuserv.c.o
[ 39%] Building C object interface/mmal/openmaxil/CMakeFiles/mmal_omx.dir/mmalomx_buffer.c.o
[ 40%] Building C object containers/CMakeFiles/containers.dir/core/containers_index.c.o
[ 41%] Building C object interface/vmcs_host/CMakeFiles/vchostif.dir/vc_vchi_tvservice.c.o
[ 41%] Building C object containers/CMakeFiles/containers.dir/io/io_file.c.o
[ 41%] Linking C executable ../../../../bin/vchiq_test
[ 41%] Built target vchiq_test
[ 41%] Building C object interface/vmcs_host/CMakeFiles/vchostif.dir/vc_vchi_cecservice.c.o
/home/pi/tc358743/userland/interface/vmcs_host/vc_vchi_cecservice.c:138:23: warning: ‘max_devicetype_strings’ defined but not used [-Wunused-const-variable=]
static const uint32_t max_devicetype_strings = sizeof(cecservice_devicetype_strings)/sizeof(char *);
^~~~~~~~~~~~~~~~~~~~~~
/home/pi/tc358743/userland/interface/vmcs_host/vc_vchi_cecservice.c:106:23: warning: ‘max_command_strings’ defined but not used [-Wunused-const-variable=]
static const uint32_t max_command_strings = sizeof(cecservice_command_strings)/sizeof(char *);
^~~~~~~~~~~~~~~~~~~
[ 41%] Building C object interface/mmal/openmaxil/CMakeFiles/mmal_omx.dir/mmalomx_marks.c.o
[ 41%] Building C object containers/CMakeFiles/containers.dir/io/io_null.c.o
[ 41%] Building C object interface/mmal/openmaxil/CMakeFiles/mmal_omx.dir/mmalomx_roles.c.o
[ 41%] Building C object containers/CMakeFiles/containers.dir/io/io_net.c.o
[ 41%] Building C object interface/mmal/openmaxil/CMakeFiles/mmal_omx.dir/mmalomx_parameters.c.o
[ 42%] Building C object interface/mmal/openmaxil/CMakeFiles/mmal_omx.dir/mmalomx_registry.c.o
[ 42%] Building C object containers/CMakeFiles/containers.dir/io/io_pktfile.c.o
[ 42%] Building C object interface/vmcs_host/CMakeFiles/vchostif.dir/vc_vchi_dispmanx.c.o
[ 43%] Building C object containers/CMakeFiles/containers.dir/io/io_http.c.o
[ 43%] Building C object interface/vmcs_host/CMakeFiles/vchostif.dir/vc_service_common.c.o
[ 43%] Linking C shared library ../../../../../lib/libmmal_omx.so
[ 43%] Built target mmal_omx
/home/pi/tc358743/userland/interface/vmcs_host/vc_service_common.c: In function ‘vchi2service_status_string’:
/home/pi/tc358743/userland/interface/vmcs_host/vc_service_common.c:51:4: warning: case value ‘1’ not in enumerated type ‘VC_SERVICE_VCHI_STATUS_T {aka enum <anonymous>}’ [-Wswitch]
case VCHIQ_RETRY:
^~~~
Scanning dependencies of target brcmjpeg
[ 43%] Building C object interface/mmal/client/brcmjpeg/CMakeFiles/brcmjpeg.dir/brcmjpeg.c.o
Scanning dependencies of target dtoverlay
[ 44%] Linking C static library ../../../../lib/libvchostif.a
[ 45%] Building C object host_applications/linux/apps/dtoverlay/CMakeFiles/dtoverlay.dir/dtoverlay_main.c.o
[ 45%] Built target vchostif
[ 45%] Building C object containers/CMakeFiles/containers.dir/net/net_sockets_common.c.o
[ 45%] Building C object host_applications/linux/apps/dtoverlay/CMakeFiles/dtoverlay.dir/utils.c.o
Scanning dependencies of target dtmerge
[ 45%] Building C object host_applications/linux/apps/dtmerge/CMakeFiles/dtmerge.dir/dtmerge.c.o
[ 45%] Linking C executable ../../../../../../bin/dtoverlay
[ 45%] Building C object containers/CMakeFiles/containers.dir/net/net_sockets_bsd.c.o
[ 45%] Linking C shared library ../../../../../../lib/libbrcmjpeg.so
[ 45%] Building C object containers/CMakeFiles/containers.dir/core/packetizers.c.o
[ 45%] Linking C executable ../../../../../../bin/dtmerge
[ 45%] Built target dtoverlay
Scanning dependencies of target bcm_host
[ 45%] Building C object host_applications/linux/libs/bcm_host/CMakeFiles/bcm_host.dir/bcm_host.c.o
[ 45%] Built target brcmjpeg
[ 45%] Built target dtmerge
Scanning dependencies of target vcfiled
Scanning dependencies of target brcmjpeg_test
[ 45%] Building C object interface/mmal/client/brcmjpeg/CMakeFiles/brcmjpeg_test.dir/brcmjpeg_test.c.o
[ 46%] Building C object interface/vmcs_host/linux/vcfiled/CMakeFiles/vcfiled.dir/vcfiled.c.o
[ 47%] Building C object containers/CMakeFiles/containers.dir/mpga/mpga_packetizer.c.o
[ 47%] Building C object host_applications/linux/libs/bcm_host/CMakeFiles/bcm_host.dir/__/__/__/__/interface/vmcs_host/linux/vcfilesys.c.o
[ 47%] Linking C executable ../../../../../../bin/vcfiled
[ 47%] Built target vcfiled
Scanning dependencies of target vcgencmd
[ 47%] Building C object host_applications/linux/apps/gencmd/CMakeFiles/vcgencmd.dir/gencmd.c.o
[ 48%] Linking C executable ../../../../../../bin/brcmjpeg_test
[ 48%] Linking C executable ../../../../../../bin/vcgencmd
[ 48%] Built target vcgencmd
[ 48%] Built target brcmjpeg_test
Scanning dependencies of target tvservice
Scanning dependencies of target vcmailbox
[ 48%] Building C object containers/CMakeFiles/containers.dir/mpgv/mpgv_packetizer.c.o
[ 48%] Building C object host_applications/linux/apps/vcmailbox/CMakeFiles/vcmailbox.dir/vcmailbox.c.o
[ 48%] Building C object host_applications/linux/libs/bcm_host/CMakeFiles/bcm_host.dir/__/__/__/__/interface/vmcs_host/linux/vcfiled/vcfiled_check.c.o
[ 48%] Building C object host_applications/linux/apps/tvservice/CMakeFiles/tvservice.dir/tvservice.c.o
[ 48%] Linking C executable ../../../../../../bin/vcmailbox
[ 49%] Linking C shared library ../../../../../../lib/libbcm_host.so
[ 49%] Built target vcmailbox
[ 49%] Building C object containers/CMakeFiles/containers.dir/pcm/pcm_packetizer.c.o
[ 49%] Built target bcm_host
[ 49%] Building C object containers/CMakeFiles/containers.dir/h264/avc1_packetizer.c.o
Scanning dependencies of target vcsmem
[ 49%] Building C object host_applications/linux/apps/smem/CMakeFiles/vcsmem.dir/smem.c.o
[ 49%] Linking C executable ../../../../../../bin/tvservice
[ 49%] Built target tvservice
Scanning dependencies of target brcmEGL
[ 49%] Linking C shared library ../../../lib/libcontainers.so
Scanning dependencies of target EGL
[ 49%] Linking C executable ../../../../../../bin/vcsmem
[ 49%] Building C object interface/khronos/CMakeFiles/brcmEGL.dir/egl/egl_client_config.c.o
[ 49%] Built target vcsmem
[ 49%] Built target containers
[ 49%] Building C object interface/khronos/CMakeFiles/brcmEGL.dir/egl/egl_client_context.c.o
Scanning dependencies of target raspividyuv
[ 49%] Building C object host_applications/linux/apps/raspicam/CMakeFiles/raspividyuv.dir/RaspiCamControl.c.o
[ 49%] Building C object interface/khronos/CMakeFiles/EGL.dir/egl/egl_client_config.c.o
[ 49%] Building C object interface/khronos/CMakeFiles/EGL.dir/egl/egl_client_context.c.o
[ 49%] Building C object interface/khronos/CMakeFiles/brcmEGL.dir/egl/egl_client.c.o
[ 50%] Building C object interface/khronos/CMakeFiles/EGL.dir/egl/egl_client.c.o
[ 50%] Building C object interface/khronos/CMakeFiles/brcmEGL.dir/egl/egl_client_get_proc.c.o
[ 50%] Building C object host_applications/linux/apps/raspicam/CMakeFiles/raspividyuv.dir/RaspiCLI.c.o
[ 50%] Building C object host_applications/linux/apps/raspicam/CMakeFiles/raspividyuv.dir/RaspiPreview.c.o
[ 50%] Building C object interface/khronos/CMakeFiles/EGL.dir/egl/egl_client_get_proc.c.o
[ 50%] Building C object host_applications/linux/apps/raspicam/CMakeFiles/raspividyuv.dir/RaspiVidYUV.c.o
/home/pi/tc358743/userland/host_applications/linux/apps/raspicam/RaspiVidYUV.c:53:0: warning: "_GNU_SOURCE" redefined
#define _GNU_SOURCE

<command-line>:0:0: note: this is the location of the previous definition
[ 50%] Building C object interface/khronos/CMakeFiles/brcmEGL.dir/egl/egl_client_surface.c.o
[ 50%] Building C object interface/khronos/CMakeFiles/brcmEGL.dir/ext/egl_brcm_driver_monitor_client.c.o
[ 51%] Building C object interface/khronos/CMakeFiles/EGL.dir/egl/egl_client_surface.c.o
Scanning dependencies of target raspivid
[ 52%] Linking C executable ../../../../../../bin/raspividyuv
[ 53%] Building C object host_applications/linux/apps/raspicam/CMakeFiles/raspivid.dir/RaspiCamControl.c.o
[ 53%] Building C object interface/khronos/CMakeFiles/brcmEGL.dir/ext/egl_brcm_perf_monitor_client.c.o
[ 53%] Built target raspividyuv
[ 53%] Building C object interface/khronos/CMakeFiles/brcmEGL.dir/ext/egl_brcm_global_image_client.c.o
Scanning dependencies of target raspiyuv
[ 53%] Building C object host_applications/linux/apps/raspicam/CMakeFiles/raspiyuv.dir/RaspiCamControl.c.o
[ 53%] Building C object interface/khronos/CMakeFiles/EGL.dir/ext/egl_brcm_driver_monitor_client.c.o
[ 54%] Building C object interface/khronos/CMakeFiles/brcmEGL.dir/ext/egl_brcm_flush_client.c.o
[ 54%] Building C object host_applications/linux/apps/raspicam/CMakeFiles/raspivid.dir/RaspiCLI.c.o
[ 54%] Building C object interface/khronos/CMakeFiles/EGL.dir/ext/egl_brcm_perf_monitor_client.c.o
[ 54%] Building C object interface/khronos/CMakeFiles/brcmEGL.dir/ext/egl_khr_image_client.c.o
[ 54%] Building C object host_applications/linux/apps/raspicam/CMakeFiles/raspivid.dir/RaspiPreview.c.o
[ 54%] Building C object interface/khronos/CMakeFiles/EGL.dir/ext/egl_brcm_global_image_client.c.o
[ 54%] Building C object host_applications/linux/apps/raspicam/CMakeFiles/raspiyuv.dir/RaspiCLI.c.o
[ 54%] Building C object host_applications/linux/apps/raspicam/CMakeFiles/raspivid.dir/RaspiVid.c.o
[ 54%] Building C object host_applications/linux/apps/raspicam/CMakeFiles/raspiyuv.dir/RaspiPreview.c.o
[ 55%] Building C object interface/khronos/CMakeFiles/EGL.dir/ext/egl_brcm_flush_client.c.o
[ 55%] Building C object interface/khronos/CMakeFiles/brcmEGL.dir/ext/egl_khr_sync_client.c.o
[ 56%] Building C object host_applications/linux/apps/raspicam/CMakeFiles/raspiyuv.dir/RaspiStillYUV.c.o
/home/pi/tc358743/userland/host_applications/linux/apps/raspicam/RaspiStillYUV.c:50:0: warning: "_GNU_SOURCE" redefined
#define _GNU_SOURCE

<command-line>:0:0: note: this is the location of the previous definition
[ 56%] Building C object interface/khronos/CMakeFiles/EGL.dir/ext/egl_khr_image_client.c.o
[ 56%] Building C object interface/khronos/CMakeFiles/brcmEGL.dir/ext/gl_oes_egl_image_client.c.o
[ 56%] Building C object interface/khronos/CMakeFiles/EGL.dir/ext/egl_khr_sync_client.c.o
[ 57%] Building C object interface/khronos/CMakeFiles/brcmEGL.dir/ext/egl_khr_lock_surface_client.c.o
[ 57%] Linking C executable ../../../../../../bin/raspiyuv
[ 57%] Building C object interface/khronos/CMakeFiles/EGL.dir/ext/gl_oes_egl_image_client.c.o
[ 58%] Linking C executable ../../../../../../bin/raspivid
[ 58%] Building C object interface/khronos/CMakeFiles/brcmEGL.dir/ext/ext_gl_debug_marker.c.o
[ 58%] Built target raspiyuv
[ 58%] Building C object interface/khronos/CMakeFiles/EGL.dir/ext/egl_khr_lock_surface_client.c.o
[ 58%] Built target raspivid
[ 59%] Building C object interface/khronos/CMakeFiles/EGL.dir/ext/ext_gl_debug_marker.c.o
[ 59%] Building C object interface/khronos/CMakeFiles/brcmEGL.dir/common/khrn_int_image.c.o
[ 59%] Building C object interface/khronos/CMakeFiles/EGL.dir/common/khrn_int_image.c.o
[ 59%] Building C object interface/khronos/CMakeFiles/brcmEGL.dir/common/khrn_int_util.c.o
Scanning dependencies of target mmal_components
[ 59%] Building C object interface/khronos/CMakeFiles/EGL.dir/common/khrn_int_util.c.o
[ 59%] Building C object interface/mmal/components/CMakeFiles/mmal_components.dir/container_reader.c.o
In file included from /home/pi/tc358743/userland/interface/khronos/common/khrn_int_util.c:30:0:
/home/pi/tc358743/userland/interface/khronos/common/khrn_int_util.c: In function ‘khrn_clip_range2’:
/home/pi/tc358743/userland/interface/khronos/common/khrn_int_util.h:145:57: warning: assuming signed overflow does not occur when assuming that (X - c) <= X is always true [-Wstrict-overflow]
return (y > 0) ? ((z < x) ? (int32_t)0x7fffffff : z) : ((z > x) ? (int32_t)0x80000000 : z);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/tc358743/userland/interface/khronos/common/khrn_int_util.h:151:57: warning: assuming signed overflow does not occur when assuming that (X + c) >= X is always true [-Wstrict-overflow]
return (y > 0) ? ((z > x) ? (int32_t)0x80000000 : z) : ((z < x) ? (int32_t)0x7fffffff : z);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/tc358743/userland/interface/khronos/common/khrn_int_util.h:145:57: warning: assuming signed overflow does not occur when assuming that (X - c) <= X is always true [-Wstrict-overflow]
return (y > 0) ? ((z < x) ? (int32_t)0x7fffffff : z) : ((z > x) ? (int32_t)0x80000000 : z);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/tc358743/userland/interface/khronos/common/khrn_int_util.h:151:57: warning: assuming signed overflow does not occur when assuming that (X + c) >= X is always true [-Wstrict-overflow]
return (y > 0) ? ((z > x) ? (int32_t)0x80000000 : z) : ((z < x) ? (int32_t)0x7fffffff : z);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/tc358743/userland/interface/khronos/common/khrn_int_util.c:30:0:
/home/pi/tc358743/userland/interface/khronos/common/khrn_int_util.c: In function ‘khrn_clip_range2’:
/home/pi/tc358743/userland/interface/khronos/common/khrn_int_util.h:145:57: warning: assuming signed overflow does not occur when assuming that (X - c) <= X is always true [-Wstrict-overflow]
return (y > 0) ? ((z < x) ? (int32_t)0x7fffffff : z) : ((z > x) ? (int32_t)0x80000000 : z);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/tc358743/userland/interface/khronos/common/khrn_int_util.h:151:57: warning: assuming signed overflow does not occur when assuming that (X + c) >= X is always true [-Wstrict-overflow]
return (y > 0) ? ((z > x) ? (int32_t)0x80000000 : z) : ((z < x) ? (int32_t)0x7fffffff : z);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/tc358743/userland/interface/khronos/common/khrn_int_util.h:145:57: warning: assuming signed overflow does not occur when assuming that (X - c) <= X is always true [-Wstrict-overflow]
return (y > 0) ? ((z < x) ? (int32_t)0x7fffffff : z) : ((z > x) ? (int32_t)0x80000000 : z);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/tc358743/userland/interface/khronos/common/khrn_int_util.h:151:57: warning: assuming signed overflow does not occur when assuming that (X + c) >= X is always true [-Wstrict-overflow]
return (y > 0) ? ((z > x) ? (int32_t)0x80000000 : z) : ((z < x) ? (int32_t)0x7fffffff : z);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 59%] Building C object interface/khronos/CMakeFiles/brcmEGL.dir/common/khrn_options.c.o
[ 59%] Building C object interface/khronos/CMakeFiles/EGL.dir/common/khrn_options.c.o
Scanning dependencies of target reader_mp4
[ 60%] Building C object containers/mp4/CMakeFiles/reader_mp4.dir/mp4_reader.c.o
[ 61%] Building C object interface/khronos/CMakeFiles/brcmEGL.dir/common/khrn_client_global_image_map.c.o
[ 62%] Building C object interface/khronos/CMakeFiles/EGL.dir/common/khrn_client_global_image_map.c.o
[ 62%] Building C object interface/khronos/CMakeFiles/brcmEGL.dir/common/linux/khrn_client_rpc_linux.c.o
[ 63%] Building C object interface/mmal/components/CMakeFiles/mmal_components.dir/null_sink.c.o
[ 63%] Building C object interface/khronos/CMakeFiles/EGL.dir/common/linux/khrn_client_rpc_linux.c.o
[ 63%] Building C object interface/mmal/components/CMakeFiles/mmal_components.dir/passthrough.c.o
[ 63%] Building C object interface/mmal/components/CMakeFiles/mmal_components.dir/scheduler.c.o
[ 63%] Building C object interface/khronos/CMakeFiles/brcmEGL.dir/common/linux/khrn_client_platform_linux.c.o
[ 63%] Building C object interface/khronos/CMakeFiles/EGL.dir/common/linux/khrn_client_platform_linux.c.o
[ 63%] Building C object interface/mmal/components/CMakeFiles/mmal_components.dir/splitter.c.o
[ 63%] Linking C shared library ../../../../lib/reader_mp4.so
[ 63%] Built target reader_mp4
[ 63%] Building C object interface/khronos/CMakeFiles/EGL.dir/vg/vg_int_mat3x3.c.o
[ 63%] Building C object interface/mmal/components/CMakeFiles/mmal_components.dir/copy.c.o
[ 64%] Building C object interface/mmal/components/CMakeFiles/mmal_components.dir/artificial_camera.c.o
[ 64%] Building C object interface/khronos/CMakeFiles/brcmEGL.dir/vg/vg_int_mat3x3.c.o
[ 64%] Building C object interface/khronos/CMakeFiles/EGL.dir/vg/vg_client.c.o
Scanning dependencies of target writer_mp4
[ 64%] Building C object interface/mmal/components/CMakeFiles/mmal_components.dir/aggregator.c.o
[ 64%] Building C object containers/mp4/CMakeFiles/writer_mp4.dir/mp4_writer.c.o
/home/pi/tc358743/userland/containers/mp4/mp4_writer.c: In function ‘mp4_writer_add_track’:
/home/pi/tc358743/userland/containers/mp4/mp4_writer.c:1191:7: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
if(format->codec_variant == VC_FOURCC('a','v','c','C')) type = VC_FOURCC('a','v','c','1'); break;
^~
/home/pi/tc358743/userland/containers/mp4/mp4_writer.c:1191:98: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
if(format->codec_variant == VC_FOURCC('a','v','c','C')) type = VC_FOURCC('a','v','c','1'); break;
^~~~~
[ 65%] Building C object interface/khronos/CMakeFiles/brcmEGL.dir/vg/vg_client.c.o
[ 65%] Building C object interface/mmal/components/CMakeFiles/mmal_components.dir/clock.c.o
[ 65%] Building C object interface/mmal/components/CMakeFiles/mmal_components.dir/spdif.c.o
[ 66%] Linking C shared library ../../../../lib/writer_mp4.so
[ 66%] Built target writer_mp4
[ 66%] Building C object interface/khronos/CMakeFiles/brcmEGL.dir/common/khrn_client.c.o
[ 67%] Linking C shared library ../../../../../lib/libmmal_components.so
[ 67%] Built target mmal_components
[ 67%] Building C object interface/khronos/CMakeFiles/brcmEGL.dir/ext/egl_openmaxil_client.c.o
Scanning dependencies of target reader_ps
[ 68%] Building C object containers/mpeg/CMakeFiles/reader_ps.dir/ps_reader.c.o
Scanning dependencies of target reader_mpga
[ 68%] Building C object containers/mpga/CMakeFiles/reader_mpga.dir/mpga_reader.c.o
[ 76%] Building C object containers/rtp/CMakeFiles/reader_rtp.dir/rtp_base64.c.o
Scanning dependencies of target reader_rcv
[ 76%] Building C object containers/rcv/CMakeFiles/reader_rcv.dir/rcv_reader.c.o
Scanning dependencies of target reader_rv9
[ 76%] Building C object containers/rv9/CMakeFiles/reader_rv9.dir/rv9_reader.c.o
[ 76%] Linking C shared library ../../../../lib/reader_rtp.so
[ 76%] Linking C shared library ../../../../lib/reader_rcv.so
[ 76%] Linking C shared library ../../../../lib/reader_rv9.so
[ 76%] Built target reader_rtp
Scanning dependencies of target reader_qsynth
[ 77%] Linking C shared library ../../../../lib/reader_rtsp.so
[ 77%] Built target reader_rcv
[ 77%] Built target reader_rv9
[ 77%] Building C object containers/qsynth/CMakeFiles/reader_qsynth.dir/qsynth_reader.c.o
Scanning dependencies of target reader_simple
Scanning dependencies of target writer_simple
[ 77%] Building C object containers/simple/CMakeFiles/reader_simple.dir/simple_reader.c.o
[ 77%] Building C object containers/simple/CMakeFiles/writer_simple.dir/simple_writer.c.o
[ 77%] Built target reader_rtsp
Scanning dependencies of target reader_raw_video
[ 77%] Building C object containers/raw/CMakeFiles/reader_raw_video.dir/raw_video_reader.c.o
[ 78%] Linking C shared library ../../../../lib/writer_simple.so
[ 78%] Linking C shared library ../../../../lib/reader_qsynth.so
[ 78%] Built target writer_simple
Scanning dependencies of target writer_raw_video
[ 78%] Building C object containers/raw/CMakeFiles/writer_raw_video.dir/raw_video_writer.c.o
[ 78%] Built target reader_qsynth
Scanning dependencies of target writer_dummy
[ 78%] Building C object containers/dummy/CMakeFiles/writer_dummy.dir/dummy_writer.c.o
[ 79%] Linking C shared library ../../../../lib/reader_simple.so
[ 80%] Linking C shared library ../../../../lib/reader_raw_video.so
[ 80%] Linking C shared library ../../../../lib/writer_dummy.so
[ 80%] Linking C shared library ../../../../lib/writer_raw_video.so
[ 80%] Built target reader_raw_video
[ 80%] Built target reader_simple
[ 80%] Built target writer_dummy
[ 80%] Built target writer_raw_video
Scanning dependencies of target containers_test_bits
Scanning dependencies of target reader_metadata_id3
Scanning dependencies of target containers_test_uri
Scanning dependencies of target containers_check_frame_int
[100%] Building C object host_applications/linux/apps/raspicam/CMakeFiles/raspistill.dir/gl_scenes/vcsm_square.c.o
Scanning dependencies of target openmaxil
[100%] Linking CXX executable ../../../../../../bin/vidtex
[100%] Building C object middleware/openmaxil/CMakeFiles/openmaxil.dir/__/__/host_applications/framework/common/ilcore.c.o
[100%] Built target vidtex
[100%] Linking C shared library ../../../../lib/libopenmaxil.so
[100%] Linking C executable ../../../../../../bin/raspistill
[100%] Built target openmaxil
[100%] Built target raspistill
[ 3%] Built target vcos
[ 4%] Built target vchiq_arm
[ 4%] Built target vcfiled_check
[ 7%] Built target vchostif
[ 8%] Built target bcm_host
[ 10%] Built target khrn_client
[ 16%] Built target brcmEGL
[ 17%] Built target brcmGLESv2
[ 18%] Built target vcilcs
[ 19%] Built target vcfiled
[ 20%] Built target vcfiled_lock_test
[ 20%] Built target vchiq_test
[ 20%] Built target brcmOpenVG
[ 26%] Built target EGL
[ 26%] Built target OpenVG
[ 35%] Built target khrn_static
[ 36%] Built target GLESv2_static
[ 38%] Built target brcmWFC
[ 38%] Built target GLESv2
[ 45%] Built target EGL_static
[ 47%] Built target WFC
[ 48%] Built target vcsm
[ 50%] Built target mmal_core
[ 52%] Built target mmal_util
[ 54%] Built target mmal_vc_client
[ 59%] Built target containers
[ 62%] Built target mmal_components
[ 62%] Built target mmal
[ 62%] Built target debug_sym
[ 62%] Built target mmal_vc_diag
[ 62%] Built target mmal_components_extra
[ 63%] Built target mmal_omxutil
[ 65%] Built target mmal_omx
[ 65%] Built target brcmjpeg
[ 66%] Built target brcmjpeg_test
[ 67%] Built target mmal_example_graph
[ 68%] Built target mmalplay
[ 68%] Built target mmal_example_basic_1
[ 68%] Built target mmal_example_connections
[ 69%] Built target mmalcam
[ 70%] Built target mmal_example_basic_2
[ 70%] Built target containers_net_extra
[ 71%] Built target reader_mp4
[ 72%] Built target writer_mp4
[ 73%] Built target reader_ps
[ 73%] Built target reader_mpga
[ 73%] Built target reader_binary
[ 74%] Built target writer_binary
[ 74%] Built target reader_mkv
[ 74%] Built target reader_wav
[ 74%] Built target reader_asf
[ 75%] Built target writer_asf
[ 76%] Built target reader_flv
[ 77%] Built target reader_avi
[ 77%] Built target writer_avi
[ 78%] Built target reader_rtp
[ 79%] Built target reader_rtsp
[ 79%] Built target reader_rcv
[ 79%] Built target reader_rv9
[ 79%] Built target reader_qsynth
[ 80%] Built target reader_simple
[ 81%] Built target writer_simple
[ 82%] Built target reader_raw_video
[ 82%] Built target writer_raw_video
[ 82%] Built target writer_dummy
[ 82%] Built target reader_metadata_id3
[ 82%] Built target containers_dump_pktfile
[ 83%] Built target containers_test_bits
[ 83%] Built target containers_test_uri
[ 84%] Built target containers_check_frame_int
[ 84%] Built target containers_stream_server
[ 84%] Built target containers_test_extra
[ 84%] Built target containers_test
[ 85%] Built target containers_datagram_sender
[ 85%] Built target containers_datagram_receiver
[ 86%] Built target containers_uri_pipe
[ 87%] Built target containers_stream_client
[ 88%] Built target containers_rtp_decoder
[ 89%] Built target vidtex
[ 89%] Built target openmaxil
[ 89%] Built target vcgencmd
[ 89%] Built target tvservice
[ 89%] Built target vcmailbox
[ 90%] Built target raspividyuv
[ 92%] Built target raspivid
[ 93%] Built target raspiyuv
[ 96%] Built target raspistill
[ 96%] Built target vcsmem
[ 97%] Built target debug_sym_static
[ 99%] Built target fdt
[ 99%] Built target dtovl
[100%] Built target dtoverlay
[100%] Built target dtmerge
Install the project...

"" install a lot of things .................. i removed so i can post this "

-- Installing: /opt/vc/lib/libdtovl.so
/home/pi/tc358743/userland
... Download yatva fork by 6by9
Cloning into 'yavta'...
remote: Counting objects: 423, done.
remote: Total 423 (delta 0), reused 0 (delta 0), pack-reused 423
Receiving objects: 100% (423/423), 146.76 KiB | 0 bytes/s, done.
Resolving deltas: 100% (270/270), done.
./install.sh: line 56: cd: yatva: No such file or directory
make: *** No targets specified and no makefile found. Stop.

Everything should be installed
Add in /boot/config.txt
dtparam=i2c_vc
dtoverlay=tc358743-fast

Add in /boot/cmdline.txt
cma=128M before rootwait

And reboot!
[email protected]:~/tc358743 $

ahmed mosad
Posts: 17
Joined: Sun Jun 03, 2018 10:41 pm

Re: B101 hdmi input with i2s sound

Sun Jun 10, 2018 11:11 pm

Please any Update ??

i fallow your steps and have problems

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 7124
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: B101 hdmi input with i2s sound

Mon Jun 11, 2018 8:37 am

ahmed mosad wrote:
Sun Jun 10, 2018 11:11 pm
Please any Update ??

i fallow your steps and have problems
Please have some patience. Saturday and Sunday are not working days in the UK, therefore you're effectively demanding that we respond on our own time.

Code: Select all

cd yavta
make
should create the yavta executable. The script should have done that, but that appears not to have happened.

Code: Select all

... Download yatva fork by 6by9
Cloning into 'yavta'...
remote: Counting objects: 423, done.
remote: Total 423 (delta 0), reused 0 (delta 0), pack-reused 423
Receiving objects: 100% (423/423), 146.76 KiB | 0 bytes/s, done.
Resolving deltas: 100% (270/270), done.
./install.sh: line 56: cd: yatva: No such file or directory
make: *** No targets specified and no makefile found. Stop.
I think it's cloned the yavta repo inside of the userland directory, so trivial to sort out. I am not going to hand-hold you on this.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 7124
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: B101 hdmi input with i2s sound

Wed Jul 11, 2018 7:57 am

All kernel changes merged into rpi-update, including for audio. See viewtopic.php?f=38&t=120702&start=400#p1339178 for more details.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

cyphercolt
Posts: 14
Joined: Thu Mar 21, 2019 4:34 pm

Re: B101 hdmi input with i2s sound

Thu Mar 21, 2019 4:39 pm

I know this is a VERY old thread, I just wanted to reach you 6by9 to say thanks for all the info on all the various threads about the B101. Just got my board and nearly got Audio working, going to try Yavta tonight! (I'm working on a Pi Twitch streaming box project and the B101 was the cheapest solution and my ISP upload rate doesn't require anything higher than 1080p30 (25 in the case of the B101).

I learned a great deal about the Pi through the B101 forum posts and a few other things, including how GPIO works. I was unsure if I hooked up the pins to the B101 board itself correctly as I had to push the pico wires into the plastic connector myself. Discovered the "Cable" pin on the B101 gives the value of 1 when HDMI is plugged, and 0 when it isn't which confirmed I did indeed wire it correctly.

Thanks a bunch again for all the help and work you did with the B101!

alower
Posts: 20
Joined: Tue Feb 26, 2019 8:40 am

Re: B101 hdmi input with i2s sound

Thu Jul 18, 2019 6:10 pm

6by9 wrote:
Tue Jun 05, 2018 1:46 pm
Take a clean SD card and install the latest Raspbian image on it. Raspbian Lite would be my recommendation, but it's up to you if you need the GUI.

git clone https://github.com/maditnerd/tc358743.git
cd tc358743
nano install.sh
Edit line 27 to read "git clone --depth 1 -b rpi-4.14.y-unicam-and-codecs https://github.com/6by9/linux/". Save and quit.
./install.sh
Wait for it to complete. It will take several hours.
Follow the steps that it prints at the end. Add "dtoverlay=tc358743-audio" to /boot/config.txt before you reboot.
Wire up the B101 as previously discussed.

cd yavta
wget https://raw.githubusercontent.com/6by9/ ... 50EDID.txt
v4l2-ctl --set-edid=file=1080P50EDID.txt --fix-edid-checksums
v4l2-ctl --list-ctrls should list audio_present reflecting the current status, and audio_sampling_rate reflecting the sampling rate of the audio.
./yavta --capture=1000 -n 3 --encode-to=file.h264 -f UYVY -m -T /dev/video0 will capture 1000 frames of video.
Audio you should be able to capture via ALSA. I can't remember the command I used (probably arecord with some options).
To record video and audio together you'll probably want to use GStreamer or similar. That really is an exercise for the reader. GStreamer can't easily use the hardware acceleration for video_encode, at least not in the format that the B101 is producing it.

Sorry, but you're on your own now. My time is far better used trying to get it merged into the main kernel for use by everyone.
@6by9. Dude, despite barely understanding anything, I find myself feeling like I've almost got this working, so thanks for all your support on these forums.

Any idea why, when I run v4l2-ctl --set-edid=file=1080P50EDID.txt --fix-edid-checksums or v4l2-ctl --list-ctrls I get the error:

'Failed to open /dev/video0: Remote I/O error.'

I can see the file there, if that helps. In case more context is useful, I'm trying to get audio working on the B101. I've been using avconv to stream video to Twitch to test it, which is fine, just no sound yet.

alower
Posts: 20
Joined: Tue Feb 26, 2019 8:40 am

Re: B101 hdmi input with i2s sound

Fri Jul 19, 2019 4:35 am

Bit of an update to the above in case you get time to check it out. I too got the yvta directory in userland, so I did this inside the new tc358743 directory:

Code: Select all

git clone https://github.com/6by9/yavta.git
cd yavta
make
I still got the 'Failed to open /dev/video0: Remote I/O error' error. I found on another post that I needed to do this on boot:

Code: Select all

sudo modprobe bcm2835-v4l2
This couldn't find video0. It seems that video10 was being created. I renamed the file and now when I run v4l2-ctl --list-ctrls I get nothing returned and no error.

./yavta --capture=1000 -n 3 --encode-to=file.h264 -f UYVY -m -T /dev/video0 returns:
We're encoding to file.h264
Device /dev/video0 opened.
Device `bcm2835-codec' on `platform:bcm2835-codec' (driver 'bcm2835-codec') is a video output (without mplanes) device.
Device supports neither capture nor output.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 7124
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: B101 hdmi input with i2s sound

Fri Jul 19, 2019 11:23 am

alower wrote:
Fri Jul 19, 2019 4:35 am
Bit of an update to the above in case you get time to check it out. I too got the yvta directory in userland, so I did this inside the new tc358743 directory:

Code: Select all

git clone https://github.com/6by9/yavta.git
cd yavta
make
I still got the 'Failed to open /dev/video0: Remote I/O error' error. I found on another post that I needed to do this on boot:

Code: Select all

sudo modprobe bcm2835-v4l2
This couldn't find video0. It seems that video10 was being created. I renamed the file and now when I run v4l2-ctl --list-ctrls I get nothing returned and no error.

./yavta --capture=1000 -n 3 --encode-to=file.h264 -f UYVY -m -T /dev/video0 returns:
We're encoding to file.h264
Device /dev/video0 opened.
Device `bcm2835-codec' on `platform:bcm2835-codec' (driver 'bcm2835-codec') is a video output (without mplanes) device.
Device supports neither capture nor output.
/dev/video10 is the video decoder. /dev/video11 is the video encoder. /dev/video12 is a format converter. All provided by bcm2835-codec. None are relevant to this.
bcm2835-v4l2 is using the firmware drivers. Not relevant to this.

The B101 is not plug and play. I assume you've followed instructions from somewhere, but you've not said from where.
The bottom half of https://www.raspberrypi.org/forums/view ... 3#p1498274 with the amendment two posts later for "cma=" should get you going.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

alower
Posts: 20
Joined: Tue Feb 26, 2019 8:40 am

Re: B101 hdmi input with i2s sound

Fri Jul 19, 2019 3:39 pm

6by9 wrote:
Fri Jul 19, 2019 11:23 am
alower wrote:
Fri Jul 19, 2019 4:35 am
Bit of an update to the above in case you get time to check it out. I too got the yvta directory in userland, so I did this inside the new tc358743 directory:

Code: Select all

git clone https://github.com/6by9/yavta.git
cd yavta
make
I still got the 'Failed to open /dev/video0: Remote I/O error' error. I found on another post that I needed to do this on boot:

Code: Select all

sudo modprobe bcm2835-v4l2
This couldn't find video0. It seems that video10 was being created. I renamed the file and now when I run v4l2-ctl --list-ctrls I get nothing returned and no error.

./yavta --capture=1000 -n 3 --encode-to=file.h264 -f UYVY -m -T /dev/video0 returns:
We're encoding to file.h264
Device /dev/video0 opened.
Device `bcm2835-codec' on `platform:bcm2835-codec' (driver 'bcm2835-codec') is a video output (without mplanes) device.
Device supports neither capture nor output.
/dev/video10 is the video decoder. /dev/video11 is the video encoder. /dev/video12 is a format converter. All provided by bcm2835-codec. None are relevant to this.
bcm2835-v4l2 is using the firmware drivers. Not relevant to this.

The B101 is not plug and play. I assume you've followed instructions from somewhere, but you've not said from where.
The bottom half of https://www.raspberrypi.org/forums/view ... 3#p1498274 with the amendment two posts later for "cma=" should get you going.

Thanks for putting up with my lack of knowledge and for getting back to me. I've done as Aeluvidu did in the post you've linked above and I get the 10 second video to record just as he did, so thank you!

I have a couple of issues still, if you wouldn't mind helping me further when you can, that would be fantastic!

1 - No audio still. I've downloaded the file to my laptop and it shows as having no audio. I'll include how I've wired the pins up below (found various answers to this so I've likely done something wrong here).
2 - I rebooted at one point and had to run the steps starting at v4l2-ctl --set-edid=file=1080P30EDID.txt --fix-edid-checksums again. Is that right?
3 - Does this help with streaming using avconv or similar? Apologies, I don't really know what ./yavta --capture=1000 -n 3 --encode-to=file.h264 -f UYVY -m -T /dev/video0 is actually using to record the video or how it's working.

So, from the 8 pin white connector on B101 => to the pins on the Pi.
Pin 1 => First pin 3V3
Pin 2 => nothing
Pin 3 => nothing
Pin 4 => nothing
Pin 5 => 38 GPIO20
Pin 6 => 12 GPIO18
Pin 7 => 35 GPIO19
Pin 8 => 39 GND

Here's what the config.txt looks like. Modified a few times based on forum posts from all over the shop.

Code: Select all

# Uncomment some or all of these to enable the optional hardware interfaces
dtparam=i2c_arm=on
dtparam=i2s=on
dtparam=spi=on
dtparam=i2c_vc
# Uncomment this to enable the lirc-rpi module
#dtoverlay=lirc-rpi
dtoverlay=tc358743
dtoverlay=tc358743-fast

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)
dtparam=audio=on

# NOOBS Auto-generated Settings:
hdmi_force_hotplug=1
gpu_mem=128
start_x=1

I'm trying to make a device from my little brothers to use for Twitch as they have PC's only capable of playing the game and not streaming too but are desperate to stream. Your help is appreciated. I am aware that I am way out of my depth and that it must be a pain after a while, 6by9. I'd buy you a beer or two if I could!

EDIT: Probably not relevant but I'm just playing YouTube videos on the laptop to test the audio. Video fine just no audio on the files.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 7124
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: B101 hdmi input with i2s sound

Fri Jul 19, 2019 3:59 pm

alower wrote:
Fri Jul 19, 2019 3:39 pm
Thanks for putting up with my lack of knowledge and for getting back to me. I've done as Aeluvidu did in the post you've linked above and I get the 10 second video to record just as he did, so thank you!

I have a couple of issues still, if you wouldn't mind helping me further when you can, that would be fantastic!

1 - No audio still. I've downloaded the file to my laptop and it shows as having no audio. I'll include how I've wired the pins up below (found various answers to this so I've likely done something wrong here).
yavta will never capture audio. It is solely talking to the V4L2 (video capture) side
The simplest tool to record the audio is something like arecord. I have observed some odd issues with audio capture from the B101 if you have the Pi audio devices enabled too.
alower wrote:2 - I rebooted at one point and had to run the steps starting at v4l2-ctl --set-edid=file=1080P30EDID.txt --fix-edid-checksums again. Is that right?
Yes. The EDID is not persistent in any part of the system, therefore it needs to be set on each boot.
alower wrote:3 - Does this help with streaming using avconv or similar? Apologies, I don't really know what ./yavta --capture=1000 -n 3 --encode-to=file.h264 -f UYVY -m -T /dev/video0 is actually using to record the video or how it's working.
It's using V4L2 and then the Pi specific MMAL API to resize, display, and encode the incoming data. It does not do audio at all. Use GStreamer (or possibly avconv) to combine audio and video streams.
alower wrote:So, from the 8 pin white connector on B101 => to the pins on the Pi.
Pin 1 => First pin 3V3
Pin 2 => nothing
Pin 3 => nothing
Pin 4 => nothing
Pin 5 => 38 GPIO20
Pin 6 => 12 GPIO18
Pin 7 => 35 GPIO19
Pin 8 => 39 GND
DO NOT CONNECT PIN 1. The B101 already has power via the flexi connector. Otherwise yes.
alower wrote:Here's what the config.txt looks like. Modified a few times based on forum posts from all over the shop.

Code: Select all

# Uncomment some or all of these to enable the optional hardware interfaces
dtparam=i2c_arm=on
dtparam=i2s=on  <<< NOT NEEDED FOR B101
dtparam=spi=on  << NOT NEEDED FOR B101
dtparam=i2c_vc << NOT NEEDED FOR B101
# Uncomment this to enable the lirc-rpi module
#dtoverlay=lirc-rpi
dtoverlay=tc358743
dtoverlay=tc358743-fast << OBSOLETE

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)
dtparam=audio=on << MAY CAUSE ISSUES WITH RECORDING

# NOOBS Auto-generated Settings:
hdmi_force_hotplug=1
gpu_mem=128
start_x=1

I'm trying to make a device from my little brothers to use for Twitch as they have PC's only capable of playing the game and not streaming too but are desperate to stream. Your help is appreciated. I am aware that I am way out of my depth and that it must be a pain after a while, 6by9. I'd buy you a beer or two if I could!

EDIT: Probably not relevant but I'm just playing YouTube videos on the laptop to test the audio. Video fine just no audio on the files.
I've annotated your config.txt

A laptop should be fine to test the B101. Check with "v4l2-ctl --list-ctrls" that the B101 is seeing audio, and the sampling rate that it is receiving.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

alower
Posts: 20
Joined: Tue Feb 26, 2019 8:40 am

Re: B101 hdmi input with i2s sound

Fri Jul 19, 2019 6:12 pm

Thanks again, 6by9. Hopefully we're getting there...
yavta will never capture audio. It is solely talking to the V4L2 (video capture) side
The simplest tool to record the audio is something like arecord. I have observed some odd issues with audio capture from the B101 if you have the Pi audio devices enabled too.
Ah, okay. Audio has been my issue from the beginning. I had video working straight after plugging the B101 in running avconv in my node app. I looked at arecord and can see it asks for my device name. I don't know if this is showing the device I'd need to be using?

Code: Select all

[email protected]:~/purple-pi$ arecord -l
**** List of CAPTURE Hardware Devices ****
[email protected]:~/purple-pi$ arecord -L
null
    Discard all samples (playback) or generate zero samples (capture)
hifiberry
dmixer
default

Thanks, I've removed Pin 1 and made the adjustments to config.txt.

Running v4l2-ctl --list-ctrls returned this:

Code: Select all

User Controls

            audio_sampling_rate (int)    : min=0 max=768000 step=1 default=0 value=0 flags=read-only
                  audio_present (bool)   : default=0 value=0 flags=read-only

Digital Video Controls

                  power_present (bitmask): max=0x00000001 default=0x00000000 value=0x00000001 flags=read-only

I'm not sure where to go from here but I guess I could give arecord a good crack if you wouldn't mind helping me understand what device to use in it's -D parameter?

Since making these changes, my node app no longer works when attempting to stream to Twitch. My node app could use raspivid or pi-camera to start a stream and then use avconv with -i parameter of 'pipe:0' and, as I mentioned, was working fine for video. Now it now produces this:
mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
mmal: camera component couldn't be enabled
mmal: main: Failed to create camera component
mmal: Failed to run camera app. Please check for firmware updates

alower
Posts: 20
Joined: Tue Feb 26, 2019 8:40 am

Re: B101 hdmi input with i2s sound

Mon Jul 22, 2019 6:18 pm

Also, may be worth mentioning, when I ran arecord -l before these changes, I used to get 'sysdefault:CARD=tc358743' show up. When I attempted to record using this device, I would just get a seemingly empty 44 byte file show up in the directory.

Just in case that's useful to you.

alower
Posts: 20
Joined: Tue Feb 26, 2019 8:40 am

Re: B101 hdmi input with i2s sound

Tue Jul 23, 2019 12:41 pm

@6by9, thank you so much, I think we've done it! Will do some playing and post back on here.

alower
Posts: 20
Joined: Tue Feb 26, 2019 8:40 am

Re: B101 hdmi input with i2s sound

Tue Jul 23, 2019 6:59 pm

Looks like I'm still a little way off getting this working properly. If you wouldn't mind helping me out, @6by9, I'd be extremely grateful.

So, using avconv, I can get audio and video working, depending on parameters, but far from perfectly and not necessarily at the same time. Couple of issues:

1 - The video captures only a portion of my screen. When I run v4l2-ctl --all it shows:

Code: Select all

Width/Height  : 640/480

I did find some comments that said to set the resolution like this, but no luck:

Code: Select all

v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=1

2 - I'm attempting to pipe the arecord audio into the avconv command like below. Any idea the parameters needed to ensure this works? Seems as if the output needs to be flv.

Code: Select all

arecord -d 0 -r 44100  -c 2 -f S16_LE -t wav -D sysdefault:CARD=tc358743 | avconv -t 20 -i pipe:0 -s:v 1920x1080 -r 30 -i /dev/video0 -f flv RTMP_URL_GOES_HERE

I currently get something like this and no live stream visible on Twitch.

Code: Select all

  Metadata:
    encoder         : Lavf57.56.101
    Stream #0:0: Video: flv1 (flv) ([2][0][0][0] / 0x0002), yuv420p, 640x480, q=2-31, 200 kb/s, 30 fps, 1k tbn, 30 tbc
    Metadata:
      encoder         : Lavc57.64.101 flv
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
    Stream #0:1: Audio: mp3 (libmp3lame) ([2][0][0][0] / 0x0002), 44100 Hz, stereo, s16p
    Metadata:
      encoder         : Lavc57.64.101 libmp3lame
Stream mapping:
  Stream #1:0 -> #0:0 (rawvideo (native) -> flv1 (flv))
  Stream #0:0 -> #0:1 (pcm_s16le (native) -> mp3 (libmp3lame))
[video4linux2,v4l2 @ 0x88a4f0] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8)
[wav @ 0x846670] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8)
overrun!!! (at least 7122.225 ms long)3kB time=00:00:00.83 bitrate=1982.2kbits/s speed=0.261x
overrun!!! (at least 266.784 ms long)297kB time=00:00:01.20 bitrate=2024.3kbits/s speed=0.281x
overrun!!! (at least 253.699 ms long)330kB time=00:00:01.56 bitrate=1723.0kbits/s speed=0.289x
overrun!!! (at least 253.909 ms long)369kB time=00:00:01.98 bitrate=1522.3kbits/s speed=0.301x
overrun!!! (at least 347.310 ms long)416kB time=00:00:02.40 bitrate=1418.5kbits/s speed=0.31x
overrun!!! (at least 252.342 ms long)437kB time=00:00:02.58 bitrate=1383.3kbits/s speed=0.311x

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 7124
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: B101 hdmi input with i2s sound

Wed Jul 24, 2019 9:45 am

alower wrote:
Tue Jul 23, 2019 6:59 pm
Looks like I'm still a little way off getting this working properly. If you wouldn't mind helping me out, @6by9, I'd be extremely grateful.

So, using avconv, I can get audio and video working, depending on parameters, but far from perfectly and not necessarily at the same time. Couple of issues:

1 - The video captures only a portion of my screen. When I run v4l2-ctl --all it shows:

Code: Select all

Width/Height  : 640/480
The device does not support resizing, therefore you have to select what is being presented to it over the HDMI link. This is done by setting up the input timings.
"v4l2-ctl --query-dv-timings" will print out the detected input format, and "v4l2-ctl --set-dv-bt-timings query" will set those as the current timings. Afterwards "v4l2-ctl -V" (or --all) should report the correct size.
alower wrote:2 - I'm attempting to pipe the arecord audio into the avconv command like below. Any idea the parameters needed to ensure this works? Seems as if the output needs to be flv.

Code: Select all

arecord -d 0 -r 44100  -c 2 -f S16_LE -t wav -D sysdefault:CARD=tc358743 | avconv -t 20 -i pipe:0 -s:v 1920x1080 -r 30 -i /dev/video0 -f flv RTMP_URL_GOES_HERE

I currently get something like this and no live stream visible on Twitch.

Code: Select all

  Metadata:
    encoder         : Lavf57.56.101
    Stream #0:0: Video: flv1 (flv) ([2][0][0][0] / 0x0002), yuv420p, 640x480, q=2-31, 200 kb/s, 30 fps, 1k tbn, 30 tbc
    Metadata:
      encoder         : Lavc57.64.101 flv
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
    Stream #0:1: Audio: mp3 (libmp3lame) ([2][0][0][0] / 0x0002), 44100 Hz, stereo, s16p
    Metadata:
      encoder         : Lavc57.64.101 libmp3lame
Stream mapping:
  Stream #1:0 -> #0:0 (rawvideo (native) -> flv1 (flv))
  Stream #0:0 -> #0:1 (pcm_s16le (native) -> mp3 (libmp3lame))
[video4linux2,v4l2 @ 0x88a4f0] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8)
[wav @ 0x846670] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8)
overrun!!! (at least 7122.225 ms long)3kB time=00:00:00.83 bitrate=1982.2kbits/s speed=0.261x
overrun!!! (at least 266.784 ms long)297kB time=00:00:01.20 bitrate=2024.3kbits/s speed=0.281x
overrun!!! (at least 253.699 ms long)330kB time=00:00:01.56 bitrate=1723.0kbits/s speed=0.289x
overrun!!! (at least 253.909 ms long)369kB time=00:00:01.98 bitrate=1522.3kbits/s speed=0.301x
overrun!!! (at least 347.310 ms long)416kB time=00:00:02.40 bitrate=1418.5kbits/s speed=0.31x
overrun!!! (at least 252.342 ms long)437kB time=00:00:02.58 bitrate=1383.3kbits/s speed=0.311x
So your encode path isn't keeping up, and more data is being supplied than can be consumed (overrunning the buffer). You need to look at optimisation using hardware video encoding.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

alower
Posts: 20
Joined: Tue Feb 26, 2019 8:40 am

Re: B101 hdmi input with i2s sound

Wed Jul 24, 2019 11:25 am

Thank you again for your help.

After following those steps, "v4l2-ctl --all" now shows 1920x1080.

The arecord command, on its own, is working beautifully and recording the audio.

Attempting the ""./yavta --capture=1000 -n 3 --encode-to=file.h264 -f UYVY -m -T /dev/video0" command seems okay but now does seem to show dropped frames, which it didn't before.

Code: Select all

We're encoding to file.h264
Device /dev/video0 opened.
Device `unicam' on `platform:unicam 3f801000.csi1' (driver 'unicam') is a video capture (without mplanes) device.
stride is 0
stride is now 1280
Video format set: UYVY (59565955) 1920x1080 (stride 3840) field none buffer size 4177920
QUERY_DV_TIMINGS returned 1920x1080 pixclk 148500000
Framerate is 50
Video format: UYVY (59565955) 1920x1080 (stride 3840) field none buffer size 4177920
vc.ril.isp:in:0(UYVY)(0xf76f60)type: video, fourcc: UYVY bitrate: 0, framed: 0 extra data: 0, (nil) width: 1920, height: 1088, (0,0,1920,1080) pixel aspect ratio: 0/0, frame rate: 0/0
buffers num: 3(opt 1, min 1), size: 4177920(opt 4177920, min: 4177920), align: 0
Created pool of length 3, size 0
Enable encoder....
Create pool of 3 buffers of size 0 for render
Create pool of 3 buffers of size 0 for encode ip
Create pool of 3 buffers of size 3133440 for encode/render
Writing data to file.h264
Create pool of 8 buffers of size 262144
Sent buffer 0xf80d98
Sent buffer 0xf80f70
Sent buffer 0xf81148
Sent buffer 0xf81320
Sent buffer 0xf814f8
Sent buffer 0xf816d0
Sent buffer 0xf818a8
Sent buffer 0xf81a80
3 buffers requested, V4L2 returned 3 bufs.
length: 4177920 offset: 0 timestamp type/source: mono/EoF
Buffer 0/0 mapped at address 0x70704000.
Importing DMABUF 8 into VCSM...
...done. vcsm_handle 401408
Exported buffer 0 to dmabuf 8, vcsm handle 401408
Linking V4L2 buffer index 0 ptr 0xf82818 to MMAL header 0xf7d490. mmal->data 0xC0000004
length: 4177920 offset: 4177920 timestamp type/source: mono/EoF
Buffer 1/0 mapped at address 0x70308000.
Importing DMABUF 9 into VCSM...
...done. vcsm_handle 405504
Exported buffer 1 to dmabuf 9, vcsm handle 405504
Linking V4L2 buffer index 1 ptr 0xf82888 to MMAL header 0xf7d668. mmal->data 0xC0000005
length: 4177920 offset: 8355840 timestamp type/source: mono/EoF
Buffer 2/0 mapped at address 0x6ff0c000.
Importing DMABUF 10 into VCSM...
...done. vcsm_handle 409600
Exported buffer 2 to dmabuf 10, vcsm handle 409600
Linking V4L2 buffer index 2 ptr 0xf828f8 to MMAL header 0xf7d840. mmal->data 0xC0000003
0 (0) [-] none 0 4177920 B 1333.762131 1333.773547 -14925.373 fps ts mono/EoF
1 (1) [-] none 1 4177920 B 1333.773540 1333.793553 87.650 fps ts mono/EoF
2 (2) [-] none 2 4177920 B 1333.793540 1333.813545 50.000 fps ts mono/EoF
3 (0) [-] none 3 4177920 B 1333.813540 1333.833549 50.000 fps ts mono/EoF
4 (1) [-] none 4 4177920 B 1333.833541 1333.853574 49.998 fps ts mono/EoF
5 (2) [-] none 5 4177920 B 1333.853542 1333.873569 49.998 fps ts mono/EoF
6 (0) [-] none 6 4177920 B 1333.873542 1333.893582 50.000 fps ts mono/EoF
7 (1) [-] none 7 4177920 B 1333.893542 1333.913555 50.000 fps ts mono/EoF
8 (2) [-] none 8 4177920 B 1333.913543 1333.933550 49.998 fps ts mono/EoF
9 (0) [-] none 9 4177920 B 1333.933543 1333.953556 50.000 fps ts mono/EoF
10 (1) [-] none 10 4177920 B 1333.953544 1333.973547 49.998 fps ts mono/EoF
11 (2) [-] none 11 4177920 B 1333.973544 1333.993584 50.000 fps ts mono/EoF
12 (0) [-] none 12 4177920 B 1333.993545 1334.013556 49.998 fps ts mono/EoF
13 (1) [-] none 13 4177920 B 1334.013545 1334.033566 50.000 fps ts mono/EoF
14 (2) [-] none 14 4177920 B 1334.033545 1334.053562 50.000 fps ts mono/EoF
15 (0) [-] none 15 4177920 B 1334.053546 1334.073558 49.998 fps ts mono/EoF
16 (1) [-] none 16 4177920 B 1334.073546 1334.093572 50.000 fps ts mono/EoF
17 (2) [-] none 17 4177920 B 1334.093547 1334.113561 49.998 fps ts mono/EoF
18 (0) [-] none 18 4177920 B 1334.113547 1334.133554 50.000 fps ts mono/EoF
19 (1) [-] none 19 4177920 B 1334.133547 1334.153569 50.000 fps ts mono/EoF
20 (2) [-] none 20 4177920 B 1334.153548 1334.173559 49.998 fps ts mono/EoF
21 (0) [-] none 21 4177920 B 1334.173549 1334.193558 49.998 fps ts mono/EoF
22 (1) [-] none 22 4177920 B 1334.213548 1334.233567 25.001 fps ts mono/EoF
DROPPED FRAME - 411418 and 451417, delta 39999
23 (2) [-] none 23 4177920 B 1334.233550 1334.253586 49.995 fps ts mono/EoF
24 (0) [-] none 24 4177920 B 1334.253552 1334.273561 49.995 fps ts mono/EoF
25 (1) [-] none 25 4177920 B 1334.273550 1334.293565 50.005 fps ts mono/EoF
26 (2) [-] none 26 4177920 B 1334.313551 1334.333572 24.999 fps ts mono/EoF
DROPPED FRAME - 511419 and 551420, delta 40001
27 (0) [-] none 27 4177920 B 1334.333552 1334.353574 49.998 fps ts mono/EoF
28 (1) [-] none 28 4177920 B 1334.353554 1334.373562 49.995 fps ts mono/EoF
29 (2) [-] none 29 4177920 B 1334.393552 1334.413575 25.001 fps ts mono/EoF
DROPPED FRAME - 591423 and 631421, delta 39998
30 (0) [-] none 30 4177920 B 1334.413556 1334.433570 49.990 fps ts mono/EoF
31 (1) [-] none 31 4177920 B 1334.433554 1334.453568 50.005 fps ts mono/EoF
32 (2) [-] none 32 4177920 B 1334.473554 1334.493577 25.000 fps ts mono/EoF
DROPPED FRAME - 671423 and 711423, delta 40000

Attempting the same avconv command again now produces this. If you'd be able to help here, I would love you even more.

Code: Select all

arecord -d 0 -r 44100  -c 2 -f S16_LE -t wav -D sysdefault:CARD=tc358743 | avconv -t 0 -i pipe:0 -r 30 -i /dev/video0 -f flv RTMP_URL_GOES_HERE

Code: Select all

Output #0, flv, to 'rtmp_url_removed_but_goes_here':
  Metadata:
    encoder         : Lavf57.56.101
    Stream #0:0: Video: flv1 (flv) ([2][0][0][0] / 0x0002), yuv420p, 1920x1080, q=2-31, 200 kb/s, 30 fps, 1k tbn, 30 tbc
    Metadata:
      encoder         : Lavc57.64.101 flv
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
    Stream #0:1: Audio: mp3 (libmp3lame) ([2][0][0][0] / 0x0002), 44100 Hz, stereo, s16p
    Metadata:
      encoder         : Lavc57.64.101 libmp3lame
Stream mapping:
  Stream #1:0 -> #0:0 (rawvideo (native) -> flv1 (flv))
  Stream #0:0 -> #0:1 (pcm_s16le (native) -> mp3 (libmp3lame))
[video4linux2,v4l2 @ 0x14154d0] Dequeued v4l2 buffer contains 4177920 bytes, but 4147200 were expected. Flags: 0x00002001.
/dev/video0: Invalid data found when processing input
[wav @ 0x13d1650] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8)
overrun!!! (at least 3581.634 ms long)

I noticed that audio works perfectly if a rate of 48000 is given. I get an error when trying to output flv unless it's 44100. not sure how to reconcile that, if you have any thoughts, that would be great.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 7124
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: B101 hdmi input with i2s sound

Wed Jul 24, 2019 12:51 pm

alower wrote:
Wed Jul 24, 2019 12:31 pm
This produces the file with perfect audio but, rather oddly, the video isn't there and instead, there's a random image from my laptop's desktop in it's place!?

I still get the same "[video4linux2,v4l2 @ 0x11a8a00] Dequeued v4l2 buffer contains 4177920 bytes, but 4147200 were expected. Flags: 0x00002001." error.
avconv (ffmpeg) is being fussy over buffer size.
Most of the graphics processing on the Pi wants the height aligned to a multiple of 16. 1080 is not a multiple of 16, therefore it is rounded up to 1088. The V4L2 format says 1920x1080x16bpp = 4147200, but with sizeimage=4177920 (1920x1088*16bpp).
It seems like avconv is checking the buffer size against what it thinks the buffer size is, and whinges if they don't match (even though it doesn't matter as long as it is "big enough")

https://github.com/FFmpeg/FFmpeg/blob/m ... 4l2.c#L541 would appear to say that it throws the buffer away under these circumstances.
GStreamer (more sensibly) only complains should the buffer be too small - https://github.com/GStreamer/gst-plugin ... or.c#L1366

(except you now appear to have deleted the post I was replying to).
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 7124
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: B101 hdmi input with i2s sound

Wed Jul 24, 2019 12:55 pm

alower wrote:
Wed Jul 24, 2019 11:25 am
Thank you again for your help.

After following those steps, "v4l2-ctl --all" now shows 1920x1080.

The arecord command, on its own, is working beautifully and recording the audio.

Attempting the ""./yavta --capture=1000 -n 3 --encode-to=file.h264 -f UYVY -m -T /dev/video0" command seems okay but now does seem to show dropped frames, which it didn't before.

Code: Select all

We're encoding to file.h264
Device /dev/video0 opened.
Device `unicam' on `platform:unicam 3f801000.csi1' (driver 'unicam') is a video capture (without mplanes) device.
stride is 0
stride is now 1280
Video format set: UYVY (59565955) 1920x1080 (stride 3840) field none buffer size 4177920
QUERY_DV_TIMINGS returned 1920x1080 pixclk 148500000
Framerate is 50
Video format: UYVY (59565955) 1920x1080 (stride 3840) field none buffer size 4177920
vc.ril.isp:in:0(UYVY)(0xf76f60)type: video, fourcc: UYVY bitrate: 0, framed: 0 extra data: 0, (nil) width: 1920, height: 1088, (0,0,1920,1080) pixel aspect ratio: 0/0, frame rate: 0/0
buffers num: 3(opt 1, min 1), size: 4177920(opt 4177920, min: 4177920), align: 0
Created pool of length 3, size 0
Enable encoder....
Create pool of 3 buffers of size 0 for render
Create pool of 3 buffers of size 0 for encode ip
Create pool of 3 buffers of size 3133440 for encode/render
Writing data to file.h264
Create pool of 8 buffers of size 262144
Sent buffer 0xf80d98
Sent buffer 0xf80f70
Sent buffer 0xf81148
Sent buffer 0xf81320
Sent buffer 0xf814f8
Sent buffer 0xf816d0
Sent buffer 0xf818a8
Sent buffer 0xf81a80
3 buffers requested, V4L2 returned 3 bufs.
length: 4177920 offset: 0 timestamp type/source: mono/EoF
Buffer 0/0 mapped at address 0x70704000.
Importing DMABUF 8 into VCSM...
...done. vcsm_handle 401408
Exported buffer 0 to dmabuf 8, vcsm handle 401408
Linking V4L2 buffer index 0 ptr 0xf82818 to MMAL header 0xf7d490. mmal->data 0xC0000004
length: 4177920 offset: 4177920 timestamp type/source: mono/EoF
Buffer 1/0 mapped at address 0x70308000.
Importing DMABUF 9 into VCSM...
...done. vcsm_handle 405504
Exported buffer 1 to dmabuf 9, vcsm handle 405504
Linking V4L2 buffer index 1 ptr 0xf82888 to MMAL header 0xf7d668. mmal->data 0xC0000005
length: 4177920 offset: 8355840 timestamp type/source: mono/EoF
Buffer 2/0 mapped at address 0x6ff0c000.
Importing DMABUF 10 into VCSM...
...done. vcsm_handle 409600
Exported buffer 2 to dmabuf 10, vcsm handle 409600
Linking V4L2 buffer index 2 ptr 0xf828f8 to MMAL header 0xf7d840. mmal->data 0xC0000003
0 (0) [-] none 0 4177920 B 1333.762131 1333.773547 -14925.373 fps ts mono/EoF
1 (1) [-] none 1 4177920 B 1333.773540 1333.793553 87.650 fps ts mono/EoF
2 (2) [-] none 2 4177920 B 1333.793540 1333.813545 50.000 fps ts mono/EoF
3 (0) [-] none 3 4177920 B 1333.813540 1333.833549 50.000 fps ts mono/EoF
4 (1) [-] none 4 4177920 B 1333.833541 1333.853574 49.998 fps ts mono/EoF
5 (2) [-] none 5 4177920 B 1333.853542 1333.873569 49.998 fps ts mono/EoF
6 (0) [-] none 6 4177920 B 1333.873542 1333.893582 50.000 fps ts mono/EoF
7 (1) [-] none 7 4177920 B 1333.893542 1333.913555 50.000 fps ts mono/EoF
8 (2) [-] none 8 4177920 B 1333.913543 1333.933550 49.998 fps ts mono/EoF
9 (0) [-] none 9 4177920 B 1333.933543 1333.953556 50.000 fps ts mono/EoF
10 (1) [-] none 10 4177920 B 1333.953544 1333.973547 49.998 fps ts mono/EoF
11 (2) [-] none 11 4177920 B 1333.973544 1333.993584 50.000 fps ts mono/EoF
12 (0) [-] none 12 4177920 B 1333.993545 1334.013556 49.998 fps ts mono/EoF
13 (1) [-] none 13 4177920 B 1334.013545 1334.033566 50.000 fps ts mono/EoF
14 (2) [-] none 14 4177920 B 1334.033545 1334.053562 50.000 fps ts mono/EoF
15 (0) [-] none 15 4177920 B 1334.053546 1334.073558 49.998 fps ts mono/EoF
16 (1) [-] none 16 4177920 B 1334.073546 1334.093572 50.000 fps ts mono/EoF
17 (2) [-] none 17 4177920 B 1334.093547 1334.113561 49.998 fps ts mono/EoF
18 (0) [-] none 18 4177920 B 1334.113547 1334.133554 50.000 fps ts mono/EoF
19 (1) [-] none 19 4177920 B 1334.133547 1334.153569 50.000 fps ts mono/EoF
20 (2) [-] none 20 4177920 B 1334.153548 1334.173559 49.998 fps ts mono/EoF
21 (0) [-] none 21 4177920 B 1334.173549 1334.193558 49.998 fps ts mono/EoF
22 (1) [-] none 22 4177920 B 1334.213548 1334.233567 25.001 fps ts mono/EoF
DROPPED FRAME - 411418 and 451417, delta 39999
23 (2) [-] none 23 4177920 B 1334.233550 1334.253586 49.995 fps ts mono/EoF
24 (0) [-] none 24 4177920 B 1334.253552 1334.273561 49.995 fps ts mono/EoF
25 (1) [-] none 25 4177920 B 1334.273550 1334.293565 50.005 fps ts mono/EoF
26 (2) [-] none 26 4177920 B 1334.313551 1334.333572 24.999 fps ts mono/EoF
DROPPED FRAME - 511419 and 551420, delta 40001
27 (0) [-] none 27 4177920 B 1334.333552 1334.353574 49.998 fps ts mono/EoF
28 (1) [-] none 28 4177920 B 1334.353554 1334.373562 49.995 fps ts mono/EoF
29 (2) [-] none 29 4177920 B 1334.393552 1334.413575 25.001 fps ts mono/EoF
DROPPED FRAME - 591423 and 631421, delta 39998
30 (0) [-] none 30 4177920 B 1334.413556 1334.433570 49.990 fps ts mono/EoF
31 (1) [-] none 31 4177920 B 1334.433554 1334.453568 50.005 fps ts mono/EoF
32 (2) [-] none 32 4177920 B 1334.473554 1334.493577 25.000 fps ts mono/EoF
DROPPED FRAME - 671423 and 711423, delta 40000
1080p50 encode is in excess of the encoders stated specification (1080p30).
I'd expect a modest overclock to be required to achieve that, and that has been discussed in other threads (It may just work on a Pi4 due to the changes in clock setup).
alower wrote:Attempting the same avconv command again now produces this. If you'd be able to help here, I would love you even more.

Code: Select all

arecord -d 0 -r 44100  -c 2 -f S16_LE -t wav -D sysdefault:CARD=tc358743 | avconv -t 0 -i pipe:0 -r 30 -i /dev/video0 -f flv RTMP_URL_GOES_HERE

Code: Select all

Output #0, flv, to 'rtmp_url_removed_but_goes_here':
  Metadata:
    encoder         : Lavf57.56.101
    Stream #0:0: Video: flv1 (flv) ([2][0][0][0] / 0x0002), yuv420p, 1920x1080, q=2-31, 200 kb/s, 30 fps, 1k tbn, 30 tbc
    Metadata:
      encoder         : Lavc57.64.101 flv
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
    Stream #0:1: Audio: mp3 (libmp3lame) ([2][0][0][0] / 0x0002), 44100 Hz, stereo, s16p
    Metadata:
      encoder         : Lavc57.64.101 libmp3lame
Stream mapping:
  Stream #1:0 -> #0:0 (rawvideo (native) -> flv1 (flv))
  Stream #0:0 -> #0:1 (pcm_s16le (native) -> mp3 (libmp3lame))
[video4linux2,v4l2 @ 0x14154d0] Dequeued v4l2 buffer contains 4177920 bytes, but 4147200 were expected. Flags: 0x00002001.
/dev/video0: Invalid data found when processing input
[wav @ 0x13d1650] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8)
overrun!!! (at least 3581.634 ms long)

I noticed that audio works perfectly if a rate of 48000 is given. I get an error when trying to output flv unless it's 44100. not sure how to reconcile that, if you have any thoughts, that would be great.
Same as video, there is no audio resampling available in the chip, therefore you have to receive whatever the HDMI source is producing.
"v4l2-ctl --list-ctrls" will list audio_sampling_rate as a read only control telling you the incoming sample rate. (Also pay attention to the control audio_present to identify whether there is any audio on the HDMI link in the first place).
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

Return to “Interfacing (DSI, CSI, I2C, etc.)”