自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (13)
  • 收藏
  • 关注

原创 ijkplayer和ffplay在播放ts流时起播慢的原因分析

ijkplayer和ffplay在播放ts流时起播慢的原因分析1.前言2.排查过程2.1 avformat_find_stream_info函数2.1 mpegts.c文件分析3.解决过程1.前言在优化ijkplayer起播时间的过程中,发现设置probesize和analyzeduration可以减少起播时间,在播放4k ts流时,发现需要将probesize和analyzeduration设置的很大才能找到音视频信息(通过av_dump_format)并播放,并且发现设置的很大的时候播放1080P的

2022-04-27 10:45:50 1886

原创 android native_window的显示问题

android native_window的显示问题1.前言2.问题的出现3.解决过程1.前言在将android surface转换为native_window后,显示图片不正常。2.问题的出现在android运行如下代码后,显示并不是全红色,后面有一部分未显示红色,在显示图片时也是一样的现象,某些分辨率的图片可以正常显示,某些不正常: ANativeWindow_Buffer wbuf; ANativeWindow *native_window = ANativeWindow_fr

2021-08-23 11:53:22 1472

原创 VS2015调试ffmpeg源码

ffmpeg版本:3.4vs版本:2015构建工程方法:下载ffmpeg_vs2015.tar.gz,解压: tar -zxvf ffmpeg_vs2015.tar.gz。下载并安装VS2015。安装NASM和YASM汇编器,右键ffmpeg_vs2015/ShiftMediaProject/VSNASM/install_script.bat和ffmpeg_vs2015/ShiftMediaProject/VSYASM/install_script.bat使用管理员运行,若提示安装失败,按照f

2021-03-30 15:04:38 261

原创 ijkplayer编译ffmpeg时加入libxml2库时出现: ERROR: libxml-2.0 not found using pkg-config, 解决方法及原因

FFMPEG编译问题前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npi

2021-03-08 12:05:44 3177 4

原创 RTSP中TS流结构分析

RTSP中TS流结构分析UDP数据包整体结构RTP Header结构TS Header结构PAT结构PMT结构PES Header结构ES层Wireshark抓取TS包UDP数据包整体结构在使用UDP传输TS流时,整个数据包结构如下:RTP Header结构RTP结构如下图:各字段的含义如下:字段含义VRTP协议的版本号,2位,当前协议版本号为2P填充标志,1位,如果P=1,则在该报文的尾部填充一个或多个额外的八位组X扩展标志,1位,如果X=1,则在RT

2020-12-22 18:31:48 1905

原创 linux内核链表list_head的原理与使用

