自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

转载 测试一下你的C语言水平

整个测试遵循以下的约定:u       假定在所有的程序中必须的头文件都已经被正确包含。考虑如下的数据类型:u       char 为1个字节u       int 为4个字节u       long int 为4个字节u       float 为4个字节u       double 为个8字节u       long double 为 8个字节u

2013-03-31 19:17:40 992

转载 sscanf函数的高级用法

大家都知道sscanf是一个很好用的函数,利用它可以从字符串中取出整数、浮点数和字符串等等。它的使用方法简单,特别对于整数和浮点数来说。但新手可能并不知道处理字符串时的一些高级用法,这里做个简要说明吧。 1.         常见用法。char str[512] = {0};         sscanf("123456 ", "%s", str);    pr

2013-03-31 19:15:55 495

转载 堆和栈的区别

一直就搞不清出这个问题,今天上网想起来,随即搜了搜,找到了一些资料。不知源作者是谁。姑且“拿来主义”一下,呵呵。一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—   由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) —   一般由程序员分配释放, 若程序员不释放

2013-03-31 19:14:37 493

转载 使用SSE指令优化的数学函数(整理)

float _SSE_cos( float x){ float temp; __asm {  movss xmm0, x  movss xmm1, _ps_am_inv_sign_mask  andps xmm0, xmm1  addss xmm0, _ps_am_pi_o_2  mulss xmm0, _ps_am_2_o_pi  cvttss2si

2013-03-31 19:08:16 1501

转载 在视频格式转换中使用MMX和SSE指令集提高性能

大家都知道使用Overlay平面显示视频可能充分利用显示的硬件加速功能,自由缩放,同时显著降低CPU的消耗。但现在市场上流行的MP4,H.264板卡解压时往往输出的格式是YV12,这种格式在多数显卡上无法正常显示,一般需要转换为YUYV格式进行显示。一.直接C++代码进行转换void CDispOverlay::BufferFrame(UINT nID, // 通道编号

2013-03-31 19:07:40 1229

转载 MMX及SSE优化--MMX篇

MMX和SSE都是INTEL开发的基于SIMD(单指令多数据流)的技术。所谓单指令多数据流是指可以用一条指令可以完成多个数据的操作。虽然64位系统已经推出,但是我们大部分都是使用32位系统,所以如果要完成两个128位的相加运算,用普通32位指令很明显要执行4条相加指令,而基于64位的MMX指令只需要执行两次即可完成,更强大的SSE能一次处理128位,故一次就可以完成操作,所以采用MMX及SSE优化

2013-03-31 19:06:50 1068

转载 SSE2初学指南

IntroWhat is SSE2?SSE2 is an extension of assembly language which allows programs to execute one operation on multiple pieces of data at a time. Because SSE2 is assembly however, it only works

2013-03-31 19:05:51 796

转载 SSE所需头文件

Q:seafrog:您好,我看到你译著的两篇关于MMX、SSE编程的文章,很受启发。然而,它们都是在Visual Studio.NET下使用。我想在Visual C++里面使用,可在我的机器里找不到emmintrin.h和xmmintrin.h两个头文件。我已在机器上安装了Visual C++,是不是需要从INTEL的网站下载什么包解压后才有这两个文件呢?如果是需要下载什么包?在VC中究竟怎样配置

2013-03-31 19:04:46 1413

转载 SSE指令介绍及其C、C++应用

SSE是英特尔提出的即MMX之后新一代(当然是几年前了)CPU指令集,最早应用在PIII系列CPU上。现在已经得到了Intel PIII、P4、Celeon、Xeon、AMD Athlon、duron等系列CPU的支持。而更新的SSE2指令集仅得到了P4系列CPU的支持,这也是为什么这篇文章是讲SSE而不是SSE2的原因之一。另一个原因就是SSE和SSE2的指令系统是非常相似的,SSE2比SSE多

2013-03-31 19:04:07 746

转载 MMX及SSE优化--SSE篇

上回讲到针对整数运算的MMX优化技术,然而真正大运算量的图形和声音处理大都用的是浮点运算,而且现在对浮点运算的要求也是越来越高,在这样一个条件下INTEL终于在Pentium III处理中增加针对浮点运算优化的SSE指令,所以所有用过SSE指令的程序必须在Pentium III或者Althon XP以后的CPU上才来运行。 SSE全新定义了8个新的128位寄存器xmm0-xmm7,比MMX

2013-03-31 19:02:50 935

转载 再谈MMX优化

这几天帮别人做了彩色空间转换的MMX优化,包括YUV420RGB,YUV420YUV422,UYVY->YUV420,感觉收获不少.MMX指令的确强劲,使用内联的MMX指令后转换速度比优化前平均提高了3-4倍.下面承接原来的MMX优化的入门篇稍微深入点讲解MMX指令的用法.首先在VC的内联汇编中使用MMX指令的确时相当方便,而且效率也非常高.推荐使用.一般有两种传送方式:数组和指针

2013-03-31 19:01:49 649

转载 MMX和SSE的运用

Intel的MM技术是对Intel体系结构(IA)指令集的扩展。该技术使用了单指令多数据技术(SIMD)技术,以并行方式处理多个数据元素。MMX?指令集增加了57条新的操作码和一个新的64位四字数据类型,增加了八个新的64位MMX寄存器,每个寄存器可按名称MM0-MM7直接访问。这意味着我们可以在一个寄存器里最多存8个数据(最小单位字节)。 SSE系列是MMX的超集,直到SSE2才跟MMX有本

2013-03-31 18:55:48 1349

转载 VS10编译X264

H264可以说是现在视频发展的趋势,越来越多的视频舍弃了rmvb投入了H264的怀抱。我自己压的视频都是用H264编码的,因此想学习H264的编码,当然这里面也有专业的原因。要想学习H264,第一部就是编译x264。如果你仅仅需要使用x264的话你可以到这下载:http://x264.nl/x264的源码下载地址:http://www.videolan.org/developers

2013-03-27 17:00:38 828

原创 虚拟机安装Ubuntu12.04

问题描述               使用虚拟机安装Ubuntu过程中一直停留在“PLEASE WAIT! Vmware Tools is currently           being installed on your system”如下图:  软件环境      VMWare 7      Ubuntu 12.04

2013-03-26 23:46:41 538

转载 Ubuntu11.10 Vim配置

"=========================================================================" DesCRiption: 适合自己使用的vimrc文件,for Linux/Windows, GUI/Console"" Last Change: 2010年08月02日 15时13分 "" Version:     1.80

2013-03-22 08:04:55 609

转载 ubuntu 11.10下的vim安装以及配置

下面说明ubuntu 11.10下的vim安装以及配置。请切换到root用户。1.到ftp://ftp.vim.org/pub/vim/unix/目录下载对应的版本。我们这里选择下载vim-7.3.tar.bz2这个文件。下载后随便解压一个地方。到新立得软件管理中,将vim-common,vim-tiny删除2.解压后产生一个vim73文件夹。进入vim73文件夹3. 执行./conf

2013-03-21 23:57:42 799

转载 x264 windows 下用vs2010 编译

在下是新手,在学习x264的时候都是使用的以前2009年左右的x264工程,有libx264的那个,想要更新最新的x264代码但是不会。我在请教了我身边的一位高手之后,整理了一下他使用新代码建立x264工程的过程,现在发上来给大家参考一下。在此感谢那位师兄,这都是他一步步探索出来的。      因为这个东西也是必须得在自己的电脑上一步步尝试,然后查错解决的,所以每个人在进行以下的方法和步骤时会

2013-03-17 16:13:15 1536 1

转载 HM的使用(第一次接触HEVC)

从今天开始,会陆续发表HEVC学习过程中的一些总结,主要目的是与大家一起交流学习,由于水平有限,恳请大家能够不吝赐教。 由于这是第一次写博客,而且学习也是个循序渐进的过程,第一篇文章就简单介绍下如何使用HEVC的官方标准测试模型HM吧。其实如果之前学习过H.264的话,肯定也是用过JM的,HM的使用方法与JM基本上是相同的,只是配置文件的内容有所不同罢了。好了,不多说,马上进入正题

2013-03-12 19:18:05 2546

转载 学会怎么买一折飞机票

学会怎么买一折飞机票       机票比火车票还便宜,您知道吗?机场内部人员都是这么定的!!(早没看见这个日志!吃大亏了。。四川的同事一折飞机票飞回家。。我七折卧铺坐回家)故本篇博文请您·把它收藏好!并转到您·空间!  --舍得        首先,这里不是机票销售处~ 也是才得到这个帖子就贴出来大家分享嘛~亲爱的朋友们,别老让我查机票了         自

2013-03-10 13:24:31 1870

转载 I帧和IDR的区别

IDR(Instantaneous Decoding Refresh)--即时解码刷新。   I和IDR帧都是使用帧内预测的。它们都是同一个东西而已,在编码和解码中为了方便,要首个I帧和其他I帧区别开,所以才把第一个首个I帧叫IDR,这样就方便控制编码和解码流程。IDR帧的作用是立刻刷新,使错误不致传播,从IDR帧开始,重新算一个新的序列开始编码。而I帧不具有随机访问的能力,这个功能是由IDR

2013-03-09 20:20:50 1736

转载 帧内、帧间解码

转自:http://blog.163.com/laorenyuhai126@126/blog/static/1935077920103257210763/H.264帧内、帧间解码帧内解码时,在解码端,首先通过当前宏块左边、上边已经解码完成的宏块使用当前宏块的预测模式(预测模式计算过程请参见我的论文《H.264数字视频差错控制技术的研究》,在群FTP“本群原创资料”目录中)得到当

2013-03-09 20:16:32 1718

转载 32个学习FPGA的热门网站

1. OPENCORES.ORG 这里提供非常多,非常好的PLD了内核,8051内核就可以在里面找到。进入后,选择project或者由http//www.opencores.org/browse.cgi/by_category进入。对于想了解这个行业动态人可以看看它的投票调查。http://www.opencores.org/polls.cgi/listOpenCores is

2013-03-07 16:01:29 1151 2

转载 简单并行CRC(verilog)(转)

这么久真是囧的几周,天天在囧一个相关的问题.一直没有囧出来= =..偏偏网上资料少得可怜…本来没有想到弄CRC检验的,但是由于前个星期在囧状态机的时候无意描述了一个LFSR也就是线性移位寄存器,然后不知道除了做模2还可以干嘛,于是查到了CRC可以用那块实现.也就是串行校验…并且相当有趣的算法.可是囧了一个星期,逻辑图画了一次又一次,换了N总方式来描述,DATA都出来相当囧异的x…刚才突然醒悟过

2013-03-07 15:52:37 7823 1

转载 CRC除法

CRC里的除法不是简单的二进制除法,CRC里的除法运算规则如下所示:1111_000 被除数1101          除数----------------------够除数的位数,商等于10010 (余数,通过除数与被除数前4位求异或得到)------100    (把被除数第5位挪下来)1101   除数------

2013-03-07 15:21:13 4793 1

转载 CRC原理

摘要:本文首先介绍了CRC的代数学算法,然后以常见的CRC-ITU为例,通过硬件电路的实现,引出了比特型算法,最后重点介绍了字节型快速查表算法,给出了相应的C语言实现。关键词:CRC,FCS,生成多项式,检错重传引言CRC的全称为Cyclic Redundancy Check,中文名称为循环冗余校验。它是一类重要的线性分组码,编码和解码方法简单,检错和纠错能力强,在通信领域

2013-03-07 15:20:31 897

转载 典型ASIC设计详细流程

典型ASIC设计具有下列相当复杂的流程:         1) 、结构及电气规定。           2)、RTL级代码设计和仿真测试平台文件准备。       3)、为具有存储单元的模块插入BIST(Design For test 设计)。       4)、为了验证设计功能,进行完全设计的动态仿真。       5)、设计环境设置。包括使用的设计库和其他一些环境变量。

