- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When using the H264 decoder build from the UMC sample library I get an error when trying to initialize the H264 decoder class. I tracked down the error as far as the NALUnitSplitter and can reproduce it with the following code:
#include "codec/h264_dec/include/umc_h264_nal_spl.h"
#include "codec/h264_dec/include/umc_h264_dec.h"
#include "codec/color_space_converter/include/umc_video_processing.h"
int main(int argc, char* argv[])
{
UMC::H264_Heap heap;
UMC::NALUnitSplitter sp(&heap);
sp.Init();
return 1;
}
Here is the Visual Studio 2008 call stack output:
> test_IsrImage.exe!std::_Vector_const_iterator
test_IsrImage.exe!std::_Vector_iterator
test_IsrImage.exe!std::vector
test_IsrImage.exe!std::vector
test_IsrImage.exe!UMC::StartCodeIterator1::StartCodeIterator1() + 0x96 bytes C++
test_IsrImage.exe!UMC::NALUnitSplitter::Init() + 0x68 bytes C++
test_IsrImage.exe!main(int argc=1, char * * argv=0x0000000000dd8e50) Line 97 C++
test_IsrImage.exe!__tmainCRTStartup() Line 582 + 0x19 bytes C
test_IsrImage.exe!mainCRTStartup() Line 399 C
kernel32.dll!00000000772d652d()
[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]
ntdll.dll!00000000778cc521()
I am building the UMC library statically in debug mode, Windows 64 bit. I get the exact same error using version 7.0.3.050 and version 7.0.5.059. The H264 encoder is working fine and we were able to get the decoder working in our old 32 bit codebase. Has anyone seen this issue before?
Scott McMichael
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Scott,
Why kind of error do you get? Access violation or any kind of run-time assertion?
I couldn't reproduce the problem with x64 static build on VS2008. Successfully passed vector.clear(with vector.end and vector.begin methods inside). I've got 7.0.5 samples.
Could you step-by-step pass "m_prev.clear();" within StartCodeIterator1.Reset (going in and out of vector methods)?
Regards,
Sergey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
After a lot of rebuilding the decoder is now working. I'm not sure what the exact problem was but there are two issues I identified:
- A piece of code setting the decoder parameters pPostProcessing field caused the decoder to fail with an invalid stream error. The code used to work on our Win32 setup but removing it and leaving the field as the default fixed the problem.
- The H264 Encoder and Decoder in the UMC library have some conflicting names which causes building to fail if both are included from the same file. In trying to fix this by renaming the objects I ended up using diffirent include files from the one I had built the library with.
Scott McMichael

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