自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (9)
  • 收藏
  • 关注

原创 valgrind-内存泄漏定位工具

valgirnd 是一套开放源代码的动态调试工具集合。能够检测内存管理错误,线程BUG等。valgirnd是由内核以及基于内核的其他调试工具组成。内核类似于一个框架,它模拟了一个cpu的环境,并提供服务给其他工具使用。而其他工具则类似于插件,利用内核提供的服务完成各种特定的内存调试任务。1、memcheck:这是valgrind应用最广泛的工具,一个重量级的内存检车器,能够发现开发中绝大多数内存错误使用的情况。比如:使用未初始化的内存,使用已经释放了的内存,内存访问越界等。

2024-06-06 14:44:01 423 1

原创 Linphone 初始化流程分析

linphone 流程分析

2023-11-11 14:53:41 173

原创 视频播放音画同步处理

考虑人对声音的敏感度比较高,频繁调节音频会带来较差的体验,并且音频播放时钟为线性增长,一般的做法都是以时钟作为参考时钟,将视频同步到音频上。2.音频数据输出是线性的持续不断的,但是视频输出不是线性的,视频渲染可能快,可能慢,从而导致音视频显示帧率上出现偏差。参考时钟一般选择以下两种。但是实际情况下,如果用上面这种方式的话,慢慢的就会出现音视频不同步的情况,可能是视频播放快了,可能音频播放快了。录制的时候:选择一个参考时钟,要求参考时钟上的时间是线性递增的,编码时依据参考时钟上的每个音视频数据块打上时间戳。

2023-10-21 14:47:01 418

原创 二维码解码器-Quirc使用教程

库文件总共6个文件,非常的小,编译之后的静态库只有25kb。官方代码是依赖libjpg库和linpng库进行解码转换成灰度后再进行二维码检测的。本次仅仅传入灰度图片进行解码,将不依赖jpeg和png进行二维码检测功能。是一款专用于识别二维码(不能识别一维码)的开源软件。它比zbar轻量一些,跟zbar一样能扫描码流和静态图片识别条形码,

2023-09-15 17:46:32 702

原创 图像处理简介

通过公式可以相互转换。从内存分布图可以看出,相邻的四个Y共用相邻的两个UV,比如坐标(0,0),与坐标(0,1),坐标(0,2),坐标(0,3)其中的像素点为Y0U0V0,Y1U0V0,Y2U0V0,Y2U0V0,可以看出他们UV分量是同一个值。像素的色彩由三原色的强度表示,例如一个红色像素是由强度为0的绿色,强度为0的蓝色和强度最大的红色组成。前面连续黑帧率的时候,较低码率为200Kbps,后面实际的信息量的内容,以较高的码率2.4Mbps呈现,这样可以有效的优化带宽,并能够较好的呈现有价值的信息。

2023-09-02 11:12:44 1193

原创 linux 串口通讯接口配置

【代码】linux 串口通讯接口配置。

2023-08-26 14:31:18 183

原创 libjpeg库使用

成功生成Makefile,继续执行make,make install,将在当前目录生成ouput文件夹。里面包含了库文件和头文件。

2023-08-26 14:24:59 619

原创 SPI FLASH Fatfs文件系统移植

FATFS是面向小型嵌入式系统的FAT文件系统。他由C语言编写并且独立与底层I/O介质。支持的内核有:8051,PLC,ARV,ARM等。FATFS支持FAT12,FAT16,FAT32等文件系统格式。

2023-06-13 16:09:18 1057

原创 C语言中二维数组和二维数组分析

二维数组和二级指针分析

2023-05-29 11:48:35 948

原创 ONVIF协议了解

Onvif,即Open Network Video Interface Forum ,可以译为开放型网络视频接口论坛,是安迅士、博世、索尼在2008年共同成立的一个国际性、开发型网络视频产品标准网络接口的开发论坛,后来由于这个技术开发论坛共同制定的开发型行业标准,就用该论坛的大写字母命名,即ONVIF 网络视频标准规范,习惯简称为:ONVIF协议。

