On Mar 04, 09 09:38:58 -0800, Yang Zhao wrote:
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
It seems that even the definition of where the subsamples lie is exactly defined, and different per codec, and it turns out to be a nightmare. JPEG/JFIF, M-JPEG, H.261, and MPEG-1 define the sampling points at the center of a 2x2 block, while Rec.601 (don't know the codecs here) defines 4:2:2 to be situated in the center of even lum samples, and Mpeg-2 mixes both schemes - best take a look at http://books.google.com/books?id=ra1lcAwgvq4C&pg=RA1-PA93&lpg=RA1-PA93&dq=chroma+subsampling+interpolation&source=bl&ots=bOh8AFXU9a&sig=QmssmmY3maRjYrSw27vcAi3OKZA&hl=en&ei=_e2vSbjFAcOe_ga94ri1BA&sa=X&oi=book_result&resnum=3&ct=result#PRA1-PA93,M1 I haven't found a spec for how the values have to be reconstructed. But the original sample positions would influence that very much.
failed to find any secondary source information on this, and acquiring specs myself is a PITA.
Read http://www.glennchan.info/articles/technical/chromata/chromata.html IMHO bilinear filtered already looks *much* better than nearest neighbor. http://www.glennchan.info/articles/technical/chroma/chroma1.htm looks like an interesting read. Haven't read yet, though.
In any case, I was purely going by user feedback and comparing results to the mplayer software converter: http://yangman.ca/r600_xvtest/
The test image is particular suited for letting nearest neighbor lookup
look better. There are others that are favouring interpolation.
But even in this case I like the filtered one better. In this case it's
personal taste. But for a really good interpolation we need gamma
corrected interpolation. Which makes the filter nonlinear.
Matthias
--
Matthias Hopf