自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(156)
  • 资源 (12)
  • 收藏
  • 关注

原创 stack related algorithms summary

Minimum number of bracket reversals needed to make an expression balancedgiven an expression only containing ‘{’ and ‘}’, find a solution to determine the minimum number of bracket reversals needed to

2016-02-03 22:47:36 604

原创 Binary tree related algorithms summary

validate a binary tree is BST思路: bst的中序遍历序列是严格递增的。 1. 空树是BST 2. 左子树是BST && 右子树是BST 3. 左子树 && 根 && 右子树 能构成BST. sample code /* 判定二叉树是否是BST * 第二参数的意义:前一个被访问节点的值,需要使用引用 * 时间复杂度O(n),需要逐个遍

2016-02-03 22:26:08 534

原创 Linux Related

Linux Related Settingspackage install related problemsproblem: X11/Xlib.h: No such file or directory solution: yum install libX11-devel problem: /usr/lib64/libX11.so yum search keyword. 可以从yum 源中

2016-01-30 16:21:07 1188

原创 OpenGL相关

参考资料 OpenGL架构的介绍 Shadow Map 介绍 OpenGL tutorials ProjectionMatrix Left hand & Right hand GPU Image Processing GPU JPEG Ant Colony The paper introduce a data drived design which can produce simp

2016-01-24 19:28:23 574

原创 wifi driver install

BRCM wifi 驱动安装官方安装文档 readme # lspci -n | grep 14e4 查询BRCM产品的 device id。 BRCM PCI PCI Dell Product Name Vendor ID Device ID Product ID -------------

2016-01-20 16:20:51 630

原创 基础知识备忘录

this 指针The process of having one constructor call another constructor is called constructor chaining. Although some languages such as C# support constructor chaining, C++ does not.参考资料this 指针

2015-09-10 07:55:08 621

原创 markdown相关

参考资料:http://daringfireball.net/projects/markdown/syntax点击打开链接

2015-07-17 09:34:52 480

原创 windows系统相关汇总

for /d %%i in (*) do mkdir D:\test\%%ifor /d %%i in (*) do copy %cd%\%%i\test\1.txt  D:\Test\%%i\for /d %%i in (*) do copy %cd%\%%i\crc.dat D:\Test\%%i\for /d %%i in (*) do copy %cd%\%%i\crc.dat

2015-06-25 21:13:07 394

原创 Android Multimedia 相关

_________________________________________________________________________________________添加自己的codec1. 根据规范创建OMX IL component. 相关头文件路径:frameworks/native/include/media/OpenMAX/OMX_Component.h2.根

2015-06-15 19:10:40 552

原创 C 语言中随机数的生成

1. 产生n个不重复的随机数字,范围是[0, n)。基本思想:有序数据的随机交换。static int randint(int l, int u){ return l + rand() % (u-l+1);}/* generate n distinct random integer in range [0, n) * the implementation depends on

2015-05-02 10:57:23 528

原创 调试经验总结

1. log 打印过多导致视频解码性能下降: 采用gettimeofday()这种方式去测量运行的瓶颈,会发现瓶颈出现的地方随机变化。一般这种情况就要怀疑是因为log输出造成的。因为所有丁IO操作都是可以被中断的,进程就需要放弃处理器,等待下次再被调度执行,这个时间是随机的。

2015-04-23 22:00:24 727

原创 git 相关概念

repo参考资料:https://source.android.com/source/using-repo.html点击打开链接

2015-03-25 10:47:57 639

原创 竞态编程相关接口

Namewait_event_interruptible_timeout — sleep until a condition gets true or a timeout elapsesSynopsiswait_event_interruptible_timeout (wq,condition,timeout);Argumentswqthe waitqu

2015-03-18 09:29:43 483

原创 其他

控制GCC 在编译期间输出信息的方法:#pragma message string举例:#pragma message "Compiling " __FILE__ "..."

2015-02-11 19:58:07 552

原创 Linux Thread相关

参考资料http://man7.org/linux/man-pages/man2/sched_setscheduler.2.html点击打开链接http://www.qnx.com/developers/docs/6.4.1/neutrino/lib_ref/s/sched_param.html?lang=cn点击打开链接http://stackoverflow.com/que

2015-01-30 20:15:37 416

原创 3G barrier

32bit的处理器和操作系统只能访问4G的RAM,这是一个误解。自从1995年Pentium Pro开始现代的X86的处理器都能够寻址64G的RAM,这是通过PAE(Physical Address Extension)来实现的。 PAE通过修改保护模式下的页表的映射方式来实现 32bit 虚拟地址到 36bit 物理地址的转换。当然这需要CPU有36根地址线接到主板。CPU对大于4G的RAM的访

2015-01-23 19:46:01 446

原创 HEVC 介绍

随着高清视频越来越受到欢迎和超高清视频( 2k * 4 k, 4k * 8k)的出现,他们对视频编码效率提出了更高的要求。如果这些要求再加上对播放立体视频的需求,对于编码效率的要求就更高了, 这些要求已经超出了H264 所能处理的范围。因为移动设备的视频应用所产生的流量对我们的网络环境提出了严峻的挑战。移动应用对高清视频的需求也在不断的增加。HEVC 在设计时主要集中在解决两类关键问题: 更高的视

2015-01-22 08:59:52 2425

原创 Deblocking filter 相关

视频压缩技术都是采用分块进行处理的方式来进行的,每个像素点阵的块是单独进行处理的。这种处理方式打破了他们之间的相关性,从而导致解码之后图片块之间吧不连续。压缩标准中所采用的Deblocking filter就是用于这种边界不连续消除的技术。解码后的图片可能会用于将来要解码的图片的参考,所以这种deblock的操作对于提高编码效率也是很有价值的。P B所采用的都是差分编码的思想,差异越小效率越高。

2015-01-20 09:07:48 2541

原创 常用的技术网站

ARM 相关的网站http://www.davespace.co.uk/arm/introduction-to-arm/barrel-shifter.html点击打开链接

2015-01-15 16:27:46 588

转载 LCA

http://www.geeksforgeeks.org/lowest-common-ancestor-binary-tree-set-1/点击打开链接

2015-01-14 20:09:23 392

原创 gcc 相关知识

基本介绍:GCC 的意思是 GNU C Compiler 。经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言。它现在还支持 Ada 语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言等。所以GCC 也不再单只是 GNU C 语言编译器的意思了,而是变成了 GNU Compiler C

2015-01-14 17:30:48 459

原创 二叉树中节点的最大距离

问题描述:问题分析:示例代码:int maxDistanc(TreeNode *root, int & height){if (!root || (!root->left && !root->right)){height = 0; return 0;}int hl, hr, maxleft, maxright;maxleft = maxDistanc

2015-01-12 21:11:36 384

原创 makefile 相关知识

基本介绍:GNU的make工作时的执行步骤入下:1. 读入所有的Makefile。2. 读入被include的其它 Makefile。3. 初始化文件中的变量。4. 推导隐晦规则,并分析所有规则。5. 为所有的目标文件创建依赖关系链。6. 根据依赖关系,决定哪些目标要重新生成。7. 执行生成命令。1-5步为第一个阶段,6-7为第二个阶段。第一个阶段中,如果定义的

2015-01-10 11:57:26 517

原创 可变参数宏

基本介绍:__VA_ARGS__ 是一个可变参数的宏,这个可变参数的宏是新的C99规范中新增的,目前似乎只有gcc支持。如下定义#ifndef USE_LOG#define LOG(fmt, ...) do { fprintf(stderr, fmt, ##__VA_ARGS__) ; } while(0)#else#define LOG(fmt, ...) do { i

2015-01-10 10:39:58 484

翻译 Kernel Korner - Using DMA

主要内容:DMA需要解决三个问题,第一个问题是CPU可能是使用MMU,所以CPU用于去描述内存区域的地址并不是物理地址。第二问题是因为想内存中传输数据所以相应的内存和它在CPU中的cache可能会不一致。第三个问题是IO总线上可能使用了IOMMU,所以设备用于进行传输数据的总线地址可能既不同于物理地址也不同于虚拟地址。在内核中进行DMA管理的API需要解决这三类问题,因

2015-01-07 10:54:30 387

原创 ARM Trustzone

基本概念:参考资料:http://infocenter.arm.com/help/topic/com.arm.doc.prd29-genc-009492c/PRD29-GENC-009492C_trustzone_security_whitepaper.pdf点击打开链接

2015-01-06 17:13:45 1215

原创 IOMMU相关概念

基本介绍:IOMMU是通过一个DMA-cabable 的IO总线和memory相连接的MMU。参考资料https://www.kernel.org/doc/ols/2007/ols2007v1-pages-9-20.pdf点击打开链接http://developer.amd.com/wordpress/media/2012/10/48882.pdf点击打开链接http:

2015-01-06 16:20:51 2287 1

原创 avplayer 分析

codec register 分析:..... REGISTER_ENCDEC (H261, h261); REGISTER_ENCDEC (H263, h263); REGISTER_DECODER(H263I, h263i); REGISTER_ENCODER(H263P,

2014-12-30 22:17:10 1091

翻译 C 语言拼接宏

It is often useful to merge two tokens into one while expanding macros.进行宏展开的时候将两个符号合并成为一个符号是很有用的。 This is called token pasting or token concatenation. 这就叫做符号拼接。The ‘##’ preprocessing operator

2014-12-30 15:13:56 3887

原创 检验字符串中是否包含重复字符

问题描述:问题分析:借助额外空间示例代码:bool is_repating_character(char a[], int n){ int index[128] = { -1 }; for(int i = 0; i < n; i++) { if (index[a[i]] > 0) { return fal

2014-12-28 22:16:36 594

原创 leetcode Longest Substring Without Repeating Characters

问题描述:Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for "abcabcbb" is "abc", which the length is

2014-12-26 22:29:37 333

原创 leetcode Container With Most Water

问题描述:Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i, 0). Fi

2014-12-25 20:10:11 355

原创 leetcode simplify path

问题描述:Given an absolute path for a file (Unix-style), simplify it.For example,path = "/home/", => "/home"path = "/a/./b/../../c/", => "/c"Corner Cases:Did you consider the case where pa

2014-12-24 22:38:13 403

原创 leetcode divide two int

问题描述:Divide two integers without using multiplication, division and mod operator.If it is overflow, return MAX_INT.https://oj.leetcode.com/problems/divide-two-integers/点击打开链接问题分析:实现整数除

2014-12-24 12:36:23 542

原创 leetcode count and say

问题描述:https://oj.leetcode.com/problems/count-and-say/ 点击打开链接The count-and-say sequence is the sequence of integers beginning as follows:1, 11, 21, 1211, 111221, ...1 is read off as "one 1"

2014-12-22 20:00:27 395

原创 leetcode ZigZag Conversion

问题描述:The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)P A H NA P L S

2014-12-22 19:50:01 425

原创 leetcode sudoku

问题描述:https://oj.leetcode.com/problems/valid-sudoku/点击打开链接Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules.The Sudoku board could be partially filled, where empty cell

2014-12-22 19:28:43 354

原创 C语言文件IO操作

函数原型:size_t fread ( void * ptr, size_t size, size_t count, FILE * stream );       所在头文件 : Read block of data from streamReads an array of count elements, each one with a size of size bytes, from

2014-12-20 18:42:41 7603

原创 leetcode convert-sorted-array-to-binary-search-tree

问题描述:Given an array where elements are sorted in ascending order, convert it to a height balanced BST.https://oj.leetcode.com/problems/convert-sorted-array-to-binary-search-tree/点击打开链接问题分析:

2014-12-20 11:54:37 542

原创 字符串循环左移k位

问题描述:字符串循环左移k位问题分析:s[0, n-1] 待移位字符串1. reverse s[0, k - 1]2. reverse s[k, n - 1]3. reverse s[0, n - 1]示例代码:voide reverse(char s[], int start, int end){ int i = start, j = end;

2014-12-20 10:27:08 1458

贝叶斯推理与机器学习

关于机器学习的一本电子书,书是英文版的,包含比较丰富的基础知识。

2014-07-18

标准模板库STL的课件

STL的课件,包括STL中各类容器:关联容器和非关联容器的介绍和使用举例。

2014-07-18

模拟退火算法解决TSP java代码

使用模拟退火算法解决旅行商问题,使用java实现代码。

2014-05-25

关系模型设计_范式

对数据库设计中所涉及的3范式进行了说明。 没有涉及大量的逻辑公式推导。

2013-09-07

sourceinsigth 配置文件

souceinsigth 配置文件 将该文件拷贝到 setting目录下面覆盖原有的文件即可

2012-10-16

编程珠玑 PDF

编程珠玑 PDF版 认真阅读和思考课后的练习对于应付面试很有帮助。

2012-10-08

grub启动内核和initrd.img

介绍在ubuntu下使用grub启动内核: 介绍了initrd.img是什么:根文件系统 介绍了grub的操作流程,对于熟悉grub的使用是有好处。

2012-03-20

linux loop device的用途

linux loop device的用途:介绍了linux中loop device 的作用和制作文件系统的工具的使用方法,并带有截图演示

2012-03-19

linux动态链接的基本知识

介绍了linux动态链接的基本过程。附带有操作的截图演示

2012-03-07

程序员实用算法 电子版

程序员实用算法 电子版 和大家分享一下

2011-12-19

基于FFMPEG的通用视频插件开发

基于FFMPEG的通用视频插件

2011-12-01

vc编写的视频播放器

vc编写的一个播放器。感觉写的很好和大家分享一下

2011-11-26

空空如也

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

TA关注的人

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