自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Eyrane的博客

编程、视频编解码

  • 博客(134)
  • 资源 (15)
  • 收藏
  • 关注

原创 C++——右值引用

在c++中,临时对象不能作为左值,但可以作为常量引用const & ++i = 3; // ok i++ = 3; // error C2106: “=”: 左操作数必须为左值1.新标准为c++带来了一个新的左值类型:带名右值引用(T&& 这是一个左值,只不过她的类型是右值引用,只能绑定右值 );带来了一个新的右值类型:无名右值引用 (std::mo...

2018-06-01 11:24:42 306

原创 C++——深拷贝、浅拷贝

#include <iostream>using namespace std;class CExample {private:  int a;public:  CExample(int b)  { a=b;}  void Show ()  { cout<<a<<endl; }};in...

2018-06-01 10:00:14 289

转载 线程和进程

https://www.cnblogs.com/wuchanming/p/3992395.html?utm_source=tuicool&utm_medium=referral进程是系统分配资源的基本单位,同一进程中的所有线程共享该进程的所有资源。 进程可以包含多个线程。 进程拥有资源,线程不拥有,但可以访问。互斥:线程间访问资源的排他性。 同步:线程间的制约关系,一个线程的...

2018-05-24 16:11:18 288

转载 大端和小端

https://www.cnblogs.com/berry/articles/1588084.html大端:高字节存储在低地址,低字节存储在高地址 小端:高字节存储在高地址,低字节存储在低地址intel芯片是小端存储;单片机是大端存储...

2018-05-24 15:39:25 3195

转载 使用移位运算和加减法实现乘除法

https://blog.csdn.net/yabiaoao/article/details/51088740

2018-05-24 10:00:30 7479

原创 字符串倒序和单词逆置

字符串倒序#include <stdio.h>#include <string.h>char* str_reverse(char* str){ int n = strlen(str) / 2; int i = 0; char tmp = 0; for(i = 0; i < n; i++) { t...

2018-05-22 11:24:06 1335

原创 删除字符串中的子串

输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。 输入样例: Tomcat is a male ccatat cat 输出样例: Tom is a male#include<stdio.h>//Tomcat is a male ccatat//catint main (){ char s1[81], s2[8...

2018-05-22 10:45:16 15325 2

原创 c语言——变量的地址

#include <stdio.h>#include <stdlib.h>#include <string.h>void main(){ char s[] = "123456"; char d[] = "123"; printf("%d %d\n&

2018-05-21 18:33:09 4586 1

原创 printf("%f",5)的输出结果

#include <stdio.h>void main(){ printf("%f\n",5); printf("%d\n",5.01); printf("%f\n", (float)5); printf("%f\n", 5.f);}printf函数不会进行任何类型转换,它只是从内存中读出你所提供的元素的值(按照%d,%f...

2018-05-17 08:50:01 4742

原创 卷积神经网络学习2

经典结构: 感受野:类似神经元只接受其所支配的刺激区域内的信号。 分布式表示:每个语义概念由许多分别在不同神经元中被激活的模式表示,而每个神经元又可以参与到不同的语义概念的表示中去。即“分布式表示”与神经元是一个多对多映射。如输入图像为224*224,最后一层汇合层可得到7*7*512的响应张量,512为最后一层卷积核的个数,对应了512个不同的卷积结果(512张特征图或通道)。对于某个模...

2018-05-13 11:28:09 421

原创 卷积神经网络学习1

综述: CNN—>深度学习—>表示学习—>机器学习—>人工智能 机器学习是人工智能的一个分支,致力于研究如何通过计算的手段,利用经验来改善计算机自身的性能,通俗点就是机器的自我学习:利用经验提取出特征,利用特征构建模型。 特征的提前是复杂的过程,机器自动提取叫做“表示学习”,深度学习是其中的一个经典代表。 深度学习:输入为原始数据,经过层层抽象将自身任务所需的特征提...

2018-05-12 21:56:28 2913

原创 c语言基础题

指针和引用: 引用是一个对象的别名,没有分配内存,但指针有内存;引用必须初始化,与对象绑定,但指针可以不初始化;引用初始化后不能改变与其绑定的对象,但指针可以指向新的地址。int a,b,*p,&r=a;//正确r=3;//正确:等价于a=3int &rr;//出错:引用必须初始化p=&a;//正确:p中存储a的地址,即p指向a*p=4;//正确:p中存的是a...

