自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Opengl ES转场动画

转场效果一(水平或垂直替换两个纹理)//顶点着色器#version 300 eslayout(location = 0) in vec4 a_position;layout(location = 1) in vec2 a_texCoord;uniform mat4 u_MVPMatrix;out vec2 v_texCoord;void main(){ gl_P...

2020-04-24 11:35:50 973

原创 SurfaceView, GLSurfaceView,TextureView, SurfaceTexture的区别

2020-03-27 16:20:28 281

原创 OpenGL实现鱼眼矫正实时视频处理

OpenGL实时单鱼眼镜头矫正

2020-03-01 21:33:19 2947 10

原创 Android平台OpenGL实现全景图片视频播放

Android平台OpenGL ES实现全景图片和视频播放

2020-03-01 21:30:38 1237 2

原创 Windows10环境下Android studio NDK编译assimp

1.下载Assimp源码https://github.com/assimp/assimp2.安装Python2.7并配置环境变量3.确保电脑有Android SDK和NDK4.编写编译脚本,保存在assimp源码同级目录下(注,需要根据实际安装路径修改)4.1 make_standalong_toolchain_arm64.batpython D:/Android/andro...

2018-09-17 10:31:01 1072

原创 Windows10下nginx的rtmp服务器搭建

1. 下载 nginx 1.7.11.3 Gryphon 下载链接: http://nginx-win.ecsds.eu/download/nginx 1.7.11.3 Gryphon.zip,下载完成后解压,将解压后的目录命名为nginx-1.7.11.3-Gryphon2. 下载服务器状态检查程序 stat.xsl(注:直接clone到nginx-1.7.11.3-Gryp...

2018-08-29 19:34:08 25038 19

原创 ffmpeg倒放音视频

通过ffmpeg命令行进行音视频倒放,android平台同样可以以将ffmpeg集成进去实现音视频的相关编辑。1.视频倒放,无音频ffmpeg.exe -i inputfile.mp4 -filter_complex [0:v]reverse[v] -map [v] -preset superfast reversed.mp42.视频倒放,音频不变ffmpeg.exe -i inpu...

2018-08-24 11:19:25 7949 1

原创 Lame mp3 encoder Android移植

Lame源码加入到Android项目的jni,和项目直接编译加载到项目中1.下载最新lame源码,官网地址2.下载完后解压,需要对源码做适当的修改2.1拷贝源码目录下libmp3lame目录中的.c和.h文件到Android studio工程jni目录下同时拷贝include目录下的lame.h3.修改如下几个文件3.1删除fft.c文件的47行的 #include "ve...

2018-08-10 15:26:37 707

原创 (四)双向链表

1.概念由于在单向链表中,知道其中某个结点地址不能够找到其他所有的结点,所以将单向链表该为单向循环链表,这样知道其中一个结点的地址,可以找到其他每一个结点。但是,当链表中的数据特别多的时候,查找起来效率就非常低, 故,设想,如果在创建链表时,能够在结点中同时保存前后结点的地址,则可以提高效率,例如:2.节点类型typedef int datatype;typedef stru...

2018-08-06 09:22:09 165

原创 (三)单向循环链表

1.概念2.初始化3.插入、删除同单项链表一样4.遍历5.实例(用单向循环链表实现“数3出局”游戏(Josephu问题)。首先建立一个包含若干整数的单项循环链表,然后从第一个节点开始数,把数到3的那个节点删除,接着下一个节点开始数,数到3继续删除,以此类推,打印出最后剩余的那个节点)// linklist.h#ifndef _LINKLIST_H_#define _LIN...

2018-08-03 18:50:49 573

原创 (二) 单向链表

1.通常把线性表的链式存储结构体简称链表2.链表的结构3.初始化4.插入5.删除6.实现单项链表的数据逆转为实例// linklist.h#ifndef __LINKLIST_H__#define __LINKLIST_H__#include <stdio.h>#include <stdlib.h>#include <stdbool...

2018-08-03 17:30:12 363

原创 Windows下编译Android FFmpeg-3.3.8

以前的笔记重新整理了下,于是在Windows下进行了编译FFMmpeg1.环境配置,下载安装MinGW、yasm2.官方下载ffmpeg源码,我下载的是ffmpeg-3.3.83.编辑ffmpeg文件夹下面的configure文件,修改如下SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'LIB_INSTALL_EXTRA_CMD='$$...

