[x264-devel] Re: questions

Loren Merritt lorenm at u.washington.edu
Mon Mar 19 01:17:31 CET 2007


On Sun, 18 Mar 2007, Fejes Dávid wrote:

> Can anybody tell me, what are the meaning of the FENC_STRIDE and
> FDEC_STRIDE constants? I've found their declaration, but i don't
> understand their functions and why do they differ?

The region of the input frame corresponding to the current
macroblock is stored in h->mb.pic.fenc_buf, with stride FENC_STRIDE.
The region of the reconstructed frame corresponding to the current 
macroblock, and some surrounding pixels used in the reconstruction 
process, are stored in h->mb.pic.fdec_buf, with stride FDEC_STRIDE.
Sicne fdec_buf is more than 16 pixels wide, it can't use stride 16. It 
needs to be aligned for SSE/Altivec optimizations, so I rounded it up to 
32.

> Maybe it's stupid question, but i'm not sure about the second and
> fourth parameters of the pixel_satd_wxh function. (int i_pix1, int
> i_pix2). Do they determine the size of one pixel in the input data?
> They are same at every time, when this function is called?

Strides for the corresponding pix1 and pix2. They are not constant (if 
they were, then they wouldn't be arguments).

> I want to implement x264 to hardware (with xilinx FPGA-s,  MicroBlaze
> or PowerPC, non commercial project). Of course i want change the
> slowest parts of the encoder with pure hardware realization, e.g.
> calculating hadamard transformed differences. There are anybody here,
> who has tried this before? Does anybody know about any similar public
> project in the past?

People have previously considered such projects, but I never heard back 
from them after the initial proposal.

--Loren Merritt


More information about the x264-devel mailing list