MPEG4 decoder IPP 5.2 beta - color conversion problem?

MPEG4 decoder IPP 5.2 beta - color conversion problem?

Portrait de phoenixpl

Hello,


I'm trying to use IPP 5.2 beta with MPEG4. It seams to be working a lot faster in terms of encoding then IPP 5.1 but I need to conduct forther tests to confirm that. Currently I have a problem with decoding images. Decoder is initalized correctly, but when I display images on the screen it seams to have a problem with colors (attached screenshot and decoder code). Is is possible at all to decode strait to UMC::YUY2? I have testes the same solution under IPP 5.1 and it worked so ether I'm missing something or YUY2 is not supported in beta. Please, help me with this one.


#define XDIM 720
#define YDIM 576


Decoder constructor:
m_dataOut = new UMC::VideoData;
m_dataIn = new UMC::MediaData;


m_dataOut->Init( XDIM, YDIM, UMC::YUY2, 16);


video_info.color_format = UMC::YUY2;
video_info.clip_info.width = XDIM;
video_info.clip_info.height = YDIM;


m_mpeg4_Param.info = video_info;
m_mpeg4_Param.lFlags = 0;
m_mpeg4_Param.uiLimitThreads = 1;


UMC::Status status = m_mpeg4_dec.Init( &m_mpeg4_Param );


Decode method:
DWORD EvaDecode::DecodeFrame( SEvaDataFile &_dataFile, BYTE *_buffer )
{
// MPEG4 decode
BYTE *pY = _buffer;


m_dataIn->SetBufferPointer( _dataFile.data, _dataFile.dataSize );
m_dataIn->SetDataSize( _dataFile.dataSize );


m_dataOut->SetPlanePointer( pY, 0 );
m_dataOut->SetPlanePointer( NULL, 1 );
m_dataOut->SetPlanePointer( NULL, 2 );
m_dataOut->SetPlanePitch( XDIM*2, 0 );
m_dataOut->SetPlanePitch( 0, 1 );
m_dataOut->SetPlanePitch( 0, 2 );


int mRetval = m_mpeg4_dec.GetFrame( m_dataIn, m_dataOut );


return 0;
}

Fichier attachéTaille
Téléchargement color_problem.png792.45 Ko
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.