linux内核链表list_head的原理与使用一般的链表Linux内核中的链表list_head主要的操作内核链表的使用Liunx内核链表的原理一般的链表一般的链表如下,它是将数据结构塞入链表,这样的话,每一种数据结构都需要重新定义。struct student_node { char name[20]; int age; struct student_node *next; st...

2020-04-20 23:13:29 774

原创 linux设备驱动框架图(platform,i2c,设备树)

2020-04-04 20:35:26 799

原创 ARM中断处理过程,图解,IMX6ULL

ARM中断处理过程,图解,IMX6ULL可能有误,欢迎指出错误,谢谢。

2020-03-31 16:19:32 439

原创 100ASK-IMX6ULL开发板使用busybox构建根文件系统

100ASK-IMX6ULL开发板使用busybox构建根文件系统 1. 为什么使用busybox?2. 编译busybox构建根文件系统2.1 构建环境:2.2 配置编译busybox3. 完善根文件系统3.1 创建/etc/init.d/rcS文件3.2 创建/etc/fstab文件3.3 创建/etc/inittab文件3.4 创建/etc/resolv.conf文件4. 添加自己的开机lo...

2020-03-22 22:50:00 1306 1

原创 100ASK-IMX6ULL开发板移值NXP官方Linux

100ASK-IMX6ULL开发板移值NXP官方Linux1.开发环境2.编译下载NXP官方Linux2.1 编译官方Linux2.2 通过tftp下载测试官方的Linux3.移值NXP官方Linux3.1 添加开发板配置文件和设备树文件3.1 LCD驱动修改3.2 网络驱动修改3.3 测试修改后的Linux1.开发环境gcc: 100ask_imx6ull-sdk\ToolChain\gc...

2020-03-22 18:46:34 3161 2

原创 100ASK-IMX6ULL开发板移值NXP官方UBOOT

100ASK-IMX6ULL开发板移值NXP官方UBOOT1. 开发环境2. 在UBOOT中添加自己的开发板2.1 添加开发板配置文件2.2 添加开发板对应的头文件2.3 添加开发板对应的板级文件夹2.4 修改UBOOT图形界面配置文件2.5 编译下载测试新添加的开发板3. LCD驱动修改3.1 LCD背光和RESET引脚修改3.2 LCD参数配置3.3 编译测试修改后的UBOOT3.4 其它修改...

2020-03-19 00:31:42 5478 3

原创 C++学习笔记四、C++多态和虚函数的实现机制

目录4.1 虚析构函数的必要性4.2 纯虚函数和抽象类4.3 C++的虚函数表,多态的实现机制4.1 虚析构函数的必要性将基类的析构函数声明为虚函数后,派生类的析构函数也会自动成为虚函数。这个时候编译器会忽略指针的类型,而根据指针的指向来选择函数;也就是说,指针指向哪个类的对象就调用哪个类的函数。pb、pd 都指向了派生类的对象,所以会调用派生类的析构函数,继而再调用基类的析构函数。如此一来也...

2018-12-13 16:20:58 361

原创 C++学习笔记三、C++继承与派生

目录3.1 C++继承时的名字遮蔽3.2 C++继承时的内存模型3.3 有成员变量遮蔽时的内存分布3.4 多继承3.5 多继承时的内存模型3.1 C++继承时的名字遮蔽如果派生类中的成员(包括成员变量和成员函数)和基类中的成员重名,那么就会遮蔽从基类继承过来的成员。所谓遮蔽,就是在派生类中使用该成员(包括在定义派生类时使用,也包括通过派生类对象访问该成员)时,实际上使用的是派生类新增的成员,而...

2018-12-13 10:58:42 368

原创 C++学习笔记二、C++类和对象

目录2.1 C++对象的内存模型2.22.1 C++对象的内存模型直接看代码:#include <iostream>#include <string.h>using namespace std;class Test {public: int m_i; char m_c; int m_n; Test(){};

2018-12-12 16:05:31 285

原创 C语言调用C++中的函数,extern "C"的含义

C++编译器在将cpp文件编译成库时,导出的函数名会改变,成员函数会通过加一些元素变成全局函数,如果这时候我们需要用C语言调用C++的函数,就有了一个问题,那就是不知道C++库中导出的函数名,这是由编译器决定的,这个时候就需要用到extern关键字。例子:test.cpp:int add(int a, int b){ return a+b; }编译:g++ -o tes...

2018-12-12 14:57:27 9960 7

原创 C++学习笔记一、C++初步

目录1.1 C++命名空间1.2 C++中的const1.2.1 C++中的const更像编译阶段的define1.2.2 C++中全局const变量的可见范围是当前文件1.1 C++命名空间在函数内部使用namespace:#include <iostream>#include <string>int main(){ //声明命名空间std u

2018-12-12 11:45:11 300

原创 安卓强指针sp的作用和用法

在安卓中,很多地方都用到了android::sp<XXX>这种东西,sp其实是一个模板类,实现了强指针,在C++中,如果我们new了一个对象,但是如果在该对象已经没用的时候没有delete掉,那么该对象就会一直占用内存,导致内存泄露,比如下面的程序:class A{public: A() { printf("A::A()\n"); } void show()...

2018-04-17 17:21:47 8690 4

原创 Git学习笔记

       前段时间学过Git,看的廖雪峰老师的教程,感觉通俗易懂很不错,地址:https://www.liaoxuefeng.com,今天又重新看了一遍,在这里记录一下重点。        Git介绍就不多说了,可以将多人协作开发项目变得很简单,安装Git: sudo apt-get install git,如果要将自己写代码并需要保存到git服务器,假如我的代码文件夹是src,步骤如下:  ...

2018-03-16 16:18:21 169

原创 windows下C语言实现自动版跳一跳详细教程

最近的微信小游戏跳一跳很火热,朋友圈很多人都上千分,自己也想着搞个辅助玩一玩,然后看了网上的很多辅助教程,但是大都是python写的代码,python好处很多,但是要下载很多依赖库,很多库又是国外的,无法下载,要运行起来就有很多困难,于是就想写一个C语言版本的辅助,这里参考了wangshub大神的python代码,链接:https://github.com/wangshub/wechat_jump

2018-02-03 23:42:59 4434

原创 一个操作系统的实现笔记2:计算机的启动过程

在我们按下电脑电源键后,发生了什么?为什么过了一会儿电脑就出现漂亮的界面,然后我们就可以操作了呢。其实我们按下电源键之后无非就是CPU上电,然后取指令执行,那么CPU刚开始上电在哪里取指令执行呢?首先X86架构CPU在上电时会从FFFF:0000地址处取得第一条指令并执行,这个地址是实模式下的地址,它会被转换成0xFFFF0,这个地址就是CPU引脚中的A0-A19,好了,CPU地址引脚输出0xff

2017-09-19 16:05:02 539

原创 一个操作系统的实现笔记1:环境搭建

1、在虚拟机上装好linux,如ubuntu。2、在ubuntu上安装bochs。虚拟机安装linux就不说了,网上很多教程,说一下在ubuntu下安装bochs方法,先下载bochs源码:http://download.csdn.net/download/u014783685/9985590,然后将bochs-2.4.5.tar.gz复制到ubuntu,依次执行以下命令:tar xv

2017-09-19 14:55:35 492

原创 子网掩码的作用

子网掩码是局域网中必不可少的部分,当一台主机A向B发送信息时,主机A将目标IP(B的IP)和自己的子网掩码相与,得出的是B的网络号,然后将B的网络号和自己的网络号相比,如果相等就说明在同一个局域网,可以直接通信,直接把目标B的MAC写入数据链路层头部,如果不相等就说明不在同一个网络,就将目标MAC地址改为网关的MAC地址,发送给网关

2017-09-08 09:47:20 535

原创 QT和linux实现简易远程聊天工具

1.实现功能:打开客户端有一个登陆窗口,有登陆,注册两种功能(bug肯定很多),登陆成功会在左边显示在线用户数量和列表,点击对应的用户名即可给该用户发送消息,客户端还可以记录聊天记录,如果将服务器运行于云服务器或有公网ip的linux上,即可实现任意两台电脑之间的消息通信。2.使用方法:解压chat.zip,将linuxserver文件夹复制到服务器上,在shell中执行mak

2017-08-23 21:16:57 2051 3

原创 实现C++中的cout

在学习C++时,一直很好奇cout输出时用代码如下:out.h:#ifndef OUT_H#define OUT_Hnamespace mystd{ class mycout { public: mycout operator (const char * str); }; extern mycou

2017-08-20 17:01:02 1074

原创 linux下使用open(),write(),给bmp图片打马赛克

本程序用于在linux下使用文件操作对bmp图片进行打马赛克,效果很不错。对于bmp格式,只需要知道这两点,1,偏移为18byte的地方保存了bmp图片的宽度和高度,分别占4byte,2,偏移为54byte的地方为图片的数据区,若为24位彩色图,则一个像素占3byte空间。程序如下:/*====================================================

2017-07-26 13:45:38 2691 2

原创 原始socket实现局域网ARP欺骗

本文参考了http://blog.chinaunix.net/uid-23069658-id-3280895.html, wjlkoorey258大神的文章,感谢ARPwjlkoorey258,欺骗的原理其实很简单,在局域网中,各个主机之间的通信是通过MACA地址识别的,比如:主机A要给B主机发送数据,主机A将封装好了后的数据包的物理链路层里面的targetMAC地址写入B的MAC地址,这样B

2017-07-17 11:33:39 1777

原创 FPGA实现FIR滤波器

1、FIR滤波器总体设计本设计是基于FPGA实现一个8阶的FIR数字低通滤波器。本次设计首先利用MATLAB中的FDAtool工具设计出一个采样频率为5KHZ、截止频率为1KHZ的FIR低通滤波器,通过FDAtool导出8点系数,然后将系数进行放大、取整,以便于在FPGA中使用,最后通过QuartusII进行Verilog语言编写滤波器算法,然后通过Modesim仿真结果和MATLAB仿真结果

2017-07-05 17:54:38 51586 39

原创 为什么定积分可以用原函数来计算?

最近看高数,看到定积分时,原函数可以用来求面积,一直没搞懂为什么,看微积分基本公式,让我难以想象出图形,本人太笨,大神勿喷 定积分可以用来计算面积,计算方法就是求出原函数,然后代入上下限值相减即可,那么为什么原函数代入上下限值相减就可以求出面积了呢?一个图形的面积可以表示成下图:图中f(x)=x^3,如果要求0-2范围内图形的面积,将x分成N等分,N->+∞,那么可以将图形

2016-12-09 13:09:10 13256 4

原创 《一个操作系统的实现》笔记一,GDT(全局描述符)

一个操作系统的实现,于渊

2016-11-21 13:42:54 1432

原创 从零开始学习FFT(快速傅里叶变换) 这也是我学习dft算法的心得,谢谢各位

本文是从最基础的知识开始讲解,力求用最通俗易懂的文字将问题将的通俗易懂,大神勿喷,多多指教啊,虽然说是从零学习FFT,但是基本的数学知识还是要有的,sin,cos,等。       FFT(快速傅里叶变换)其本质就是DFT,只不过可以快速的计算出DFT结果,要弄懂FFT,必须先弄懂DFT,DFT(DiscreteFourier Transform) 离散傅里叶变换的缩写,咱们先来详细讨论D

2016-03-03 20:45:27 44656 32

原创 DFT算法的理解和实现,望各位高手指点指点(谢谢)

DFT的公式:    其中X(k)表示DFT变换后的数据,x(n)为采样的模拟信号,公式中的x(n)可以为复信号,实际当中x(n)都是实信号,即虚部为0,此时公式可以展开为:      从这个公式可以看出,变换后的数据就是原信号对cos和sin的相关操作,即进行相乘求和(连续信号即为积分),为什么我要将写在后面呢?因为我觉得在对cos和sin进行相关操作时,k代表和频率为多少的

2016-01-12 00:32:09 5443 2

ffmpeg_vs2015.tar.gz

ffmpeg_vs2015.tar.gz

2021-03-30

busybox-1.29.0.tar.bz2

busybox1.29.0,用于构建嵌入式根文件系统

2020-03-22

linux-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2

imx6ull nxp官方的Linux系统,可用于移值到正点原子,100ask等的imx6ull的开发板上

2020-03-22

uboot-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2

NXP官网的IMX6ULL U-BOOT,版本:2016.03-2.1.0,可移值到正点原子开发板,百问网开发板等

2020-03-18

uboot-imx-2016.03-2.1.0-g4e04879-v1.2.tar.bz2

NXP官网的IMX6ULL U-BOOT,版本:2016.03-2.1.0,可移值到正点原子开发板,百问网开发板等

2020-03-18

安卓智能指针测试 spwp.tar

包含RefBase.h,RefBase.cpp,WeakPointer.h,StrongPointer.h,LightRefBase,模拟安卓原子操作的android_atomic.cpp,android_atomic.h,所有文件组成了安卓智能指针sp,wp,LightRefBase

2020-03-18

跳一跳辅助工具

跳一跳辅助工具,自动运行微信跳一跳小游戏...........................................................

2018-02-03

adb安卓手机控制工具

adb工具,可以用于控制安卓手机,点击屏幕,获取屏幕信息等等

2018-02-03

bochs-2.4.5.tar.gz

bochs虚拟机,可以调试x86汇编代码,它完整的模拟了一台x86计算机,可以调试自己的操作系统................................................................................................

2017-09-19

linux实现的简易网络文件传输工具

linux实现的简易网络文件传输工具

2017-08-23

linux下原始socket实现ARP局域网欺骗工具

linux下原始socket实现ARP局域网欺骗工具

2017-08-23

QT和linux简易远程聊天源代码

QT和linux简易远程聊天源代码

2017-08-23

labview完全自学手册

labview完全自学手册

2016-05-24

空空如也

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

TA关注的人

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