自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 ffmpeg 命令 mp4转ts m3u8

ffmpeg 命令 mp4转ts m3u8。

2023-08-14 19:56:13 232

原创 内存配置和释放操作new delete

new delete

2023-08-02 23:10:12 148

原创 srt转rtmp(mpegts -> flv)

视频会多出nalu类型为9的AUD,去除方法为使用avstreamfilter:h264_metadata。修复方式:添加avstreamfilter:aac_adtstoasc。一、使用ffmpeg拉流srt转rtmp推流过程中遇到音视频问题。

2023-07-11 21:02:30 915

原创 linux生成coredump文件

【代码】linux生成coredump文件。

2023-06-06 15:36:07 208

原创 linux 生成core文件

【代码】linux 生成core文件。

2023-05-31 16:17:09 220

原创 valgrind定位内存泄漏命令

valgrind --tool=memcheck --leak-check=full --show-leak-kinds=all --track-origins=yes --log-file=./chechout.log ./xxx

2023-05-27 11:21:27 115 1

原创 linux 信号

名称 默认行为 相应事件 SIGHUP 终止 终端线挂断 SIGINT 终止 来自键盘的中断 SIGQUIT 终止 来自键盘的退出 SIGILL 终止 非法指令 SIGTRAP 终止并转储内存 跟踪陷阱 SIGABRT 终止并转储内存 来自abort函数的终止信号 SIGBUS 终止 总线错误 SIGFPE 终止并转储内存 浮点异常 SIGKILL 终止

2023-05-08 20:18:34 480

原创 使用ffmpeg av_read_frame 一倍速读取文件

1、参考ffmpeg.c的get_input_packet来进行速度控制,当使用ffmpeg推流加上-re选项时,ffmpeg会使用此处进行流控;

2023-04-24 09:34:09 277

原创 flvdec.c flv_read_header flv_read_packet解析

flvdec.c flv_read_header flv_read_packet解析。

2022-10-25 11:10:08 171

原创 标记windows桌面任意区域

windows区域标记。

2022-06-22 16:42:25 377 4

原创 H264码流

本文为H264的码流解析,包括SPS、PPS、SEI、I frame、P frame、B frame,其中具体字段的意思可参考H.264文档000000 seq_parameter_set (29 bytes)000000 Header (5 bytes)000000 zero_byte: 0 (0x00)000001 start_code_prefix_one_3bytes: 1 (0x000001)000004

2022-05-28 10:45:47 216

原创 H264解析

H264的结构:H264是由一个个NALU组成,NALU之间通过分隔符进行分割,一般为0x000001(3Byte)或者0x00000001(4Byte),一般在NALU开始的时候使用0x00000001(4Byte)。 NALU NALU NALU NALU NALU NALU …… SPS PPS

2022-05-28 10:41:32 908

原创 编译android版本protobuf

1、bat脚本,可根据自己的实际需求进行修改::ANDROID_ABI:arm64-v8a, armeabi-v7a ,x86,x86_64::E:\develop\Android\SDK\cmake\3.10.2.4988404\bin\ninja.exeset toolchain=E:/develop/Android/android-ndk-r21/build/cmake/android.toolchain.cmakeset android_ndk=E:/develop/Android/an

2022-03-24 16:33:30 4277 1

原创 编译android版本sdl2

一、SDL官网地址:Simple DirectMedia Layer - Homepage二、SDL git地址:GitHub - libsdl-org/SDL: Simple Directmedia Layer三、使用工具ndk-build四、sdl2下载后其代码仓如下所示:sdl提供了自己的android-project,可以在里面进行android so的编译,编译脚本为Android.mk。五、android-project结构如下app目录结构如下其中src为上层j

2022-03-04 11:32:27 6237

原创 C++ static

/** - static* - 静态变量:当变量被声明为static时,空间将在程序的生命周期内分配;即使多次调用该函数,静态变量的空间也只分配一次,前一次调用中的变量值通过* 下一次函数调用传递;这对于在C/C++或需要存储先前函数状态的任何其他应用程序非常有用。* - 类中的静态变量:由于声明为static的变量只被初始化一次,因为它们在静态存储中分配了空间,因此类中的静态变量由对象共享;* 对于不同的对象,不能有相同静态变量的多个副本,也是这个原因,静态变量不能使用构造函数初始化.

2022-02-22 20:36:13 311

原创 c++ sizeof类大小

/** - 空类的大小为1字节* - 静态数据成员被编译器放在程序的一个global data mnembers中,它是类的一个数据成员,但不影响类的大小;不管这个类产生了多少个实例,* 还是派生了多少新的类,静态数据成员只有一个实例;静态数据成员,一旦被声明,就已经存在。* - 对于包含虚函数的类,不管有多少个虚函数,只有一个虚指针,vptr的大小。* - 普通单继承,继承就是基类+派生类自身的大小(字节对齐)。* - 虚单继承,派生类继承基类vptr*/#include<i.

