Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2764947
  • 博文数量: 505
  • 博客积分: 1552
  • 博客等级: 上尉
  • 技术积分: 2514
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-23 18:24
文章分类

全部博文(505)

文章存档

2019年(12)

2018年(15)

2017年(1)

2016年(17)

2015年(14)

2014年(93)

2013年(233)

2012年(108)

2011年(1)

2009年(11)

分类: LINUX

2013-03-06 09:49:13

原文地址:SCR, PCR, ESCR, PTS, DTS 作者:soararing

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

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