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