[x264-devel] Re: code analysis

Alex Izvorski aizvorski at gmail.com
Mon Mar 19 20:58:53 CET 2007


On Sun, 2007-03-18 at 12:06 +0100, Guillaume POIRIER wrote:
> Hi,
> 
> On 3/18/07, elispezzi at tiscali.it <elispezzi at tiscali.it> wrote:
> >
> >
> > Hi everybody!
> > Someone can help me?
> > I must analyse x264 source code: what about, in detail,
> > pixel_satd_wxh
> > ( ) function in pixel.c file?
> 
> Posting the exact same question very day isn't gonna get you anywhere.
> 
> SATD is just the Sum of Absolute Hadamard Transformed Differences that
> is covered everywhere in the video encoding literature. Jut google
> around and/or borrow a good book at your local library and it will
> answer all your questions.

What the pixel_satd_wxh function does is 
(1) calculate the difference between two w x h blocks
(2) calculate a 4x4 Hadamard transform on each 4x4 sub-block of the
difference
(3) add the absolute values of the resulting coefficients

The idea being that this number is well correlated to the number of bits
to encode this part of the image, while being much faster to calculate
than actual IDCT coefficients.

Guillaume: actually I've always wondered what the definitive reference
for using Hadamard is.  There is stuff like JVT-O079 etc, and clearly
Hadamard does work better than SAD, but: Hadamard is only one of a class
of transforms, who can say whether another may be even better?  Possibly
there is something in between the full IDCT and SATD which is also a
good tradeoff?  (or something in between the SAD and SATD?)  Why 4x4?
etc. Do you know a good paper on this?


--Alex


-- 
This is the x264-devel mailing-list
To unsubscribe, go to: http://developers.videolan.org/lists.html



More information about the x264-devel mailing list