??xml version="1.0" encoding="utf-8" standalone="yes"?>久久人妻少妇嫩草AV无码蜜桃,久久综合丁香激情久久,香蕉久久一区二区不卡无毒影院 http://www.shnenglu.com/elva/zh-cnWed, 07 May 2025 18:53:45 GMTWed, 07 May 2025 18:53:45 GMT605imx2shttp://www.shnenglu.com/elva/archive/2013/11/29/204513.html叶子叶子Fri, 29 Nov 2013 05:34:00 GMThttp://www.shnenglu.com/elva/archive/2013/11/29/204513.htmlhttp://www.shnenglu.com/elva/comments/204513.htmlhttp://www.shnenglu.com/elva/archive/2013/11/29/204513.html#Feedback0http://www.shnenglu.com/elva/comments/commentRss/204513.htmlhttp://www.shnenglu.com/elva/services/trackbacks/204513.html









下蝲Q?div>http://www.easyice.cn/5imx2s/download.htm


叶子 2013-11-29 13:34 发表评论
]]>
TS OVER IP的多画面合成http://www.shnenglu.com/elva/archive/2013/05/31/200717.html叶子叶子Fri, 31 May 2013 06:52:00 GMThttp://www.shnenglu.com/elva/archive/2013/05/31/200717.htmlhttp://www.shnenglu.com/elva/comments/200717.htmlhttp://www.shnenglu.com/elva/archive/2013/05/31/200717.html#Feedback1http://www.shnenglu.com/elva/comments/commentRss/200717.htmlhttp://www.shnenglu.com/elva/services/trackbacks/200717.html
    l于做完?jin)多画面合成的项目,颇有心(j)得Q其间也遇到一些问题,没有|络上的资料自己是很难解决的Q但也不是所有东襉K能在|上扑ֈ办法Q用ffmpeg遇到太多问题Q许多只能通过阅读源码解决。如今做完了(jin)Q拿出来与众分n?br />画面合成器是多个承载于UDP的TS(MPTSQSPTSQ解码,解码后囑փ~放成小画面Q再各个源合ƈ?x2,3x3,4x4{方式,实现?sh)视墙的效果?br />目的需求是q样的:(x)
1.UDP输入UDP输出
2.提供源切换的接口Q客户会(x)再某个时L掉某个源
3.良好的异常处理,某个UDP源断或恢复不媄(jing)响现有节目。这不是客户的要求,但有q大型项目经验的人知道,q是一定要考虑?br />从实现层面来Ԍ需要以下技术点Q?br />1.UDP单播l播接收
2.TS装的H264与MPEG2视频解码为YUV
3.YUV~放
4.YUV画面拼接
5.合成后的YUV压羃为H264
6.压羃后的视频打包TS
7.打包后的TS通过UDP发?br />8.发送时需要进行流控,保证VLC可正常播放?br />q些技术点不算难,真正的难点在于统{运作,N个源各自的解码后画面输出速度不同Q虽然我们要求各源率相同。各解码U程画面输出虽整体相同,但肯定会(x)忽高忽低。如果每个源都正常的话,我们可以{待每个源都有画面的时候才q行合成。但是我们需要考虑源断与恢复Q就不能一直等待某个源。其二,Z(jin)支持源切换,我们应该涉及(qing)好运作模式,实现无缝切换Q但q些只是我特?业务的需要,接下来只讲与ffmpeg相关技术?br />先讲上面提到?个技术点QUDP收发׃用说?jin),值得一提的是接攉要用异步模式,q个在后面会(x)提到。除?jin)YUV画面拼接Q其他都可以用ffmpeg sdk实现。因此主要讨Z用ffmpegq行解码~码Q这U技术文章其实很多,但他们一般只有简单的Ҏ(gu)Q对于这些比较常见的东西Q我们也不做讨论Q只讨论几个重点Q而又~Z资料的问题,主要有:(x)
1.对解码及(qing)~码自定义io回掉。UDP接收?qing)发送不通过ffmpeg实现。对于UDP源来_(d)ffmpeg对MPTS支持不好。对于输出UDP来说Qffmpeg没有控

