自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

evsqiezi

思科工程师,做gstreamer,h264,做做笔记。

原创 opencv做数据转换

float* pData; cv::Mat mask = cv::Mat(output_h, output_w, CV_32FC1, pData); 这个时候mask.data跟pData一样。 for (int j = 0; j < curh; j++) { for (in...

2020-05-23 22:14:09 12 0

转载 windows下调试ffmpeg

(1)、使用git clone https://github.com/ShiftMediaProject/FFmpeg.git,下载代码,例如路径为:E:/msvc/source/FFmpeg。 (2)、启动git CMD切换到FFmpeg下的SMP下,运行脚本project_get_depend...

2020-04-19 22:19:09 45 0

原创 OpenH264帧内预测

//16*16亮度的DC,为上面跟左面32个值的平均值。 void WelsI16x16LumaPredDc_c (uint8_t* pPred, uint8_t* pRef, const int32_t kiStride) { int32_t iStridex15 = (kiStride &...

2020-03-03 10:06:38 52 0

原创 openh264--熵编码

依次介绍CAVLC, CAVLC g_kuiVlcCoeffToken是CoeffToken,TotalCoff,TrailingOnes的映射关系,是个标准表, 例:If(TotalCoeffs==5&&TrailingOnes==3&&0<=NC&l...

2020-02-14 17:39:18 52 0

原创 openh264--基础库

依次介绍bit数组, bit数组 /* * Bit-stream auxiliary reading / writing */ typedef struct TagBitStringAux { uint8_t* pStartBuf; // buffer to start position ...

2020-02-14 16:52:00 64 0

原创 IT英语邮件

简写 POC Proof of Concept的缩写,意思是为观点提供证据 正式表达 These changes will go into effect on January 6, 2020. 要在什么时候起作用。 更好的翻译 according to the doc of the li...

2019-09-05 22:36:32 75 0

转载 glib库数组GArray

我们用函数g_array_new()创建一个数组,它有三个参数:第一个表示是否在数组的尾部添加'/0'结束符; 第二个表示当分配空间给数组元素时是否要把它初始化为‘0’;第三个表示数组里每个元素的长度。 我们用g_array_append_val()向数组中加入数据,这个函数...

2019-08-06 20:01:52 314 0

原创 windows应用软件

改文为笔记,仅供参考。 firefox 1更改字体 about:config -> layout.css.devPixelsPerPx 找到该选项后,修改该选项的数值,该选项的值一般可以为-1、0、1。当然我们可以修改为其他值,例如1.5表示缩放比为150%,1.2为120%,以此...

2019-07-16 09:57:58 142 0

转载 gstreamer时间管理

PCM早些时候一般用于电话语音传输,电话语音的频率范围是从0-3.4kHz,根据奈奎斯特采样,只要高于最高频率的两倍,就可以实现声音不失真的还原,故只要采样率大于3.4k*2,即可还原电话语音,采用8000Hz只是一种ITU(国际电信联盟)规定,实际上只要大于6.8kHz,都可以实现采样。所以为什...

2019-07-11 19:52:36 282 1

原创 capsfilter如何起作用?

分析了三个函数,gst_base_transform_getcaps , gst_base_transform_transform_caps, gst_capsfilter_transform_caps 。 static GstCaps * gst_base_transform_getcaps...

2019-06-08 17:16:57 234 0

原创 码率控制

/* Terminology: * qp = h.264's quantizer * qscale = linearized quantizer = Lagrange multiplier */ static inline float qp2qscale( float qp ) { r...

2019-05-30 20:39:57 121 1

转载 OBJECT-C语法

1 减号表示对象方法,加号表示静态方法。 2 定义部分,清楚定义了类的名称、数据成员和方法。 以关键字@interface作为开始,@end作为结束。 例子: 创建方法 //第一种创建方式:创建一个可用的对象 Person *p=[Person new]; //new方法的内部会分...

2019-05-15 20:52:58 669 0

转载 core audio采集音频

涉及的接口有: IMMDeviceEnumerator IMMDevice IAudioClient IAudioCaptureClient 主要过程: 创建多媒体设备枚举器(IMMDeviceEnumerator) 通过多媒体设备枚举器获取声卡接口(IMMDevice) 通过声卡接...

2019-04-10 17:14:35 309 0

原创 gstreamer调用directshow采集摄像头数据

gstreamer是个媒体引擎,可用用来开发流媒体,类似ffmpeg的filter,sink接收数据,filter处理数据(如:采集,缩放,编码等),src突出数据给链接的sink。 在Windows下,可用使用directshow来操作摄像头,gstreamer可用用利用 dshow来打开采集...

2019-03-29 20:40:34 368 0

转载 svn:revert to this version 和 revert changes from this version的区别

如果对分支进行修改,手上又没有分支代码,可以svn switch到分支代码。 假设我们有许多个版本,版本号分别是1-10 如果我们在7这里选择revert to this version那么7之后的8,9,10的操作都会被消除 如果在7选择revert changes from this...

2019-03-28 09:35:00 154 0

原创 ubuntu

搜狗输入法异常!请删除.config/SogouPY 并重启 搜狗拼音输入法使用fcitx 框架,在输入法中选择fcitx,重启机器即可。

2019-02-26 14:19:39 47 0

原创 gstreamer问题

struct _GstBaseTransformPrivate { /* previous buffer had a discont */ gboolean discont; /* caps used for allocating buffers */ gboolean proxy_all...

2019-02-22 21:44:34 104 0

转载 sdp,sip

sdp 在SIP协议的包含的内容是SDP时,应该把Content-Type设置成application/sdp。 b=&lt;bwtype&gt;:&lt;bandwidth&gt; bwtype可以是CT或AS,CT方式是设置整个会议的带宽,AS是设置单个会话...

2019-01-24 20:18:52 153 0

转载 svn创建分支,主干合并到分支,分支合并到主干

Revert to this revision和Revert changes from this revision 譬如有个文件,有十个版本,假定版本号是1,2,3,4,5,6,7,8,9,10。 Revert to this revision: 如果是在版本6这里点击“Revert to th...

2019-01-20 14:39:25 1251 0

原创 bat脚本

SET  a=2000 a.exe -b %a%       rec\%a%.264  25 SET  a=3000 a.exe -b %a%       rec\%a%.264  25 set /a a=1,b=2 set /a result=%a%+%b% echo 算术运算:%a%+%...

2019-01-14 10:42:42 97 0

转载 框架,设计模式,架构的关系

        框架、设计模式这两个概念总容易被混淆,其实它们之间还是有区别的。框架通常是代码重用,而设计模式是设计重用,架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。在软件生产中有三种级别的重用:内部重用,即在同一应用中能公共使用的抽象块;代码重用,即将通用模块组合成库或工具...

2019-01-12 10:55:14 87 0

转载 汇编语言的所有指令

32位的CPU一次就能处理4个字节,同理,字长为64位的CPU一次可以处理8个字节。 memcpy会按系统字长进行对齐优化。比如32bit系统上4字节4字节操作,64bit系统上8字节8字节操作。 如果你的循环中也是按对齐赋值的,就没有区别,如果你的赋值不是对齐,比如是char类型赋值,memc...

2019-01-01 21:10:14 721 1

原创 windbg常用命令

!analyze -v 查看崩溃分析,会打印堆栈 !address –summary查看内存占用 STACK_COMMAND: ~0s; .ecxr ; kb ~0 k表示打印0号线程的调用堆栈,直接用k表示打印当前线程的调用堆栈 kb显示前3个参数 kc只显示调用栈的模块名和地址(不显...

2018-12-21 09:56:13 264 0

原创 英文简写,专用,书面语

简写 FECC Far End Camera Control LSB Least Significant Bit 最低有效位 MITM Man-in-the-MiddleAttack MARI Media adaptation and resilience implementati...

2018-10-17 14:36:19 425 0

转载 glib--接口的实现

interface类似于C++中的抽象类。 分三部分:接口类,实现接口的类,测试函数。 这次的文件分了好几个: my-iusb.h #ifndef MY_IUSB_H #define MY_IUSB_H #include&lt;glib-object.h&gt;...

2018-10-14 19:05:29 218 0

转载 GObject面向对象的继承的例子

1、继承GObject的对象Boy(父类是GObject) (1)头文件boy.h:     #ifndef _BOY_H_     #define _BOY_H_     #include &lt;glib-object.h&gt;     /**BOY_TYPE宏封装了boy...

2018-10-14 16:48:25 453 0

转载 scons例子

install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户。install命令和cp命令类似,都可以将文件/目录拷贝到指定的地点。但是,install允许你控制目标文件的属性。install通常用于程序的makefile,使用它来将程序拷贝到目标(安装)目录。 scons -c ...

2018-10-13 17:27:03 361 0

原创 gs--源码分析

个人理解,仅供参考。 分析gst_buffer_make_metadata_writable,gst_base_transform_buffer_alloc,gst_base_transform_getcaps,gst_base_transform_transform_caps,gst_caps...

2018-10-06 09:30:19 275 0

原创 gs--常见函数说明

个人理解,仅供参考。 gchar * caps_string1 = gst_caps_to_string(caps); gchar * caps_string2 = gst_caps_to_string(framerate_caps); gchar * caps_string3 = gst...

2018-10-04 16:41:04 583 0

原创 gstreamer的一些总结

以3个插件的连接为例。 1第一次会协商。 2 第一个插件推送数据,第二个插件先检测能否识别,能识别了,再转换,再推给下一个插件,相当于一个递归的过程。 3 转换时,先判断是否需要重新创建buf(有的需要检测,有的需要转换数据),要跟下个插件协商,得到创建buf的大小。 4 后面插件的值改变...

2018-10-03 21:13:01 405 0

转载 gs--插件高级

插件的注册 GST_PLUGIN_DEFINE GST_PLUGIN_DEFINE_STATIC gst_plugin_register_static PAD   CAP协商 插件的协商在gst_pad_alloc_buffer里。   三大类:静态pad(always pad...

2018-09-14 13:42:46 463 0

转载 pad连接与数据流动

gst_pad_push_data函数分析 gst_pad_push_data{ gst_pad_chain_data_unchecke(GstPad * pad, gboolean is_buffer, void *data, GstPadPushCache * cache){ c...

2018-09-14 12:28:32 730 0

转载 Gobject的闭包

可以直接看红颜色的例子。 void  qsort (void*base,  size_t nmemb,  size_t size, int(*compar) (constvoid*, constvoid*)); 闭包(Closure)的概念     我们通过函数指针向 qsort 函数传入了一个...

2018-09-13 21:53:53 139 0

转载 glib--消息分发(gmainloop,gsource),信号

每一个管道默认包含一个总线,所以应用程序不需要再创建总线。 应用程序只需要在总线上设置一个类似于对象的信号处理器的消息处理器。 当主循环运行的时候,总线将会轮询这个消息处理器是否有新的消息,当消息被采集到后,总线将呼叫相应的回调函数来完成任务。  GLib对核心应用的支持包括事件循环、内存操作、...

2018-09-12 14:13:39 1460 0

转载 基于 GObject 新写类

如果产生的是该类的第一个实例,那么先分配Class结构体,再分配针对该实例的结构体。否则直接分配针对该实例的结构。也就是说在Class结构体中所有的内容,是通过该类生成的实例所公有的。而实例化每个对象时,为其单独分配专门的实例用结构体。 c++定义 #include <iostrea...

2018-09-12 10:27:44 154 0

转载 mac搭建环境

装emacs $ brew install emacs --with-cocoa 装7z brew install p7zip 装Graphviz 一.安装 Graphviz http://www.graphviz.org/ mac用户建议直接用homebrew来安装,官网上版本比较旧 ...

2018-09-10 19:10:41 89 0

转载 基于gst-launch的实时转码

目标是实现一个实时转码,可用于IPTV提供节目源。 相关工作在ubuntu操作系统下进行。需要对源代码进行修改的时候,直接采用apt-get source命令获取源代码,根据需要进行修改,然后安装,这样能最大限度的保证兼容性和稳定性。 命令行示例 gstreamer是通过不同功能的element构...

2018-09-09 21:51:03 777 0

转载 glib简介

1 glibc 是gnu发布的libc库,也即c运行库。 2 glib是gtk+的一套函数库,gobject是glib的精粹,glib是用C实现的.glib提供了动态数组、单/双向链表、哈希表、多叉树、平衡二叉树、字符串等常用容器,完全是面向对象设计的,实现得非常精致。不用白不用,别客气了。 ...

2018-09-09 21:12:34 646 0

转载 gstreamer简介

常用 gchar * caps_string = gst_caps_to_string (new_selected_caps); g_free (caps_string); 需要弄懂的问题 tunnel tee queue 最后列一下Gstreamer中常见的时间宏,注意Gstream...

2018-09-06 18:51:08 1763 0

转载 freetype相关总结

        FreeType是一个完全开源的、可扩展、可定制且可移植的字体引擎,它提供TrueType字体驱动的实现统一的接口来访问多种字体格式文件, 包括点阵字、TrueType、OpenType、Type1、CID、CFF、Windows FON/FNT、X11 PCF等。FreeType...

2018-08-24 17:25:11 327 0

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