2018-07-29 22:56:45 480

原创 Window10+Ubuntu14.04双系统安装教程

1. 准备工具如下:UltraISO、EasyBCD、ubuntu-14.04.5-desktop-amd64.iso2. U盘制作系统盘(1)打开UltraISO ,菜单栏文件-->打开-->选择系统(2)菜单栏-->启动-->写入硬盘映像-->格式化-->写入-->完成3. 将制作好的系统盘插入计算机,重启window10系统,按F2(不同品牌电脑存在一些差

2017-11-30 18:21:10 1078

原创 (一)线性表

一、数据结构的学习方法1、工具型1》目的:将现实生活中的各种复杂的数据,按照某一种方式分类,按照这种分类将这些数据存储在计算机中,然后,用各种编程语言(C语言)实现这些数据的处理。2》学习内容:1)数据的逻辑结构(数据之间的关系)---》线性结构:线性表,栈,队列---》非线性结构:树和图2)数据的存储结构体---》顺序存储按照数据的逻辑关系,将每一个数据依次存储在一块连续...

2017-11-04 18:35:20 344

原创 (四)结构体、共用体、枚举、字节对齐

一、结构体1、概念:结构体是复合的数据类型,是不同类型 数据的集合在C语言中没有具体的结构体类型,但是C语言给出了定义结构体类型的语法格式,所以结构体也成为自定义类型2、结构体类型定义的语法格式struct  {成员类型  成员名;成员类型  成员名;....    ....成员类型  成员名;};例如:定义一个学生的类型struct student

2017-11-04 17:58:56 1376

原创 (三)linux杂项

一、内存映像    在运行程序时,系统会自动的映射一块虚拟的内存,应用程序就是在这样的虚拟内存空间中运行的,如下:二、存储类型C语言中,定义变量或者数组时,都会对该变量或者数组的属性进行说明,比如,int a;//int在这里说明变量a:1)在内存中的长度,2)数据在内存中的存储方式如果我们还想知道变量a的其他属性,比如:在内存中的位置,占用内存的时间段,在程序中的使用

2017-11-04 17:47:14 624

原创 (二)数组、指针、函数

一、数组    1、一维数组        1》定义        2》初始化        3》使用        4》存储    2、多维数组        1》定义        2》初始化        3》使用        4》存储    3、变长数组    4、数组传参        地址传递:传数组名和元素个数#include

2017-11-04 17:20:26 405

原创 (一)GCC Makefile熟悉

一、GCC编译器1、概念:全称为GNU CC ,GNU项目中符合ANSI C标准的编译系统   GNU  C and C++ compiler  GNU compiler collection2、特点:1》可编译C、C++、Object C、Java、Fortran、Pascal、Modula-3和Ada等多种语言2》GCC是可以在多种硬体平台上编译出可执行程序的超级编

2017-05-06 23:56:09 447

原创 S5pv210 u-boot-2010.03移植详细教程

注:该工程不支持设备树(DTS),版本可能比较旧,但原理相似1.下载源码:u-boot-2010.03.tar.bz2ftp://ftp.denx.de/pub/u-boot/1.1解压:# tar -jxf u-boot-2010.03.tar.bz2 //解压源码#cd u-boot-2010.03 //进入U-BOOT源代码目录我们关心的板级相关文件或目录u-bo

2017-05-06 12:00:36 753

原创 Windows下编译X264,VS2015运行

1.下载安装MinGW 点击打开链接,安装yasm(区分32、64位)下载地址2.下载x264点击打开链接 3.双击运行MinGW\msys\1.0\msys.bat文件,4.解压 last_x264.tar.bz25.切换到解压完后的x264目录下6. 运行$ ./configure --enable-shared --extra-ldflags=-Wl,--outp...

2017-05-02 19:33:13 7319 3

转载 Android Studio Error:Gradle DSL method not found: 'has()'

Android studio工程下导入volley出现,如下问题:Error:Gradle DSL method not found: 'has()'解决方法:修改volley目录下bintray.gradle文件下中publish = project.has("release")为publish = project.hasProperty("release")

2017-04-26 10:32:17 736

原创 根文件系统制作

