장치 상태는 v4l2-ctl로 보는데 일단 비디오 포맷이 MJPG이다.

$ v4l2-ctl --all -d 0
Driver Info (not using libv4l2):
Driver name   : uvcvideo
Card type     : 720p HD Camera: 720p HD Camera
Bus info      : usb-0000:00:14.0-6
Driver version: 5.4.229
Capabilities  : 0x84A00001
Video Capture
Metadata Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps   : 0x04200001
Video Capture
Streaming
Extended Pix Format
Priority: 2
Video input : 0 (Camera 1: ok)
Format Video Capture:
Width/Height      : 640/480
Pixel Format      : 'MJPG'
Field             : None
Bytes per Line    : 0
Size Image        : 614400
Colorspace        : sRGB
Transfer Function : Default (maps to sRGB)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization      : Default (maps to Full Range)
Flags             : 
Crop Capability Video Capture:
Bounds      : Left 0, Top 0, Width 640, Height 480
Default     : Left 0, Top 0, Width 640, Height 480
Pixel Aspect: 1/1
Selection: crop_default, Left 0, Top 0, Width 640, Height 480
Selection: crop_bounds, Left 0, Top 0, Width 640, Height 480
Streaming Parameters Video Capture:
Capabilities     : timeperframe
Frames per second: 30.000 (30/1)
Read buffers     : 0
                     brightness 0x00980900 (int)    : min=0 max=127 step=1 default=64 value=64
                       contrast 0x00980901 (int)    : min=0 max=100 step=1 default=50 value=50
                     saturation 0x00980902 (int)    : min=0 max=8 step=1 default=4 value=4
                            hue 0x00980903 (int)    : min=-180 max=180 step=1 default=0 value=0
 white_balance_temperature_auto 0x0098090c (bool)   : default=1 value=1
                          gamma 0x00980910 (int)    : min=100 max=500 step=1 default=300 value=300
           power_line_frequency 0x00980918 (menu)   : min=0 max=2 default=2 value=2
      white_balance_temperature 0x0098091a (int)    : min=2800 max=6500 step=10 default=3400 value=3400 flags=inactive
                      sharpness 0x0098091b (int)    : min=0 max=8 step=1 default=4 value=4
         backlight_compensation 0x0098091c (int)    : min=0 max=1 step=1 default=0 value=0
                  exposure_auto 0x009a0901 (menu)   : min=0 max=3 default=3 value=3
              exposure_absolute 0x009a0902 (int)    : min=50 max=10000 step=1 default=166 value=166 flags=inactive

 

2개를 나란히 하는걸 보려고 했는데 일단 에러나니 패스하고

$ gst-launch-1.0 -vvv tee name=splitter v4l2src device=/dev/video0 do-timestamp=true ! image/jpeg, width=640, height=480, framerate=30/1 ! jpegparse ! jpegdec ! videoconvert ! videoscale ! xvimagesink sync=false splitter. v4l2src device=/dev/video2 do-timestamp=true ! image/jpeg, width=1280, height=720, framerate=30/1 ! jpegparse ! jpegdec ! videoconvert ! videoscale ! xvimagesink sync=false splitter.
WARNING: erroneous pipeline: unexpected reference "splitter" - ignoring

