Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

DCT Coefficients in MPEG-4 Encoder

Dear friends

I want to extract dct coeffs of MPEG-4 videos. As I debugged the mpeg4_enc source code, I found that the dct transformation is done in TransMacroBlockIntra_MPEG4() function (in mp4_enc_vop.cpp file). In this function ippiDCT8x8Fwd_8u16s_C1R() is used six times for each macroblock component (4 Luma component and 2 Chroma componet):

ippiDCT8x8Fwd_8u16s_C1R(pY, yStep, coeffMB+0*64);
ippiDCT8x8Fwd_8u16s_C1R(pY+8, yStep, coeffMB+1*64);
ippiDCT8x8Fwd_8u16s_C1R(pY+yOff23, yStep, coeffMB+2*64);
ippiDCT8x8Fwd_8u16s_C1R(pY+yOff23+8, yStep, coeffMB+3*64);

ippiDCT8x8Fwd_8u16s_C1R(pU, mStepChroma, coeffMB+4*64);
ippiDCT8x8Fwd_8u16s_C1R(pV, mStepChroma, coeffMB+5*64);

As it can be seen in the above functions, pY should be a 2D 8*8 buffer which contains 8*8 YUV matrix for each block of the input macroblock (should contains 64 coeffs of each block) .

I want to know how can I read the content of pY? In other word, How can I extract each element of 8*8 YUV matrix??

Thanks in advance.
0 Kudos
0 Replies