DCT Coefficients in MPEG-4 Encoder

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):

Luma:
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);

Chroma:
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.

1 contribution / 0 nouveau(x)
Reportez-vous à notre Notice d'optimisation pour plus d'informations sur les choix et l'optimisation des performances dans les produits logiciels Intel.