SDialog實現(xiàn)了設(shè)置ToolRewritePTS
參數(shù)的對話框。此對話框還附有瀏覽選定文件中,指定范圍內(nèi)的PTS、DTS、PCR和OPCR
的功能。
件交換變量。存儲了是否需要計算DTS/PTS/OPCR/PCR
是一個重寫PTS、DTS、PCR和OPCR的工具。
給定一個初始PTS和修改的范圍,MAToolRewritePTS會尋找出
范圍內(nèi),最小的PTS(主要原因是音頻包可能置后于視頻包,
如果直接使用視頻的PTS,當(dāng)初始PTS過小時,可能會導(dǎo)致音
頻的PTS出現(xiàn)負值),然后根據(jù)最小的PTS和初始PTS計算出
其差值,將所有范圍內(nèi)的PTS、DTS、PCR和OPCR減去此偏移量,
如果DTS、PCR和OPCR與此偏移量差值小于0,就將他們的初
始值改為0,并重新計算各自得偏移量。
m_lstPTS.InsertColumn(0, "Package", LVCFMT_LEFT, 60);
m_lstPTS.InsertColumn(1, "PID", LVCFMT_LEFT, 30);
m_lstPTS.InsertColumn(2, "PTS", LVCFMT_LEFT, 75);
m_lstPTS.InsertColumn(3, "DTS", LVCFMT_LEFT, 75);
m_lstPTS.InsertColumn(4, "PCR", LVCFMT_LEFT, 75);
m_lstPTS.InsertColumn(5, "OPCR", LVCFMT_LEFT, 75);
// 因為做同步的關(guān)系,可能會遺留下一些不在188邊界的數(shù)據(jù),這些數(shù)據(jù)當(dāng)時不能處理,
// 只有在下一次開始讀取數(shù)據(jù)之前,將所有未處理過的數(shù)據(jù)移至緩存的開始。并且讀取
// 從此部分以后的位置填寫數(shù)據(jù)。
/Files/dvb-dvb/MPEGAnalyser.rar
文章來源:
http://www.cnitblog.com/dvb-dvb/archive/2009/07/09/mpeg2sourcecode.html