关注视频处理,如视频编码、视频云服务等。
<p><br></p> <p></p> <pre name="code" class="cpp">int main(int argc, char* argv[]) { TAppDecTop cTAppDecTop; // print information fprintf( stdout, "\n" ); fprintf( stdout, "HM software:
<p><br></p> <p></p> <pre code_snippet_id="539592" snippet_file_name="blog_20141202_1_5458888" name="code" class="cpp">__inline Void TEncSearch::xTZ2PointSearch( TComPattern* pcPatternKey, IntTZSe
<p><br></p> <p></p> <pre code_snippet_id="539588" snippet_file_name="blog_20141202_1_7201235" name="code" class="cpp">__inline Void TEncSearch::xTZ8PointSquareSearch( TComPattern* pcPatternKey,
<p>xTZSearch调用了2个最为主要的函数:xTZ8PointDiamondSearch和xTZ2PointSearch,值得一提的是,HM中还提供了另外一个搜索函数xTZ8PointSquareSearch,但由于实际并没有使用这个函数,且它其实跟钻石搜索只是搜索点的选择略有不同,分析起来基本上也是一样的。</p> <p><br></p> <p></p> <pre code_s
<p><br></p> <p></p> <pre name="code" class="cpp">/* 分析xTZSearch这个函数,xTZSearchHelp是当中最为重要的子函数之一。它实现最基本的功能:根据输入的搜索点坐标, 参考图像首地址,原始图像首地址,以及当前PU大小等相关信息,计算出SAD,并与之前保存的最佳值进行比较,更新到 目前为止的最佳值相关参数,如uiBestSa
<p><br></p> <p></p> <pre name="code" class="cpp">Void TEncSearch::xTZSearch( TComDataCU* pcCU, TComPattern* pcPatternKey, Pel* piRefY, Int iRefStride, TComMv* pcMvSrchRngLT, TComMv* pcMvSrchRngR
<p><br></p> <p></p> <pre name="code" class="cpp">Void TEncSearch::xPatternSearch( TComPattern* pcPatternKey, Pel* piRefY, Int iRefStride, TComMv* pcMvSrchRngLT, TComMv* pcMvSrchRngRB, TComMv&
<p><br></p> <p></p> <pre name="code" class="cpp">//!< 运动估计(基本思想就是用TZSearch算法先进行整像素搜索,确定一个局部的最佳值,然后以这个最佳点为中心再进行精度更高的分像素搜索。) Void TEncSearch::xMotionEstimation( TComDataCU* pcCU,
<p><br></p> <p></p> <pre name="code" class="cpp">/** search of the best candidate for inter prediction * \param pcCU * \param pcOrgYuv * \param rpcPredYuv * \param rpcResiYuv * \param rpcRec
<p><br></p> <p></p> <pre code_snippet_id="539245" snippet_file_name="blog_20141202_1_7049848" name="code" class="cpp">#if AMP_MRG Void TEncCu::xCheckRDCostInter( TComDataCU*& rpcBestCU, TComD
<p>运动估计的英文名称是Motion Estimation,是视频编码和视频处理(例如去交织)中广泛使用的一种技术。</p> <p><br></p> <p>运动估计的<strong><span style="color:#ff0000">基本思想</span></strong>是将图像序列的每一帧分成许多互不重叠的宏块,并认为宏块内所有像素的位移量都相同,然后对每个宏块到参考帧某一给
<p><br></p> <p></p> <pre name="code" class="cpp">/** Check R-D costs for a CU with PCM mode. * \param rpcBestCU pointer to best mode CU data structure * \param rpcTempCU pointer to testing mod
<p><br></p> <p></p> <pre name="code" class="cpp">#if AMP_MRG Void TEncCu::xCheckRDCostInter( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize ePartSize, Bool bUseMRG) #else Void T
<p><br></p> <p></p> <pre name="code" class="cpp">// texture /** encode coefficients * \param pcCU * \param uiAbsPartIdx * \param uiDepth * \param uiWidth * \param uiHeight */ Void TEncEntro
<p><br></p> <p></p> <pre code_snippet_id="537345" snippet_file_name="blog_20141130_1_6232807" name="code" class="cpp">Void TEncSearch::estIntraPredChromaQT( TComDataCU* pcCU,
<p><br></p> <p></p> <pre code_snippet_id="537334" snippet_file_name="blog_20141130_1_4880297" name="code" class="cpp">Void TEncSearch::estIntraPredQT( TComDataCU* pcCU,
<p><br></p> <p></p> <pre name="code" class="cpp">Void TEncCu::xCheckRDCostIntra( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize eSize ) { UInt uiDepth = rpcTempCU->getDepth
<p><br></p> <p></p> <pre name="code" class="cpp">// ==================================================================================================================== // Protected member functi
<p><br></p> <p></p> <pre code_snippet_id="537266" snippet_file_name="blog_20141130_1_961923" name="code" class="cpp">Void TEncCu::compressCU( TComDataCU*& rpcCU ) { // initialize CU data
<p>目前,计算机加工处理的对象由纯粹的数值发展到字符、表格和图像等各种具有一定结构的数据,这就给程序设计带来了一些新的问题。为了编写一个好的程序,必须分析待处理的对象的特征以及各处理对象之间存在的关系,这就是“数据结构”这门学科形成和发展的背景。</p> <p>“数据结构”作为一门独立的课程,在国外是从1968年才开始设立的。</p> <p><br></p> <p>1、什么是数据结
<p>iOS是由苹果公司开发的移动操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad以及Apple TV等产品上。<br></p> <p>系统架构层次如下图:</p> <p style="text-align:center"><img src="http://img.blog.cs
<p><br></p> <p></p> <pre name="code" class="cpp">Void TEncSlice::compressSlice( TComPic*& rpcPic ) { UInt uiCUAddr; UInt uiStartCUAddr; UInt uiBoundingCUAddr; rpcPic->getSlic
<p><br></p> <p></p> <pre name="code" class="cpp"> //In case of field coding, compute the interlaced PSNR for both fields if (isField && ((!pcPic->isTopField() && isTff)
<p><br></p> <p></p> <pre name="code" class="cpp"> /* use the main bitstream buffer for storing the marshalled picture */ m_pcEntropyCoder->setBitstream(NULL); startCUAddrSlice
<p><br></p> <p></p> <pre name="code" class="cpp"> /////////////////////////////////////////////////////////////////////////////////////////////////// Compress a slice // Slice compressio
<p>Bool IRAPtoReorder = false;<br></p> <p></p> <pre name="code" class="cpp">#if EFFICIENT_FIELD_IRAP if(IRAPtoReorder) { if(swapIRAPForward) { if(iGOPid == IRAPGOPid)
<p><br></p> <p></p> <pre code_snippet_id="533280" snippet_file_name="blog_20141126_1_6973215" name="code" class="cpp">Void TEncGOP::compressGOP( Int iPOCLast, Int iNumPicRcvd, TComList<TComPi
<pre name="code" class="cpp">/** - Application has picture buffer list with size of GOP + 1 - Picture buffer list acts like as ring buffer - End of the list has the latest picture . \param
<pre name="code" class="cpp">// ==================================================================================================================== // Public member functions // =================
<pre name="code" class="cpp">int main(int argc, char* argv[]) { TAppEncTop cTAppEncTop; // print information fprintf( stdout, "\n" ); fprintf( stdout, "HM software: Encoder Version [%s]"
<p>1、linux常识汇总:</p> <p>GNU=GNU‘s Not UNIX,为了区别于UNIX系统;</p> <p>Linux是类UNIX操作系统,免费、开源是其最大的特点,是多用户多任务且符合POSIX标准的操作系统;</p> <p>目标:非私有的、开放的操作系统;</p> <p>条款:GPL=General Public Licence;</p> <p>UNIX与Li
<p>1、“警告:隐式声明与内建函数'malloc'不兼容”或“警告:隐式声明与内建函数'free'不兼容”</p> <p>解决方法:加入#include<stdlib.h>即可。</p> <p>2、错误:expected expression before '<' token</p> <p>解决方法:将'a'=<*q改写为*q>=’a‘即可。</p>
<h1 style="text-align:center">TEncCu::compressCU分析</h1> <p>TEncCu::compressCU对应的代码如下:</p> <p></p> <pre class="cpp" name="code">Void TEncCu::compressCU( TComDataCU*& rpcCU ) { // initial
<h2 align="center">Codec Engine学习</h2> <h3>1、Codec Engine概述</h3> <p>对于达芬奇(DAVINCI)平台的开发,所有的工程师都面临着如何实现ARM和DSP或协处理器的通信和协同工作。而TI的数字视频软件开发包(DVSDK)提供了Codec Engine这样一个软件模块来实现ARM和DSP或协处理器的协同工作。</p> <
<h2 align="center">DSPLINK关键组件</h2> <p>DSPLINK关键组件有8个,下面分别进行介绍。</p> <h3>1、PROC</h3> <p> <span style="color:#000000; font-variant:normal; font-style:normal; font-family:; font-size:11pt">PROC 组件
<h2 align="center">CMEM与DSPLINK简介</h2> <p>在双核(ARM+DSP)系统中(典型的为达芬奇系统),如何共享缓冲区并进行通信是一个值得学习和思考的问题。</p> <p>CMEM是一个连续物理存储空间分配模块,使得ARM端Linux进程和DSP端算法之间能够共享缓冲区。DSPLINK即DSP/BIOS LINK是基于DaVinci架构处理器的ARM与
<p></p> <p></p> <pre code_snippet_id="505892" snippet_file_name="blog_20141103_1_1092872" name="code" class="html">一、最简单的C++程序。 int main() { return 0; } int :返回类型 main:函数名 ():形参列表 {。。}:函数体 二、用i
<p><span style="font-size:14px"><strong>B</strong>:Bi-predictive(双向预测,即B帧或B条带,B条带中的CU可以采用帧内或帧间预测编码,每个预测块采用双向预测方式进行预测,B条带编码时同时使用参考图像列表0和参考图像列表1)</span></p> <p><span style="font-size:14px"><strong>
<p><span style="white-space:pre"></span><span style="white-space:pre"></span>QP=37时测试完全正确,但QP=32时,在编码过程中出现如下问题:</p> <p style="text-align:center"><img src="http://img.blog.csdn.net/201410282204421
<p style="text-align:center"><img src="http://img.blog.csdn.net/20141024103859604?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvRlJEMjAwOTA0MTUxMA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dis
<div style="text-align:center"> <img src="http://img.blog.csdn.net/20141023103234078?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvRlJEMjAwOTA0MTUxMA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/
<div style="text-align:center"><img src="http://img.blog.csdn.net/20141022212702609" alt=""></div> <div style="text-align:center"><br></div> <div style="text-align:left"><br></div> <div style="
<h3><span style="font-family:SimSun; font-size:14px">1、删除命令</span></h3> <p></p> <pre name="code" class="cpp">rm -r xxxx 递归删除 rm -rf xxxx 删除整个文件夹</pre> <br><h3><span style="font-family:
<span style="white-space:pre"></span> <p><span style="white-space:pre"><span style="font-size:14px">关于GOP的基本知识这里就不唠叨了<img alt="偷笑" src="http://static.blog.csdn.net/xheditor/xheditor_emot/default/
<p><span style="font-size:14px"><span style="white-space:pre"></span>Python,是一种面向对象、解释型计算机程序设计语言,它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要
<p><span style="white-space:pre"><span style="font-size:14px">在VS2010上编写第一个程序——Hello,World!!!</span></span></p> <p><span style="white-space:pre"><span style="font-size:14px"><span style="white-sp
<p><span style="font-size:14px">HEVC标准的主要目标是提高压缩效率,HEVC特别关注两个关键问题,即视频分辨率的提高和并行处理的实现。HEVC一般采用YCbCr颜色空间,抽样格式为4:2:0。<br><br><strong>注意以下细节</strong>:<br> 1)、帧内预测不会越过条带的边界;<br> 2)、P条带编码时只利用参考图像列表0,而B
<p><span style="font-size:14px"><span style="white-space:pre"></span><span style="white-space:pre"></span><span style="white-space:pre"></span>在H.264中,编码的基本单元是宏块,对于抽样格式为4:2:0的宏块,它包含一个16x16的亮度样本块和两
<p><span style="font-size:14px"><span style="white-space:pre"></span>CVTE招聘的算法工程师题目比较特别,基本上都是数学题。可能是相信“精通数理化,走遍天下都不怕”的道理吧!<img alt="大笑" src="http://static.blog.csdn.net/xheditor/xheditor_emot/defa
<p><strong><span style="font-family:SimSun"><span style="font-size:14px">1、-7的二进制补码表示为(D)。</span></span></strong></p> <p><span style="font-family:SimSun"><span style="font-size:14px">A、0111 1000<