2023-05-22 11:13:25 8700

原创 韦根协议内核驱动开发

Wiegan协议驱动开发

2023-05-11 11:01:34 1030

原创 gperftools调试内存泄漏

gperftools

2023-03-04 12:12:11 489

原创 125KHZ RFID 曼彻斯特码在内核域解码

125KHz RFID 曼彻斯特码 内核驱动程序

2022-12-06 14:47:20 1471

原创 强制edge浏览器背景为黑色

Microsoft Edge虽然有一个深色模式,但是这个神色模式仅把外框变成了黑色,百度页面等底色还是白色(如下图所示),如果想要整个网络页面变为黑色可以进行以下操作。2.找到下面的Auto Dark Mode for Web Contents 这项功能,将选项中的Default 改为 Enabled。Microsoft Edge浏览器网页改为纯黑色(真正实现深色夜间模式)1.输入edge://flags/#enable-force-dark。

2022-11-19 09:29:15 1692 3

原创 第九章:网络配置

网络配置。

2022-08-30 11:14:31 328

转载 抓取局域网内所有包

抓包

2022-08-19 15:17:13 449

原创 第七篇 bootlogo显示

bootlogo

2022-07-30 11:44:08 963 2

原创 ubuntu nfs服务器端搭建

启动NFS:/etc/init.d/nfs-kernel-server restart。nfs 的启动和停止是通过/etc/init.d 目录中的脚本文件nfs实现。启动ipcbind: /etc/init.d/rpcbind restart。ubuntu21.04以后,配置文件路径在。查看支持的nfs版本。

2022-07-25 09:40:35 463

原创 linux 串口接口配置

linux 串口通讯

2022-07-21 17:24:36 1066 1

原创 LVGL7.11使用libjpg库/二维码库

libjpg/qrcode

2022-07-07 08:50:34 3121

原创 PCM16BIT-单通道重采样库libsamplrate使用

音频重采样

2022-07-07 08:47:06 673

原创 判断文件是否存在

linux c判断文件是否存在

2022-07-05 08:55:36 3630

原创 pjsip-01

pjsip api

2022-06-27 15:55:34 191

原创 pjsip交叉编译

pjsip 学习

2022-06-25 15:44:14 401

原创 sip名词解释

SIP

2022-06-25 10:42:22 318

原创 移植webrtc到安凯平台

移植webrtc

2022-06-21 15:18:16 732 1

原创 linux安装cmake

安装cmake

2022-06-21 08:26:07 76

转载 SDIO协议-转发

SDIO,全称:Secure Digital Input and Output ,即安全数字输入输出接口。

2022-06-16 10:15:50 2399

原创 安装带参数的ko

在加载驱动的模块的时候通过 module_param()接收外部参数;module_param()为一个宏,表示向当前模块传递参数该宏定义在<linux/moduleparam.h>使用说明: 原型: moudle_param(name,type,perm); 功能:定制模块参数,用于在加载模块时给相关变量传递参数 参数说明: name:将要传递参数的变量名称; type:传递参数的数据类型 perm:传递参数的访问权限 其中type可以使用以下任意一种类型:

2022-05-19 09:00:09 646

原创 shell脚本判断文件存在

#!/bin/shif[-x path];then#path存在else#不存在fi一般的普通文件判断条件是-f,但是对于设备节点等特殊文件就不行了。必须使用与文件类型或者设备类型相对应的判断条件才行。-b file = True if the file exists and is block special file.块设备文件存在-c file = True if the file exists and is character special file.字符设备文件存在

2022-05-18 09:35:36 2241

原创 linux 消息队列API

