PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 數位影音討論群組 > DVD 討論區
帳戶
密碼
 

  回應
 
主題工具
暴君
*停權中*
 

加入日期: Aug 2003
文章: 572
引用:
Originally posted by Shade
淡入淡出的場景,新版的 XviD 已經有改善。
XviD 的動作搜尋演算法目前的主要設計人員 sysKin,改寫了 i/p/b frame 的判斷決策,現在遇到淡入淡出的場景,XviD 已經不會把每一張都壓成 keyframe 了。
不過我不只一次聽到有網友反應 XviD 對淡入淡出的場景,看起來不如 DivX5,sysKin 新版的改善也有限,所以我想這也許仍然是 XviD 目前的弱點。

還有常聽到有人說 XviD 對很暗很暗的場景容易出現壓縮瑕疵,這點我倒是有親身經歷。
XviD 對那種光線不足,但是又不是完全黑的場景,很容易出現方塊、或者是其他一些奇怪的瑕疵(例如看起來好像有東西黏在上面,髒髒的那種雜訊)。
這個可以利用 MPEG2Dec3.dll 提供的 LumaFilter 功能來解決,Avisynth 的語法如下
# 載入 MPEG2Dec3.dll
LoadPlugin("c:\Program Files\AviSynth 2.5\plugins\MPEG2Dec3.dll")
# LumaFilter,使用預設參數,可以視情況調整
LumaFilter()

你會發現那些暗部瑕疵很神奇地都不見了


可以請問MPEG2Dec3.dll在那裡找嗎?
我找不到
     
      
舊 2003-10-29, 01:14 AM #111
回應時引用此文章
暴君離線中  
tonyhsie
Regular Member
 

加入日期: May 2002
您的住址: 台北
文章: 90
Question

引用:
作者Shade
前面介紹的 warpsharp 內建了一個函式叫做 LoadAviUtlFilterPlugin,可以載入 AviUtl 的 filter,直接在 Avisynth 中使用。
例如我想在 Avisynth 中用 AviUtl 的 Lanczos3 Resize filter,lanczos3.auf 做 resize。
執行 ShowAUFInfo.exe lanczos3.auf >> aufilters.avs 就會印出 lanczos3 的函式

使用的時候
# LoadAviUtlPlugin Lanczos3 Resize
Import("c:\Program Files\AviSynth2\avs\aufilters.avs")
AU_lanczos3Resize(640,480)

warpsharp.dll 舊版的時候 LoadAviUtlPlugin 是獨立一個 LoadAviUtlPlugin.dll,更舊的版本使用前要先加上
ConvertYUY2ToAviUtlYC()
AU_LANCZOS3(640,480)
ConvertAviUtlYCToYUY2()

把 YUY2 轉成 AviUtl 的 48bit YUV 格式,現在好像不用了,程式自動轉換。
另外 loadaui.dll 好像也不見了,變成 warpsharp.dll 內建,function name 好像是 LoadAviUtlInputPlugin。
我很久沒使用了,最新的用法您需要自己研究看看,可以上日本的網站找資料

又寫得太長,好像一點也不簡短 ^^;


今天嘗試把 http://www.marumo.ne.jp/auf/ 的 lanczos3.auf 最新版
掛到 AviSynth 裡,卻怎麼樣也無法成功

不論是用 LoadAviUtlFilterPlugin 直接掛載,或是透過 ShowAUFInfo.exe + Import
都是出現一樣的錯誤訊息

"Avisynth open failure:
ConvertToRGB: 24-bit RGB and Rec.709 support require MMX and horizontal width a multiple of 4
(E:\PL1D102.avs, line 8)"

Lanczos3.auf 吃 YUY2 不吃 RGB24,且 horizontal (704) 也是 4 的倍數沒錯啊

原 avs 檔如下 :
LoadPlugin("C:\Program Files\AviSynth 2.5\warpsharp\warpsharp.dll")
LoadAviUtlInputPlugin("C:\Program Files\AviUtl\m2v.aui","MPEG2VIDEO")
LoadAviUtlFilterPlugin("C:\DL\lanczos3-0.5.1\lanczos3.auf", "_AU_lanczos3Resize")

