GNU Make自动变量一览
[整理] GNU Make自动变量一览GNU 自动变量一览表 名称 含义$@规则目标的文件名.如果目标是档案文件的一个成员,"$@"就是档案文件的名称$%当目标是档案文件的一个成员时,"$%"是该成员的名称.否则"$%"为空$<第一个依赖文件的名称$?以空格隔开的比目标新的所有依赖文件名.若依赖文件是档案文件的成员,只使用成员的名称$^以空格隔开的所有依赖文件名.若依赖文件是档案文件的成员,只使用成员名称.无论一个依赖文件出现过多少次,"$^"值中只包含其名称的一个拷贝$+与"$^"相似,但多次列出的依
make的模式规则
make的模式规则 你可以使用模式规则来定义一个隐含规则。一个模式规则就好像一个一般的规则,只是在规则中,目标的定义需要有"%"字符。"%"的意思是表示一个或多个任意字符。在依赖目标中同样可以使用"%",只是依赖目标中的"%"的取值,取决于其目标。 有一点需要注意的是,"%"的展开发生在变量和函数的展开之后,变量和函数的展开发生在make载入Makefile时,而模式规则中的"%"则发生在运行时。 1、模式规则介绍 模式规则中,至少在规则的目标定义中要包含"%",否则
shell特定变量和Makefile中自动化变量的对比记忆
经常在shell命令行见到$*,$#,$@...这些特定变量,还有在Makefile中看到一些以$开头的自动化变量,为了方便记忆,不产生混淆,特总结出来,希望可以给大家带来一些帮助。1. shell中特定的变量$# 传递到脚本的参数个数$* 以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过9个$$ 脚本运行的当前进程PID号$! 后台运行的最后一个进程的进程号$@ 与$*相同,但是使用时用双引号,并将各个参数加双引号返回$- 显示shell使用的当前选项,与set命令功能相同$_ 上一个命令的最后一个参数$? 显示最后命令的退出状态,0表示执
linux ar命令的说明
linux ar命令的说明功能说明:建立或修改备存文件,或是从备存文件中抽取文件。语 法:ar[-dmpqrtx][cfosSuvV][a<成员文件>][b<成员文件>][i<成员文件>][备存文件][成员文件]补充说明:ar可让您集合许多文件,成为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限。参 数:指令参数-d 删除备存文件中的成员文件。-m 变更成员文件在备存文件中的次序。-p 显示备存文件中的成员文件内容。-q 将问家附加在备存文件末端。-r 将文件插入备存文件中。-t 显示备存文件中所包含的文件。-x
linux ar 打包库到另一个库中
不论你是否遇到过或者想到过这样的情况,在一个库中添加另一个库,这个方法对你们来说都是及其有用的。因为我在网上搜索了半天还没有搜索到与此方法相关的文章。我已经测试过了通过这种方法生成的库是完全可用的,而且非常方便。通过在实际的项目中我学到了这个很好的方法,所以在这里给大家介绍一个,希望对大家有帮助。大家就不用走更多的弯路ar命令的操作选项和任选项我就不介绍了,很简单,网上也有很多文章在介绍,随便看看就可以了。如果你不知道,还是应该去先去看看再来这篇文章。如果我们简单的通过ar命令把几个.o文件,如yuer1.
使用 getopt() 进行命令行处理
Chris Herborth (chrish@pobox.com), 自由撰稿人, 作家Chris Herborth 是一位屡获殊荣的高级技术作者,十余年来撰写了许多篇操作系统和编程方面的文章。在陪伴儿子 Alex 或妻子 Lynette 之余,他设计、编写和研究(也就是玩)视频游戏。简介: 所有 UNIX® 程序甚至那些具有图形用户界面(graphical user interface,GUI)的程序,都能接受和处理命令行选项。对于某些程序,这是与其他程序或用户进行交互的主要手段。具有可靠的复杂命令行参数处理机制,会使得您的应用程序更好、更有用。不过很多开发人员都将其宝贵的时间花在了编写自
流媒体 Buffer 设计原理
1. Buffer 设计大小依据: (1) 依据是 你所需要缓冲多长时间,比如是100ms还是50ms; (2) 大小: 即每秒钟会收到的字节数; Buffer = dwBytesPerSec * dwLatencyInMilliseconds / 1000;2. 举例: 采集声音:(G711规格) Buffer = 16 /8 * 8000 * (PTime) /1000 其中, 16/8为每一个G711的Samplez占用2个字节, 8000为采样率,即每1s需要采样8000个G711的Sample, PTime = 缓冲时间(ms),假设PTime为50ms, 则 Buffer = 2*8000 * 50 / 1000 = 800 Bytes,(压缩前) 即
G711/G722/G723 规格
Audio Encodings name of sampling default encoding sample/frame bits/sample rate ms/frame ms/packet __________________________________________________________________ DVI4 sample 4 var. 20 G722 sample 8 16,000 20 G723 frame N/A 8,000 30 30 G726-40 sample 5 8,000 20
VoIP学习笔记第二部分:语音编码
语音编码方法 我们在前一节提到过MOS(Mean Opinion Score)这个概念, 我们在传输语音的过程中, 因为带宽的限制问题理所当然的会把对语音数据进行有损的压缩.这样的话,语音的质量就会降低,但是通讯的压力会很小,相应的MOS的得分就会低一些.语音编码技术的目标就是在保持相对较少的信息量的情况下使MOS尽可能的高.语音分为三种主要的类型:1) 浊音. 空气从肺部向声道不断进行开合震动的声带所阻断的时候就产生了浊音,声带开合的速率决定了声音的音调.有明显的周期性,周期一般在2ms-20ms之间2) 清音 当声门保持敞开的状态,通过声道的收
音频编解码标准
PCMU(G.711U)类型:Audio制定者:ITU-T所需频宽:64Kbps(90.4)特性:PCMU和PCMA都能提供较好的语音质量,但是它们占用的带宽较高,需要64kbps。优点:语音质量优缺点:占用的带宽较高应用领域:voip版税方式:Free备注:PCMU and PCMA都能够达到CD音质,但是它们消耗的带宽也最多(64kbps)。如果网络带宽比较低,可以选用低比特速率的编码方法,如G.723或G.729,这两种编码的方法也能达到传统长途电话的音质,但是需要很少的带宽(G723需要5.3/6.3kbps,G729需要8kbps)。如果带宽足够并且需要更好的语音质量,就使用PCMU 和 PCMA,甚至可以
linux用户管理常用命令
[转] linux用户管理常用命令linux用户管理常用命令 1)管理用户(user)的工具或命令; useradd 注:添加用户 adduser 注:添加用户 passwd 注:为用户设置密码 usermod 注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等; pwcov 注:同步用户从/etc/passwd 到/etc/shadow pwck 注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整; pwunconv 注:是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件; finger 注:查看用户信息工具 id 注
H.264/MPEG-4 Part 10 White Paper 译(五) Reconstruction Filter
H.264/MPEG-4 Part 10 White Paper 译(五) Reconstruction Filter重建滤镜1. 引言联合视频工作组(JVT)正在定案一个新的自然视频图像编码(压缩)标准。新标准被称为H.264或称作MPEG-4 Part 10、“高级视频编码(AVS)”。这篇文档描述了H.264编码解码器中过滤重建块的方法。注意H.264草案标准现在尚未定稿,所以鼓励读者参考最新版本的标准。2. 什么是重建滤镜滤镜是为了减小块失真而应用到所胡已解码宏块上。抗块效应滤波器在下述两种情况下使用:(1)编码过程:逆变换之后使用(在重建之前并为了之后的预测而存储宏块)(2)解码
H.264/MPEG-4 Part 10 White Paper 译(四) Transform & Quantization(下)
H.264/MPEG-4 Part 10 White Paper 译(四) Transform & Quantization(下)4. 2X2色度直流系数变换和量化 宏块中的每个色度分量由4个4X4采样块组成。每个4X4块进行第2部分所述的变换。每个4X4系数块的直流系数被组合到一个2X2块(WD)并且在量化前进行进一步的变换。 2X2输出块YD的量化的实现如下:|ZD(i,j)| = (|YD(i,j)|.MF(0,0) + 2f) >> (qbits+1)sign(ZD(i,j)) = sign(YD(i,j))Equation 4-2其中MF,f和qbits定义如上文相同。在解码过程中,在逆量化前进行逆变换: 若QP大于等于6,则逆量化过实现如下:W’D(i,j) = WQD(i,j)
H.264/MPEG-4 Part 10 White Paper 译(四) Transform & Quantization(中)
H.264/MPEG-4 Part 10 White Paper 译(四) Transform & Quantization(中)2.3 改变标度(逆量化) 逆量化操作如下:Y’ij = Zij.QstepEquation 2-8逆变换中的预缩放因子(矩阵Ei,对应于系数位置值分别为a^2,ab和b^2)也是这个操作的一部分,同时增加了一个为64的常量比例系数来避免舍入错误。W’ij = Zij.Qstep.PF.64Equation 2-9比例系数W’ij随后使用“核心”逆变换(Ci’WCi: 如Equation 2-4)进行变换。逆变换的输出值被除以64来除去比例因子(这可以通过一次加法和一次右移来实现)。H.264标准没有直接指明Qstep
H.264/MPEG-4 Part 10 White Paper 译(四) Transform & Quantization(上)
H.264/MPEG-4 Part 10 White Paper 译(四) Transform & Quantization(上)2008-10-10 21:24变换和量化1. 引言联合视频工作组(JVT)正在定案一个新的自然视频图像编码(压缩)标准。新标准[1]被称为H.264或称作MPEG-4 Part 10、“高级视频编码(AVS)”。这篇文档描述了标准所定义或隐含的变换和量化过程。每个残差宏块被传输,量化并编码。之前的标准如MPEG-1,MPEG-2,MPEG-4和H.263使用了8X8离散余弦变换(DCT)作为基本变换。H.264的基本规范使用三种变换,采用何种变换取决于被编码的残差数据:(1)对宏块内部
H.264/MPEG-4 Part 10 White Paper 译(三) Inter Prediction
H.264/MPEG-4 Part 10 White Paper 译(三) Inter Prediction2008-10-07 18:00P片帧间预测1. 引言联合视频工作组(JVT)正在定案一个新的自然视频图像编码(压缩)标准。新标准[1]被称为H.264或称作MPEG-4 Part 10、“高级视频编码(AVS)”。这篇文档描述了H.264中以P-片来进行帧间预测编码的方法。帧间预测从一个或多个之前已经编码的视频帧中生成一个预测模型。这个模型由对参考帧中的采样进行漂移产生(运动补偿预测)。AVC CODEC 使用基于块的运动补偿,与从H.261以来的主要编码标准中采用的规则相同。然而,它与早期标准有着重要的区
H.264/MPEG-4 Part 10 White Paper 译(二) Intra Prediction
H.264/MPEG-4 Part 10 White Paper 译(二) Intra Prediction帧内宏块预测1. 引言联合视频工作组(JVT)正在定案一个新的自然视频图像编码(压缩)标准。新标准被称为H.264或称作MPEG-4 Part 10、“高级视频编码(AVS)”。这篇文档描述了H.264编解码器中宏块帧内编码的方法。如果一个块或宏块按帧内模式编码,会基于之前已经编码并重构(未过滤)的块生成一个预测宏块。这个预测块P被从之前已经编码的当前宏块中减去。对于亮度(luma)采样,P可能为每个4X4子块或16X16宏块产生。对于每个4X4的亮度块总共有9种可选的预测模式;对于16X16亮
H.264/MPEG-4 Part 10 White Paper 译(一) Overview
H.264/MPEG-4 Part 10 White Paper 译(一) OverviewH.264概览1. 引言数字电视和DVD-video的出现使得广播电视和家庭娱乐发生了彻底的变革.越来越多的这些应用成为可能随着视频压缩技术的标准化.MPGE系列的下一个标准,MPEG4,正使得新一代的基于因特网的视频应用成为可能.而现在视频压缩的ITU-T H.263标准被广泛的应用于视频会议系统.MPEG4(视频)和H.263都是基于视频压缩(视频编码)技术的标准(大约从1995年开始).运动图像专家组和视频编码专家组(MPEG和VCEG)致力于开发一个比MPEG4和H.263有更好性能的新标准,有着高品质,低比特视频流的特
YUV图像格式
YUV(亦称YCrCb)是被欧洲电视系统所采用的一种颜色编码方法(属于PAL),是PAL和SECAM模拟彩色电视制式采用的颜色空间。其中的Y,U,V几个字母不是英文单词的组合词,Y代表亮度,uv代表色差,u和v是构成彩色的两个分量。在现代彩色电视系统中,通常采用三管彩色摄影机或彩色CCD摄影机进行取像,然后把取得的彩色图像信号经分色、分别放大校正后得到RGB,再经过矩阵变换电路得到亮度信号Y和两个色差信号R-Y(即U)、B-Y(即V),最后发送端将亮度和色差三个信号分别进行编码,用同一信道发送出去。这种色彩的表示方法就是所谓的YUV色彩空间
RGB,YUV的来历及其相互转换
在视频等相关的应用中,YUV是一个经常出现的格式。本文主要以图解的资料的形式详细描述YUV和RGB格式的来由,相互关系以及转换方式,并对C语言实现的YUV转为RGB程序进行介绍。 人类眼睛的色觉,具有特殊的特性,早在上世纪初,Young(1809)和Helmholtz(1824)就提出了视觉的三原色学说,即:视网膜存在三种视锥细胞,分别含有对红、绿、蓝三种光线敏感的视色素,当一定波长的光线作用于视网膜时,以一定的比例使三种视锥细胞分别产生不同程度的兴奋,这样的信息传至中枢,就产生某一种颜色的感觉。 70年代以来,由于实验技