需要補充說明的是,上面關於Reclock的time stretch其實是理論上的。PAL的speed down下很明顯自然沒有問題,開關timestretch的設定是有效的,不管是聽感還是播放時Reclock的界面上pitch/stretch的狀態都能明顯看出;而關於NTSC的1.001x的問題,說實話Reclock內部的timestrech是否開啟我聽不出區別,並且如果用Reclock內部timestretch的話在播放時它的界面上看到做1.001修正始終是pitch x 1.0而stretch是不開的,我個人非常懷疑Reclock在1.001x這種非常低的pitch scaling上也許就算勾選並開啟,實際上也不會做time stretching,如果是這樣的話應該是種錯誤的做法;因此這種1.001x的情況,如果要用Reclock的話,我自己是用Cyberlink的timestretch filter來修正的,而這樣修正時大部分情況下我是能聽出Cyberlink的1.001x音高區別的,也就是說開啟兩次time stretch,而Reclock那邊認為是無效的。至於這種開啟兩次是否正確的我不敢說,因為比較方法是看開啟兩次stretch的結果,與只依靠Reclock一次stretch的結果,這能聽出區別的二者到底哪個更接近與original speed下關閉Cyberlink的stretch時的結果,這個過程需要從wasapi的輸出結果進行重新採集才能AB盲測(不走wasapi走dsound的話也可以,不過dsound本身經過了speed up/down、系統src這兩次處理,不確定因素更多),太麻煩了沒去搞過,不盲測的話只知道有區別,但是要說哪個接近original時不排除心理因素的干擾。至少Reclock的stretch x 1.001聽不出區別而Cyberlink的stretch x 1.001能聽出,以及Reclock開stretch時在這種1.001x情況下的界面顯示結果,都讓我覺得Reclock裡的1.001x修正是無效的。不管怎樣,在PAL speed down的情況下Reclock的time stretch是肯定需要開著的。
必須注意到的是對於播放速度的調整過程,雖然視頻部分的畫質並沒有損失,只是幀序列渲染的速度有微調(僅限於這一階段,在之後視頻渲染過程vsync時還是有fps->刷新率的調整),音頻上不管是time stretching還是pitch scaling都是一個有損失的過程。這個損失帶來的好處僅僅是將視頻渲染速度調整到屏幕刷新率的一個約數上,以保證實際播放時可以直接倍化到刷新率,從而減輕視頻渲染時vsync過程的一些問題(譬如tearing等)。如果你的屏幕是60Hz的,視頻是24./1.001fps的,將它調整到24fps並不一定會在60Hz的屏幕上有期待的提升(雖然還是有一些的);而30./1.001fps調整到30fps則vsync過程應該有較為明顯的優化。所以Reclock具體能不能給你自己當前使用的播放環境帶來足夠的提升,這個提升值不值得以音頻部分的損失為代價,這個都需要自己衡量的。在有些情況下,自己用FFDShow raw video filter開啟avisynth,然後把視頻用InterFrame插幀到60fps而音頻保持不變,或者直接上SVP,這種在vsync之前的視頻有損處理而音頻無損處理(實際上這種渲染前的插幀處理,到了視頻渲染階段時,除了FSE模式以外的屏幕內部補償也有同樣的問題,只是程度與效果不同,前處理和後處理不一定哪個更好)的過程可能會更符合某些人的需求。不存在完全通用的方案,需要的應該按自己具體環境與要求配置。
つまんねー事聞くなよ!
I, personally, for me, believe (obviously sometimes) that my OS choice is right. That's me. I'm not telling you that you should believe it. Learn the facts, and the origins behind the facts, and make up your own damn mind. That's why you have one. (source)