[Ffmpeg-devel] upsampling of subsampled video data

Attila Kinali attila
Sun Sep 10 22:25:25 CEST 2006


On Sun, 10 Sep 2006 12:17:41 +0200
Michael Niedermayer <michaelni at gmx.at> wrote:

> well, lets see, first heres a list of the common formats with ideal sample 
> positions shown below too
> progressive 4:2:0 (mpeg1)
> Y Y Y Y
>  C   C
> Y Y Y Y
> 
> Y Y Y Y
>  C   C
> Y Y Y Y

Does this mean, that the C samples are inbetween the Y
samples and thus have to be interpolated in vertical
direction too before converting to RGB?
(apart from the missing sample every second line)

> interlaced 4:2:0 (mpeg2/mpeg4)
> field A     field B
> Y Y Y Y
> C   C
>             Y Y Y Y
> 
> Y Y Y Y
>             C   C
>             Y Y Y Y
> note, its very important that only luma and chroma samples from the same field
>       are used in building rgb values or pretty ugly artifacts appear

Hmpf.. Which means that there is a flag needed to
specify interlaced content. Which will make the hardware
even more complex.
 
> now which are important? mpeg2/4 4:2:0 progressive and interlaced certainly
> are and 4:2:2 too

Even if just these are specified. It makes it quite complex.
I have to think about how this can be simplified without
too much quality los.
 
> the following codecs depend on 4:1:1 support (or a sw converter to make 4:2:2
[...]
> the following codecs depend on 4:1:0 support (or a sw converter to make 4:2:0
> out of their 4:1:0)

>From the list of codecs that use these two, i guess that
these are special cases that can be left out if there is
not enough space (which there isnt)

BTW: while we are at it, how important is it to have a
YUV->RGB converter that supports different standards?
Ie, IIRC there are 3 different coefficients for YUV<->RGB
conversion by different standards groups. Is it important
to have a programmable converter to select one of these,
or would be one constant enough without too much quality
los for the others?

				Attila Kinali

-- 
egp ist vergleichbar mit einem ikea bausatz fuer flugzeugtraeger
			-- reeler in +kaosu




More information about the ffmpeg-devel mailing list