2013-03-07 15:16:19 3127

转载 为什么代码中要避免使用时钟下降沿?(转)

以前做FPGA的时候,没有关心过这个问题,上升沿和下降沿,一直混用。但是昨天后端部门的Lint检查和综合检查都指出了这个问题,要求把设计中的所有时钟沿都统一为上升沿抽样。这样做的目的,据说是为了提高scan chain的覆盖率。因为没有经验,想在这里请教一下大家:- 混用上升下降沿会对scan chain造成什么样的影响,能否具体解释一下;- 如果代码在逻辑上必须用下降沿采样,怎样才能

2013-03-07 15:14:25 3149

转载 很经典,逻辑电路设计经验(转)

规范很重要   工作过的朋友肯定知道,公司里是很强调规范的,特别是对于大的设计(无论软件还是硬件),不按照规范走几乎是不可实现的。逻辑设计也是这样:如果不按规范做的话,过一个月后调试时发现有错,回头再看自己写的代码,估计很多信号功能都忘了,更不要说检错了;如果一个项目做了一半一个人走了,接班的估计得从头开始设计;如果需要在原来的版本基础上增加新功能,很可能也得从头来过,很难做到设计的可重用性。

2013-03-07 15:10:54 1824

转载 verilog中的有符号数运算(转)