2018-05-11 21:53:32 157

原创 线程同步、条件变量pthread_cond_wait

linux下的c语言编程有多种线程同步机制,最典型的是条件变量(condition variable) pthread_cond_init (pthread_cond_t *cond, const pthread_condattr_t *attr);//创建条件变量 pthread_cond_wait (pthread_cond_t *cond, pthread_mutex_t *mutex)...

2018-05-11 10:50:51 273

转载 static和extern

c语言中的 static: 修饰局部变量:存放在静态数据区,生命周期位整个程序结束,但作用于仍为函数局部。 修饰全局变量:无法被同一工程其他源文件访问。 修饰函数:与全局变量类似。 extern:可被同一工程其他源文件访问c++中static: 修饰类中函数:表示该函数属于一个类,而不是此类的任何特定对象。 修饰类中变量:表示该变量为所有对象所有,在存储空间中只有一个副本。要调...

2018-05-10 15:19:15 1389

原创 C++——多线程互斥锁

#include<Windows.h>#include<iostream>using namespace std;DWORD WINAPI MyThread2(LPVOID lpParamter){ while (1) { cout << "MyThread2 Runing" <

2018-05-10 15:05:42 797

原创 ffmpeg——无法生成ffplay

在ubuntu中安装ffmpeg 以前的ubuntu中编译ffmpeg时,无法生成ffpaly,这次安装了SDL2,重新编译就有ffplay。 下载解压SDL2安装包,进入目录:./configure make make install 用以下程序验证是否能用SDL的相关函数:#include <stdio.h>#include </usr/in...

2018-05-08 15:44:24 571

原创 ffmpeg——ffserver的一个简单demo

ffmpeg和ffserver配合使用可以实现实时的流媒体服务。ffmpeg,负责媒体文件的transcode工作,把你服务器上的源媒体文件转换成要发送出去的流媒体文件。ffserver,负责响应客户端的流媒体请求,把流媒体数据发送给客户端。ffserver.conf,ffserver启动时的配置文件,在这个文件中主要是对网络协议,缓存文件feed1.ffm(见下述)和要发送的流媒体文件...

2018-05-08 15:36:31 10410 3

原创 ffmpeg——decodevideo的一个demo