有时我们希望ffmpeg的api打开的不是文件或某个协议的URLQ直接传递数据缓冲给他,ffmpeg不支持传递数据指针给他,要求他编码或解码Q这在ffmpeg api中的实现方式是IO回掉函数。他在需要的时候来调用你的函数来读取或写入。以解码ZQ下面ؓ(f)CZ代码Q?br />AVIOContext *pb = avio_alloc_context(pbuf+1316, AVIO_BUF_SIZE-1316, 0, this, ReadDataCb, NULL, NULL);
if (av_probe_input_buffer(pb, &pinFmt, "", NULL, 0, MAX_PROBE_SIZE) < 0)
{
//error...
}
AVFormatContext *pFmtCt = avformat_alloc_context();
pFmtCt->pb = pb;
if (avformat_open_input(&pFmtCt, "", pinFmt, NULL) < 0)
{
//error...
}
d回掉原型如下Q?br />static int ReadDataCb(void *opaque, uint8_t *buf, int buf_size);
实现理念一般应该是除非惌停止解码Q返?1Q否则返回数据长度。保证他d数据

不知道是Z内存寚wq是什么原因,
uint8_t *pbuf = (uint8_t *)calloc(AVIO_BUF_SIZE,1);
pb = avio_alloc_context(pbuf+1316, AVIO_BUF_SIZE-1316, 0, this, ReadDataCb, NULL, NULL);
的时候第一个参数直接传pbuf?x)崩溃,所?1316
而若使用av_malloczQ虽可以直接传pbuf,却在av_free的时候崩溃,没有扑ֈ原因?br />
2.׃需要实现切换,所以需要将某个源完全销毁,不生内存泄Ԍ不要看q个问题Q网上的很多代码是不对的?br />
销?AVFormatContext
正确销毁方式:(x)
/* close decoder for each stream */
        for (int i = 0; i < pFmtCt->nb_streams; i++)
        {
            if (pFmtCt->streams[i]->codec->codec_id != AV_CODEC_ID_NONE)
            {
                THREAD_MUTEX_LOCK(&g_mutex_avcodec_oc);
                avcodec_close(pFmtCt->streams[i]->codec);
                THREAD_MUTEX_UNLOCK(&g_mutex_avcodec_oc);
            }
        }
        avformat_close_input(&pFmtCt);
        
销?AVIOContext
//不可使用avio_close
    av_free(pb->buffer);
    av_free(pb);

销?AVFrame
AVFrame *pframe = avcodec_alloc_frame();
avcodec_free_frame(&pframe);    


3.多线E用ffmpeg sdk问题
avcodec_open/avcodec_close不是U程安全的,必须q行全局加锁保护Q或者其他同步方式。除?jin)这两个函数外,׃av_find_stream_info内部调用?jin)avcodec_openQ也需要加锁。但av_find_stream_info有可能执行时间比较长Q如果没特别的必要,可以不用此函数。对于解码来_(d)有下面两个函敎ͼ(x)
av_probe_input_buffer
avformat_open_input
大部分情况下已经可以正常解码?jin)?br />
关于压羃
ffmpeg压羃H264 TS时CBRq不好用Q设|了(jin)mux_rate?x)导致TS装出错。老老实实用VBRQ不讄mux_rate
q行H264压羃时一个选项一定要讄的:(x)
preset
在压~效率和q算旉中^衡的预设|可用选项Q?br />ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow and placebo



叶子 2013-05-31 14:52 发表评论
]]>
TS 复用器软g 下蝲http://www.shnenglu.com/elva/archive/2012/05/31/176929.html叶子叶子Thu, 31 May 2012 06:55:00 GMThttp://www.shnenglu.com/elva/archive/2012/05/31/176929.htmlhttp://www.shnenglu.com/elva/comments/176929.htmlhttp://www.shnenglu.com/elva/archive/2012/05/31/176929.html#Feedback0http://www.shnenglu.com/elva/comments/commentRss/176929.htmlhttp://www.shnenglu.com/elva/services/trackbacks/176929.html/Files/elva/dvbmux.rar

本程序是libdvbmux sdk?CZE序Q实C个文件复用ؓ(f)一个文件。输入文件支持复用流?/div>
使用帮助Q?/div>
命o(h)行程序,在cmd下执?E序q行需要三个参敎ͼ(x)输入文g1 输入文g2 输出文g
CZQ?/div>
dvbmux d:\1.ts d:\2.ts d:\mux.ts
M问题,误信:(x)
shangxinjian1972@163.com
2012-5-31


