头像
zhongpang
帖子: 93
注册时间: 2011-10-23 20:45

关于madVR的一些问题

首先有个疑问

渲染器是如何处理源是8bit RGB视频的?
渲染源是RGB的渲染YV12开销有显著差距吗?

用madVR渲染8bit RGB视频(x264 8bit rgb 视频,或者把BMP图片丢进avs,然后用播放器打开avs)
不开启dither,无损
开启dither,会出现dither噪声
搞不懂了,8bit RGB右移到16bit lsb为0,为何还会出现dither噪声呢?
————————————————————————————————————————————————
用madVR渲染8bit YUV视频会比用普通渲染器好么?
已知madVR会做8bit YUV->16bit RGB->dither到8bit
关闭dither的话就是8bit YUV->16bit RGB->round到8bit和普通渲染器是8bit YUV->8bit RGB,两者差别小到可忽略
播放10bit YUV,开启dither,产生dither噪声可以防止banding,OK
播放8bit YUV,开启dither,产生dither噪声,我认为没有什么作用
————————————————————————————————————————————————
还想请教下,播放10bit YUV视频
10bit YUV->10bit RGB->dither到8bit RGB
和10bit YUV->16bit RGB->dither到8bit RGB
从16bit dither到8bit,和从10bit dither到8bit,有很大意义吗?

前几天压制8bit RGB转 无损10bit YV24
用madvr渲染
10bit YUV->10bit RGB->round到8bit RGB,有损
10bit YUV->16bit RGB->round到8bit RGB,无损

用bt709公式计算了下(TV range),前者损失颜色数为64534,占0.39%
可见在高精度下round还是有必要的

但是,在高精度下做dither比低位深下做dither有什么好处呢?

———————————————————————————————————————————————
还有个疑问
集显HD4250,
用madVR渲染10bit YV12,1920*984,无压力,30fps以上
用madVR渲染10bit YV24,1920*984,帧数降至5fps
按理来说YV24比YV12 信息多了一倍,帧数也应该成比例减少吧,但实际上不是
——————————————————————————————————————————————
顺便附上滥造的测试程序,
不知道为什么和
http://goldenhige.cocolog-nifty.com/blo ... 216yu.html
这贴有较大差距
还请各位指点是否哪里有问题
用double作为储存公式计算的结果,
由于double尾数位是52bit,可以理解成计算结果就是相当于52位的么?
附件
RGB.rar
转换公式可选bt601,bt709,和jpeg,
乱输的话是bt709
前两者是TV range
(694.55 KiB) 下载 103 次

回到 “理论讨论 / Theoratical discussion”