2022-02-22 19:43:15 408

原创 c++ lambda表达式

/** lambda的语法形式:[函数对象参数](操作符重载函数参数) mutable 或 exception 声明 -> 返回值类型 {函数体}* - [函数对象参数]:标识一个lambda表达式的开始,必须存在,函数对象参数形式如下:* [] 未定义任何变量,试图在lambda内使用任何外部变量都是错误的* [x, &y] x按值捕获,y按引用捕获* [&] 用到的任何外部变量都隐式按引用捕获* [=] 用到的任何外部变量都隐式按值捕获* [&, .

2022-02-22 14:58:35 43

原创 解决AppData/Local/Microsoft/WindowsApps/python: Permission denied问题

主要是在AppData\Local\Microsoft\WindowsApps此目录下生成了python和python3解决方法:在设置里将应用别名关掉即可

2022-02-16 17:09:44 7976 5

原创 flv sps pps tag解析

/* tag head */type: 09dataSize: 00dataSize: 00dataSize: 23timeStamp: 9ctimeStamp: 05timeStamp: e8timeStamp_ex: 2fstreamID: 00streamID: 00streamID: 00/* data */17 (frame type(前4bit)1为关键帧 + codecID(后4bit)...

2022-02-10 16:59:28 454

原创 ffmpeg----avfifo.h

1、结构体typedef struct AVFifoBuffer { uint8_t *buffer; uint8_t *rptr, *wptr, *end; uint32_t rndx, wndx;} AVFifoBuffer;2、申请fifo/**分配单个size大小的fifo,其内部调用av_fifo_alloc_array(size, 1),失败返回NULL*/AVFifoBuffer *av_fifo_alloc(unsigned int size)

2022-01-30 16:48:01 2706

原创 c++ 模板特化

1、模板特化:模板参数在某种特定类型下的具体实现。2、模板特化的格式:template <> 返回类型 函数名<特化的数据类型>(参数表) {}3、当程序中同时存在模板和它的特化时,特化将被优先调用;在同一个程序中,除了函数模板和它的特化外,还可以有同名的普通函数。其区别在于C++会对普通函数的调用实参进行隐式的转换,但不会对,疤函数及特化函数的参数进行任何形式的类型转换。4、实例template <class T>T myMax(T x, T

2022-01-13 14:41:33 1155

原创 类的构造与析构

一、类对象成员的构造 1、先构造成员 2、再构造自身(调用构造函数)二、派生类构造函数派生类可能有多个基类,也可能包括多个成员对象,在创建派生类对象时,派生类的构造函数除了要负责本类成员的初始化外,还要调用基类和成员对象的构造函数,并向它们传递参数,以完成基类子对象和成员对象的建立和初始化。1、派生类只能采用构造函数初始化列表的方式向基类或成员对象的构造函数传递参数,形式如下:派生类构造函数名(参数表):基类构造函数名(参数表),成员对象...

2021-12-23 22:26:04 938

原创 RGB水印添加

overlay - Overlaying pixels with alpha value in C/C++ - Stack Overflow

2021-10-28 15:58:25 279

原创 2021-06-06

当数字被转为double时,不存在精度缺失的情形是,小数点后的位权应该是2的负数次方才没有误差,其它的情况都有误差。如0.5 = 2^(-1),没有误差而0.1有误差

2021-06-06 23:30:13 41

原创 笔记本安装ubunu18.04遇到的一些坑

自己电脑I7+GTX1050TI。1、首先是安装界面卡主的问题,这时在安装选择界面,按E键进入grub界面,找到LINUX开头的一行,将其中的quiet splash 改为 nomodeset;2、在安装过程中,若你的电脑为EFI,则将安装分区中的/boot分区改为EFI分区,进行安装,使用EFI分区引导;3、安装成功后,在重启的过程中若遇到卡主的情况,同样在选择系统界面按E键,然后在Linux开...

2018-06-29 22:07:58 719

原创 kNN分类算法

一、算法实施过程        (1)计算已知类别数据集中的点与当前点之间的距离;        (2)按照距离递增次序排序;        (3)选取与当前点距离最小的K个点;        (4)确定前K个点所在类别的出现频率;        (5)返回前K个点出现频率最高的类别作为当前点的预测分类。二、Python代码实现from numpy import *import operatord...

2018-03-30 09:24:35 196

原创 opencv中scalar--通道像素填充

其作用,就是为每个通道的像素赋值,取值范围为0~255;#include &lt;opencv2/opencv.hpp&gt;    using namespace cv;int main(){ Mat image1(600, 500, CV_8UC3, Scalar(0,0,255)); //Scalar函数为每个通道填充像素值(3通道) Mat image2(600, 500, CV_8U, ...

2018-03-29 19:53:39 1683

原创 腐蚀与膨胀操作

#include&lt;opencv2/highgui/highgui.hpp&gt;#include&lt;opencv2/imgproc/imgproc.hpp&gt;using namespace cv;int main() { Mat srcImage = imread("fly.jpg"); imshow("【原图】腐蚀操作", srcImage); Mat element = getS...

2018-03-19 19:50:05 748

原创 K-折交叉验证算法

当给定数据集D对于简单的训练/测试或训练/验证分割而言太小难以产生泛化误差的准确性时(因为在小的测试集上L可能具有过高的方差),K-折交叉验证算法可以用于估计学习算法A的泛化误差。数据集D包含的元素是抽象的样本z(i)(对于第i个样本),在监督学习的情况代表(输入,目标)对z(i)=(x(i),y(i)),或者无监督学习的情况下仅用于输入z(i)=x(i)。该算法返回D中每个示例的误差向量e,其均

2017-12-09 16:55:42 2191

原创 fundamental_2017_12_9

一、泛化:在先前未观测到的输入上表现良好的能力成为~。泛化误差:新输入的误差期望。(也成为测试误差)二、独立同分布假设每个数据集中的样本都是彼此相互独立的,并且训练集和测试集是同分布的。注:独立同分布(指随机过程中,任何时刻的取值都为随机变量,如果这些随机变量服从同一分布,并且互相独立,那么这些随机变量是独立同分布。如果随机变量X1和X2独立,是指X1的取值不影响X2的取值,X

2017-12-09 16:33:25 153

翻译 HLS-3for循环优化

一、对循环体的展开C语言的循环体都是折叠起来的,当综合后会顺序执行,映射到RTL的话就相当于一套电路被分时复用;进行展开的话就相当于是对电路的复制。HLS   Directive Editor->Directive->UNROOL->factor=N(N就是要展开成几份)。二、for循环合并loop regin:{add:for(int i=0;ic[i]=a[

2017-11-15 11:00:00 1229

翻译 HLS-2、接口综合

一、Block-level接口协议a) ap_ctrl_hsap_start,ap_ready,ap_idle,ap_doneb)ap_ctrl_nonec) ap_ctrl_chain二、Port-level接口协议a) ap_ovid :一般用于in-out 指针b) ap_nonec) ap_hs:包括ap_vld(使能)ap_sck(应答)三、顶层函数里

