?? [原創] 如何讀標準和代碼 - h_264樂園 - 視頻技術論壇 中華視頻網ffmpeg工程組 - powered by discuz!.htm
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0049)http://bbs.chinavideo.org/viewthread.php?tid=4164 -->
<HTML><HEAD><TITLE>[原創] 如何讀標準和代碼 - H.264樂園 - 視頻技術論壇 中華視頻網|ffmpeg工程組 - Powered by Discuz!</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gbk">
<META
content="Discuz!,Board,Comsenz,forums,bulletin board,h264,ffmpeg,ffdshow,AnyChat,chianvideo.org,視頻會議"
name=keywords>
<META
content="視頻技術論壇 中華視頻網,專業視頻技術,提供音視頻論文、源代碼、方案,AnyChat.cn視頻會議系統 - Discuz! Board"
name=description>
<META content="MSHTML 6.00.2900.5626" name=GENERATOR>
<META content=TRUE name=MSSmartTagsPreventParsing>
<META http-equiv=MSThemeCompatible content=Yes><LINK id=css
href="[原創] 如何讀標準和代碼 - H_264樂園 - 視頻技術論壇 中華視頻網ffmpeg工程組 - Powered by Discuz!.files/style_2.css"
type=text/css rel=stylesheet>
<SCRIPT
src="[原創] 如何讀標準和代碼 - H_264樂園 - 視頻技術論壇 中華視頻網ffmpeg工程組 - Powered by Discuz!.files/common.js"
type=text/javascript></SCRIPT>
<SCRIPT
src="[原創] 如何讀標準和代碼 - H_264樂園 - 視頻技術論壇 中華視頻網ffmpeg工程組 - Powered by Discuz!.files/menu.js"
type=text/javascript></SCRIPT>
</HEAD>
<BODY onkeydown="if(event.keyCode==27) return false;">
<CENTER>
<DIV class=mainborder></DIV>
<DIV class=headerline style="HEIGHT: 6px"></DIV>
<DIV class=maintable>
<DIV style="WIDTH: 100%; HEIGHT: 78px; TEXT-ALIGN: left">
<DIV class=right><BR>
<SCRIPT type=text/javascript><!--
google_ad_client = "pub-5888130182048891";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
//--></SCRIPT>
<SCRIPT
src="[原創] 如何讀標準和代碼 - H_264樂園 - 視頻技術論壇 中華視頻網ffmpeg工程組 - Powered by Discuz!.files/show_ads.js"
type=text/javascript>
</SCRIPT>
</DIV><A href="http://bbs.chinavideo.org/index.php"><IMG alt=視頻技術論壇
src="[原創] 如何讀標準和代碼 - H_264樂園 - 視頻技術論壇 中華視頻網ffmpeg工程組 - Powered by Discuz!.files/logo.gif"
border=0></A> </DIV></DIV>
<DIV class=headerline style="HEIGHT: 6px"></DIV>
<DIV class=headermenu>
<DIV class=maintable>
<DIV class=right id=menu><SPAN class=bold>游客: </SPAN><A
href="http://bbs.chinavideo.org/chinavideoreg.php">注冊</A> | <A
href="http://bbs.chinavideo.org/chinavideologin.php?action=login">登錄</A> | <A
href="http://bbs.chinavideo.org/member.php?action=list">會員</A> | <SPAN
id=stats><A href="http://bbs.chinavideo.org/stats.php">統計</A>
<SCRIPT type=text/javascript>menuregister(false, "stats")</SCRIPT>
</SPAN> | <A href="http://bbs.chinavideo.org/faq.php">幫助</A> </DIV></DIV></DIV>
<DIV class=headerline style="HEIGHT: 6px"></DIV>
<DIV class=maintable><BR>
<DIV class="subtable nav" style="WIDTH: 98%"><SPAN id=forumlist><A
href="http://bbs.chinavideo.org/index.php">視頻技術論壇</A>
<SCRIPT type=text/javascript>menuregister(false, "forumlist")</SCRIPT>
</SPAN> » <A
href="http://bbs.chinavideo.org/forumdisplay.php?fid=29">H.264樂園</A> » [原創]
如何讀標準和代碼</DIV><BR></DIV>
<DIV class=maintable>
<TABLE style="CLEAR: both" cellSpacing=0 cellPadding=0 width="98%"
align=center><TBODY>
<TR>
<TD vAlign=bottom>
<DIV style="MARGIN-BOTTOM: 4px"><A style="FONT-WEIGHT: normal"
href="http://bbs.chinavideo.org/redirect.php?fid=29&tid=4164&goto=nextoldset">‹‹
上一主題</A> | <A style="FONT-WEIGHT: normal"
href="http://bbs.chinavideo.org/redirect.php?fid=29&tid=4164&goto=nextnewset">下一主題
››</A><BR></DIV>
<DIV class=p_bar><A class=p_total> 12 </A><A
class=p_pages> 1/2 </A><A class=p_curpage>1</A><A class=p_num
href="http://bbs.chinavideo.org/viewthread.php?tid=4164&extra=&page=2">2</A><A
class=p_redirect
href="http://bbs.chinavideo.org/viewthread.php?tid=4164&extra=&page=2">››</A></DIV></TD>
<TD vAlign=bottom align=right width="40%">
<DIV class=right> <A
href="http://bbs.chinavideo.org/post.php?action=reply&fid=29&tid=4164&extra="><IMG
alt=""
src="[原創] 如何讀標準和代碼 - H_264樂園 - 視頻技術論壇 中華視頻網ffmpeg工程組 - Powered by Discuz!.files/reply.gif"
border=0></A></DIV>
<DIV class=right id=newspecialheader><A
href="http://bbs.chinavideo.org/post.php?action=newthread&fid=29&extra="><IMG
alt=""
src="[原創] 如何讀標準和代碼 - H_264樂園 - 視頻技術論壇 中華視頻網ffmpeg工程組 - Powered by Discuz!.files/newtopic.gif"
border=0></A><A
href="http://bbs.chinavideo.org/viewthread.php?tid=4164###"><IMG alt=""
src="[原創] 如何讀標準和代碼 - H_264樂園 - 視頻技術論壇 中華視頻網ffmpeg工程組 - Powered by Discuz!.files/newspecial.gif"
border=0></A>
<SCRIPT
type=text/javascript>menuregister(false, "newspecialheader", true)</SCRIPT>
</DIV>
<DIV class="popupmenu_popup newspecialmenu" id=newspecialheader_menu
style="DISPLAY: none">
<TABLE cellSpacing=0 cellPadding=4 width="100%" border=0>
<TBODY>
<TR>
<TD class=popupmenu_option>
<DIV class=newspecial><A
href="http://bbs.chinavideo.org/post.php?action=newthread&fid=29&extra=&poll=yes">投票</A></DIV></TD></TR>
<TR>
<TD class=popupmenu_option>
<DIV class=newspecial><A
href="http://bbs.chinavideo.org/post.php?action=newthread&fid=29&extra=&trade=yes">交易</A></DIV></TD></TR>
<TR>
<TD class=popupmenu_option>
<DIV class=newspecial><A
href="http://bbs.chinavideo.org/post.php?action=newthread&fid=29&extra=&reward=yes">懸賞</A></DIV></TD></TR>
<TR>
<TD class=popupmenu_option>
<DIV class=newspecial><A
href="http://bbs.chinavideo.org/post.php?action=newthread&fid=29&extra=&activity=yes">活動</A></DIV></TD></TR></TBODY></TABLE></DIV></TD></TR></TBODY></TABLE></DIV>
<SCRIPT type=text/javascript>
function fastreply(subject) {
if($('postform')) {
$('postform').subject.value = subject;
$('postform').message.focus();
}
}
</SCRIPT>
<DIV class=maintable>
<DIV class=spaceborder style="WIDTH: 98%; BORDER-BOTTOM: medium none">
<TABLE cellSpacing=0 cellPadding=4 width="100%" align=center>
<TBODY>
<TR class=header>
<TD style="COLOR: #154ba0" colSpan=2>
<DIV class=right style="FONT-WEIGHT: normal"><A
href="http://bbs.chinavideo.org/viewthread.php?action=printable&tid=4164"
target=_blank>打印</A> | <A
href="http://bbs.chinavideo.org/misc.php?action=emailfriend&tid=4164">推薦</A>
| <A
href="http://bbs.chinavideo.org/my.php?item=subscriptions&subadd=4164">訂閱</A>
| <A
href="http://bbs.chinavideo.org/my.php?item=favorites&favadd=4164&type=thread">收藏</A>
</DIV>標題: [原創] 如何讀標準和代碼</TD></TR>
<TR class=category>
<TD class=bold align=middle colSpan=2> <A title=主題管理記錄
href="http://bbs.chinavideo.org/misc.php?action=viewthreadmod&tid=4164"
target=_blank>本主題由 firstime 于 2008-8-6 11:28 AM 加入精華</A>
</TD></TR></TBODY></TABLE></DIV>
<FORM name=delpost
action=topicadmin.php?action=delpost&fid=29&tid=4164&page=1
method=post><INPUT type=hidden value=b65a5a58 name=formhash>
<DIV class=spaceborder
style="BORDER-TOP: medium none; MARGIN-BOTTOM: 4px; WIDTH: 98%">
<TABLE class=t_row cellSpacing=0 cellPadding=4 width="100%" align=center>
<TBODY>
<TR style="HEIGHT: 100%">
<TD class=t_user vAlign=top width="18%"><A class=bold
href="http://bbs.chinavideo.org/viewpro.php?uid=1900"
target=_blank>firstime</A> <SPAN class=smalltxt>(天之驕子)</SPAN> <BR>
<DIV class=smalltxt>超級版主<BR><IMG alt="Rank: 8"
src="[原創] 如何讀標準和代碼 - H_264樂園 - 視頻技術論壇 中華視頻網ffmpeg工程組 - Powered by Discuz!.files/star_level3.gif"><IMG
alt="Rank: 8"
src="[原創] 如何讀標準和代碼 - H_264樂園 - 視頻技術論壇 中華視頻網ffmpeg工程組 - Powered by Discuz!.files/star_level3.gif"><BR><BR>
<TABLE style="TABLE-LAYOUT: fixed; OVERFLOW: hidden" cellSpacing=0
cellPadding=0 width="95%" border=0>
<TBODY>
<TR>
<TD align=middle>
<DIV class=avatar style="WIDTH: 120px"><IMG height=120 alt=""
src="[原創] 如何讀標準和代碼 - H_264樂園 - 視頻技術論壇 中華視頻網ffmpeg工程組 - Powered by Discuz!.files/1900.jpg"
width=120 border=0></DIV></TD></TR></TBODY></TABLE><BR>UID 1900<BR>精華 <A
href="http://bbs.chinavideo.org/digest.php?authorid=1900">32</A> <BR>積分
760<BR>帖子 929<BR>閱讀權限 150<BR>注冊 2006-9-26<BR>狀態 <B>在線</B> </DIV></TD>
<TD
style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px"
vAlign=top width="82%">
<TABLE class=t_msg cellSpacing=0 cellPadding=4 border=0>
<TBODY>
<TR>
<TD>
<DIV>
<DIV class="right t_number"><A class=bold
onclick="window.clipboardData.setData('text','http://bbs.chinavideo.org/viewthread.php?tid=4164&page=1#pid13297')"
href="http://bbs.chinavideo.org/viewthread.php?tid=4164###">#1</A></DIV>
<DIV style="PADDING-TOP: 4px">發表于 2008-8-5 11:10 AM <A
href="http://bbs.chinavideo.org/viewpro.php?uid=1900">資料</A> <A
href="http://bbs.chinavideo.org/blog.php?uid=1900"
target=_blank>文集</A> <A
href="http://bbs.chinavideo.org/pm.php?action=send&uid=1900"
target=_blank>短消息</A> <A
href="http://wpa.qq.com/msgrd?V=1&Uin=500144&Site=視頻技術論壇&Menu=yes"
target=_blank><IMG alt=QQ
src="[原創] 如何讀標準和代碼 - H_264樂園 - 視頻技術論壇 中華視頻網ffmpeg工程組 - Powered by Discuz!.files/qq1_offline.gif"
border=0></A> </DIV></DIV></TD></TR>
<TR>
<TD class=line style="PADDING-TOP: 10px" vAlign=top height="100%"><A
title="評分 0"
href="http://bbs.chinavideo.org/misc.php?action=viewratings&tid=4164&pid=13297"
name=pid13297></A><SPAN class=bold>[原創] 如何讀標準和代碼</SPAN><BR><BR>
<DIV style="FONT-SIZE: 12px"><FONT
color=white>首先</FONT>首先,還是要弄清楚編解碼的流程和 H.264 的關鍵技術,看白皮書就知道了,另外 H.264
綜述類的文章和別人的學位論文一般也會講到;其次,弄清楚代碼的各個函數實現的功能,這個可以看看 JM
代碼里各個函數前面的函數說明;最后,弄清楚標準各個章節講的什么內容:這里只說重要的。第三章是名詞解釋,第四章是縮略語,第五章是一些計算方式和運算符號的說明,第六章是與
H.264 相關的一些視頻基礎知識和 H.264 中用到的一些過程推導,第七章是 NALU
及其以下語法結構的語法和語義(如果要知道碼流結構就要看這一章了),第八章是詳細說明解碼過程中某一個模塊的功能怎么完成,第九章是熵編碼,附錄
A 是關于 profile 和 level 的具體規定,附錄 B 是關于如何從字節流中解析 NALU(標準沒有說明如何在 RTP
流中解析 NALU)。<BR><BR><BR>
有了上面的基本知識,下面我們結合對碼流的解析過程來講講怎么讀標準:<BR>1、如果是字節流的碼流當然就首先要對字節流進行解析,這就要看附錄
B 了;如果是 RTP 格式的碼流,那首先就要按 RFC3984 來解析了(標準沒有規定 RTP
格式碼流的解析過程);<BR><BR>2、字節流解析完后提取出來的就是 NALU 了,對 NALU 的解析就要看 7.3.1
小節了。第七章中黑色的粗體字都是在碼流中可能出現的語法元素,解碼器的首要任務就是要對這些語法元素進行解析。對于這些碼流中的語法元素我們要進行解析必須知道三個問題:<BR>(1)、什么時候存在于碼流中?這樣我們才能知道當前解析的是哪個語法元素;<BR>(2)、采用什么樣的熵編碼方式?這樣我們才能知道如何解析;<BR>(3)、含義是什么?這樣我們才知道解析出來之后用來干什么。<BR>
三個問題的答案分別是:<BR>(1)、有 if 條件關聯的就是可能出現的,沒有 if
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -