2009/3/4 Matthias Hopf
On Mar 03, 09 18:03:22 -0800, Yang Zhao wrote:
The texture sampler for CbCr used to be configured to use bilinear interpolation when upscaling. This results in a smoothing of the chroma channels, and is perceived as being blurry when a lot of sharp changes in colour is present. Simply flip the bits to use nearest-point interpolation instead.
Yang, I wouldn't change that. AFAIU color subsampling in the normal YCb'Cr' color spaces is defined to be interpolative. If it does look to blurry, there could be a different bug. Also, with nearest-neighbor interpolation at least I always stumble over hard edges at smooth surfaces, especially if they are red.
Does MPEG/BT.601/BT.709 define an upscaling method for chroma when decoding, or is that up to each decoder implement as they see fit? I failed to find any secondary source information on this, and acquiring specs myself is a PITA. In any case, I was purely going by user feedback and comparing results to the mplayer software converter: http://yangman.ca/r600_xvtest/ The blurring is very, very subtle, and, frankly, neither bilinear nor nearest-point produces very good results for images with a lot of file detail. On the other hand, bilinear clearly does lose a lot of detail, and it comes down to a question of whether we want sharp images with some red artifacts, or slightly fuzzy images with less said artifacts. Alternatively, we try bicubic filtering with the shader. (Actually, I think I'll try that for kicks anyway.) -- Yang Zhao http://yangman.ca -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org