叶子 2012-05-31 14:55 发表评论
]]>PAFF 和MBAFF http://www.shnenglu.com/elva/archive/2012/04/18/171874.html叶子叶子Wed, 18 Apr 2012 07:59:00 GMThttp://www.shnenglu.com/elva/archive/2012/04/18/171874.htmlhttp://www.shnenglu.com/elva/comments/171874.htmlhttp://www.shnenglu.com/elva/archive/2012/04/18/171874.html#Feedback0http://www.shnenglu.com/elva/comments/commentRss/171874.htmlhttp://www.shnenglu.com/elva/services/trackbacks/171874.htmlPAFF 和MBAFFQ当寚w行扫描图像进行编码时Q每帧包括两个场Q由于两个场之间存在较大的扫描间隔,q样Q对q动囑փ来说Q中相M行之间的I间相关性相对于逐行扫描时就?x)减,因此q时对两个场分别q行~码?x)更节省码流。对帧来_(d)存在三种可选的~码方式Q将两场合ƈ作ؓ(f)一帧进行编?frame 方式)或将两场分别~码(field 方式)或将两场合ƈh作ؓ(f)一帧,但不同的是将帧中垂直盔R的两个宏块合qؓ(f)宏块对进行编码;前两U称为PAFF ~码Q对q动区域q行~码时field 方式有效Q对非运区域~码Ӟ׃盔R两行有较大的相关性,因而frame 方式?x)更有效。当囑փ同时存在q动区域和非q动区域Ӟ在MB 层次上,对运动区域采取field 方式Q对非运动区域采取frame 方式?x)更加有效,q种方式q为MBAFFQ预的单位是宏块对?
 

      在隔行扫描中,当有Ud的对象或摄像机移动时Q与逐行相比Q两个相邻行們֐减少l计的相x,q种情况应比每场分别压羃更ؓ(f)有效。ؓ(f)?jin)达到高效率QH.264/AVC在编码Ӟ有以下可选方案:(x)

    ● l合两场成一个完整Q作为~码Q称为模式?/p>

    ● 两场分别~码Q称为场模式?/p>

    ● l合两场成一个完整Q作为压羃。在~码Ӟ划分垂直盔R的两个宏块对成两个场宏块Ҏ(gu)帧宏块,再进行编码?/p>

    每囑փ可自适应选择3U模式之一q行~码。在前两U之间进行选择UCؓ(f)囑փ自适应?场编码(PAFFQ,当一帧作Z场编码时Q每场划分ؓ(f)宏块Q编码方式与帧编码方式很怼Q主要有下面的例外:(x)

    ● q动补偿用参考场Q而不是参考?/p>

    ● 变换pL?#8220;之字?#8221;扫描方式不同?/p>

    ● 宏块水^Ҏ(gu)d滤L器的强度不选用“?#8221;Q因为场行在I间上是两倍行的距离?/p>

    在研制H.264/AVC标准Ӟ据报道,采用ITU-601分L率,PAFF~码技术与帧编码相比可减少码率16%?0%?/p>

    如果囑փp动区和非q动区؜合组成,非运动区用模式、运动区用场模式是最有效的编码方法。因此每个垂直宏块对Q?6×32Q可独立选择~码Q/场)(j)模式。这U编码选择UCؓ(f)宏块自适应?场编码(MBAFFQ。对于模式宏块对,每个宏块包含帧行Q对于场模式宏块对,剙宏块包含场行,底部宏块包含底场行?/p>

    处理场宏块对的每个宏块与帧PAFF模式怼Q然而,因ؓ(f)在MBAFF帧中发生?帧宏块对混合Q需要修改用作下列用途的Ҏ(gu)Q?/p>

    ● 之字型扫描?/p>

    ● q动矢量预测?/p>

    ● 帧内预测模式的预?/p>

    ● 帧内预测帧采L(fng)度?/p>

    ● d效应滤L器?/p>

    ● 上下文模型的늼码?/p>

    主要思想是尽可能保留多的I间一致性,MBAFF帧的I间盔R的规范相当复杂,下面讲到的空间相邻都是指非MBAFF帧?/p>

    MBAFF 和PAFF的另一个重要区别是Q用MBAFFҎ(gu)Q一个场不能使用同一帧的另一个场中的宏块作ؓ(f)q动补偿参考。这P有时PAFF比MBAFF~码更有效,特别是在快速全局q动、变换场景、图像刷新等情况下?/p>

    在开发MBAFF标准期间Q据报道Q采用ITU-601分L率,MBAFF~码技术比PAFF相比可减码?4%?6%?/p>

叶子 2012-04-18 15:59 发表评论
]]>
Ubuntu 更新源签名错?–BADSIG 40976EAF437D05B5http://www.shnenglu.com/elva/archive/2012/02/18/165876.html叶子叶子Fri, 17 Feb 2012 19:10:00 GMThttp://www.shnenglu.com/elva/archive/2012/02/18/165876.htmlhttp://www.shnenglu.com/elva/comments/165876.htmlhttp://www.shnenglu.com/elva/archive/2012/02/18/165876.html#Feedback0http://www.shnenglu.com/elva/comments/commentRss/165876.htmlhttp://www.shnenglu.com/elva/services/trackbacks/165876.html