[링크 : https://gist.github.com/jetsonhacks/10b870c2948215da3e5e]

 

포인트는.. image/jpeg로 받아서 jpegparse 하고(jpeg 부분만 잘라내고)

jpegdec 하고(jpeg를 bmp 처럼 rgb로 변환)

xvimagesink에 적절한 videoscale로 맞추어서 출력하는 건가?

$ gst-launch-1.0 v4l2src device=/dev/video0 do-timestamp=true ! image/jpeg, width=1280, height=720, framerate=30/1 ! jpegparse ! jpegdec ! videoconvert ! videoscale ! xvimagesink sync=false

 

화면 프레임이 떨어지지만 최소한도로 줄이면 아래와 같이 가능도 하다.

$ gst-launch-1.0 v4l2src ! jpegparse ! jpegdec ! videoscale ! xvimagesink

'프로그램 사용 > gstreamer' 카테고리의 다른 글

gstreamer pad - sink 와 src  (0) 2023.03.27
gstreamer cheat sheet - tee, queue  (0) 2023.03.22
gstream videomixer  (0) 2023.02.17
gstream compositing - 그러니까 비디오 믹서?  (0) 2021.07.21
gst h264 filesink  (0) 2021.07.14
Posted by 구차니

videowall 처럼 여러개를 한 화면에 띄우는 기능 이라는데

묘하게 그냥 곱게(?) 작동하는 예제 찾기가 힘드네

 

[링크 : https://stackoverflow.com/questions/7426482/trying-to-play-multiple-video-files-simultaneously-in-gstreamer]

 

gst-launch-1.0 \
   videotestsrc pattern=1 ! \
   video/x-raw,format=AYUV,framerate=\(fraction\)10/1,width=100,height=100 ! \
   videobox border-alpha=0 top=-70 bottom=-70 right=-220 ! \
   videomixer name=mix sink_0::alpha=0.7 sink_1::alpha=0.5 ! \
   videoconvert ! xvimagesink \
   videotestsrc ! \
   video/x-raw,format=AYUV,framerate=\(fraction\)5/1,width=320,height=240 ! mix.

[링크 : https://gstreamer.freedesktop.org/documentation/videomixer/index.html]

Posted by 구차니

chatGPT에게 fftw의 complex (복소수)를 어떻게 진폭으로 바꾸냐고 물어보니 나온 함수

 

#include <complex.h>
double cabs(double complex z);
float cabsf(float complex z);
long double cabsl(long double complex z);

Link with -lm.

Description
The cabs() function returns the absolute value of the complex number z. The result is a real number.

Versions
These functions first appeared in glibc in version 2.1.

Conforming to
C99.

Notes
The function is actually an alias for hypot(a, b) (or, equivalently, sqrt(a*a + b*b)).

[링크 : https://linux.die.net/man/3/cabs]

 

그나저나 저 copmlex라는 변수 타입은 어디서 어떻게 정의 되어 있나?

C99 지원하는 컴파일러의 primitive인가?

 

ISO C99 supports complex floating data types, and as an extension GCC supports them in C90 mode and in C++. GCC also supports complex integer data types which are not part of ISO C99. You can declare complex types using the keyword _Complex. As an extension, the older GNU keyword __complex__ is also supported.

[링크 : http://./cortexa53-crypto-poky-linux/usr/src/debug/glibc/2.33-r0/git/include/complex.h]

'프로그램 사용 > fft, fftw' 카테고리의 다른 글

fft 분석 패러미터  (0) 2023.03.29
FFT 윈도우, 오버랩  (0) 2023.03.23
FFT 분석 기법  (0) 2023.02.07
fft window 함수  (0) 2022.11.16
fftw @ 22Hz sine파 대충 돌려보니  (0) 2022.11.16
Posted by 구차니

한줄요약

걍 18.04로 돌아갈래!!!

 

요런게 뜰 때 눈치 챘어야 했는데...

WARNING: Host distribution "ubuntu-22.04" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.

 

 

ubuntu 22.04에 python3.10이 설치되어 있는데

1. python3.10 이후 패키지 변경으로 인해 아래와 같은 에러가 발생한다.

강제로 python 3.9를 설치하고 /usr/bin/python 과 /usr/bin/python3 심볼릭 링크를 바꾸어 주면 우회는 가능

"ImportError: cannot import name 'Mapping' from 'collections'" with Python 3.10

[링크 : https://github.com/tensorflow/tensorboard/issues/5478]

 

2. SIGSTKSZ 에 (가 어디 있나요... -_-

아무튼 glibc 버전이 2.34 이후 부터 SIGSTKSZ가 상수가 아닌 함수로 변경되었다고.. (니미!)

| In file included from /usr/include/signal.h:328,
|                  from ./signal.h:52,
|                  from ../../m4-1.4.18/lib/c-stack.c:49:
| ../../m4-1.4.18/lib/c-stack.c:55:26: error: missing binary operator before token "("
|    55 | #elif HAVE_LIBSIGSEGV && SIGSTKSZ < 16384
|       |                          ^~~~~~~~

[링크 : https://stackoverflow.com/questions/69719688/buildroot-error-when-building-with-ubuntu-21-10]

$ getconf -a | grep libc
GNU_LIBC_VERSION                   glibc 2.35

[링크 : https://ososoi.tistory.com/79]

'프로그램 사용 > yocto project' 카테고리의 다른 글

Do not use Bitbake as root.  (0) 2023.08.28
imx8 yocto  (0) 2023.08.28
라즈베리 파이 with yocto project  (2) 2015.07.30
yocto project 구조  (0) 2015.07.29
라즈베리 파이 2 yocto 프로젝트?  (0) 2015.06.08
Posted by 구차니

cifs 마운트 하려는 데 아래와 같은 이상한(?) 에러가 뜨길래 찾아보니

mount: /mnt: bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program.

 

아래와 같은 패키지가 설치되지 않으면 마운트가 안된다고 한다.

samba 패키지는 서버/클라이언트라 마운트랑 상관이 없다.

$ sudo apt install cifs-utils

[링크 : https://askubuntu.com/questions/946132/error-mounting-samba-network-drive-wrong-fs-type-bad-option]

'프로그램 사용 > SMB(Samba)' 카테고리의 다른 글

nas samba warn  (0) 2019.03.17
smb 와 selinux 설정  (0) 2019.02.14
smb 서비스 속도향상하기(SSD-bcache, AIO)  (0) 2019.02.01
samba acpi s3 wake up  (0) 2017.08.11
삼바 서버 자동 접속 끊기(timeout) - 검색중  (0) 2017.05.31
Posted by 구차니

'프로그램 사용 > fft, fftw' 카테고리의 다른 글

FFT 윈도우, 오버랩  (0) 2023.03.23
cabs()  (0) 2023.02.15
fft window 함수  (0) 2022.11.16
fftw @ 22Hz sine파 대충 돌려보니  (0) 2022.11.16
real to complex  (0) 2022.11.04
Posted by 구차니
프로그램 사용/gcc2023. 1. 26. 19:55

필수

-O3 -ftree-vectorize

(-O2 에서는 -ftree-vectorize가 적용되지 않는다.)

 

옵션(?)

-mfpu=neon -fopt-info-vec[-all]

 

neon을 지정안해주어도 cortex-a9 에서 vfp로 되는진 모르겠지만

약간 변환되는게 있고

neon을 지정해주면 많이 늘어난다

 

[링크 : https://developer.arm.../Compiling-NEON-Instructions/Vectorization/Enabling-auto-vectorization-in-GCC-compiler]

'프로그램 사용 > gcc' 카테고리의 다른 글

gcc cortex-a9 double형 neon 연산 가속  (3) 2023.08.08
gcc fstack-protector-strong  (0) 2022.12.06
gcc vectorization 실패  (0) 2022.06.02
gcc / 문자열 선언  (0) 2022.03.17
static link  (0) 2022.02.07
Posted by 구차니

Add carriage Return을 활성화 해주면 자동으로  lf에 cr을 붙여주는 듯.

(ctrl - a,z - u)

 

[링크 : https://unix.stackexchange.com/questions/283924/]

'프로그램 사용 > minicom' 카테고리의 다른 글

minicom color  (0) 2024.11.06
minicom에서 stty로 터미널 폭 조절하기  (0) 2023.10.24
minicom 16진수로 보기  (0) 2022.08.25
minicom 로그 저장하기  (0) 2021.09.16
minicom timestamp  (0) 2021.09.16
Posted by 구차니

-G Ninja 하면 Makefile 이 생성되지 않고 build.ninja만 생성된다.

빌드시 자잘한(?) 옵션은 -Doption=value 식으로 주면 ok

cmake.exe -G "Ninja" -DBUILD_TESTING=ON -DCMAKE_CXX_COMPILER=ccache

[링크 : https://github.com/LibVNC/libvncserver/issues/448]

'프로그램 사용 > make, configure' 카테고리의 다른 글

makefile 매크로(?)  (0) 2023.08.28
make 조건식  (0) 2023.08.16
cmake 옵션 확인  (0) 2021.01.20
cmake 빌드 에러시  (0) 2021.01.19
make order  (0) 2016.06.16
Posted by 구차니
프로그램 사용/gcc2022. 12. 6. 16:59

fno 되어있어서 웬지 눈에 익숙한 느낌인데 

-fno-stack-protector

 

새로운게 보여서 찾아보니

말 그대로 stack 오버런이 발생하는지 감지하는 기능을 제공한다고 한다.

[링크 : https://m.blog.naver.com/neos_rtos/220688072708]

[링크 : https://developer.arm.com/documentation/101754/0618/armclang-Reference/armclang-Command-line-Options/-fstack-protector---fstack-protector-all---fstack-protector-strong---fno-stack-protector]

'프로그램 사용 > gcc' 카테고리의 다른 글

gcc cortex-a9 double형 neon 연산 가속  (3) 2023.08.08
gcc tree vectorize  (0) 2023.01.26
gcc vectorization 실패  (0) 2022.06.02
gcc / 문자열 선언  (0) 2022.03.17
static link  (0) 2022.02.07
Posted by 구차니