一、根文件系统制作1、源码下载我们选择的版本是busybox-1.17.3.tar.bz2下载路径为:http://busybox.net/downloads/2、解压源码$ tar  xvf busybox-1.17.3.tar.bz23、进入源码目录,修改Makefile,选择自己的交叉工具$ cd  busybox-1.17.3busybox-1.17.3$

2016-10-11 10:35:01 337

原创 字符设备驱动编程思想

linux字符设备驱动编程1,实现入口函数 xxx_init()和卸载函数 xxx_exit()2,申请主设备号  register_chrdev_region (与内核相关)3,注册字符设备驱动 cdev_alloc  cdev_init  cdev_add (与内核相关)4,利用udev/mdev机制创建设备文件(节点) class_create, device_cre

2016-10-11 10:13:07 264

原创 Samba服务器配置

samba服务的安装及配置一、安装: sudo apt-get install samba二、配置: 1、创建一个需要共享的目录,并修改权限:  lemon@ubuntu:~$ mkdir myfile  lemon@ubuntu:~$ sudo chmod 777 myfile/ -R  2、打开配置文件:  lemon@ubuntu:~$ sudo

2016-09-22 15:53:38 389

原创 NFS服务器安装配置和使用

nfs服务器的安装配置和使用:1、将已经制作好的文件系统rootfs.tar.gz拷贝到 /opt,并解压 tar -xvf rootfs.tar.gz 2、安装nfs服务器: 1》安装NFSserver端口映射和服务             sudo apt-get install nfs-kernel-server 2》先重启portmap服务:  

2016-09-22 15:49:24 548

原创 tftp服务器的安装与配置

ftp服务器的安装与配置:0、创建tftp的工作目录,并修改权限 sudo mkdir /tftpboot sudo chmod 777 /tftpboot1、安装: sudo apt-get install tftp tftpd openbsd-inetd2、打开配置文件 /etc/inetd.conf : sudo vim /etc/inetd.co

2016-09-22 15:45:05 403

原创 Ubuntu交叉工具链配置

4.5.1工具链 1、将工具链拷贝到/opt下,解压  sudo tar -xvf toolchain-4.5.1-farsight.tar.bz2 2、进入目录:toolchain-4.5.1/bin  cd  toolchain-4.5.1/bin 3、执行pwd后,复制下面的路径   /opt/toolchain-4.5.1/bin 4

2016-09-22 15:40:56 1458

原创 Ubuntu网络配置

一、IP的配置:1、查看当前IP地址:ifconfig2、修改linuxIP地址:1》打开配置文件:sudo vim /etc/network/interfaces 2》添加以下内容,如果有的话就不用添加,只需要修改address一行的IP就可以auto loiface lo inet loopbackauto e

2016-09-22 15:35:31 264

原创 (九)const关键字、指针、数组、函数

一、const关键字1、修饰基本类型变量,例如:const int a = 100;此时,在上面的初始化语句中,const对a进行限制,使得a在 程序中不能被赋值,成为只读数据,所以下面的操作是错误的a  = 200;  //错误#include int main(void){ const int a = 100; //a在程序中只读 //a =

2016-09-19 23:56:18 418

原创 (八)指针

1、概念:通常指的是存储内存地址的变量,每一个地址都要定义对应类型的指针来存储2、定义:指针指向的数据类型 * 指针名;int *p;   //p为指向int型数据的指针,或者p中可以存放int型数据的地址3、初始化:int a = 100;int *pa = &a;   //对pa初始化4、使用:1》 指针不能直接赋整型数,例如:int *p = 0x12

2016-09-19 23:41:45 261

原创 (七)数组

一、数组1、数组概念是C语言中一种复合的数据类型,是多个相同类型的数据的集合。2、数组的分类1》一维数组2》多维数组3》变长数组3、一维数组多个相同类型变量的集合。1》定义:元素的数据类型  数组名[元素的个数],元素指的是数组中的数据,例如:int array[5];    //array为数组名,数组元素为:array[0],array[1],arr

2016-09-19 23:34:02 248

原创 (六)函数

一、函数1、函数的概念:在C语言中,函数指的是具有特定功能的代码块,由函数头和函数体组成。2、函数的作用:1》避免重复写代码2》可以使程序模块化,提高程序开发效率3》便于后期对软件的更新和维护3、函数的定义:返回值类型 函数名(类型 参数名,类型 参数名,类型 参数名)     函数头{ 函数体语句;语句;......return 数据;}