verilog中的有符号数运算有符号数的计算:若有需要关于有号数的计算,应当利用Verilog 2001所提供的signed及$signed()机制。Ex:input  signed [7:0] a, b;output  signed [15:0] o;assign o = a * b;orinput   [7:0] a, b;out

2013-03-07 15:03:34 6640

转载 asic闲杂读书笔记(转)

=》伪路径:STA认为是时序失败,而设计者认为是正确的路径。=》顶层模块中若出现中间逻辑,DC就不能把子模块中的逻辑综合到最优化。=》设计中若既要用到上沿,又要用下沿,应分模块设计。最好在顶层中对clock做一非门,这样,整个时钟都用同一个沿,便于综合。=》将关键路径逻辑和非关键路径逻辑放在不同模块,保证DC对关键路径模块实现速度优化,对非关键路径实现面积优化。同一个模块,DC无法实现

2013-03-07 14:58:00 673

转载 如何复位———异步复位,同步释放的方式,而且复位信号低电平有效(转)

一、特点:   同步复位:顾名思义,同步复位就是指复位信号只有在时钟上升沿到来时,才能有效。否则,无法完成对系统的复位工作。用Verilog描述如下:            always @ (posedge clk) begin                  if (!Rst_n)                    ...            end   异步复

2013-03-07 14:56:16 13822 1