MPEG2VIDEO("E:\PL1D102\VIDEO_TS\VTS_01_1 - 0xE0 - Video - MPEG-2 - 720x480 (NTSC) - 4~3.M2V")
FieldDeinterlace()
Crop(10,0,704,480)
_AU_lanczos3Resize(640,480)

實在搞不懂問題出在何處,還請 Shade 兄有空指點一下,謝謝
 
舊 2004-10-19, 02:07 PM #112
回應時引用此文章
tonyhsie離線中  
Shade
Senior Member
 
Shade的大頭照
 

加入日期: Oct 2002
您的住址: El's room
文章: 1,046
我很久沒用了,Crop(10,0,704,480) 好像怪怪的,如果原始檔案大小是 720x480,左右減 10 會變成 700x480,而不是 704x480,這樣的 Crop 語法應該是錯的,可能是您誤打錯了
如果不是因為這個原因造成錯誤的話,可能 LoadAviUtlFilterPlugin 在使用的時候,還是必須先加上
#ConvertToYUY2()
ConvertYUY2ToAviUtlYC()
AU_LANCZOS3(640,480)
ConvertAviUtlYCToYUY2()

才能工作,試試看
舊 2004-10-19, 05:57 PM #113
回應時引用此文章
Shade離線中  
tonyhsie
Regular Member
 

加入日期: May 2002
您的住址: 台北
文章: 90
引用:
作者Shade
我很久沒用了,Crop(10,0,704,480) 好像怪怪的,如果原始檔案大小是 720x480,左右減 10 會變成 700x480,而不是 704x480,這樣的 Crop 語法應該是錯的,可能是您誤打錯了
如果不是因為這個原因造成錯誤的話,可能 LoadAviUtlFilterPlugin 在使用的時候,還是必須先加上
#ConvertToYUY2()
ConvertYUY2ToAviUtlYC()
AU_LANCZOS3(640,480)
ConvertAviUtlYCToYUY2()

才能工作,試試看


Crop(a, b, c, d) 是以 (a, b) 為左上起點,向右下方割出一塊長 c, 寬 d 的矩形
因為這個指令我用過很多次了,確定不會有問題 ^^"

但很遺憾的,即使使用上用的三行指令,仍會出現 error,且錯誤訊息一模一樣 ><


不論如何,還是很感謝你的指點
繼續用 lanczos3.vdf 好了 :~~
舊 2004-10-19, 06:41 PM #114
回應時引用此文章
tonyhsie離線中  
Shade
Senior Member
 
Shade的大頭照
 

加入日期: Oct 2002
您的住址: El's room
文章: 1,046
引用:
作者tonyhsie
Crop(a, b, c, d) 是以 (a, b) 為左上起點,向右下方割出一塊長 c, 寬 d 的矩形
因為這個指令我用過很多次了,確定不會有問題 ^^"

啊,您說的沒錯,是我老糊塗了... ^^;
引用:
但很遺憾的,即使使用上用的三行指令,仍會出現 error,且錯誤訊息一模一樣 ><

我剛剛試了一下,我這邊可以,不過要加上 ConvertYUY2ToAviUtlYC(),不然會出現跟您一樣的錯誤。
我的語法
LoadPlugin("warpsharp.dll")
LoadAviUtlInputPlugin("m2v.aui","MPEG2VIDEO")
MPEG2VIDEO("Triangle Heart -Sweet Songs Forever- #3 OP.VOB")
LoadAviUtlFilterPlugin("lanczos3.auf", "_AU_lanczos3Resize")
ConvertYUY2ToAviUtlYC()
_AU_lanczos3Resize(640,480)
ConvertAviUtlYCToYUY2()
Crop(0,0,640,480)