一. 什么是linux的消息队列:消息队列是提供了一种从一个进程向另一个进程发送一个数据块的方法。每个数据块都被认为含有一个类型,接收进程可以独立的接收含有不同类型的数据结构。我们可以通过发送消息来避免命名管道> 的同步和阻塞的问题。但是消息队列和命名管道一样,每个数据块都有一个最大长度的限制。LInux用宏MSGMAX和MSGMNB来限制一条消息的最大长度和一个队列的最大长度。二.LInux中使用消息队列linux提供一系列消息队列的函数接口来让我们方便地使用它来实现进程间的通信

2022-04-28 09:22:44 3005

原创 Linux 有名管道通信

有名管道的使用流程:创建有名管道(mkfio)---->打开有名管道的句柄(open)---->读写有名管道(write/read) ----> 关闭有名管道(close)—>>卸载有名管道(unlink)创建一个管道mkfifo("/tmp/test.264", 0777);打开写管道int fd = open("tmp/test.264",O_WRONLY);这里需要注意:在写管道open的时候会一直阻塞到读端打开。写入数据到管道re

2022-04-21 14:56:18 373

原创 网络编程基础之---struct sockaddr_in, struct sockaddr, struct in_addr

结构体struct sockaddr_instruct sockaddrstruct in_addr这三个结构体在网络编程中经常忘记各自的成员,需要临时查阅。struct sockaddr{ /***** 地址族 AF_xxx *****/ unsigned short sa_family; /***** 14字节的协议地址 *****/ char sa_data[14];};以上是通用的socket地址,具体到internet socket 用下面的结构体,二者可以进行类型

2022-04-16 11:09:52 3228

原创 嵌入式ttf字体裁减说明

裁剪工具包括三个软件FontCreator:用于添加字符到字库中Fontmin-v0.2.0:用于查看用到的字符集中在字库中缺少的单个字符。FontSubsetPack/FontSubsetGUI.exe:用于裁剪只包含所需字符集的字库。下面以一个实际的例子说明:比如我所需要建立一个字符集的文本包含以下字符:Mon 월요일 Понедельник Lunes 星期一 Pazartesi Poniedziałek Pondělí将创建一个文档----string.txt.将文本复制到

2022-04-12 14:39:34 5096 1

原创 RTP打包发送H264之封包详解

RFC3984是H.264的baseline码流在RTP方式下传输的规范,这里只讨论FU-A分包方式H264码流结构单个NAL包单元12个字节的RTP头后面就是音视频数据,比较简单。一个封装单个NAL单元包到RTP的NAL单元流的RTP序号必须符合NAL单元的解码顺序。对于NALU的长度小于MTU大小的包,一般采用单一NAL单元模式。对于一个原始的H.264 NALU单元常由[start code][NALU Head][NALU payload]三部分组成,其中start code用于表.

2022-04-12 10:07:14 694

转载 RTP(载荷H264码流)基础知识

一. H264介绍h264是一种视频压缩标准,经过压缩的帧分为:I,P,B帧:I帧:关键帧,采用帧内压缩技术,自身可以通过视频解压算法解压成一张单独的完整图片P帧:向前参考帧,在压缩时,只参考前面已经处理的帧(只需要参考前面的I帧或P帧),采用帧音压缩技术。B帧:双向参考帧,在压缩时,他既参考前面的帧,又参考他后面的帧(需要同时参考前面和后面的I帧或P帧),采用帧间压缩技术。除了I/P/B帧外,还有图像序列GOP两个I帧之间是个图像序列,在一个图像序列中只有一个I帧,如图:

2022-04-12 09:11:26 4607

原创 Linux下 GPIO控制编程

linux对gpio口操作,一般都是通过设备节点进行读写。读写基本操作流程如下:导出gpio口 。节点:export设置gpio输入输出方向。节点:direction读写gpio的数值。节点:value,另外使能内部上拉通过。节点:pull_enable代码如下:#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <fcntl.h>#include <

2022-04-11 15:16:26 2081

原创 PCM 16BIT幅度调节