转载 8*8SRAM编写

8*8SRAM:module sram_8_8(cs,rd,wr,address,din,dout);    input cs,rd,wr;    input [2:0] address;    input [7:0] din;    output [7:0] dout;       reg [7:0] dout;    reg [7:0] sram [0:7]

2013-03-07 14:54:23 1025

转载 电路笔试

1、什么是同步逻辑和异步逻辑,同步电路和异步电路的区别是什么?同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。 电路设计可分类为同步电路和异步电路设计。同步电路利用时钟脉冲使其子系统同步运作,而异步电路不使用时钟脉冲做同步,其子系统是使用特殊的“开始”和“完成”信号使之同步。由于异步电路具有下列优点--无时钟歪斜问题、低电源消耗、平均效能而非最差效能、模块性、可

2013-03-07 14:50:19 992

转载 单比特信号同步(转)

本文讨论的四种常用FPGA/CPLD设计思想与技巧:乒乓操作、串并转换、流水线操作、数据接口同步化,都是FPGA/CPLD逻辑设计的内在规律的体现,合理地采用这些设计思想能在FPGA/CPLD设计工作种取得事半功倍的效果。 FPGA/CPLD的设计思想与技巧是一个非常大的话题,由于篇幅所限,本文仅介绍一些常用的设计思想与技巧,包括乒乓球操作、串并转换、流水线操作和数据接口的同步方法。希望本