可以成功。
我的 Avisynth 是 2004/07/14 版,warpsharp.dll 是 2003/11/03,lanczos3.auf 是 2002/05/13,0.5.0 版。
我想 lanczos3.auf 可能是關鍵,我已經忘了當初為什麼要用舊版的 lanczos3.auf,目前兩個目錄下放的都是這一個 plug-in,我已經太久沒動了 好像是測試發現舊版的壓縮率比較高還是....?總之換用舊版的看看
舊 2004-10-19, 08:35 PM #115
回應時引用此文章
Shade離線中  
tonyhsie
Regular Member
 

加入日期: May 2002
您的住址: 台北
文章: 90
引用:
作者Shade
我剛剛試了一下,我這邊可以,不過要加上 ConvertYUY2ToAviUtlYC(),不然會出現跟您一樣的錯誤。
我的語法
LoadPlugin("warpsharp.dll")
LoadAviUtlInputPlugin("m2v.aui","MPEG2VIDEO")
MPEG2VIDEO("Triangle Heart -Sweet Songs Forever- #3 OP.VOB")
LoadAviUtlFilterPlugin("lanczos3.auf", "_AU_lanczos3Resize")
ConvertYUY2ToAviUtlYC()
_AU_lanczos3Resize(640,480)
ConvertAviUtlYCToYUY2()
Crop(0,0,640,480)

可以成功。
我的 Avisynth 是 2004/07/14 版,warpsharp.dll 是 2003/11/03,lanczos3.auf 是 2002/05/13,0.5.0 版。
我想 lanczos3.auf 可能是關鍵,我已經忘了當初為什麼要用舊版的 lanczos3.auf,目前兩個目錄下放的都是這一個 plug-in,我已經太久沒動了 好像...


語法上大致相同,warpsharp 版本也相同,lanczos3 也換成 0.5.0 了
仍然不行;有可能是因為 AviSynth 版本的關係,我是用 2004/9/1 2.5.5 正式版

現在在轉檔,待會更換版本試試好了


另外想請教您,AviSynth 使用 AviUtl 的 plug-in 時,是否需要安裝 AviUtl ?
或甚至需要到 AviUtl 去設定該 plug-in ?


Lanczos3 0.5.1 變更點

"VFAPI 動作時スジズ MMX 整䓡/SSE2 琔䓡 ゎ 非 SIMD シウサ動作エペдヲソ修正ヵ⑦еユьメ Intel C 7.0 ズ𨬢更 "

VFAPI 動作時等等 MMX 整數/SSE2 實數 會以非 SIMD動作 back修正 Intel C 7.0 Compiler 的變更?!

大感謝

看起來或許跟錯誤訊息有關也說不定,只是實在看不太日文在說啥....
舊 2004-10-19, 09:34 PM #116
回應時引用此文章
tonyhsie離線中  
tonyhsie
Regular Member
 

加入日期: May 2002
您的住址: 台北
文章: 90
引用:
作者tonyhsie
語法上大致相同,warpsharp 版本也相同,lanczos3 也換成 0.5.0 了
仍然不行;有可能是因為 AviSynth 版本的關係,我是用 2004/9/1 2.5.5 正式版

現在在轉檔,待會更換版本試試好了


沒想到把 AviSynth 換成 2.5.6 alpha 版問題就解決了,
以前都用 DVD2AVI/MPEGDec3dg/內建 LanczosResize 的組合轉檔,

現在換成 MPEG2 VFAPI plug-in / Lanczos3.auf 組合試試 ^^"

感謝 Shade 大的幫忙~!
舊 2004-10-20, 05:05 AM #117
回應時引用此文章
tonyhsie離線中  
AMD-Ti
Elite Member
 
AMD-Ti的大頭照
 

加入日期: Jul 2003
您的住址: Großdeutschland
文章: 6,997
繼續使用XVID
anyway,謝分享.
舊 2004-10-20, 05:14 AM #118
回應時引用此文章
AMD-Ti離線中  


    回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是03:45 PM.


vBulletin Version 3.0.1
powered_by_vbulletin 2025。