星期五, 12月 09, 2022

H.264 NAL reference

 http://www.hellotongtong.com/avcodecbase/avcodecbase-h264-learning100.html

    1. forbidden_zero_bit
      1. bit,H264 规定此位必须为 0
    2. nal_ref_idc
      1. 用于表示当前 NALU 的重要性,值越大,越重要
      2. 解码器在解码处理不过来的时候,可以丢掉重要性为 0 的 NALU
      3. nal_ref_idc 不等于 0 时, NAL unit 的内容可能是 SPS/PPS/参考帧 的片

        nal_ref_idc 等于 0 时,NAL unit 的内容可能是非参考图像的片

        当某个图像的片的 nal_ref_id 等于 0 时,该图像的所有片均应等于 0



            星期四, 12月 08, 2022

            ffprobe h264

             ffprobe -show_frames 1.h264 |grep pict_type

            jack@i7-build-server:~$ ffprobe -show_streams 1.h264

            星期五, 11月 25, 2022

            CPython

             Cross-compile Python for use on armv7l


            Cross compiling python for aarch64


            #!/bin/bashset -x -eexport HOST_ARCH=aarch64-linux-gnuexport TOOL_PREFIX=/home/username/aarch64-linux-toolchain/bin/$HOST_ARCH
            export CXX=$TOOL_PREFIX-g++
            export CPP="$TOOL_PREFIX-g++ -E"export AR=$TOOL_PREFIX-arexport RANLIB=$TOOL_PREFIX-ranlibexport CC=$TOOL_PREFIX-gccexport LD=$TOOL_PREFIX-ldexport READELF=$TOOL_PREFIX-readelfexport LDLAST="-lgcov"./configure --host=$HOST_ARCH --target=$HOST_ARCH --build=x86_64-pc-linux-gnu --prefix=$HOME/temp --disable-ipv6 ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no ac_cv_have_long_long_format=yes --enable-shared --with-zlib-dir=/usr/lib64 --with-ensurepip=yes --enable-optimizationmake BLDSHARED="$TOOL_PREFIX-gcc -shared" CROSS-COMPILE=$TOOL_PREFIX- CROSS_COMPILE_TARGET=yessudo make install BLDSHARED="$TOOL_PREFIX-gcc -shared" CROSS-COMPILE=$TOOL_PREFIX- CROSS_COMPILE_TARGET=yes prefix=$HOME/Python-$HOST_ARCH/_install

            星期四, 11月 17, 2022

            星期五, 11月 04, 2022

            bitmap font

             

            1.https://github.com/dhepper/font8x8

            2. https://opengameart.org/art-search?keys=bitmap

            3. https://opengameart.org/content/8x8-ascii-bitmap-font-with-c-source



            /************************************************************************

            * font.c

            * Copyright (C) Lisa Milne 2014 <lisa@ltmnet.com>

            *

            * This program is free software: you can redistribute it and/or modify

            * it under the terms of the GNU General Public License as published by

            * the Free Software Foundation, either version 3 of the License, or

            * (at your option) any later version.

            *

            * This program is distributed in the hope that it will be useful, but

            * WITHOUT ANY WARRANTY; without even the implied warranty of

            * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

            * See the GNU General Public License for more details.

            *

            * You should have received a copy of the GNU General Public License

            * along with this program.  If not, see <http://www.gnu.org/licenses/>

            ************************************************************************/


            /* the values in this array are a 8x8 bitmap font for ascii characters */

            static uint64_t font[128] = {

            0x7E7E7E7E7E7E0000, /* NUL */

            0x7E7E7E7E7E7E0000, /* SOH */

            0x7E7E7E7E7E7E0000, /* STX */

            0x7E7E7E7E7E7E0000, /* ETX */

            0x7E7E7E7E7E7E0000, /* EOT */

            0x7E7E7E7E7E7E0000, /* ENQ */

            0x7E7E7E7E7E7E0000, /* ACK */

            0x7E7E7E7E7E7E0000, /* BEL */

            0x7E7E7E7E7E7E0000, /* BS */

            0x0, /* TAB */

            0x7E7E7E7E7E7E0000, /* LF */

            0x7E7E7E7E7E7E0000, /* VT */

            0x7E7E7E7E7E7E0000, /* FF */

            0x7E7E7E7E7E7E0000, /* CR */

            0x7E7E7E7E7E7E0000, /* SO */

            0x7E7E7E7E7E7E0000, /* SI */

            0x7E7E7E7E7E7E0000, /* DLE */

            0x7E7E7E7E7E7E0000, /* DC1 */

            0x7E7E7E7E7E7E0000, /* DC2 */

            0x7E7E7E7E7E7E0000, /* DC3 */

            0x7E7E7E7E7E7E0000, /* DC4 */

            0x7E7E7E7E7E7E0000, /* NAK */

            0x7E7E7E7E7E7E0000, /* SYN */

            0x7E7E7E7E7E7E0000, /* ETB */

            0x7E7E7E7E7E7E0000, /* CAN */

            0x7E7E7E7E7E7E0000, /* EM */

            0x7E7E7E7E7E7E0000, /* SUB */

            0x7E7E7E7E7E7E0000, /* ESC */

            0x7E7E7E7E7E7E0000, /* FS */

            0x7E7E7E7E7E7E0000, /* GS */

            0x7E7E7E7E7E7E0000, /* RS */

            0x7E7E7E7E7E7E0000, /* US */

            0x0, /* (space) */

            0x808080800080000, /* ! */

            0x2828000000000000, /* " */

            0x287C287C280000, /* # */

            0x81E281C0A3C0800, /* $ */

            0x6094681629060000, /* % */

            0x1C20201926190000, /* & */

            0x808000000000000, /* ' */

            0x810202010080000, /* ( */

            0x1008040408100000, /* ) */

            0x2A1C3E1C2A000000, /* * */

            0x8083E08080000, /* + */

            0x81000, /* , */

            0x3C00000000, /* - */

            0x80000, /* . */

            0x204081020400000, /* / */

            0x1824424224180000, /* 0 */

            0x8180808081C0000, /* 1 */

            0x3C420418207E0000, /* 2 */

            0x3C420418423C0000, /* 3 */

            0x81828487C080000, /* 4 */

            0x7E407C02423C0000, /* 5 */

            0x3C407C42423C0000, /* 6 */

            0x7E04081020400000, /* 7 */

            0x3C423C42423C0000, /* 8 */

            0x3C42423E023C0000, /* 9 */

            0x80000080000, /* : */

            0x80000081000, /* ; */

            0x6186018060000, /* < */

            0x7E007E000000, /* = */

            0x60180618600000, /* > */

            0x3844041800100000, /* ? */

            0x3C449C945C201C, /* @ */

            0x1818243C42420000, /* A */

            0x7844784444780000, /* B */

            0x3844808044380000, /* C */

            0x7844444444780000, /* D */

            0x7C407840407C0000, /* E */

            0x7C40784040400000, /* F */

            0x3844809C44380000, /* G */

            0x42427E4242420000, /* H */

            0x3E080808083E0000, /* I */

            0x1C04040444380000, /* J */

            0x4448507048440000, /* K */

            0x40404040407E0000, /* L */

            0x4163554941410000, /* M */

            0x4262524A46420000, /* N */

            0x1C222222221C0000, /* O */

            0x7844784040400000, /* P */

            0x1C222222221C0200, /* Q */

            0x7844785048440000, /* R */

            0x1C22100C221C0000, /* S */

            0x7F08080808080000, /* T */

            0x42424242423C0000, /* U */

            0x8142422424180000, /* V */

            0x4141495563410000, /* W */

            0x4224181824420000, /* X */

            0x4122140808080000, /* Y */

            0x7E040810207E0000, /* Z */

            0x3820202020380000, /* [ */

            0x4020100804020000, /* \ */

            0x3808080808380000, /* ] */

            0x1028000000000000, /* ^ */

            0x7E0000, /* _ */

            0x1008000000000000, /* ` */

            0x3C023E463A0000, /* a */

            0x40407C42625C0000, /* b */

            0x1C20201C0000, /* c */

            0x2023E42463A0000, /* d */

            0x3C427E403C0000, /* e */

            0x18103810100000, /* f */

            0x344C44340438, /* g */

            0x2020382424240000, /* h */

            0x800080808080000, /* i */

            0x800180808080870, /* j */

            0x20202428302C0000, /* k */

            0x1010101010180000, /* l */

            0x665A42420000, /* m */

            0x2E3222220000, /* n */

            0x3C42423C0000, /* o */

            0x5C62427C4040, /* p */

            0x3A46423E0202, /* q */

            0x2C3220200000, /* r */

            0x1C201804380000, /* s */

            0x103C1010180000, /* t */

            0x2222261A0000, /* u */

            0x424224180000, /* v */

            0x81815A660000, /* w */

            0x422418660000, /* x */

            0x422214081060, /* y */

            0x3C08103C0000, /* z */

            0x1C103030101C0000, /* { */

            0x808080808080800, /* | */

            0x38080C0C08380000, /* } */

            0x324C000000, /* ~ */

            0x7E7E7E7E7E7E0000 /* DEL */

            };


            星期四, 10月 13, 2022

            Silicon lab matter& low power wifi RS9116

             



            RS9116 

            Standby Associated, DTIM = 10 / 51uA Wi-Fi (1 second beacon listen interval).

            SLEEP_IND_FROM_DEV output pin > to wake up MCU.

            ULP_WAKEUP input pin. > MCU to wake up  RS9116 

            1.      RS9116 auto joining Wifi AP router after power on > Yes.

            Our RS9116 use AT command , MCU can give us SSID and passwords to joining the AP router when power on.    


            星期三, 9月 07, 2022

            星期二, 9月 06, 2022

            星期二, 8月 23, 2022

            chardev gpio

             https://embeddedbits.org/new-linux-kernel-gpio-user-space-interface/#:~:text=Linux%20kernel%20GPIO%20interface,via%20a%20producer%2Fconsumer%20model

            星期五, 8月 19, 2022

            Kinesis


            Reference data:

            1. https://aws.amazon.com/tw/kinesis/video-streams/resources/?nc=sn&loc=4&amazon-kinesis-video-streams-resources-blog.sort-by=item.additionalFields.createdDate&amazon-kinesis-video-streams-resources-blog.sort-order=desc
            2. https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/kinesisvideo-dg.pdf
            3.  https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp
            4. https://docs.aws.amazon.com/kinesisvideostreams-webrtc-dg/latest/devguide/kvswebrtc-sdk-c.html
            5. https://docs.aws.amazon.com/iot/latest/developerguide/iot-embedded-c-sdk.html
            6. https://news.panasonic.com/jp/press/jn220124-1
            7. https://docs.aws.amazon.com/kinesis/index.html


            rtl8723bu rtl8723du在mstar平臺上移植 BT



            rtl8723bu rtl8723du在mstar平臺上移植

            BT 

             https://www.twblogs.net/a/5edccc668ecbc10c342cf27b

            星期二, 8月 16, 2022

            SRS+ metaRTC

             

            https://ossrs.net/lts/zh-cn/docs/v4/doc/introduction


            https://ossrs.net/lts/zh-cn/docs/v4/doc/introduction




            Major source:

            1. SRS(Simple Realtime Server) Doc
            2. metartc/metaRTC  (纯C的webrtc版IPC)


            Information:

            1. metaRTC5.0实现君正/瑞芯微/MSTAR/海思等芯片的纯C的webrtc版IPC 
              1. (RK1126 prebuild so, )
              2. metaipc_rk1109/metaipc5_jz为瑞芯微和君正代码demo
            2. SRS不再维护srs-librtmp,原因请看#32。


            Example:

            1. srs部署/webrtc拉流
            2. 用yangwebrtc搭建虚拟背景和美颜webrtc直播系统_metaRTC的博客-程序员ITS404

            星期一, 7月 18, 2022

            CFRS

             / 

            <input type="hidden" name="csrf" value"djaskl;fhasdkjkfhasd"/>


            lighttpd.conf.template

            setenv.add-response-header += ("set-Cookie" => "X-XSRF-TOKEN=sdfasdfasdf; SameSite=Strict; Secure; HttpOnly; Path=/")


            星期一, 6月 27, 2022

            CSRF web test

             https://edricteo.com/how-to-test-for-csrf/

            https://security.love/CSRF-PoC-Genorator/

            星期一, 5月 30, 2022

            YOLOv4-tyny 42fps

             

            https://edgenoon-ai.github.io/edge-devices/jetson-tx2-yolo-v3-v4-benchmark/

            YOLOv3-tyny-prn4163.533.1%57.0
            YOLOv4-tyny4166.940.2%42.0

            AWS Embedded FOTA/Shadow

             



            AWS IoT Over-the-air Update  v3.0.0
            https://aws.github.io/aws-iot-device-sdk-embedded-C/202103.00/libraries/aws/ota-for-aws-iot-embedded-sdk/docs/doxygen/output/html/index.html#ota_memory_requirements

            AWS IoT Device Shadow   v1.1.1
            https://aws.github.io/aws-iot-device-sdk-embedded-C/202108.00/libraries/aws/device-shadow-for-aws-iot-embedded-sdk/docs/doxygen/output/html/shadow_design.html

             Embedded C 的 AWS IoT 裝置 SDK

            https://docs.aws.amazon.com/zh_tw/iot/latest/developerguide/iot-sdks.html

            星期三, 4月 20, 2022

            Git to make release note

             #Git to make release note

            1. git log --pretty=oneline --no-merges > rel.txt

            2. cat rel.txt | awk '{"git describe --always $1" |& getline $1} {print}'

            3. cat rel.txt | awk '{system("git describe --always "$1)} {print $0}'

            星期四, 4月 14, 2022

            pe42423 nrf52833 AOA AOD

             pe42423

            https://devzone.nordicsemi.com/f/nordic-q-a/85732/antenna-switching-for-bluetooth-direction-finding

            nwp_036.pdf

            https://www.mouser.tw/datasheet/2/297/nRF52833_SoC_Product_Brief-1815256.pdf

            https://infocenter.nordicsemi.com/index.jsp?topic=%2Fstruct_nrf52%2Fstruct%2Fnrf52833.html


            星期日, 3月 27, 2022

            How to install pytorch in tx2

             

             nvcc --version

            nvcc: NVIDIA (R) Cuda compiler driver

            Copyright (c) 2005-2021 NVIDIA Corporation

            Built on Sun_Feb_28_22:34:44_PST_2021

            Cuda compilation tools, release 10.2, V10.2.300

            Build cuda_10.2_r440.TC440_70.29663091_0


            cuda_10.2
            python3.6

            PyTorch for Jetson - version 1.10 now available

            • PyTorch v1.7 - torchvision v0.8.1

            Install jetson pytorch: 
            https://forums.developer.nvidia.com/t/pytorch-for-jetson-version-1-10-now-available/72048

            --------------------------
            pytorch
            wget https://nvidia.box.com/shared/static/p57jwntv436lfrd78inwl7iml6p13fzh.whl -O torch-1.10.0-cp36-cp36m-linux_aarch64.whl sudo apt-get install python3-pip libopenblas-base libopenmpi-dev pip3 install Cython  pip3 install torch-1.7.0-cp36-cp36m-linux_aarch64.whl

            ---------------------
            $sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev$
            $git clone --branch v0.12.0 https://github.com/pytorch/vision torchvision # see below for version of torchvision to download
            $ cd torchvision $ export BUILD_VERSION=0.8.1 # where 0.x.0 is the torchvision version $ python3 setup.py install --user
            $ cd ../ # attempting to load torchvision from build dir will result in import error
            $pip install 'pillow<7' # always needed for Python 2.7, not needed torchvision v0.5.0+ with Python 3.6

            ------------------

            sudo apt-cache show nvidia-jetpack
            It will show something like:

            Package: nvidia-jetpack
            Version: 4.4-b144
            Architecture: arm64
            Maintainer: NVIDIA Corporation

            -------------------------------------

            cuda version

            $ cat /usr/local/cuda/version.txt

            CUDA Version 10.2.300

            -----------------------------------------

            查看cudnn版本

            ls /usr/local/cuda*
            cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2-------------------------------------workable pytorch in TX2 w/ python3.6 CUDA 10.2, jetpack 4.4https://developer.nvidia.com/embedded/downloads
            ----------------------------------

            pip3 install --no-deps torchvision Collecting torchvision Using cached https://files.pythonhosted.org/packages/fb/01/03fd7e503c16b3dc262483e5555ad40974ab5da8b9879e164b56c1f4ef6f/torchvision-0.2.2.post3-py2.py3-none-any.whl Installing collected packages: torchvision Successfully installed torchvision-0.2.2.post3



            星期一, 3月 07, 2022

            CA intermediate ssl certificate

             https://www.thesslstore.com/blog/root-certificates-intermediate/



            https://aboutssl.org/install-ssl-certificate-on-lighttpd-server/

            星期六, 3月 05, 2022

            斐波那契數列 Dynamic Programming

             

            斐波那契數列 

            Dynamic Programming

            https://ithelp.ithome.com.tw/articles/10271832

            Mutual Information Python

             


            https://www.codeleading.com/article/31721058116/

            1. from sklearn import metrics as mr
            2. from scipy.misc import imread
            3. import numpy as np
            4. img1 = imread('1.jpg')
            5. img2 = imread('2.jpg')
            6. img2 = np.resize(img2, (img1.shape[0], img1.shape[1], img1.shape[2]))
            7. img1 = np.reshape(img1, -1)
            8. img2 = np.reshape(img2, -1)
            9. print(img2.shape)
            10. print(img1.shape)
            11. mutual_infor = mr.mutual_info_score(img1, img2)
            12. print(mutual_infor)


            https://vimsky.com/zh-tw/examples/detail/python-method-sklearn.metrics.mutual_info_score.html

            星期五, 2月 25, 2022

            星期一, 2月 21, 2022