- 博客(112)
- 资源 (10)
- 收藏
- 关注
原创 JPEG编码步骤
2. 颜色降采样(YUV444 变化为 YUV420, 色度信息是求取的周围4个像素点的平均值, 到这里数据压缩到原来的一半了,查看的时候会重建RGB888,因为显示器都是RGB的,但是还原回来的RGB和编码之前的RGB是有差别的了);4. 量化(DCT和量化的过程,使用亮度量化表和色度量化表以及64个基础图像,将原始图像的8x8块转化成很多的0)1. 颜色空间转换(每个像素的RGB888 都转换为 YUV444, 这个过程是可逆的,信息并没有损失);霍夫曼压缩是所有数据压缩的一个基础,且是一个无损压缩;
2023-09-16 16:21:58 740
原创 WMV3 WMV9 VC1 之间的关系
VC1 不是微软一家的WMV(Windows Media Video)是微软公司开发的一组数字视频编解码格式的通称,它是Windows Media架构下的一部分.它最初是为低速率流媒体应用作为专有编解码开发出来的,但是2003年微软公司基于Windows Media Video 第 9 版编解码起草了视频编解码规范并且提交给SMPTE申请作为标准.这个标准在2006年3月作为SMPTE 4
2014-11-20 09:22:20 7806 6
原创 学习计划,希望这次不要虎头蛇尾
最近心情比较浮躁,不能沉下心学习一些新的知识,对以前学习的知识点也没有一个很好的总结。之前转载的知识点也是乱七八糟,很不系统,需要好好梳理一下这些知识点,做一个详细的整理记录。在后面的日子准备写一些学习记录,沉新心来阅读每一本经典的书籍,并将知识点记录下来,写一些专题供大家分享讨论。下面是后续计划要阅读的书籍清单:1. 《设计模式》2. 《Unix环境编程》3. 《C+
2014-07-07 14:00:21 1114
转载 Qt Windows 开发环境搭建
Qt Creator 2.6.1 + MinGW-gcc440_1 + qt 4.8.4 下载下面三个文件qt-creator-windows-opensource-2.6.1.exeqt-win-opensource-4.8.4-mingw.exeMinGW-gcc440_1.zip安装步骤:1. 安装 Qt Creator 2.6, 安装目录为
2014-04-28 17:03:10 1163
原创 记录一个比较好的学习数据结构的网站
有各种动画演示:http://student.zjzk.cn/course_ware/data_structure/web/main.htm
2014-03-24 19:41:15 2118
转载 Destoon二次开发的文档收集
Destoon文件结构:http://gl.paea.cn/contents/a412a23115f02a93.htmlDestoon Global 全局函数对应表http://gl.paea.cn/contents/6764aac89f1aa305.html[php] destoon代码从头到尾捋一遍 [复制链接]http://
2014-02-28 14:55:33 2327
转载 hadoop 相关内容收集
1. 如何搭建Hadoop的的单机模式和伪分布模式此文讲的比较清楚:http://blog.csdn.net/zhaoyl03/article/details/86571042. 对Hadoop框架的介绍,下面文章讲的不错:http://www.infoq.com/cn/articles/hadoop-intro3. 待定
2014-02-28 10:45:02 828
转载 如何使用ffmpeg 屏幕录像,以及声音截取
ffmpeg -f alsa -i pulse -f x11grab -r 30 -s 551x436 -i :0.0+0,150 -qscale 0.01 output.mkv参数解释:-i :0.0+0,150 使用DISPLAY环境变量指定的X client,+0,150,表示x坐标为0,y坐标为150。0,0在屏幕左上角。-qscale是录制质量,值越小质
2013-12-10 12:09:28 1980
转载 glibc和glib 和eglibc的区别
很多人会混淆glibc和glib,简单说一下他们的区别其实严格得说它们几乎没有任何关系glibc是linux下面c标准库的实现,当然linux下面的标准c库不仅有这一个,如uclibc 和 klibc,但是glibc无疑是用得最多的。而glib是GTK+的基础库,它由基础类型、对核心应用的支持、实用功能、数据类型和对象系统五个部分组成,可以在www.gtk.org网站下载其源代码。是一
2013-11-14 16:45:40 942
转载 rpmbuild报error: Installed (but unpackaged) file(s) found的解决办法
我在打包时出错:Processing files: php-debuginfo-5.3.10-1.x86_64Checking for unpackaged file(s): /usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/php-5.3.10-1.x86_64error: Installed (but unpackaged) file(
2013-10-16 10:05:44 10757
转载 C++和C的一些差别
和C语言相比,C++引入了更多的特性,包括:陈述性声明,类似函数的强制转型,new/delete操作符,布林类型,参考类型,默认参数,函数重载,命名空间,类型(包括所有和类型相关的特性,如继承、成员函数、虚函数、抽象类型和构造函数),操作符重载,模板,::操作符,异常处理和运行时期识别。和普遍认为的相反,C++不是第一个正式引入const关键字的语言。80年代早期,Bjarne Stroustru
2013-10-10 16:34:25 1076
原创 由C++ bool类型想到的一些事情
Wiki上说:和C语言相比,C++引入了更多的特性,包括:陈述性声明,类似函数的强制转型,new/delete操作符,布尔类型,参考类型,默认参数,函数重载,命名空间,类型(包括所有和类型相关的特性,如继承、成员函数、虚函数、抽象类型和构造函数),操作符重载,模板,::操作符,异常处理和运行时期识别。发现C语言竟然没有bool类型。不对啊,在C语言中我们没少使用bool操作??? 这到底是
2013-10-10 16:21:37 946
原创 C++ 为什么要虚析构函数
class Father;class Son : public class Father;在上述条件下,可以实现多态Father* pointer = new Son;当释放时delete pointer;在这个时候,如果,father类和son类的析构是虚函数才能够正确释放。虚析构函数析构函数的工作方式是:最底层的派生类(most derived class)的析构函数最
2013-10-09 18:00:54 916
原创 C++ 中const成员函数的使用
//对于const成员函数,"不能修改类的数据成员,不能在函数中调用其他不是const的函数",这是由const的属性决定的//请看下面一个完整的例子,然后我再作一些说明。 #include ; #include ; using namespace std; class Student { public: Student() {} Student( c
2013-10-09 17:39:27 819
原创 内联函数和宏的区别(内联和C++没有必然联系)
函数开销:函数调用是有开销的,开销是在函数调用的时候,必须 把当前执行的代码顺序切换到被调用函数的地址,地址跳换之前需要保存现场,被调函数执行完之后要恢复现场,并按照原来的顺序继续执行代码,所以函数调用是有一定的时间和空间的开销,所以函数调用是有开销的。宏调用:宏调用是在预处理阶段将代码展开,所以宏调用是没有函数调用那些开销的,但是宏调用是有些不尽人意的地方:1.
2013-10-09 11:26:14 932
转载 static_cast 和 dynamic_cast 的区别
static_cast一般用来将枚举类型转换成整型,或者整型转换成浮点型。也可以用来将指向父类的指针转换成指向子类的指针。做这些转换前,你必须确定要转换的数据确实是目标类型的数据,因为static_cast不做运行时的类型检查以保证转换的安全性。也因此,static_cast不如dynamic_cast安全。对含有二义性的指针,dynamic_cast会转换失败,而static_cast却直接且粗
2013-10-05 17:45:11 839
转载 git设置颜色
git config --global color.status auto git config --global color.diff auto git config --global color.branch auto git config --global color.interactive auto
2013-09-24 17:36:23 1268
原创 手机中SIM卡锁定和PIN锁定码是什么?
SIM卡锁定是针对手机的,PIN锁定是针对SIM卡的。1. 设置SIM卡密码之后,本手机不能在使用其他SIM卡,就是这个手机绑定到这个SIM卡上了,这个用来保护手机不被盗用。2. 设置PIN锁定之后,无论在哪个手机上使用这个SIM卡都需要输入密码解锁,这个用来保护SIM卡不被盗用。下面是网络上的介绍:Sim卡解锁码主要用于"锁定Sim卡"功能的解锁,防止未
2013-09-24 16:55:10 12170
转载 字符集描述-宽字符描述
字符串基础 - ASCII, DBCS, Unicode所有的字符串类都起源于C语言的字符串,而C语言字符串则是字符的数组。首先了解一下字符类型。有三种编码方式和三种字符类型。第一种编码方式是单字节字符集,称之为SBCS,它的所有字符都只有一个字节的长度。ASCII码就是SBCS。SBCS字符串由一个零字节结尾。第二种编码方式是多字节字符集,称之为MBCS,它包含的字符中有单字节长的字
2013-09-10 17:46:40 909
转载 【转载】Linux下到Lamp安装配置
Linux ubuntu LAMP 安装配置环境-It Works 当然不使用Gnome,使用终端命令也很简单: 直接一条命令:apt-get install apache2 mysql-server mysql-client php5 php5-gd php5-mysql 设置Ubuntu文件执行读写权限 LAMP组建安装好之后,
2013-09-09 21:31:20 738
转载 如何不用密码 ssh登陆服务器
配置ssh之前要在本机上装上ssh,可以通过sudo apt-get install ssh或者通过新立德来安装。如果没有进行配置的话,登录到本机或者远程主机需要该主机的密码才行。下面进行无密码登录的配置: 很简单,执行ssh-keygen -t rsa命令,一路敲回车就行了,就在.ssh文件夹下生成了2个文件,一个公钥和一个私钥文件, id_rsa id_rsa.pub ,然后
2013-09-07 14:10:39 843
转载 如何快速正确安装 vim的插件
问题:按照网上的方法下载软件包然后解压安装vim插件后,输入命令时还是出现了E492: Not an editorcommand: TlistToggle :原因:插件没有安装好,后来上网找了一个更简单的安装插件的方法:sudoapt-get install vim-scripts然后想安装什么插件都可以输入以下命令:vim-addons install taglist
2013-09-07 12:18:13 863
原创 C语言中 可变参数使用
//修改网友的小例子#include #include #include /*函数原型声明,至少需要一个确定的参数,注意括号内的省略号*/int demo( char *, ... );void main( void ){ demo("DEMO", "This", "is", "a", "demo!", "");}int demo( char *msg, ... )
2013-08-27 13:57:21 654
转载 g_idle_add函数介绍
我们知道glib提供了一个名为g_idle_add的函数,这个函数的功能很容易理解:增加一个空闲任务,让应用程序在空闲时执行指定的函数。这种机制非常有用,如果没有这种机制,很多事情将非常麻烦。它的功能虽然简单,但并不是所有人都知道如何充分发挥它的潜力,这里说说它的几个主要用途吧。 1. 在空闲时执行低优先级任务。有的任务优先级比较低,但费耗时间比较长,像屏幕刷新等操作,我们不希望它阻
2013-08-03 15:17:49 5752
原创 我到vimrc文件
if has("cscope")set csto=0set cst set nocsverb " add any database in current directoryif filereadable("cscope.out")cs add cscope.out" else add database pointed to by environmentelseif $CSCOPE_
2013-08-02 21:46:23 686
原创 通过Glib库中的GKeyFile来读取配置文件
系统中的好多配置文件的读取方式都是通过GkeyFile读取的。常用函数如下:g_key_file_new()g_key_file_load_from_file()g_key_file_get_groups()实例代码如下,但是我没有编译通过,不知道缺少了什么参数。我的编译参数是 gcc `pkg-config glib-2.0 --cflags --libs` ma
2013-08-02 10:34:24 4177
原创 修改Linux的帮助文档,通过修改/etc/manpages.config可以指定语言
修改Linux的帮助文档,通过修改/etc/manpages.config可以指定语言
2013-07-24 14:04:53 1056
原创 媒体知识杂谈
媒体杂谈和GStreamerMPEG-4是一套用于音频、视频信息的压缩编码标准,由国际标准化组织(ISO)和国际电工委员会(IEC)下属的“动态图像专家组”(Moving Picture Experts Group,即MPEG)制定,第一版在1998年10月通过,第二版在1999年12月通过。MPEG-4格式的主要用途在于网上流、光盘、语音传送(视频电话),以及电视广播。MPEG-4包
2013-07-12 14:55:21 2026
原创 rpm 包的Linux 如何让屏幕保持唤醒状态
xset dpms 0 0 30 这样写就会在30s后关闭显示屏,进入省电模式。这样我们可以把30 换成300000另外还可以: xset s 0;pmctl stop即没有屏保,电源管理停。另外可以 : xset -dpms 关闭电源管理
2013-07-01 15:44:27 1270
原创 H264相关注意事项
记录网友几句不错的信息下面是针对H264裸码流文件:H.264码流中一般没有帧率,比特率信息到使可以得到,你参考吗流语法,但是有的吗流有VUI信息,他里面有个标志 timing_info_present_flag 若等于1,则码流中有num_units_in_tick 和 time_scale。framerate = time_scale/num_units_in_tick.
2013-06-29 18:47:08 904
原创 视频的Level有什么作用
为什么支持L3的解码器可以解码L5的码流 :Level是对视频的码率,分辨率,帧率,最大参考帧等信息的一个简单综合描述,厂商标出一款设备支持的视频最大Level,方便开发人员或者用户通过查表知道此机器的最大性能。 简单来说,Profile越高,就说明采用了越高级的压缩特性。Level越高,视频的码率、分辨率、fps越高。如果Level一定的情况下,知道了分辨率便很容易算
2013-06-28 15:46:40 1789
转载 MPEG4基础知识简介以及 判断MPEG4的I, P, B帧
基础知识参看 : http://www.docin.com/p-367796495.html当用一副图像来作为一个VO的时候,VOP就对应于具体某一帧了,因为VOP是VO特定时间点的表现mpeg-4提出了视频对象(Video Object )的概念,将一幅图像分为几个视频对象。例如一幅图像中,人物作为一个对象,背景为另一个对象。VOP(Video Object Plant )-视频对象平面
2013-06-28 11:44:35 1706
原创 Gstream 分析记录
开发中使用到的命令 :sdb root onadb shell rpm -ivh --force gstreamer-vaapi-0.4.0.pre1-0.i586.rpmsdb shell "export GST_DEBUG=2 ; gst-launch-0.10 filesrc location=/opt/usr/media/Videos/psy.mp4 ! qtdemux ! vaapi
2013-06-20 20:51:26 1022
原创 记录 ffmpeg 常使用命令
1. 将其他编码转为YUV数据, 默认是YUV420Pffmpeg -i 800x480.mp4 800x480.yuv2. 将H264编码码流转换级别:ffmpeg -i high.mp4 -vcodec libx264 -vprofile baseline baseline.mp43. 将码流旋转90度ffmpeg -i baseline.mp4 -vf "tran
2013-06-13 10:46:48 1297
原创 FFmpeg 按转 libx264 遇到 “libx264 not found”
安装FFmpeg x264支持到时候遇到了 “libx264 not found”于是开始搜索,原来到编译libx264时的姿势不对,于是调整了一下姿势如下:cd ~/x264make uninstallmake distclean./configure --enable-static --disable-openclmakemake install
2013-06-12 18:04:55 2861
C语言实现打字练习程序
2009-09-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人