由于芯片硬件AO的音量控制封装,无法灵活调节音量,故添加软件调节音量。调节建议:在调节音量之前将AO设备音量设置为较大,然后再使用软件调节pcm输出。代码:#include <stdbool.h>#include <sys/types.h>#include <unistd.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#define P

2022-03-31 19:52:10 1160

原创 第六篇:通过ftp升级程序

tftp网络烧录image¶使用tftp网络烧录image的前提是板子带有uboot程序,如果没有请参考isptool烧录的方法烧录uboot,然后再按如下方法使用tftp烧录。打开tftp工具指向image path:SDK\project\image\output\images\,并选择正确的网卡板子连接网络,并确保板子跟PC处于同一个网段(PC需要关闭防火墙)板子开机,长按回车,进入uboot终端首次烧录需要设置IP地址已复制#setenv gatewayip 192.168.1.1#

2022-03-24 16:39:19 750

原创 第五篇:开启网络功能

第一部分:在编译ssd212 demo,并且烧录后,会发现ssd212的网卡不存在。使用指令:ifconfig -a发现有一张网卡eth0,使用以下指令开启网卡ifconfig eth0 up通过udhcpc 获取IPudhcpc -i etho -s /etc/init.d/udhcpc.script例如打印日志:/ # udhcpc -i eth0 -s /etc/init.d/udhcpc.scriptudhcpc (v1.20.2) startedSetting IP a

2022-03-22 09:00:53 2057

asterisk 配置到云服务器端,通过云转发sip媒体流的配置文件

asterisk 配置到云服务器端,通过云转发sip媒体流的配置文件

2024-04-19

Quirc项目工程资源

Quirc项目工程资源

2023-09-15

libjpeg-9d库使用

libjpeg-9d库使用

2023-08-26

fatfs文件系统移植包

fatfs文件系统移植包

2023-06-13

内核驱动实现wiegan协议接口

用于anyka平台的wiegan协议驱动接口

2023-05-11

Tcmalloc-v2.10

tcmalloc 内存管理及内存泄漏

2023-03-04

linux 脚本重启,随机MAC写入文本,包括eth0与eth1

linux 脚本重启,随机MAC写入文本,包括eth0与eth1

2022-11-29

在ffplay的队列框架上实现一写多读的算法,用于同一个资源各个任务处理

在ffplay的队列框架上实现一写多读的算法,用于同一个资源各种任务处理

2022-11-22

raw socket 量产的产品

使用raw socket 不走tcp/ip实现数字可视对讲系统

2022-07-14

lvgl7.11SDK,已经完成量产的产品,稳定可靠

lvgl711 适配完成的各种库

2022-07-14

安凯37d/e+lvgl7.11+pjsip sdk

安凯37D平台lvgl,ui使用lvgl7.11,音视频和信令使用pjsip

2022-06-27

lvgl7.11 二维码控件补丁

lvgl7.11是不支持二维码控件的,所以再此进行兼容

2022-06-22

安凯3760/1D 模拟可视门铃对讲+TUYA+LVGL+LCD800X1280 SDK

使用安凯37D芯片的模拟可是门铃对讲,使用tuya 云平台对讲,UI引擎使用lvgl v7.11,软件实现UI与视频的透明混合算法,解决37D视频的时候png图片锯齿,黑边问题。

2022-06-22

ttf字库裁剪工具集合,用于嵌入式内存空间不足

嵌入式场合,一般flash空间比较紧张,裁剪字体

2022-04-12

ssd212-ffmpeg-linphone

移植linphone+ffmpeg到ssd212,使用软解h.264,测试640x480软件25fps没有任何问题。

2022-03-31

linphone-ffmpeg-anyka37e

移植linphone与ffmepg已经可以进行双向对讲视频通话

2022-03-31

郭天祥各种你想要的资源

郭天祥的各种资源.包括程序,ppt,以及他的开发板仿真文件,以及他的备课资源

2014-03-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除