回覆: 【下載】Media Player Classic HomeCinema 1104
[QUOTE=per1;1058703]我今天想了一下..
發現不大對..
色彩轉換的Upsampling(scaling那塊)部分依然還是丟給Decoder作才對...
我之前得到的結論是錯的...
這根本就是MPC Video Decoder的Chroma Upsampling解出來的效果有問題...!!.
如果啟用DXVA的話..
會丟給GPU來做..
現今GPU的硬體色彩轉換部分都非常強...
nVIDIA可以做到4x5...
ATi則是6x10..[/QUOTE]
我剛剛試了一下使用MPC-HC ver.1104
並用VMR9 + DXVA解碼輸出,狀況依舊...
用CORE AVC解碼搭配VMR9輸出 情形還是一樣...
倒是用WMP 11播放都沒那問題
不管輸出是用重疊還是高品質
(不過我不喜歡用WMP看影片...)
所以,看起來似乎是MPC程式的問題?
(MPC跟MPC-HC似乎都一樣有這問題...)
回覆: 【下載】Media Player Classic HomeCinema 1104
[QUOTE=protoss0809;1058714]我剛剛試了一下使用MPC-HC ver.1104
並用VMR9 + DXVA解碼輸出,狀況依舊...
用CORE AVC解碼搭配VMR9輸出 情形還是一樣...
倒是用WMP 11播放都沒那問題
不管輸出是用重疊還是高品質
(不過我不喜歡用WMP看影片...)
所以,看起來似乎是MPC程式的問題?
(MPC跟MPC-HC似乎都一樣有這問題...)[/QUOTE]
你試看看故意用FFDShow輸出..
看有沒有問題..??
回覆: 【下載】Media Player Classic HomeCinema 1104
[QUOTE=per1;1058716]你試看看故意用FFDShow輸出..
看有沒有問題..??[/QUOTE]
是指用FFDSHOW解碼嗎?
情形一樣耶...
回覆: 【下載】Media Player Classic HomeCinema 1104
[QUOTE=protoss0809;1058718]是指用FFDSHOW解碼嗎?
情形一樣耶...[/QUOTE]
如果解碼流程跑這樣呢
FFDSHOW解碼(不做任何後處理,輸出色系RGB32)->VMR9([SIZE=2]3D surfaces[/SIZE],resize選Bicubic,[SIZE=2]YUV Mixing不開[/SIZE])
回覆: 【下載】Media Player Classic HomeCinema 1104
[QUOTE=lecod;1058745]如果解碼流程跑這樣呢
FFDSHOW解碼(不做任何後處理,輸出色系RGB32)->VMR9([SIZE=2]3D surfaces[/SIZE],resize選Bicubic,[SIZE=2]YUV Mixing不開[/SIZE])[/QUOTE]
這樣就正常多了
有沒有開YUV Mixing 都一樣正常
但是這樣子的話,wmv檔因為預設不是用ffdshow作解碼
這個問題還是會存在...,除非改成用ffdshow去解wmv
回覆: 【下載】Media Player Classic HomeCinema 1104
[QUOTE=protoss0809;1058747]這樣就正常多了
有沒有開YUV Mixing 都一樣正常
但是這樣子的話,wmv檔因為預設不是用ffdshow作解碼
這個問題還是會存在...,除非改成用ffdshow去解wmv[/QUOTE]
既然如此
那解碼器不變
加一道處理程序讓輸出色系轉RGB32
變成
預設解碼器->ffdshow raw video filter(OOXX轉RGB32)->VMR9
這樣子跑呢?
回覆: 【下載】Media Player Classic HomeCinema 1104
你們該不會只選RGB32輸出..
強制指定RGB32輸出
其他不選吧??..
回覆: 【下載】Media Player Classic HomeCinema 1104
我的猜測是..
MPC Video Decoder有對色彩轉換的upsampling作干涉,沒有讓GPU介入...
但是如果強制MPC Video Decoder指定DXVA輸出情況就會不同..
GPU會介入...
做硬體色彩轉換...
這時要取決GPU的能力...
但是目前GPU不管是ATi和nVIDIA的upsampling能力都非常強悍..
除非在ATi下有一個情況..
我認為本來是不該有的...
應該要解決掉的...
就我所知道..
以前ATi在VMR9下對upsampling是有問題的..
都是用point resize(Nearest Neighbor取樣)來做...
至於現在有沒有問題??..
我去拿一塊ATi 4670試試看好了=_="
回覆: 【下載】Media Player Classic HomeCinema 1104
[QUOTE=lecod;1058777]既然如此
那解碼器不變
加一道處理程序讓輸出色系轉RGB32
變成
預設解碼器->ffdshow raw video filter(OOXX轉RGB32)->VMR9
這樣子跑呢?[/QUOTE]
ffdshow裡面的raw video有很多選項說
只選YV12? 還是ALL YUV?
[QUOTE=per1;1058781]你們該不會只選RGB32輸出..
強制指定RGB32輸出
其他不選吧??..[/QUOTE]
基本上我都是照預設的
預設是有勾YV12的
不曉得YV12的輸出跟RGB32的輸出其差異在?
[QUOTE=per1;1058785]我的猜測是..
MPC Video Decoder有對色彩轉換的upsampling作干涉,沒有讓GPU介入...
但是如果強制MPC Video Decoder指定DXVA輸出情況就會不同..
GPU會介入...
做硬體色彩轉換...
這時要取決GPU的能力...
但是目前GPU不管是ATi和nVIDIA的upsampling能力都非常強悍..
除非在ATi下有一個情況..
我認為本來是不該有的...
應該要解決掉的...
就我所知道..
以前ATi在VMR9下對upsampling是有問題的..
都是用point resize(Nearest Neighbor取樣)來做...
至於現在有沒有問題??..
我去拿一塊ATi 4670試試看好了=_="[/QUOTE]
我剛好就是用ATI 4670 :|||:
不過再多一張ATI的卡來測試也是好的
不好意思,per1大就麻煩你了
回覆: 【下載】Media Player Classic HomeCinema 1104
最基本的一点是,Chroma的upsampling只能够在YUV或YV12转换为RGB的过程中进行,所以很简单,不管是解码器还是渲染器,谁在做YUV向RGB的转换,谁就在做Chroma的upsampling。
如Proto所问FFdshow输出YV12和RGB有什么区别,唯一的区别就是把YUV向RGB转换得工作交给了谁。输出RGB,FFdshow就承担了转换工作,而输出YV12,很明显就将这个工作交给了渲染器。
至于转换质量的好坏取决于算法,如果各位看一下YV12 Chroma upsampling的shader文件,就可以发现,它也就是作了RGB转YUV的逆运算,然后再用好的upsampling算法再转回RGB。所以效果上和overlay的转换以及FFdshow没有什么区别。
至于为什么VMR9在3D纹理模式下会使用邻点取样,我是这么认为的,纯属猜测:因为在3D模式下,可以随意对单个像素进行控制,那么最基本的一点是,就是应该让视频画面在输出到Shader之前保持它本来的面目,所谓的双线形插值已经是对视频的再加工了,VMR9的设计者是否出于这种想法才让3D模式下,对Chroma信号不做任何插值处理,而将未经任何加工的原始视频数据输出到shader的呢?
:)