- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Any suggestions would be greatly appreciated!
Scott
P.S. As further note for when Intel updates the documentation: FIOReader is not built by default on Linux for IA32. The UMC example depends on FIOReader and thus cannot be built without modification. Changing FIOReader to FileReader works, but I don't know what difference (if any) this makes.
Message Edited by sdhays@neon.com.tw on 01-19-2006 06:35 PM
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am currently trying to decode the mpeg4 byte stream that comes directly from the GetFrame() method of the ipp mpeg-4 encoder, so we might look for the same thing.
Currently I am on the verge of dissecting codec_pipeline to find out how to feed the decoder correctly so it produces complete images.
However, when I feed the MPEG-4 decoder with what I get from the encoder, the decoder just produces some bytes of unusable data.
I guess what plays into it, is the way data comes in to the decoder. I am currently thinking this way:
* The MPEG-4 Stream does not consist of complete images side-by-side like the MJPEG stream does.
* This means that the MPEG-4 decoder needs some 'brain' containing the last image to produce the next image with the new bits of information coming in.
* Either this 'brain' is in the decoder itself, or it must be in the pipeline.
One thing I will try now for testing is to feed only I-Frames to the decoder, practically emulating MJPEG with that.
Rhy
Message Edited by Rhy on 01-20-2006 01:49 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Scott,
well, seems we have documentation issue here, it need to be addressed to the next release.
Thanks,
Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Scott
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Scott,
as a variant, I can suggest you to take a look on umc-manual.pdf file, chapter 3, Base Classess, Example of UMC Base Classes Usage. There is a simple example of Motion JPEG decoder from AVI to YUV file. It should not be too difficult to replace MJPEG related staff with MPEG4 staff. Just formal approach should work, replace included header files and change object names and you should get very simple MPEG4 decoder.
Regards,
Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Scott
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Scott,
Sorry, I forget to mention, in case of MPEG4 you need to replace YUY2 to YV12 in decoder initialization. Wetested this and it is work. Let me know if I need to upload modified sample here
Regards,
Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks again for your help!
Scott
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Scott,
you changed code on
page 3-99, line 18
VDecParams.cformat = UMC::
YUY2; -> VDecParams.cformat = UMC::YV12;Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Vladimir
Message Edited by vdudnik on 02-10-2006 11:07 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you for posting your sample, but unfortunately it produces the same results as my own update to the UMC example. It seems to decode, but it simply doesn't save anything to output.yuv. I've compiled this on Windows and Linux (on Linux, I changed FIOReader calls to FileReader calls). The results were the same. I used AVI files with MPEG4 data from different encoders, including one generated by video_enc_con. All of the AVI files I tested work with simple_player but not with the sample program. Very strange.
I did have to make some changes to the Visual Studio project in order to get this sample to build. But that shouldn't make a difference since I just added include lines to the compiler command and library paths to the linker command. I didn't touch the source code except for when I tried it on Linux (as mentioned above).
If you have any other suggestions, please let me know. Thanks again for helping me out with this!
Scott
Message Edited by sdhays@neon.com.tw on 02-15-2006 04:32 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
// decoding & rendering loop (frame by frame)
while(umcRes == UMC::UMC_OK || umcRes == UMC::UMC_NOT_ENOUGH_DATA)
{
umcRes = avi_spl.GetNextVideoData(&in); -> crash !!!
if (umcRes != UMC::UMC_OK)
break;
The error returned in release version is:
runtime error R6016
- not enough space for thread data
I tried to decode an avi generated with XVID or DIVX codec and I dont known if this is the problem, Can I decode videos encoded with these codecs with the IPP MPEG-4 decoder?
Could you help me, please ?
Thanks you very much in advance !!
PS: I attach you the video that Im using in my tests
Jordi.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I solved the problem, Im using visual c++ 6 and I see that I forgot in the project setting ->code generation-> use runtime library, select multithreaded DLL insteadof single threaded.
Im sorry if I spent your time.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Scott
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Stream Type : AVI
Video Info :
-Video Type : UNDEF
-Resolution : 0x0
-Frame Rate : 0.00
Audio Info :
-Audio Type : UNDEF
-S.Frequency : 0
-Num.Channel : 0
-BitPerSample: 0
Could you test it please and tell me what is it wrong in this file? Is the avifile header wrong ?
I attached a bad avifile.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Scott
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jordi.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks,
Scott
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Vladimir

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