2013-03-07 14:47:56 2434

转载 FPGA设计中对输入信号的处理(转)

1.输入信号为什么要寄存    一般来说,在全同步设计中,如果信号来自同一时钟域,各模块的输入不需要寄存。只要满足建立时间和保持时间的约束,可以保证在时钟上升沿到来时,输入信号已经稳定,可以采样得到正确的值,但是如果模块需要使用输入信号的跳变沿(比如帧同步信号),千万不要直接这样用:always@(posedge inputs)begin        ...

2013-03-07 14:27:07 2233

转载 What is metastability?

1 什么是亚稳态?如果一个触发器的输入不满足建立时间和保持时间的要求时,触发器的输出就进入了一个不确定的状态(也就是亚稳态)。亚稳态最后有可能是1也有可能是0,整个这个过程叫做亚稳态。如下图所示Tsu是建立时间、Th是保持时间,当触发器的输入信号D不满足建立时间和保持时间的要求时,会出现亚稳态。如果触发器进入亚稳态,如下图所示:输出会在0和1之间振荡(这里最终输出稳定到0)

2013-03-07 13:45:25 1266

转载 FPGA设计中的跨时钟域问题(转)

在一个FPGA设计中可能会用到多个时钟,每个时钟在FPGA内部形成一个时钟域,如果在一个时钟域中产生的信号需要在另一个时钟域中使用,那么需要特别小心!到另一个时钟域的信号假设一个在时钟域CLKA产生的信号需要在时钟域CLKB中使用,那么它需要首先与时钟域CLKB“同步”,也就是说需要一个“同步”设计,它接受来自时钟域CLKA的信号,并产生一个新的信号输出到CLKB。

2013-03-07 13:42:22 2702

转载 2013年:各大IT公司待遇「转自网络」

1:本人西电通院2013届毕业硕士,根据今年找工作的情况以及身边同学的汇总,总结各大公司的待遇如下,吐血奉献给各位学弟学妹,公司比较全,你想去的公司不在这里面,基本上是无名小公司了;但无名小公司有时也很给力。以下绝对是各大公司2013届校招的数据,少数几个是2012 2011的数据,都已经特别注明,数据真实重要性高于一切!!!2013年以前的数据来源:西电好网论坛和西电睿思论坛,应届生论坛,选

2013-03-07 12:40:11 4981

转载 设置OUTLOOK2010新邮件到达提醒和最小化到托盘显示

OUTLOOK启动后最小化总是在任务栏上占一个位置,工作起来碍事,所以希望它能够最小化到托盘,以下方法可以帮你实现:1.打开注册表:开始菜单->运行,输入"regedit"并回车2.打开HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences项目3.建立一个DWord的值(双字节值),名称为"M

2013-03-05 11:35:51 3124

转载 关于多核DSP C6678共享存储器问题的理解

MSMC默认配置为L2,根据用户需要能配置成L3。由于配置为L3只是做了地址映射,所以物理上的访问时间应该还是一个数量级的,相差不大。这里的L2 和L3的区别应该是指L2只能被L1D和L1P Cache, L3能被L2、L1D和L1P Cache。一般来说,默认使用L2的配置。用户根据自己的应用来决定是否配置为L3。最常见的需要设置MSMC为L3的场景为:需要MSMC内存为 non-cacheab

2013-03-01 22:22:31 11934 2

空空如也

空空如也

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

TA关注的人

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