- 博客(95)
- 资源 (24)
- 收藏
- 关注
原创 vim most powerful, not one of
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 显示相关 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""set s
2017-12-12 15:38:22
356
原创 VBV HRD
The virtual decoder model is called a Video Buffering Verifier (V BV) according to MPEG-2 and iscalled a Hypothetical Reference Decoder (HRD) according to H.264.A virtual reception buffer is called
2017-05-08 15:03:12
949
原创 x264 杂记
b_turbo 变量取决于 preset设置,如果设置成placebo 就是最慢的模式就 不开启涡轮增压(turbo->涡轮增压的意思)了x264 中csp 缩写 colorspace的意思, 服了不看代码是真想不到这么缩写。
2017-03-08 19:55:49
381
转载 缓存 内存 闪存 存储
CPU缓存(Cache Memory)位于CPU与内存之间的临时存储器,,它存在于CPU中,它的容量比内存小但交换速度快。在CPU中加入缓存是一种高效的处理方法,这样整个内存储器(缓存+内存)就变成了既有缓存的高速度,又有内存的大容量的存储系统(System)了。缓存是为了处理CPU速度和内存速度的速度差异问题。内存中被CPU访问最频繁的数据和指令被拷贝入CPU中的缓存。CPU存取数据的速
2017-03-08 09:53:34
1017
原创 x264 理解趣谈
ultrafast superfast veryfast faster fast medium slow slower very slow placebo 这是x264中preset 对编码速度设置的借口, 一开始对placebo 不理解 后来查字典发现 placebo是一个单词,有安慰剂,宽慰话,为死者所诵的悼词的意思,难怪是最慢的意思呢,而ultra有过激的意思,ultrafast 就是过
2017-03-07 17:32:10
714
原创 今天开始IOS开发, 三天热度
又回看了Jobs的iphone 发布会的视频,依旧心潮澎湃,他说他的系统5 years ahead of other company, 我觉得他在一开始就在做生态系统,这个理念更引领了20年之久,到现在大家都开始做自己的iphone,自己的生态系统了,就应该有new reinvent, new revolution,出来了。做了多年中间层android开发,项目需要转到ios,激动+挑战。看了
2016-04-08 11:08:54
589
转载 demux mp4
//filename mp4_boxes.cpp#include iostream>#include fstream>#include string>#include cstring>#include cstdlib>#include cerrno>#include "mp4_boxes.h"#ifndef RELEASE#define RELEAS
2014-09-22 17:53:35
1306
转载 YUV 格式
使用 8 位 YUV 格式的视频呈现242(共 244)对本文的评价是有帮助 - 评价此主题发布日期 : 12/9/2004 | 更新日期 : 12/9/2004Gary Sullivan 和 Stephen EstropMicrosoft Digital Media Division适用于:Microsoft® Windows®, Micr
2013-09-10 17:46:11
644
转载 Binder Android IPC Linux
Binder Android IPC Linux 内核 驱动摘要Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有管道,system V IPC,socket等IPC手段,却还要倚赖Binder来实现进程间通信,说明Binder具有无可比拟的优势。深入了解Binder并将之与传统 IPC做对比有助于我们深入领会进程间通信的实现和性能优化。本文将对Bin
2013-08-26 18:29:10
866
原创 应看书籍
《深度探索C++对象模型》,对应的英文版是《Inside C+++ Object Model》 程序编译、链接、加载: 《链接器和加载器》,对应的英文版是《Linker and Loader》 《程序员的自我修养:链接、装载和库》 操作系统: 《Linux内核设计与实现》,对应的英文版是《
2013-07-17 23:14:25
593
转载 更改git编辑器
2,更改编辑器git默认用nanogit config --global core.editor vim还可以定义自己的diff工具:git config --global merge.tool vimdiff
2013-04-28 15:23:04
803
转载 high memory
high memory只存在于32位kernel下,以下文字都针对32位kernel。1)什么是high memory,为什么要有high memoryLinux人为的把4G虚拟地址空间(32位地址最多寻址4G)分为3G+1G,其中0~3G为用户程序地址空间,3G~4G为kernel地址空间(为什么要这么分?为什么用户程序和kernel不能各自独享4G虚拟地址空间?
2013-04-18 15:30:06
1087
转载 socket
话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。——有感于实际编程和开源项目研究。我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有socket的基本函
2013-04-10 17:22:38
479
转载 运动补偿 & 运动估计
运动补偿是一种描述相邻帧(相邻在这里表示在编码关系上相邻,在播放顺序上两帧未必相邻)差别的方法,具体来说是描述前面一帧(相邻在这里表示在编码关系上的前面,在播放顺序上未必在当前帧前面)的每个小块怎样移动到当前帧中的某个位置去。这种方法经常被视频压缩/视频编解码器用来减少视频序列中的空域冗余。它也可以用来进行去交织(deinterlacing)的操作。目录
2013-03-28 17:00:14
1590
转载 DCT 和量化
3、离散余弦变换 DCT 将图像从色彩域转换到频率域,常用的变换方法有:DCT变换的公式为:f(i,j) 经 DCT 变换之后,F(0,0) 是直流系数,其他为交流系数。 还是举例来说明一下。 8x8的原始图像: 推移128后,使其范围变为 -128~127:使用离散余弦变换,并四舍五入取最接近的整数:上图就是将取样块由时间域转换为频率域的
2013-03-27 15:01:57
1893
原创 FRC (Frame Rate Conversion)技术
FRC动画专家,使电视画面更加的自然流畅,进一步提高了动态清晰度。具体方法是对相邻的两幅画面的信号进行运算,由处理器生成介于两幅画面中间的过渡画面已达到更加流畅的视觉效果。FRC动画专家能自动识别2-2Pull Down信号,通过芯片来预测前后画面之间的进行画面,创造出新的画面将前后画面顺畅的连接起来,使观看效果更加的自然流畅。
2013-03-20 11:40:51
7408
转载 优秀程序员和一般程序员差别在哪?
还记得研发频道此前发表过的一篇《白班程序员 VS. 夜猫子程序员》吗?在这个世界上有两种程序员,我们称之为:Day Programmers(白班程序员)和Night Programmers(夜猫子程序员)。本文我们将探讨优秀程序员和一般程序员有哪些差别,看看您是属于那一种?来自知乎网上的大牛们各抒己见,一起来看下他们是如何区分的。创业者 郭凛:如果纯以编码能力来看,可分为五类
2013-02-20 17:34:57
514
原创 Inline vs macro
With inline code, the program doesn’t have to jump toanother location to execute the code and then jump back. Inline functions thus run a littlefaster than regular functions, but they come with a
2013-01-11 13:56:04
793
转载 VP8 的败笔 VS H264
VP8 视频压缩解决方案厂商On2 Technologies公司现已推出最新的视频压缩格式On2 VP8。On2 VP8是第八代的On2视频,能以更少的数据提供更高质量的视频,而且只需较小的处理能力即可播放视频,为致力于实现产品及服务差异化的网络电视、IPTV和视频会议公司提供理想的解决方案。 对更高效视频压缩格式的需求显着 高清电影和电视节目的下载与发送如今已是
2012-12-26 12:57:57
6122
原创 重载(overload)、覆盖(override)、隐藏(hide)的区别
重载是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同。调用的时候根据函数的参数来区别不同的函数。重载的作用就是同一个函数有不同的行为,必须在一个域中,不是在一个域中的函数是无法构成重载的,这个是重载的重要特征。 覆盖(也叫重写)是指在派生类中重新对基类中的虚函数(注意是虚函数virtual)重新实现。即函数名和参数都一样,只是函数的实现体不一样。overri
2012-11-16 17:52:47
455
转载 容器vector list queue 迭代器iterator
一、容器作为STL的最主要组成部分--容器,分为向量(vector),双端队列(deque),表(list),队列(queue),堆栈(stack),集合(set),多重集合(multiset),映射(map),多重映射(multimap)。 容器 特性所在头文件 list容器相当于数据结构中的链表,vector容器相当于顺序表。vector是为快速随机访问而被优化的,
2012-11-14 11:07:51
6801
转载 MP4文件格式的解析
MP4文件格式的解析,以及MP4文件的分割算法 mp4应该算是一种比较复杂的媒体格式了,起源于QuickTime。以前研究的时候就花了一番的功夫,尤其是如何把它完美的融入到视频点播应用中,更是费尽了心思,主要问题是处理mp4文件庞大的“媒体头”。当然,流媒体点播也可以采用flv格式来做,flv也可以封装H.264视频数据的,不过Adobe却不推荐这么做,人家说毕竟mp4才是H.264最佳
2012-11-09 10:40:41
652
转载 MP4文件结构刨析
Overview and IntroductionCore ConceptsMP4文件格式中,所有的内容存在一个称为movie的容器中。一个movie可以由多个tracks组成。每个track就是一个随时间变化的媒体序列,例如,视频帧序列。track里的每个时间单位是一个sample,它可以是一帧视频,或者音频。sample按照时间顺序排列。注意,一帧音频可以分解成多个音频samp
2012-11-09 10:40:19
937
转载 Android的MediaRecorder video架构介绍 上层
Android的MediaRecorder架构介绍 2010-03-08 15:04:09| 分类: android|字号 订阅文章转载自:Android机锋网 [http://www.androidin.com]第一部分 MediaRecorder概述Android的MediaRecorder包含了Audio和video的记录功能,在And
2012-11-08 17:45:19
1304
转载 MediaRecorder流程分析 java层到stagefright层
MediaRecorder流程分析 MediaRecorder流程分析目录一、 java层media recorder state machine: 1、java应用层java应用层主要是一些接口的调用,它并没有具体功能代码的实现,java应用层的代码路径为:android/packages/apps/SoundRecorder/src/com/android/
2012-11-08 17:41:17
3662
转载 vector
vector容器类型 vector容器是一个模板类,可以存放任何类型的对象(但必须是同一类对象)。vector对象可以在运行时高效地添加元素,并且vector中元素是连续存储的。vector的构造 函数原型:template explicit vector(); // 默认构造函数,vector对象为空 ex
2012-11-08 13:39:01
517
转载 queue的实现 数据结构
一、队列是什么 队列是一种可以实现“先进先出”的存储结构。其实,说简单点,队列就是排队,跟我们日常生活中到银行取钱排队,排队打饭在道理上是一样的。 队列通常可以分为两种类型: ①链式队列(由链表实现)。 ②静态队列(由数组实现),静态队列通常都必须是循环队列。 由于链式队列跟链表差不多,所以在这里只针对循环队列来说明并实践。
2012-11-07 20:45:44
897
转载 I、P、B帧
关于视频帧类型的一点总结,如有不足之处,敬请指出:)1.I、P、B帧概念简述视频压缩中,每帧代表一幅静止的图像。而在实际压缩时,会采取各种算法减少数据的容量,其中IPB就是最常见的。简单地说,I帧是关键帧,属于帧内压缩,解码时单独的该帧便可完成解码;P帧为向前预测编码帧,即P帧解码时需要参考前面相关帧的信息才能解码;B帧为双向预测编码帧,解码时既需要参考前面已有的帧又需要参考后面待解码的帧
2012-10-10 11:09:08
4964
转载 android的surfaceflinger原理讲解
android的surfaceflinger原理讲解又是一周的时间,更新的有点晚,Framework的兄弟多多谅解。。。在这一周里主要研究了一下surfaceflinger的原理。篇幅较长,请喝水的,吃饭的,上厕所的都完事了就开始今天的学习了。哈哈。。。废话不说。。。 SurfaceFlinger是Android multimedia的一个部分,在Android 的
2012-09-27 15:25:24
1042
原创 git commit 编辑器的修改
git config --global core.editor vimglobal修改的是~/.gitconfig,对当前用户有效
2012-08-03 14:38:18
2679
转载 TLB:Translation Lookaside Buffer.
TLB:Translation Lookaside Buffer.根据功能可以译为快表,直译可以翻译为旁路转换缓冲,也可以把它理解成页表缓冲。里面存放的是一些页表文件(虚拟地址到物理地址的转换表)。当处理器要在主内存寻址时,不是直接在内存的物理地址里查找的,而是通过一组虚拟地址转换到主内存的物理地址,TLB就是负责将虚拟内存地址翻译成实际的物理内存地址,而CPU寻址时会优先在TLB中进
2012-08-02 11:27:15
1316
转载 What every programmer should know about memory
What every programmer should know about memory, Part 1September 21, 2007This article was contributed by Ulrich Drepper[Editor's introduction: Ulrich Drepper recently approached us aski
2012-07-26 10:39:46
3883
转载 揭秘年挣百万的内幕
怎样成为富人? 李嘉诚,比尔.盖茨的成功绝非偶然。。。穷人和富人最大的区别是思维不同,思想决定一切,看了下面的内容,你或许有启发。 1.自我认知 穷人:很少想到如何去赚钱和如何才能赚到钱,认为自己一辈子就该这样,不相信会有什么改变。 富人:骨子里就深信自己生下来不是要做穷人,而是要做富人,他有强烈的赚钱意识,这已是他血液里的东西,他会想尽一切办法寻找机会使自己致富。
2012-07-24 14:01:04
995
转载 frame-field 概述
凡是做模拟信号采集的,很少不涉及BT.656标准的,因为常见的模拟视频信号采集芯片都支持输出BT.656的数字信号,那么,BT.656到底是何种格式呢? 本文将主要介绍 标准的 8bit BT656(4:2:2)YCbCr SDTV(标清) 数字视频信号格式,主要针对刚刚入门模拟视频采集的初学者入门之用。1. 帧的概念(Frame) 一个视频序列是由N个帧组成
2012-07-06 10:14:23
1667
1
转载 入门视频采集与处理(显示YUV数据)
在《入门视频采集与处理(学会分析YUV数据)》这篇文章中,我们已经学会了如何分析采集到的YUV原始码流,那么,下一步就是如何预览显示所采集的码流了,只有经过显示,才能非常直观地看出自己采集的数据是否有问题。 关于如何显示原始的YUV码流,根据我的经验,一般有三种方法: (1) 利用 matlab ,写相关的程序进行显示。(本文我将提供相关显示程序) (2) 使
2012-07-06 10:12:10
940
转载 入门视频采集与处理(学会分析YUV数据)
做视频采集与处理,自然少不了要学会分析YUV数据。因为从采集的角度来说,一般的视频采集芯片输出的码流一般都是YUV数据流的形式,而从视频处理(例如H.264、MPEG视频编解码)的角度来说,也是在原始YUV码流进行编码和解析,所以,了解如何分析YUV数据流对于做视频领域的人而言,至关重要。本文就是根据我的学习和了解,简单地介绍如何分析YUV数据流。 YUV,分为三个分量,“Y”表示明
2012-07-06 09:38:29
738
转载 Android-StageFright之OpenMAX的实现
Android-StageFright之OpenMAX的实现OMXCodec是一个MediaSource,完成数据的parse和decode。而OMXCodec则主要通过IOMX跨越OpenBinder机制操作OMX来实现。重点介绍一下OMX。OMX主要完成三个任务,NodeInstance列表的管理,针对一个NodeInstance的操作以及事件的处理。一、NodeInstance列
2012-06-11 21:54:57
1561
原创 VNC
VNC client 连接需要输入display 号 如:172.16.119.144:2VNCserver -geometry 1920x1080
2012-06-06 21:15:26
506
c-c语言教程-电子书
2009-12-16
Document.rar
2009-11-27
H.264.And.MPEG-4.Video.Compression.Video.Coding.For.Next.Generation.Multimedia
2009-09-07
单片机led代码.rar
2009-02-12
linux debug经典用书
2009-01-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人