- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am using GetFrame() of MPEG4 decoder in DirectShow. The renderered image does not show correct image. I have set output to YUY2. I have crossed checked with sample code with IPP and everything seems all right. Following is the code
MediaData p_dataIn;
VideoData p_dataOut;
int err_code = 0;
int mRetval;
p_dataIn.SetBufferPointer((vm_byte *)pSrc,lSrcLen);
p_dataOut.SetBufferPointer(pDest,*lDestLen);
mRetval = GetFrame(&p_dataIn,&p_dataOut);
if( mRetval == UMC_OK )
{
int nRet = p_dataOut.GetDataSize();
}
In the above code
pDest = pointer to the DirectShow buffer from IMediaSample
*lDestLen = length of the buffer.
Thanx in advance
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi!
Does lSrcLen and lDestLen are the same type? Because if they are, then you should use *lSrcLen instead of lSrcLen. What is the color format of the source video?
Greetings,
Bendeguy
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
And I also think, you shoud use
yourrenderervariable.LockInputBuffer(&p_dataOut); before thge GetFrame() and
yourrenderervariable.UnLockInputBuffer(&p_dataOut); after the GetFrame().
Bendeguy

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page