doc\examples文件夹中的decode_video.c为例: main—>avcodec_find_decoder—>av_parser_init—>avcodec_alloc_context3—>avcodec_open2—>av_parser_parse2—>decodeint main(int argc, char **argv){ ...

2018-05-08 11:00:09 2828

原创 ffmpeg——url初始化

URLContext中是对具体资源文件进行操作的上下文,URLProtocol则是在将资源进行分类的基础上,对某一类资源操作的函数集。typedef struct URLContext { const AVClass *av_class; /**< information for av_log(). Set by url_open(). */ const struc...

2018-05-08 10:58:27 1623

原创 ffmpeg——rtsp

void av_url_split(char *proto, int proto_size, char *authorization, int authorization_size, char *hostname, int hostname_size, int *port_ptr, ...

2018-05-08 10:05:37 838

原创 字符串数组

一,初始化 定义一个数组char a[10]; 怎么给这个数组赋值呢? 1、定义的时候直接用字符串赋值 char a[10]=”hello”; 2、对数组中字符逐个赋值 char a[10]={‘h’,’e’,’l’,’l’,’o’}; 3、利用strcpy char a[10]; strcpy(a, “hello”);易错情况: 1、char a[10]; a[10]=”h...

2018-05-08 09:29:46 916

原创 url

http://mail.163.com/index.html1)http://:这个是协议,也就是HTTP超文本传输协议,也就是网页在网上传输的协议。2)mail:这个是服务器名,代表着是一个邮箱服务器,所以是mail.3)163.com:这个是域名,是用来定位网站的独一无二的名字。4)mail.163.com:这个是网站名,由服务器名+域名组成。5)/:这个是根目录,也就是说...

2018-05-08 09:07:04 192

原创 c++——多线程

头文件#include<pthread.h>函数声明int pthread_create(pthread_t *tidp,const pthread_attr_t *attr,(void*)(*start_rtn)(void*),void *arg);参数 第一个参数为指向线程标识符的指针。 第二个参数用来设置线程属性。 第三个参数是线程运行函数的起始地址。 ...

2018-05-07 16:11:24 161

原创 cc gcc g++

gcc:GNU Compiler Collection,原名为Gun C语言编译器,因为它原本只能处理C语言,但gcc很快地扩展,包含很多编译器(C、C++、Objective-C、Ada、Fortran、 Java),可以说gcc是GNU编译器集合。g++ 是C++编译器。cc 是 Unix系统的 C Compiler,一个是古老的 C 编译器。而 Linux 下 cc 一般是一个符号连...

2018-05-07 15:24:15 307

原创 GDB

下载安装gdb,sudo apt-get install gdb(先要sudo apt-get update )如有tst.c文件,cc -g tst.c -o tst后生成tst文件gdb //进入gdbfile tst //gdb进入tst文件r //运行runb 18 //在第18行打断点b main //在main()函数的开头设置断点c //继续运行...

2018-05-07 14:51:01 281

原创 ffmpeg——TS流解析

RTSP(Real Time Streaming Protocol),实时流传输协议,是TCP/IP协议体系中的一个应用层协议,该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或UDP完成数据传输。实时传输协议RTP(Real-time Transport Protocol)是一个网络传输协议,RTP协议详细说明了在互联...

2018-05-07 09:34:20 7903

原创 ffmpeg——ts相关信息

1.ES PES TS TS流与PS流的区别在于TS流的包结构是固定长度的,而PS流的包结构是可变长度。 PS包与TS包在结构上的这种差异,导致了它们对传输误码具有不同的抵抗能力。在信道环境较为恶劣,传输误码较高时,一般采用TS码流;而在信道环境较好,传输误码较低时,一般采用PS码流。由于TS码流具有较强的抵抗传输误码的能力,因此目前在传输媒体中进行传输的MPEG-2码流 基本上都采用了TS...

2018-05-07 09:30:29 1479

原创 数据结构——树

http://blog.51cto.com/9291927/2068745树的定义:除根结点以外的其他结点划分为m(m>=0)个互不相交的有限集合。 树的度、前驱和后继、层次、有序性 森林(多个互不相交的树)...

2018-05-04 18:01:39 131

原创 视频播放出现卡顿原理

视频卡顿的原因: 1.ddr频率不够 2.其中一个模块太慢 3.堵车了重点以rkvdec分配的带宽不够进行分析: 可能有三个原因: a.ddr剩余的带宽超过rkvdec所需的 b.由于每次读取不只读取所需的,比如你需要10个,但会读取100个,造成带宽浪费 c.跳转浪费,比如宏块的上下行像素并不是连续存储的,需要跳转。以4K/60HZ(10bits)的片源为例:3840*...

2018-05-04 10:09:42 9941

原创 ffmpeg——h263、mpeg2、hevc

gstlibav中h263、mpeg2、hevc中decode_frame这个函数。 以下是h263的参考帧和DPB变化过程:

2018-05-04 10:01:37 1580

原创 ffmpeg-----流程图

从读包、解析、到解码。包以ts方式封装。

2018-05-04 09:57:59 1722

原创 ffplayer与mpp的对接

ffplayer在hwprepare()最终会调用到mpp中的init()

2018-05-03 09:20:12 340

原创 ffplayer——dlopen dlsym dlclose

函数说明: http://www.cnblogs.com/Anker/p/3746802.htmlDecoderVideo::initVpuCodecContext(VpuCodec** vpu_codec){ c->open_codec = (VpuCodecOpenFactory) dlsym(gRkVpuLibHandle, "vpu_open_context");//...

2018-05-03 08:52:00 315

原创 mpp——编译和运行

一,编译 1.用secureCRT登陆服务器,然后进入mpp/build/android/arm文件 2.vim make-Android.bash(该步骤用于修改NDK路径,若路径正常则不用管) 3.source make-Android.bash(或./make-Android.bash)//生成libmpp.so和libvpu.so二,运行 在cmd中操作 1.adb remo...

2018-05-03 08:47:05 3916 3

原创 ffplayer——FFMPlayer::start() FFMPlayer::stop()

status_t FFMPlayer::start(){ int status = getCurrentStatus(); if (status == PLAYER_PREPARED) { if (mMessageQ.get() != NULL) { enqueueMessage(new MessageStart(NULL)); //创建类...

2018-05-03 08:45:52 708

原创 ffplayer——说明

prepareAsync:主线程不断产生packet,放入PacketQueue* mQueue;//av_read_framestart:视频解码形成从mQueue中取出一个packet,然后对此包进行操作://decode 在mpp中,该packet会进入mpp_list *mPackets;//decode_sendstream 从mpp_list *mFrames中...

2018-05-02 15:38:13 2819

原创 ffplayer——render流程和buffer分配

采用显示和解码共享内存机制,相比较与旧的机制有速度快、IO吞吐量低的特点。在主线程中: FFMPlayer::prepareVideo()–>initRender(mColorFormat, 0,HW);—–>checkReAllocateBuffers(decoderType, isInfoChange);———->mNativeWindowBufferAll...

2018-05-02 15:37:46 1111

原创 ffplayer——显示线程Threadproc(start)

status_t FFMPlayer::doStart(){ if (pfrmanager) { pfrmanager->start(this); pfrmanager->play(); } SAFE_CALL_STARTASYNC(mDecoderVideo); ret...

2018-05-02 15:36:15 484

原创 ffplayer——消息线程sched_thread(setDataSource)

status_t FFMPlayer::setDataSource(int fd, int64_t offset, int64_t length){ startMessageQueue();//消息队列 mFd = fd;//int FFMPlayer::mFd; mUri = &path[0]; mOffsetLength = length;...

2018-05-02 15:35:38 307

原创 ffplayer——视频解码线程startThread(start)

FFMPlayer::start()会调用enqueueMessage(new MessageStart(NULL));创建类型为CMD_START的meg,然后将该meg放入mQueue。根据meg的类型会调用FFMPlayer::doStart(),该函数会调用SAFE_CALL_STARTASYNC(mDecoderVideo);即DecoderVideo::startAsync()...

2018-05-02 15:34:53 453

adb_1.0.39.exe

该adb.exe的版本为1.0.39,更新操作参考:https://blog.csdn.net/u012868357/article/details/80105939

2018-04-27

h263文档.pdf

ITU 的电讯标准化组织 H.263 建议 低比特率视频通讯编码

2018-03-20

视频编码标准mpeg2

包含了系统级别的概述、PES、mpeg2视频比特流各层语法。

2018-03-20

vp8-bitstream.pdf

VP8 Data Format and Decoding Guide Google On2 September 23, 2010

2018-03-20

google软件测试之道

google软件测试之道.pdf 黄利等译

2018-03-15

Python核心编程

Python核心编程 pdf 第二版 宋吉广 译 人民邮电出版社

2018-03-14

Android多媒体编程从初学到精通 .苗忠良等.扫描版.pdf

Android多媒体编程从初学到精通 .苗忠良等.扫描版.pdf

2018-03-14

程序员面试宝典

程序员面试宝典 程序员面试常用书籍 对程序员面试有很大帮助

2018-03-14

SQL Server 2008中文版

SQL Server 2008中文版标准教程 清华大学出版社 用于学习sql的教材

2018-03-14

xshell5+nssock2.dll

包含了非商业版本的xshell,以及使用时缺少的nssock2.dll

2018-01-03

3D-warping/DIBR

支持balloons序列从左视点3D-warping到中间视点

2017-04-07

yuv文件下采用和插值

opencv不支持yuv文件直接操作,要先将yuv转换成rgb;调用cvPyrDown进行下采样;调用cvResize进行插值

2017-04-06

YUV和RGB相互转换

将YUV420转换为RGB,将RGB转换为YUV420

2017-04-06

HM14.0(HEVC仿真平台)

这个是有关HEVC的代码,目前已更新至HM14.0,是学习HEVC的好资源

2014-05-11

bmp文件的复制

完成将一个bmp文件复制到另一个bmp文件中去。

2013-11-17

空空如也

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

TA关注的人

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