2017-11-15 09:55:27 825

翻译 HLS-1、基础概念

一、HLS设计流程源代码/测试代码---->进行仿真----->HLS综合----->RTL综合,实现------>系统测试。二、HLS数据类型HLS对传统的数据类型都支持,除此之外,HLS还添加了任意精度的数据类型,比如:C:[u]int #includeC++:ap_[u]int #include三、HLS符合数据类型a) filed_level要求所有的元素必

2017-11-15 09:48:27 338

原创 HLS-序

记录一下HLS学习过程,xilinx优酷官方账号有视频教程,也可看官方文档,UG871,UG902

2017-11-15 09:31:57 172

原创 opecv一些常用的函数学习

由于做了一个小项目,使用到了opencv,对其中用到的一些函数进行了整理。1.图像载入函数 cvLoadImage       函数 cvLoadImage 载入指定图像文件,并返回指向改文件的IplImage指针。      IplImage  *cvLoadImage(const char *filename,int iscolor);filename:待载入图像的名称

2017-11-11 21:38:55 204

转载 CPIO文件的解压与制作

cpio文件是压缩文件的一种,可以使用一下方法进行制作和解压:a)制作方法# cd /dir(需要压缩内容的文件夹)# find .|cpio -C -o > ../xxx.img# find .|cpio -H newc -o > ../xxx.img# cd ..b)解压cpio# cpio -idmv or#cpio -idmv

2017-11-11 21:26:51 1124

原创 arm系统文件的制作-去除U-BOOT头

在使用zedboard时由于其系统文件是使用u-boot引导,需要去掉U头进行编译,方法如下:u-boot引导的带U的系统文件是无法直接解压的,我们可以将U-boot头去掉这样就可以进行解压,并进一步对系统文件进行相应操作。#dd if=uramdisk.image.gz of=ramdisk.image.gz bs=64 skip=1#gunzip ramdisk.image.gz

2017-11-11 21:19:53 382

原创 线性可分与线性不可分

线性可分是模式识别里的概念阿。简单的说就是如果用一个线性函数可以将两类样本完全分开,就称这些样本是“线性可分”的。

2017-07-09 09:49:33 1853

空空如也

空空如也

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

TA关注的人

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