自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

铁匠Smith先生的专栏

关注Linux系统软件开发、多媒体图形技术、Linux OS技术、多进程多线程并发网络编程、架构模式研究与实践、AI等新技术动向、C/C++最新编程技术、开源代码集成与应用等...

原创 关于视频技术发展趋势的一些理解

     视频行业近几年经历了飞速的发展,一些新的视频用语和应用逐步进入我们的生活中,例如VR,短视频,视频云,智能视频等。这些炫酷的词语可能让你眼花缭乱,不知所云。         本文试图从一个较高层次对视频的未来进行总结和分析,主要目的是抛砖引玉,并增进对视频系统技术发展趋势的理解。  ...

2018-03-18 15:52:54 5229 0

转载 AMD ROCm 平台简介

最近,AMD 发布 MIOpen。至此,AMD 始于15年的打造 GPU 计算生态的 Boltzmann Initiative,有了阶段性的成果。下面本文从深度学习计算的视角来审视一下 AMD 推出的 ROCm 生态。当然, ROCm 是一个完整的 GPGPU 生态,这里的讨论大体也适用于其他...

2018-02-26 20:00:49 3401 0

原创 数字视频编解码基础

1.    绪论 人类社会的三大支柱是物质、能量和信息。具体而言,农业现代化的基础是物质,工业现代化的支柱是能量,而信息化的支柱是信息。 90 年代以来,随着Internet 和移动通信的迅猛发展,视频信息和多媒体信息在Internet 网络和移动网络中的处理和传输成为了当前我国信息化中的热点技...

2015-03-07 12:35:01 3542 0

原创 Using valgrind to detect memory errors使用valgrind检测内存错误

原创作品,转载请注明出处 1 Overview This document makes a investigation on issue of resource leaks and how to detect them using valgrind. 1.1    Document Or...

2014-12-24 16:53:01 1800 0

原创 也谈函数闭包

我们经常听到闭包的概念。

2014-10-09 15:41:47 1222 0

原创 Linux Makefile学习之旅(1)----规则

一、从一个最简单的makefile

2014-05-05 17:45:27 1541 0

原创 "select一直返回0"的问题解决和总结

场景:一个简单的TCP 服务器 我在linux平台下,创建一个TCP套接字,绑定到49156端口,向UPNP SERVER发一个subscribe订阅请求,超时时间设置为5minutes. 然后开启一个Thread_Main主接收线程。该线程完成以下工作: (1)调用select监听是否有数据可...

2013-12-24 16:45:30 20502 6

原创 gSOAP C++移植和开发总结

1.cannot open file "custom/duration.h" for reading: 解决办法: 把gsoap2.8.15/gsoap/custom目录拷贝到当前工作目录 2.stdsoap2.cpp:8888: undefined reference to...

2013-10-21 22:49:56 8263 2

原创 从总体上把握Linux内存管理

1.建立内存碎片的概念           内存碎片分为:内部碎片和外部碎片  1.1 内部碎片        内部碎片就是已经被分配出去(能明确指出属于哪个进程)却不能被利用的内存空间;       内部碎片是处于区域内部或页面内部的存储块。占有这些区域或页面的进程并不使用这个块。而在进程占有...

2013-04-07 15:00:24 1579 0

原创 快速上手Gobject

What is G-object? —很多人被灌输了这样一种概念:要写面向对象程序,那么就需要学习一种面向对象编程语言,例如C++、Java、C#等等,而C语言是用来编写结构化程序的。 —事实上,面向对象只是一种编程思想,不是一种编程语言。换句话说,面向对象是一种游戏规则,它不是游戏。 —Gobj...

2012-07-24 10:12:52 23548 12

原创 深入浅出gstreamer开发

Gstreamer解决什么问题? —上层接口和应用方式的相对稳定与底层接口、平台环境的多样化。例如:codec不同种类不同实现,音视频处理不同,硬件输入、输出、采集播放不同,芯片不同,操作系统不同。 —通用组件不灵活与需求的多变。色彩空间转换、缩放、编解码等组件功能是单一的。通过对这些组件进行...

2012-07-24 09:48:37 13958 12

原创 相见恨晚之gstreamer核心源码走读typefind原理和对象关系浅析(三) .

mark>待完善    Smith先生版权所有,    如需转载,请注明出处:本博客链接http://blog.csdn.net/acs713/article/details/7742976

2012-07-17 17:26:55 5139 2

原创 B-树学习笔记

B-tree(多路搜索树,并不是二叉的)是一种常见的数据结构。使用B-tree结构可以显著减少定位记录时所经历的中间过程,从而加快存取速度。按照翻译,B 通常认为是Balance的简称.这个数据结构一般用于数据库的索引,综合效率较高。               B-tree中

2011-10-17 10:28:04 16257 4

原创 学习笔记:RTP/RTCP的音视频同步原理总结