Ubuntu 更新源签名错?–BADSIG 40976EAF437D05B5

2011-02-19 xiao H Posted in pȝ理

错误提示Q?/p>

GPG 错误Qhttp://mirrors.163.com maverick-updates Release: 下列{֐无效Q?BADSIG 40976EAF437D05B5 Ubuntu Archive Automatic Signing Key <ftpmaster @ubuntu.com> </ftpmaster>

修复Ҏ(gu)
gpg --keyserver keyserver.ubuntu.com --recv 40976EAF437D05B5 gpg --export --armor 40976EAF437D05B5 | sudo apt-key add -

上面的方法不行可以试试下面这?/p>

sudo aptitude -o Acquire::http::No-Cache=True -o Acquire::BrokenProxy=true update

l极大法

sudo apt-get clean cd /var/lib/apt sudo mv lists lists.old sudo mkdir -p lists/partial sudo apt-get clean sudo apt-get update

以上Ҏ(gu)来自Q?/p>

http://forum.ubuntu.org.



转自Q?br />
http://www.linuxbyte.org/ubuntu-geng-xin-yuan-qian-ming-cuo-wu-badsig-40976eaf437d05b5.html


叶子 2012-02-18 03:10 发表评论
]]>Linux无法dQ显Cmodule is unknownhttp://www.shnenglu.com/elva/archive/2012/01/06/163709.html叶子叶子Fri, 06 Jan 2012 04:35:00 GMThttp://www.shnenglu.com/elva/archive/2012/01/06/163709.htmlhttp://www.shnenglu.com/elva/comments/163709.htmlhttp://www.shnenglu.com/elva/archive/2012/01/06/163709.html#Feedback0http://www.shnenglu.com/elva/comments/commentRss/163709.htmlhttp://www.shnenglu.com/elva/services/trackbacks/163709.html今天在配|Oracle安装环境Ӟ更改?jin)一些系l参敎ͼ注销重新d时发现即使输入正的用户名和密码Q也无法dQ在按回车的那一瞬间可以看到密码下方有一行快速闪q的提示“module is unknown”。不解何意?

    本h的系l默认是命o(h)行界面启动的。于是重启以RunLevel 5q入囑Ş界面。发现图形界面可以正常进入。下面就查询日志吧:(x)

   1:  # cd /var/log/
   2:  #cat security 

在日志文件中Q我看到?jin)如下信息?x)

PAM unable to dlopen(/lib/security/pam_limits.so)

PAM [error: /lib/security/pam_limits.so: wrong ELF class: ELFCLASS32]

PAM adding faulty module: /lib/security/pam_limits.so

pam_unix(login:session): session opened for user Oracle by LOGIN(uid=0)

Module is unknown

看到q里Q我惌v我在/etc/pam.d/login中加入了(jin):

session required /lib/security/pam_limits.so

session required pam_limits.so

两条配置语句。根据日志信息以上Login上的其他配置信息Q将W一条语句注释掉Q?br />

#session required /lib/security/pam_limits.so

session required pam_limits.so

重启Q登录,一切正常。问题解冟?/p>

########################更新##########################33

以上问题的出现是׃操作pȝ的问题。我本想安装32位centosQ结果错手拿?jin)一?4bit Centos安装Q然后按?2位的配置q行?jin)配|。正配|在64位下应ؓ(f)Q?/p>

   1:  session required /lib64/security/pam_limits.so
   2:   
   3:  session required pam_limits.so


转自Q?div>http://www.zhaofengcao.com/archives/138

叶子 2012-01-06 12:35 发表评论
]]>
__attribute__((deprecated))http://www.shnenglu.com/elva/archive/2011/12/28/162998.html叶子叶子Wed, 28 Dec 2011 12:26:00 GMThttp://www.shnenglu.com/elva/archive/2011/12/28/162998.htmlhttp://www.shnenglu.com/elva/comments/162998.htmlhttp://www.shnenglu.com/elva/archive/2011/12/28/162998.html#Feedback0http://www.shnenglu.com/elva/comments/commentRss/162998.htmlhttp://www.shnenglu.com/elva/services/trackbacks/162998.html

4.5.4. __attribute__((deprecated))

可以使用 deprecated 变量属性声明不提倡用的变量Q而不?x)导致编译器发出M警告或错误。但是,?deprecated 变量的Q何访问都?x)生成警告,但仍会(x)进行编译。警告指Z(jin)使用和定义变量的位置。这有助于确定不提倡用特定定义的原因?/p>

Note

此变量属性是 ARM ~译器支持的 GNU ~译器扩展?/p>

CZ

extern int Variable_Attributes_deprecated_0 __attribute__ ((deprecated));
extern int Variable_Attributes_deprecated_1 __attribute__ ((deprecated));
void Variable_Attributes_deprecated_2()
{
    Variable_Attributes_deprecated_0=1;
    Variable_Attributes_deprecated_1=2;
}

~译此示例时Q将生成两条警告消息?/p>

Copyright © 2007-2009 ARM Limited. All rights reserved. ARM DUI 0348BC
Non-Confidential



转蝲自:(x)
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0348bc/Caccahah.html

叶子 2011-12-28 20:26 发表评论
]]>
/dev/sdc is apparently in use by the system; will not make a filesystem here! http://www.shnenglu.com/elva/archive/2011/11/22/160717.html叶子叶子Tue, 22 Nov 2011 08:20:00 GMThttp://www.shnenglu.com/elva/archive/2011/11/22/160717.htmlhttp://www.shnenglu.com/elva/comments/160717.htmlhttp://www.shnenglu.com/elva/archive/2011/11/22/160717.html#Feedback0http://www.shnenglu.com/elva/comments/commentRss/160717.htmlhttp://www.shnenglu.com/elva/services/trackbacks/160717.htmlRe: /dev/sdc is apparently in use by the system; will not make a filesystem here!
Quote:
Originally Posted by abriejo View Post
Hi

I was about to try the CD startup when I tried one last thing again.

sudo mdadm --stop /dev/md0

It worked, but I find it strange because I did it before and md0 did not appear in the fdisk -l screen.

Immdiately after that I was able to run the sudo mkfs.ext3 /dev/sdc


Maybe it is because I ran the zero-superblock tasks overnight - something that made me nervous, since I have no idea what it does.

Than You for your help!

It worked for me. Thanks!


