[libavg-devel] v4l branch code review

Ulrich von Zadow uzadow at libavg.de
Mon Jul 23 16:50:37 CEST 2007


OXullo Intersecans schrieb:

>> Um - I just noticed something else: You can get much better results by
>> interpolating the U and V values. YUV422toBGR32Line() does this for
>> rows, for instance. Have a look at this page to see what I mean:
>> http://en.wikipedia.org/wiki/Chroma_subsampling#4:2:0.
[...]
> In YUV420p it's quite the same situation, but each u,v couple belongs to
> a 2x2 block instead of a stripe of 4 points. That expose the averaging
> choices to a practical problem: interlacing.
> When you're able to process line by line, you can surely get no such
> care to field format, but in this case, talking about V4L which usually
> acquire from interlaced video formats, we should take care of our
> intentions.
>
> Does anyone know TheRightWay(R) on how chroma data can be interpolated?

I just found this:

http://www.hometheaterhifi.com/volume_8_2/dvd-benchmark-special-report-chroma-bug-4-2001.html

You're right, this is a BigMess(R). Interlaced and non-interlaced data
need to be treated differently :-(.

cu,

  Uli



More information about the libavg-devel mailing list