参考文章::https://blog.csdn.net/lincaig/article/details/81209895https://www.cnblogs.com/x_wukong/p/5876645.html https://blog.csdn.net/wxl1986622/article...

2020-05-04 21:40:32 344 0

原创 人工智能学习笔记--理解深度学习中的前向传播和反向传播算法

一个典型的神经元模型可以用下图表示: 一个典型的全连接前向神经网络如下图所示: 设激活函数为f,权重矩阵为W,偏置项为b,输入为A,最终输出为Y,则Y = f(WA+b),计算输出Y这个过程就是前向传播的过程。 对于一个还没有训练好的神经网络而言,各个神经元之间的参数都是随...

2019-12-18 16:46:09 130 0

转载 H.264多参考帧管理

原文地址:http://blog.csdn.net/sunshine1314/article/details/575598 【outline】 一、相关变量含义 二、解码流程(突出参考图像管理部分) 三、参考图像的标记 四、参考图像的初始化 五、参考图像的重排序 一、相关变量含义 ...

2019-11-05 11:27:08 201 0

转载 H264 中的参考帧列表

H264中允许从多至15个帧里面选择1帧或者2帧出来作为参考进行预测,所以必须引入一个列表来管理这些参考图像,对 与P slice而言,对应 list0,对于 B slice 而言,还需要多一个 list1,因为 B slice 是进行的两次预测!(一个前向一个后向/两个前向/两个后向) 参考...

2019-11-05 11:15:35 365 0

原创 Gstreamer被ffmpeg或其他媒体框架淘汰了吗?

目前,很大部分音视频编解码应用开发都是基于ffmpeg框架。ffmpeg API简单 上手快,也迅速成为了国内视频相关开发者的首选开源库。而gstreamer由于其复杂难懂,学习成本高,似乎在国内使用的人越来越少. 于是乎, 有人认为 熟悉ffmpeg API就可以在音视频流媒体开发畅通无阻...

2019-06-10 23:01:01 3867 4

原创 OPENCV3.4.0安装及开发环境搭建

参考了:https://www.cnblogs.com/wycBlog/p/7217498.html 全部实际操作一遍。 1.使用wget下载opencv3.4.0源码 sudo wget https://github.com/Itseez/opencv/archive/3.4.0.zip ...

2018-07-27 13:59:06 2302 0

原创 LInux下查询哪个文件夹占据较大磁盘空间

LInux下查询哪个文件夹占据较大磁盘空间。到某个目录下sudo du -sh *

2018-07-10 11:49:20 2992 0

转载 深度学习入门必须理解这25个概念

            https://blog.csdn.net/pangjiuzala/article/details/72630166 神经网络基础1)神经元(Neuron)——就像形成我们大脑基本元素的神经元一样,神经元形成神经网络的基本结构。想象一下,当我们得到新信息时我们该怎么做。...

2018-03-24 16:01:17 1135 0

转载 AI、机器学习、深度学习几个概念傻傻分不清?一张图让你搞明白!

随着人们对人工智能领域的不断探索和实践,越来越多的概念涌入了我们的生活,本文将对其中最重要的三个概念:人工智能、机器学习和深度学习进行解析,帮你搞清楚它们之间的关系以及这些技术发挥的重要作用。 这三个概念到底是什么关系?人工智能、机器学习、深度学习,这三个概念非常相似,也常常为媒体所混用。但其...

2018-03-24 07:14:25 5576 0

转载 传统安防正在悄然改变 智能视频云呈燎原之势

[导读]传统安防的概念升级成为以视频为核心的物联信息管理体系,这也给安防产业链条的各个环节带来前所未有的机会。据预测,未来几年内“智能视频分析、云、联网”都将在不同程度塑造和改变未来的监控市场。 随着基础通信技术的发展和基础建设的不断完善,“互联网+”和AI等推进下,各行各业的边界越来越模糊,...

2018-03-20 10:17:21 362 0

转载 深入理解构造和析构函数

深入理解构造和析构函数 一、      概述构造函数和析构函数是当你刚接触C++的时候就会碰到的两个概念,也是C++语法中较难掌握的两个概念。但是它们又是学习C++必须掌握的,可以说没有理解构造和析构函数,你的C++就还没有入门。本文拟对构造函数、析构函数进行系统的介绍,使得那些对这两个概念有...

2018-03-18 19:14:08 1758 0

转载 Linux内核中分配4M以上大内存的方法

在Linux内核中, kmalloc能够分配的最大连续内存为2的(MAX_ORDER-1)次方个page(参见alloc_pages函数,     "if (unlikely(order >= MAX_ORDER))        return NULL;")...

2018-03-14 17:15:44 1818 0

转载 基本3D变换之World Transform, View Transform and Projection Transform

作者:i_dovelemon来源:CSDN日期:2014 / 9 / 28主题:World Transform, View Transform , Projection Transform引言             在3D图形学中,基本几何变换是一个非常重要的操作。可以说,整个3D图形能够有...

2018-03-12 13:22:13 201 0