叶子 2011-11-22 16:20 发表评论
]]>
gdb中忽略信号处?/title><link>http://www.shnenglu.com/elva/archive/2011/11/01/159457.html</link><dc:creator>叶子</dc:creator><author>叶子</author><pubDate>Tue, 01 Nov 2011 06:46:00 GMT</pubDate><guid>http://www.shnenglu.com/elva/archive/2011/11/01/159457.html</guid><wfw:comment>http://www.shnenglu.com/elva/comments/159457.html</wfw:comment><comments>http://www.shnenglu.com/elva/archive/2011/11/01/159457.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/elva/comments/commentRss/159457.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/elva/services/trackbacks/159457.html</trackback:ping><description><![CDATA[<div>信号QSignalsQ?br /> <br /> 信号是一UY中断Q是一U处理异步事件的Ҏ(gu)。一般来_(d)操作pȝ都支持许多信受尤其是UNIXQ比较重要应用程序一般都?x)处理信受UNIX定义?jin)?多信P比如SIGINT表示中断字符信号Q也是Ctrl+C的信PSIGBUS表示g故障的信PSIGCHLD表示子进E状态改变信P SIGKILL表示l止E序q行的信P{等。信号量~程是UNIX下非帔R要的一U技术?br /> <br /> GDB有能力在你调试程序的时候处理Q何一U信P你可以告诉GDB需要处理哪一U信受你可以要求GDB收到你所指定的信hQ马上停住正在运行的E序Q以供你q行调试。你可以用GDB的handle命o(h)来完成这一功能?br /> <br /> handle<br /> 在GDB中定义一个信号处理。信号可以以SIG开头或不以 SIG开_(d)可以用定义一个要处理信号的范_(d)如:(x)SIGIO-SIGKILLQ表C处理从SIGIO信号到SIGKILL的信P其中包括SIGIOQ?SIGIOTQSIGKILL三个信号Q,也可以用关键字all来标明要处理所有的信号。一旦被调试的程序接收到信号Q运行程序马上会(x)被GDB停住Q以 供调试。其可以是以下几U关键字的一个或多个?br /> <br /> nostop<br /> 当被调试的程序收ChQGDB不会(x)停住E序的运行,但会(x)打出消息告诉你收到这U信受?br /> stop<br /> 当被调试的程序收ChQGDB?x)停住你的程序?br /> print<br /> 当被调试的程序收ChQGDB?x)显C出一条信息?br /> noprint<br /> 当被调试的程序收ChQGDB不会(x)告诉你收CL(fng)信息?br /> pass<br /> noignore<br /> 当被调试的程序收ChQGDB不处理信受这表示QGDB?x)把q个信号交给被调试程序会(x)处理?br /> nopass<br /> ignore<br /> 当被调试的程序收ChQGDB不会(x)让被调试E序来处理这个信受?br /> <br /> <br /> info signals<br /> info handle<br /> 查看有哪些信号在被GDB(g)中? </div><br />另外补充Q?br /><div><span style="word-spacing: 0px; font: medium Simsun; text-transform: none; color: #000000; text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; orphans: 2; widows: 2; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span style="font-size: 13px; color: #333333; line-height: 21px"> <p><strong>信号的处?/strong><br /> E序是和|络相关的,调试期间l常地收到SIGPIPEQ导致gdb停下来。看?jin)一下gdb infoQ解x法很单。用handle命o(h)讄一下缺省signal的处理行为就可以?<code><br />    handle SIGPIPE nostop<br /> </code>如果q提CZ息都不想看见Q就可以q样讄:<code><br />    handle SIGPIPE nostop noprint<br /> </code>可以了(jin)。其他相关信号也可以cM处理。想?jin)解目前的signal状态可以?code>info signal</code>察看?/p> <p><strong>启动配置文g</strong><br /> GDB使用中比较麻?ch)的事情Q就是每ơ启动,q要手动敲一把命令,特别是断Ҏ(gu)较多的情况,q个特便影响Q工作效率。查?jin)一下gdb infoQgdb支持自动d一个启动脚本文?gdbinitQ所以经常输入的启动命o(h)Q就都可以写在gdb启动目录?gdbinit里面。比?code><br /> .gdbinit:<br />    file myapp<br />    handle SIGPIPE nostop<br />    break ss.c:100<br />    break ss.c:200<br />    run<br /> </code>GDB和bashcMQ也支持sourceq个命o(h)Q执行另外一个脚本文件。所以可以修改一?gdbinit:<code><br /> .gdbinit:<br />    file myapp<br />    handle SIGPIPE nostop<br />    source gdb.break<br />    run<br /> gdb.break:<br />    break ss.c:100<br />    break ss.c:200<br /> </code>q样修改的断炚w|,只需要编辑gdb.break可以了(jin)。再后来Q偶而还是需要单独启动GDBQ不x行自动脚本,于是又改q了(jin)一下。首先把.gdbinit命名为gdb.initQ然后定义一个shell alias:<code><br />    $ alias .gdb=”gdb -x gdb.init”</code></p> <p>q样如果需要用自动脚本,q.gdb命o(h)Q否则用gdbq入交互状态的gdb。这样配|以后可以一个简单命令就开始调试,整个效率p提高不少?/p> <p>?转自<a style="font-weight: normal; font-size: 12px; color: #003300; line-height: 1.6em; text-decoration: none" >http://blog.scaner.i.thu.cn/index.php/2006/04/15/gdb-tips-1/</a></p> <p>注解</p> <p>1<code>alias命o(h)</code></p> <p><code><code>alias</code>֐思义是起别名的意思,在linux里,可以通过alias命o(h)为常用命令设|快h?命o(h)格式如下Q?alias name='command' 例如Qalias del='rm'</code></p> <div> <p>Ʋ显C系l已有别名,直接使用 alias或alias -p</p> <p>若需要设|的命o(h)别名比较多,可以直接修改/etc/bashrc或~/.bashrcQ将需要的别名写到里面卛_Q不同之处是/etc/bashrc讄的别名对于所有登录用户都起作用,而~/.bashrc只对目前用户起作用?/p> </div> </span></span></div><img src ="http://www.shnenglu.com/elva/aggbug/159457.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/elva/" target="_blank">叶子</a> 2011-11-01 14:46 <a href="http://www.shnenglu.com/elva/archive/2011/11/01/159457.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>囑փ、、片、NALUhttp://www.shnenglu.com/elva/archive/2011/02/24/140579.html叶子叶子Thu, 24 Feb 2011 04:10:00 GMThttp://www.shnenglu.com/elva/archive/2011/02/24/140579.htmlhttp://www.shnenglu.com/elva/comments/140579.htmlhttp://www.shnenglu.com/elva/archive/2011/02/24/140579.html#Feedback0http://www.shnenglu.com/elva/comments/commentRss/140579.htmlhttp://www.shnenglu.com/elva/services/trackbacks/140579.html囑փ、、片、NALU 是学?H.264 的h常常感到困惑的一些概念,我在q里对自q理解做一些阐qͼƢ迎大家讨论Q?br>

