[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 06/17 18:15 / Filesize : 230 KB / Number-of Response : 943
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

AviUtl総合スレッド36



103 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/05(月) 19:09:11 ID:7d7QjXBo0]
>>101
それと、これは「うんちく」になるので面倒な方は読み飛ばしちゃってください。

本来のDTS、CTS、CTS_Offsetの意味と関係を書くとこうなります。
DTS:ピクチャをデコードしメモリに配置する時刻。
CTS:ピクチャを表示する時刻。イコール「PTS」
CTS_Offset = CTS-DTS、つまり、ピクチャがメモリに存在する時刻。

なのでDTS、CTS_Offsetの設定は“本来であれば”
CTS_Offset = Current_Frame.PTS - Before_Frame.PTS
DTS = Current_Frame.PTS - CTS_Offset
となると思います。

でも、この通りに値を設定すると先頭ピクチャのバッファリングはいつするの?って問題が発生します。
というわけで、あえて先頭1ピクチャをずらして値を設定しています。そのため、
DTS = Current_Frame.PTS
CTS_Offset = Next_Frame.PTS - Current_Frame.PTS
となるわけです。これによって実際に表示される映像は、タイミングが1ピクチャ分後ろにずれていきます。
ただし、ピクチャ間の表示間隔は正しいので、見た目は大丈夫ってことです。
音声との同期に関しては、おそらく厳密に処理をするのであればこの映像表示までの間を音声のディレイとして
結合する必要がありますが、たとえtimeBeginPeriodでタイマー精度を上げていても、サウンドデバイスバッファ
やドライバの処理もろもろで完全な同期再生は出来ないので、まぁ気にしなくて問題ないレベルだと思っています。

tc2mp4の作者さんにもこの辺の見解を聞いてみたいところですが、mp4からnhmlを取り出してみると
同じ解釈でタイムコードを埋め込んでいるようですので、私もそれに倣う事にしたというお話でした。

結構スレ違いですね。申し訳ない。orz






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<230KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef