Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1328091
  • 博文数量: 281
  • 博客积分: 8800
  • 博客等级: 中将
  • 技术积分: 3345
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-17 22:31
文章分类

全部博文(281)

文章存档

2013年(1)

2012年(18)

2011年(16)

2010年(44)

2009年(86)

2008年(41)

2007年(10)

2006年(65)

我的朋友

分类: LINUX

2010-05-29 20:02:08

1.       SCR

SCR是存在于PS中的,即PSpack里面的一个field。他用来指定这个PSpack期望的到达decoder的时间。

2.       ESCR

ESCR是位于PES里面的,即PESheader里面可能会有,当PESpacket要表示一个PES stream的时候,PES packet里面的ESCR就表示这个PES packet的所期望的到达decoder的时间。

3PCR

PCRTS里面的,即TS packetheader里面可能会有,他用来指定所期望的该ts packet到达decoder的时间,他的作用于SCR类似。

4DTS, PTS

对于一个ES来说,比如视频,他又许多I,P,B帧,而P, B帧都是以IP帧作为参考。由于B帧是前向后向参考,因此要对B帧作decode的话,就必须先decodeB帧后面的P,或者I帧,于是,decode的时间与帧的真正的present的时间就不一致了,按照DTS一次对各个帧进行decode,然后再按照PTS对各个帧进行展现。

有时候PES包头里面也会有DTSPTS,对于PTS来说,他代表了这个PES包得payload里面的第一个完整地audio access unit或者video access unitPTS时间(并不是每个audio/video access unit都带有PTS/DTS,因此,你可以在PES里面指定一个,作为开始)。

PES包头的DTS也是这个原理,只不过注意的是:对于video来说他的DTSPTS是可以不一样的,因为B帧的存在使其顺序可以倒置。而对于audio来说,audio没有双向的预测,他的DTSPTS可以看成是一个顺序的,因此可一直采用一个,即可只采用PTS

阅读(3907) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~