H.264 是一ơ概늚革新Q它打破常规Q?strong>完全没有 I 帧、P帧、B 帧的概念Q也没有 IDR 帧的概念。对?H.264 中出现的一些概念从大到排序依ơ是Q?strong>序列、图像、片l、片、NALU、宏块、亚宏块、块、像?/strong>。这里有几点值得说明Q?br>Q?Q、在 H.264 协议?strong>囑փ是个集合概念Q顶场、底场、都可以称为图?/strong>Q本文图像概忉|都是集合概念Q。因此我们可以知道,对于 H.264 协议来说Q我们^常所熟?zhn)的那些称|例如Q?strong>I 帧、P 帧、B 帧等{,实际上都是我们把囑փq个概念具体化和l小化了(jin)。我?strong>?H.264 里提到的“?#8221;通常是指不分场的图像;
Q?Q、如?strong>不采?FMOQ灵zd块排序)(j) 机制Q则一q图像只有一个片l?/strong>Q?br>Q?Q、如?strong>不用多个片Q则一个片l只有一个片Q?br>Q?Q、如?strong>不采?/strong> DPQ?strong>数据分割Q机Ӟ?strong>一个片是一?NALUQ?strong>一?NALU 也就是一个片?/div>
       否则Q?strong>一个片?三个 NALU l成Q即标准“?-1”?nal_unit_type gؓ(f) 2?? ?strong>三个 NALU 属于 一个片Q;  
   2 ~码条带数据分割块A  slice_data_partition_a_layer_rbsp( )

   3 ~码条带数据分割块B slice_data_partition_b_layer_rbsp( )

   4 ~码条带数据分割块C slice_data_partition_c_layer_rbsp( )
 
Q?Q、以上所q的片和 NALU 的大关pdƈ不是抽象概念上的从属关系。从概念?strong>从属关系上来看,NALU其实又是片的一个集合概?/strong>Q例如:(x)标准“?-1”?nal_unit_type gؓ(f) 5 ?NALU 包括 I 片或?SI 片?br>
    一q图像根据组成它的片cd来分Q可以分为标?strong>“?-5”中的 8 U类?/strong>。我们^常应用中所最常见到的其实是这些类?/strong>的特例。例如:(x)我们q_所谓的“I ?#8221;?#8220;IDR ?#8221;Q?/strong>其实?primary_pic_type gؓ(f) 0 的图?/strong>Q我们^常所谓的“P?#8221;其实?primary_pic_type gؓ(f) 1 的图像的特例Q?strong>我们q_所谓的“B?#8221;其实?primary_pic_type gؓ(f) 2 的图像的特例?br>
    一q图像根据概忉|分可以分ZU?/strong>Q?strong>IDR 囑փ和非 IDR 囑փ。一q图像是否是 IDR 囑փ是由l成?strong>囑փ?NALU 军_?/strong>Q如果组成该囑փ?NALU 为标?#8220;?-1”?nal_unit_type gؓ(f) 5 ?NALUQ则?strong>囑փ?IDR 囑փ
Q否则ؓ(f)?IDR 囑փ。这里也有几点值得说明Q?br>
Q?Q、nal_unit_type gؓ(f) 5 ?NALU 只会(x)出现?IDR 囑փ中,?IDR 囑փ中的所?NALU 都是nal_unit_type gؓ(f) 5 ?NALUQ?br>Q?Q、我们以l成一q图像的片的cd来区分该囑փ是否?IDR 囑փ是错?/strong>的?/div>
例如Q?strong>一q图像中的所有片都是 I 片ƈ不代表这q图像就?IDR 囑փ。因?I 片也可以从属?nal_unit_type gؓ(f) 1 ?NALU 也即非IDR囑փ有可能全部包含I(xin)?/span>。只不过我们q_最常见到的形式是:(x)所有片都是 I 片的囑փ是 IDR 囑փ。其实这个时?IDR 囑փ的概念也被我们具体化和细化?jin)?但IDR囑փ必定全部包含I(xin)片或SI片,不过只有用NALU的类型才能判断是不是IDR囑փ

一q图像由 1~N 个片l?/strong>l成Q?strong>每一个片l?/strong>又由一个或若干个片l成 一个片׃个NALU或三个NALUQ假如有数据分割Q组?/span>?strong>囑փ解码q程中L按照片进行解?/strong>Q然后按照片l将解码宏块重组成图像。从q种意义上讲Q?strong>片实际是最大的解码单元?/div>
 
一个片又包含哪些类型的宏块呢?
标准“?-10”做了(jin)最好的说明?/strong>
 
一?I 宏块又分为哪些类型呢Q?/strong>
标准“?-11”做了(jin)最好的说明?/strong>
 
一?P 宏块又分为哪些类型呢Q?/strong>
标准“?-13”做了(jin)最好的说明?/strong>
 
一?B 宏块又分为哪些类型呢Q?/strong>
标准“?-14”做了(jin)最好的说明?/strong>
 
一?P 宏块的亚宏块又分为哪些类型呢Q?/strong>
标准“?-17”做了(jin)最好的说明?/strong>
 
一?B 宏块的亚宏块又分为哪些类型呢Q?/strong>
标准“?-18”做了(jin)最好的说明?/strong>


叶子 2011-02-24 12:10 发表评论
]]> ղƷaëƬþ| 2022Ʒþþþ| AVɫۺϾþAVɫۺ| 72ŷþþþôƽ| þAV뾫Ʒɫҹ鶹| ˾þվ| þ޾ƷƷ| ˾Ʒþһ | ǾþþƷ| þþƷƵһ| þݺҹҹ2014| Ʒһþ㽶߿| þþþһ| þˬˬ| ޾ƷƵþþ| AVþþƷݺݰ˳| þþƷһ| ˾þһ| þþþþþŮú| þþþҹҹҹƷ| ĻþòҰav| ޹Ʒþþϼ2 | þþþ޾Ʒַ| þùƷƬ| þþ| 99þùۺϾƷ| þùƷþþ| þɫۺһ| һۺϾþ| ٸþþþþþþþ| þþƷ| Ʒþþ| ɫþþۺ| þwww˳ɾƷ㽶| 9391ƷۺϾþ㽶| ɫۺϾþ88ɫۺ | þ91ᆱƷ2020| þþƷAV | www.þ| ˾þóۺӰԺ| 99þþƷž޾Ʒ|