nFrame_rate = sps->time_scale / sps->num_units_in_tick ;
但是这个值,我得到的是 50, 其它的分析工具得到的都是25,
有人说,看time_scale 是frame,还是field,可是标准上没有这么说,我看的是中文版的, |
今天又发现一个奇怪的事情:
如果h264的 profile是 main,那么在vui parameters里面,
num_units_in_tick:1200 time_scale:60000, nFrame_rate = sps->time_scale / sps->num_units_in_tick ; 50 fps --- ok.
但是,如果profile 是high,那么值是这样:
num_units_in_tick:48 time_scale:16777216 ,Frame_rate:349525 fps
奇怪的,我的code到底那里错误了,
第二,若说我的code错误了,那sps里面包含,vui parameters,以前的任何值都没有错误呀,偏偏这两个值错误了,
若果换一个high的h264文件,那值是这样的,
num_units_in_tick:384 time_scale:16777217 fixed_frame_rate_flag:1 Frame_rate:43690 ,
用其它的分析工具看,num_units_in_tick = 1, time_scale = 50,50 fps,
我到底怎么排除这个错误呢。
文章来源:
http://www.cnitblog.com/dvb-dvb/archive/2009/08/12/60739.html