http://blog.csdn.net/crazyman2010/article/details/8596229一、概述本文讲述的是对H264编码且封装成MP4格式的视频流进行RTP打包过程时需要了解的一些基本知识。二、H264的基础知识1.H264的编码格式H.263 定义的码流结构是分级结构,共四层。自上而下分别为:图像层(picturelayer)、块组层(GOB layer)、宏块层(macroblock layer)和块层(block layer)。而与H.263 相比,H.264的码流结构和H.263 的有很大的区别,它采用的不再是严格的分级结构。H.264 支持4:2:0 的连 Read More
http://blog.csdn.net/crazyman2010/article/details/120620391.下载jrtplib,jthread http://research.edm.uhasselt.be/jori/jrtplib/jrtplib-3.9.1.tar.bz2 (此版本要求jthread1.3.0及以上) http://research.edm.uhasselt.be/jori/jthread/jthread-1.3.1.tar.gz2.安装cmake http://www.cmake.org/files/v2.8/cmake-2.8.11.2.tar.gz tar Read More
http://www.cnblogs.com/spider33/archive/2012/01/31/2333202.html/**hello.c--theexampleofprintf"helloworld!"inthescreenofdriverprogram*/#include#includeMODULE_LICENSE("DualBSD/GPL");/*declarethelicenseofthemodule,itisnecessary*/staticinthello_init(void){printk(KERN_EMERG"Hello Read More
http://www.cppblog.com/TianShiDeBaiGu/archive/2011/09/09/baigu.html之前偶然碰见一个需要使用C代码调用C++的成员函数的场景,于是记录下了这个需求,今天看了GECKO的NPAPI代码,找到一种方式原理:类的static成员是作为共享的方式被发布给外层的,所以不具有成员函数地址,因此它可以用来为我们转弯的调用类的成员函数提供一个机会。在static成员函数中传递类本身的指针,就可以在内部调用这个指针的具体动作(做一下强制转换)。由于static成员函数本身的作用域是属于类的public/protected的,所以它既能被外部调用, Read More
http://www.cppblog.com/TianShiDeBaiGu/archive/2012/02/10/c_cpp_mix.html项目需要对接另外两个公司的程序接口,其中一个公司使用纯C实现,一个使用C++实现,我们需要把C++的库封装给纯C的框架,C++的库值提供了C++的类头文件和自己的库,需要将C++的部分包装为纯C调用方式,提供给外部先看MakefileSRCFILES:=implementation.cppdeclaration.hmain.cOBJFILES:=implementation.omain.oCXX:=g++CC:=gccTARGET=c_cpp_mix$( Read More
http://www.cppblog.com/TianShiDeBaiGu/archive/2013/09/05/203025.html解决了什么问题:curl在使用各种方式上传文件到服务器。一般的文件上传是通过html表单进行的,通过CURL可以不经过浏览器,直接在服务器端模拟进行表单提交,完成POST数据、文件上传等功能。服务器端PHP代码:0){echo"ReturnCode:".$_FILES["file"]["error"]."";}else{if(file_exists("upload/&qu Read More
http://www.cppblog.com/API/archive/2012/03/19/168289.html这一部分的提出是为了防止失控的进程破坏系统的性能nuix和Linux跟踪进程使用的大部分资源,允许用户和系统管理员使用对进程的资源限制设置的限制有两种: 硬限制和软限制硬限制是可以在任何时候任何进程中设置 但硬限制只能由超级用户提起软限制是内核实际执行的限制,任何进程都可以将软限制设置为任意小于等于对进程限制的硬限制的值———————以下内容为转载(突然发现这方面有好资源便直接引用了)—————————getrlimit和setrlimit函数 每个进程都有一组资源限制,其中某一. Read More
http://www.cppblog.com/API/archive/2013/08/31/202894.html在 Linux 下 top 工具可以显示 cpu 的平均利用率(user,nice,system,idle,iowait,irq,softirq,etc.),可以显示每个 cpu 的利用率。但是无法显示每个线程的 cpu 利用率情况,这时就可能出现这种情况,总的 cpu 利用率中 user 或 system 很高,但是用进程的 cpu 占用率进行排序时,没有进程的 user 或 system 与之对应。可以用下面的命令将 cpu 占用率高的线程找出来:$ ps H -eo user Read More
http://www.cppblog.com/API/archive/2011/12/11/161926.html*-----------------------------------------------------------RB-Tree的插入和删除操作的实现算法红黑树的几个性质:1)每个结点只有红和黑两种颜色2)根结点是黑色的3)空节点是黑色的(红黑树中,根节点的parent以及所有叶节点lchild、rchild都不指向NULL,而是指向一个定义好的空节点)。4)如果一个结点是红色的,那么它的左右两个子结点的颜色是黑色的5)对于每个结点而言,从这个结点到叶子结点的任何路径上的黑色 Read More
http://www.cppblog.com/API/archive/2013/08/19/202633.html几天前,在CSDN论坛看到这么一则讨论:在宏定义中怎么使用可变参数?(http://expert.csdn.net/Expert/topic/2925/2925165.xml)。楼主希望能定义这样的macro:#define fun1(a, b, ...) fun2(__FILE__, __LINE__, a, b, ...)我猜楼主是想写trace,如果不能使用可变参数的macro,那么就得像MFC那样写一堆TRACE macros:// 取自 MFC 7.1 的 afx.h// Read More
http://www.cnblogs.com/ccdev/archive/2012/09/06/2673560.htmlC++堆上申请二维数组假设要申请的是double型大小m*n数组有如下方法方法一:优点:申请的空间是连续的缺点:较难理解1double(*d)[n]=newdouble[m][n]方法二:优点:容易理解缺点:申请的空间不能连续且需要多个指针才能管理double*d[m];for(inti=0;i<m;i++)d[i]=newdouble[n]; Read More
http://www.cnblogs.com/ccdev/archive/2012/09/06/2673618.html算法描述:1、先判断是否有环设置两个指针(fast,slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fast必定先进入环,而slow后进入环,两个指针必定相遇。(当然,fast先行头到尾部为NULL,则为无环链表)1boolisExitsLoop(list*head)2{3list*slow=head,*fast=head;45while(fast&&fast->next)6{7slow=slow->nex Read More
http://www.cnblogs.com/ccdev/archive/2012/09/08/2676485.html通过迭代(非递归)及递归将单链表逆序老生常谈的问题了,不过很多地方面试还是很喜欢问这个问题。实际工程中感觉用处不大,需要逆序的存储为什么要选择单链表呢?为什么不用list(inc++)或iterator(inanylanguage)?或者将数据全部推入栈中再依次弹出。说了这么多有点无聊了,参看酷壳的《我为什么反对纯算法面试》。迭代(非递归)算法描述:设置两个临时指针prev和next分别标记当前结点的前驱和后继,将当前结点的next指针指向前驱,然后把前驱指针替换为当前结点, Read More
http://www.cnblogs.com/ccdev/archive/2012/12/19/2825355.html废话不多说,常用的代码积淀下来。一、懒汉模式:即第一次调用该类实例的时候才产生一个新的该类实例,并在以后仅返回此实例。需要用锁,来保证其线程安全性:原因:多个线程可能进入判断是否已经存在实例的if语句,从而non thread safety.使用double-check来保证thread safety.但是如果处理大量数据时,该锁才成为严重的性能瓶颈。1、静态成员实例的懒汉模式: 1 class Singleton 2 { 3 private: 4 static... Read More