2016-09-19 23:14:21 317

原创 (五)控制流

1、概念:是一些具有特定执行逻辑的复合语句(语句块/代码段),用于控制程序的执行流程。2、循环控制流1》while语句while (表达式) {     //判断表达式是否为真,真:进入while语句块中执行,执行完之后再次判断表达式,假:执行while语句块后面的语句语句1;语句2;....}#include int main(void){ int a

2016-09-19 22:58:40 337

原创 平台总线(二)

任务:1, 构建bus, device, driver2, 实现匹配方法3, 实现driver probe/* mybus.c */#include #include #include #include "desc.h"char bus_version[128] = "bus verison v1";int mybus_match(struct

2016-09-16 23:25:36 308

原创 平台总线(三)

平台总线:用于平台升级的三星: s3c2410  --------------- s3c6410 ----------- s5pv210gpio控制器            gpio控制器gpio控制器 uart  i2c spi控制逻辑方法相同:1,配置gpio寄存器    2.读写数据地址会不同三元素:总线: 开机的时候就已经创建

2016-09-16 23:16:45 609

原创 平台总线(一)

(注:基于三星S5PV210平台,Linux3.0.8内核)总线:struct bus_type: 描述一个总线对象,完成匹配struct bus_type {const char *name; //要有名字int (*match)(struct device *dev, struct device_driver *drv);//匹配方法};构建/销毁总线:int

2016-09-16 23:00:57 309

原创 (四)运算符、表达式和语句

1、运算符:1》赋值运算:=    左值和右值类型要对应,将数据存放到某个内存空间中的过程就是赋值,例如:int a,b,c;a = 100;   //将100存放到a的空间中b = a; //将a中的数据存放到b的空间中c = a + b; //将a+b的运算结果存放到c的空间中---》左值:1)在赋值号的左边,2)表示变量所对应的内存空间,3)必须是变量

2016-09-16 22:59:02 343

原创 (三)字符串和格式化IO

1、字符串字符串在C语言中只有常量没有对应的字符串类型,所以在存储时借助字符数组存储,即存储在一块连续的空间中。"helloworld"计算机在存储字符串时,会在后面自动加'\0'1》计算字符串长度:---》调用字符串函数:strlen结果:len = 10,原因:字符串处理函数strlen计算的是字符串的实际长度---》使用运算符:sizeof

2016-09-16 22:56:35 288

原创 (二)数据类型转换

不同类型的数据进行运算的时候,需要先转换成相同类型数据再运算1、隐式转换:  小类型向大类型转换, 由系统自动转换char --> short --> int ---> unsigned int ---> long --> unsigned long --->float --> double -->long double等2、强制类型转换(显式),大类型向小类型转换,在程序

2016-09-16 22:36:33 259

原创 (一)C程序实例

1、主函数写法:1》不带参数:int main(void){return 0;   //返回语句}2》带参数:int main(int argc,char *argv[]){return 0;   //返回语句}2、C语言中的语句:1》定义语句:int a;2》赋值语句:a = 100;3》初始化语句:定义的同时赋值int x =

2016-09-16 22:26:06 302

nginx-rtmp-win32(hls&live&save).zip

nginx rtmp流媒体服务器

2020-03-24

OpenGL着色语言 橙宝书 源代码

OpenGL着色语言 橙宝书 源代码

2017-08-27

S5PV210 u-boot移植详细教程及移植好工程

S5pv210 u-boot移植好工程及详细教程说明文档..............................................................

2017-05-06

s5pv210 u-boot-2010.03移植详细教程

s5pv210 u-boot-2010.03移植详细教程

2017-05-06

mp4info+yuv分析工具

mp4info+yuv分析工具

2017-04-24

根据重力感应旋转屏幕支持4个方向旋转

根据重力感应旋转屏幕支持4个方向旋转

2017-04-24

底部导航栏Tab切换方法

底部导航栏Tab切换方法,高仿微信底部导航栏任意切换..............................................

2017-04-24

<<C++设计模式精解>>

C++设计模式精解.................................................................................................................

2017-04-24

空空如也

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

TA关注的人

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