avsync.h
资源名称:8202s.rar [点击查看]
上传用户:poi891205
上传日期:2013-07-15
资源大小:9745k
文件大小:2k
源码类别:
DVD
开发平台:
C/C++
- #ifndef __AVSYNC_H
- #define __AVSYNC_H
- //
- // when audio out of sync (with stc), update stc with
- // new pts (with some offset).
- //
- #define AVSYNC_ADJUST_STC_WITH_AUDIO_PTS
- //
- // STC_CLK
- // a 90 kHz system time counter/stamp
- //
- #define STC_CLK 90000
- #define INVALID_PTS (UINT64)-1
- #define B_FRAME_DELAY (UINT64)(3000)
- //
- // PACK_SCR_BUFFERING
- // NAVI_SCR_BUFFERING
- //
- // when pack_scr used to initialize STC (mpeg1 or mpeg2 svcd),
- // we set STC to (pack_scr-PACK_SCR_BUFFERING) in order to
- // compensate SCR to STC buffering effect
- //
- #define PACK_SCR_BUFFERING ((int)(0.15 * STC_CLK))
- #define NAVI_SCR_BUFFERING ((int)(0.10 * STC_CLK))
- //
- // SCR_MAX
- //
- // used to control the bitstream enter the decoder time.
- // if the (SCR-STC) of the following packet is greater than
- // this value we will stop the bitstream incoming.
- //
- // PTS_JUMP: 2 (20011121)
- //
- #define AVSYNC_SCR_MAX ((int)( 0.1 * STC_CLK))
- #define AVSYNC_SCR_SETUP ((int)( 3.0 * STC_CLK))
- #define AVSYNC_SCR_JUMP_MAX ((int)(10.0 * STC_CLK))
- #define AVSYNC_PTS_JUMP_MAX ((int)( 2.0 * STC_CLK))
- #define AVSYNC_VPTS_JUMP_MAX ((int)(20.0 * STC_CLK))
- //
- // STC_PDIFF_SETUP
- // (PTSa - STC)
- // the difference of audio PTS and STC. I think real
- // audio PTS is about 0.1s (CENTER) slower then we receive.
- // therefore when we receive PTSa=0.5s, that means it
- // should enter decoder at about STC=0.4s.
- //
- // NDIFF:
- // audio is too slow. need to speed up??
- //
- #define AVD_STC_AUDIO_CENTER ((int)( 0.10 * STC_CLK))
- #define AVD_STC_PDIFF_SETUP ((int)( 2.0 * STC_CLK) + AVD_STC_AUDIO_CENTER)
- #define AVD_STC_NDIFF_SETUP ((int)(-2.0 * STC_CLK) + AVD_STC_AUDIO_CENTER)
- #define AVD_STC_ASDIFF_WARNING ((int)(0.5 * STC_CLK) + AVD_STC_AUDIO_CENTER)
- #define AVD_STC_AV_IN_SYNC ((int)(0.7 * STC_CLK))
- //
- // (PTSv - STC)
- // video should be a little slow with audio since
- // audio has some delay buffer. i think -0.2 is a good
- // value
- // (that is: WAIT<SKIP)
- //
- // DIFF_WAIT: when PTS-STC is greater than this value: wait
- // DIFF_SKIP: when PTS-STC is less than this value: skip
- //
- #define AVD_VIDEO_DIFF_WAIT ((int)(0.1 * STC_CLK))
- #define AVD_VIDEO_DIFF_SKIP ((int)(-0.80 * STC_CLK))
- //
- // AVD_PTS_OUT_OF_SYNC
- //
- // if the PTS-difference is greater than this value
- // then we will filter this out and record. only 2
- // consecutive PTS (of the same kind) will take effect.
- //
- #define AVD_PTS_OUT_OF_SYNC ((int)(20.0 * STC_CLK))
- #endif/*__AVSYNC_H*/