转载 线性判别分析Linear Discriminant Analysis (LDA)

原文链接 : http://www.dataivy.cn/blog/%E7%BA%BF%E6%80%A7%E5%88%A4%E5%88%AB%E5%88%86%E6%9E%90linear-discriminant-analysis_lda/判别分析(Discriminant Analysis...

2018-03-07 14:41:28 1262 0

转载 AMD Launches ‘Boltzmann Initiative’ to Dramatically Reduce Barriers to GPU Computing on AMD FirePro™

New Tools Target an Unprecedented 28 Teraflops of Processing at Less Than a Kilowatt by 2016 AUSTIN, Texas 11/16/2015 ContentMain1...

2018-02-26 20:02:14 193 0

转载 Understanding 3D Projections(理解3D投影)

投影概述 为了在显示器上显示场景中的三维物体,需要把三维物体投影到二维观察平面上。这种从三维图形到二维图形的变换称为投影变换(Projections)。投影的更抽象和精确点的数学定义是:将n维空间中定义的点变换到小于n维空间中的变换 具体点可以这么理解, 投影变换完成的是如何将三维模型显示到二维视...

2017-12-29 16:50:06 695 0

原创 Linux Proc文件系统详解

 Linux Proc文件系统详解 Proc文件系统是一个伪文件系统,做为一个特殊接口来访问内核,常常挂载在/proc下,里面的大多数文件时只读的,但是我们仍然可以设置其中一些变量来改变内核设置。 通过Man5 proc  来进行查阅proc文件系统的详细信息。 我们...

2017-12-24 22:03:15 3293 0

原创 科普之Linux应用程序与内核程序交互的几种方式。

      我们知道,对于一个应用程序即一个操作系统进程来说,它既有内核空间(与其他进程共享),也有用户空间(进程私有私有)。不管是内核空间还是用户空间,它们都处于虚拟地址空间。想了解更多,请参考我之前的博文:深入浅出Linux内核内存管理基础 第一节(http://blog.csdn.ne...

2017-12-24 20:31:56 2963 0

原创 科普系列之Linux内核中断

可以认为,Linux操作系统内核的主要职责在于配合中央处理器CPU管理外部硬件设备(简称外设),如硬盘,键盘,鼠标啊等等。为了达到管理的成效,kernel务必与各个外设进行沟通。沟通方式无外乎两种:轮询和中断。       所谓轮询, 就是KERNEL不断地去查询外设的状态。这个不现实。因为如果是...

2017-12-24 00:46:58 191 0

转载 [业余学习]整形数反转

class Solution { public: int reverse(int x) { long long rest = 0; while(x) { rest = rest*10 + x%10; x /= ...

2017-08-06 22:39:57 293 0

原创 【业余练手系列】First Unique Character in a String

Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1. Examples: s = "le...

2017-08-06 16:38:35 313 0

转载 vi下以16进制来查看二进制文件

 在vi的命令状态下 : :%!xxd ——将当前文本转换为16进制格式。 :%!od ——将当前文本转换为16进制格式。 :%!xxd -c 12——将当前文本转换为16进制格式,并每行显示12个字节。 :%!xxd -r ——将当前文件转换回文本格式。   xxd工具: x...

2017-04-20 18:00:09 1019 0

转载 [总结]C语言二维数组作为函数的参数

 前言:今天在实现装配线调度程序时候,用到了二维数组,并将其作为函数的参数。在写程序的时候,遇到一些问题,即二维数组做函数的参数应该如何正确表示。我写程序的错误如下程序所示: 1 #include 2 void print(int *a[3]) 3 { 4 pri...

2017-04-17 15:39:24 607 0

转载 C语言实现矩阵相乘

 问题描述: 编写程序,可以实现m*n矩阵和n*p矩阵相乘。m,n,p均小于10,矩阵元素为整数。 分析: 首先我们可以根据题意写出函数头。可以定为void MatrixMutiply(int m,int n,int p,long lMatrix1[MAX][MAX],long lMa...

2017-04-17 15:30:13 4938 0

原创 使用libjpeg进行编码之二:对I420YUV实现编码

#include #include #include #include #include #include using namespace std; extern "C" { #include #include #include } #d...

2017-04-13 11:16:03 1471 0

转载 C语言far关键字作用

 far即为远地址,16位模式下(如80x86系列)内存是分段寻址的; (一个段就是 2^16,即64k) 指定void   far   fun1();的话,是说函数fun1的入口点在其它段中,调用时将用到段地址;  如果指定为near的话,入口点将在本段之内,调用时值使用段内的偏移地址...

2017-04-13 10:43:56 2552 0

原创 运行时错误:Error: free(): invalid next size (fast)

经查,这通常发生在C/C++混合编程时候调用的内存分配、释放接口不配对时。 即malloc分配的内存,却用了delete或者new出来的对象,却用了free. 只要确保:malloc/free new/delete配对,该问题就消失了。

2017-04-13 10:36:42 12824 0

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