Pitch of a YUV frame

Pitch of a YUV frame

Hello,

I am trying to rewrite the function in common_utils.cpp:

mfxStatus ReadPlaneData(mfxU16 w, mfxU16 h, mfxU8 *buf, mfxU8 *ptr, mfxU16 pitch, mfxU16 offset, FILE* fSource)

 

How can a YUV frame have a pitch to it, defined as the distance between two consecutive rows in a frame when Y is 4 times bigger than U or V?

 

Is it the distance between the Y and U or U and V?  I appears to be U and V but I can't completely tell.

Thank you,

Matt

2 post / 0 nuovi
Ultimo contenuto
Per informazioni complete sulle ottimizzazioni del compilatore, consultare l'Avviso sull'ottimizzazione

Hi Matthew,

The raw input surface read from disk does not have any pitch but the destination memory surface often has a pitch (different from the content frame dimensions) due to memory allocation alignment requirements. Take a look at for instance the Media SDK Tutorial (which I'm guessing you are basing your code on?) "simple_encode.cpp" code, at the stage in the code where "mfxEncParams.mfx.FrameInfo.Width" and "mfxEncParams.mfx.FrameInfo.Height" is set. Here you can see how the actual size of the allocated surface gets determined; which does impact surface pitch.

Regards,
Petter

Lascia un commento

Eseguire l'accesso per aggiungere un commento. Non siete membri? Iscriviti oggi