搜索 社区服务 统计排行 帮助
  • 12333阅读
  • 162回复

[请教]x264压制出来画面发白怎么办?

楼层直达
级别: 新手上路
注册时间:
2004-12-22
在线时间:
0小时
发帖:
156



是不是跟色彩空间有关?

我素材是YUY2的,不转换成YV12的话一压就出错

avis [error]: unsupported input format (YUY2)

只能添上这个命令才能压ConvertToYV12()

但是压出来色彩发白。。。郁闷

请问怎么解决?
级别: 风云使者
注册时间:
2006-03-12
在线时间:
54小时
发帖:
6604
只看该作者 162楼 发表于: 2008-06-11
有没有人哪位大大来作个总结陈词啊

BTW 这贴应该是26区历史新高了吧 呵呵

级别: 风云使者
注册时间:
2006-03-12
在线时间:
54小时
发帖:
6604
只看该作者 161楼 发表于: 2008-06-09
从这款游戏的设定角度来说 刀柄的红色 应该是更倾向于紫红/深红 那种感觉

级别: 新手上路
注册时间:
2007-11-19
在线时间:
0小时
发帖:
145
只看该作者 160楼 发表于: 2008-06-09
引用
最初由 qyqgpower 发布
从MS解码器最后黑画面输出的颜色不正常来看,我认为MJPEG Decompressor的算法有问题,不能继续使用


我提过用picvideo编码过,LZ的片断转RGB32当成输入源,结果M$/ffdshow RGB输出/picvideo YV12输出/picvideo RGB输出,用我的懒人比对方式几乎和源一致。倒是直接LZ的片断pivvideo的RGB输出如roozhu说所说怪怪的,比对上红色刀柄颜色不同略暗,然后我做直方图看波形形状分布大致一致,但是picvideo RGB的波形量最低。
级别: 风云使者
注册时间:
2006-03-12
在线时间:
54小时
发帖:
6604
只看该作者 159楼 发表于: 2008-06-09
不管色彩 单就AVISOURCE DirectShowSource FFmpegSource 3者 出来的画面就是完全不同的 ORZ[/KH]


而且如果AVS是YV12输出 渲染器接收到的是UYVY
而AVS是YUY2输出 渲染器收到的仍然是YUY2

级别: 侠客
注册时间:
2005-02-09
在线时间:
0小时
发帖:
512
只看该作者 158楼 发表于: 2008-06-09
从MS解码器最后黑画面输出的颜色不正常来看,我认为MJPEG Decompressor的算法有问题,不能继续使用
级别: 侠客
注册时间:
2005-12-16
在线时间:
5小时
发帖:
676
只看该作者 157楼 发表于: 2008-06-09
引用


。。。。。。。。orz

您意思是说这两套算式相差不大吧?
视频的
Y = (77 * R(d) / 256) + (150 * G(d) / 256) + (29 * B(d) / 256)
Cb = - (44 * R(d) / 256) - (87 * G(d) / 256) + (131 * B(d) / 256) + 128
Cr = (131 * R(d) / 256) - (110 * G(d) / 256) - (21 * B(d) / 256) + 128

JPG的
Y = 0.299 R + 0.587 G + 0.114 B
Cb = - 0.1687 R - 0.3313 G + 0.5 B + 128
Cr = 0.5 R - 0.4187 G - 0.0813 B + 128

我比不出来了,问下这MS到底和谁是一路的。。
PIC assume Normalized RGB32 还是
FFDSHOW YUY2+ConvertToRGB32(matrix="PC.601")

爱看看不看滚
级别: 侠客
注册时间:
2005-12-16
在线时间:
5小时
发帖:
676
只看该作者 156楼 发表于: 2008-06-09
引用
最初由 superkidx 发布

为啥DirectShowSource要加pixel_type="YUY2" 呢

和在ffd里指定YUY2输出是一个效果,yv12应该也一样。

爱看看不看滚
级别: 风云使者
注册时间:
2006-03-12
在线时间:
54小时
发帖:
6604
只看该作者 155楼 发表于: 2008-06-09
引用
最初由 kzhou 发布
汗, 确实一样,我被FFmpegSource欺骗了,扔掉。

绕了半天又回来了
ms解码(http://bbs.sjtu.edu.cn/file/MedicalSchool/1213009461156653.jpg)
DirectShowSource("D:ng1.grf", audio=false)

和ffdshow
DirectShowSource("C:\ng1.avi",pixel_type="YUY2")
ConvertToRGB32(matrix="PC.601")

是一样的,但和
FFmpegSource("C:\ng1.avi")
SwapFields()
ConvertToRGB32(matrix="PC.601")
不同。

观望等结论。。。orz

为啥DirectShowSource要加pixel_type="YUY2" 呢

级别: 风云使者
注册时间:
2006-03-12
在线时间:
54小时
发帖:
6604
只看该作者 154楼 发表于: 2008-06-09
LZ在捕捉时有没有进行什么设置呢
FFD出现交错 而且MEDIA INFO 指出是交错的

级别: 侠客
注册时间:
2005-02-09
在线时间:
0小时
发帖:
512
只看该作者 153楼 发表于: 2008-06-09
级别: 侠客
注册时间:
2005-12-16
在线时间:
5小时
发帖:
676
只看该作者 152楼 发表于: 2008-06-09
汗, 确实一样,我被FFmpegSource欺骗了,扔掉。

绕了半天又回来了
ms解码(http://bbs.sjtu.edu.cn/file/MedicalSchool/1213009461156653.jpg)
DirectShowSource("D:ng1.grf", audio=false)

和ffdshow
DirectShowSource("C:\ng1.avi",pixel_type="YUY2")
ConvertToRGB32(matrix="PC.601")

是一样的,但和
FFmpegSource("C:\ng1.avi")
SwapFields()
ConvertToRGB32(matrix="PC.601")
不同。

观望等结论。。。orz

爱看看不看滚
级别: 新手上路
注册时间:
2007-11-19
在线时间:
0小时
发帖:
145
只看该作者 151楼 发表于: 2008-06-09
没差别吧,用的r1980版。我用的是avsp载入2个avs,让后切换tab,没看到图像有变动(先注明本人近视800,有记得戴上眼镜就是)

第一个avs ffdshow解码rgb32输出:DirectShowSource("F:\ng1.avi").SwapFields()

第二个avs M$解码,也在rgb32之下:DirectShowSource("F:\ng1.grf", audio=false)
级别: 侠客
注册时间:
2005-02-09
在线时间:
0小时
发帖:
512
只看该作者 150楼 发表于: 2008-06-09
PIC的decompressor里有个选项
Assume Normalized YUV

This setting lets you control how images are decoded during playback to the RGB or YUV colorspaces.

When decompressing to the YUV colorspace, if the “PICAVI” APP1 marker is found, the codec will assume the frame was encoded correctly regardless of the Assume Normalized YUV setting.

Otherwise if the Assume Normalized YUV checkbox is checked, that setting indicates that the frame was encoded correctly, and corrections will not be applied. Otherwise, the codec will assume the frame was encoded incorrectly, and apply changes.
级别: 侠客
注册时间:
2005-12-16
在线时间:
5小时
发帖:
676
只看该作者 149楼 发表于: 2008-06-09
PIC no Normalized 和PIC assume Normalized是啥?

另,su xining你说 “FFD RGB输出变灰=M$解码RGB输出”没发现颜色有差别么,特别是刀把的红色

爱看看不看滚
快速回复

限150 字节
上一个 下一个