Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
Объявления
FPGA community forums and blogs have moved to the Altera Community. Existing Intel Community members can sign in with their current credentials.
6815 Обсуждение

conflicting definitions between mp4.h and ippvideoencodermpeg4.hpp

rhy
Начинающий
560Просмотр.

Hi, I am building an application which consists of an mpeg4 encoder and an mpeg4 decoder.
The encoder class and the decoder class themselves compile ok.

BUT at one point in the code, I have to include umc_mpeg4_video_decoder.h and umc_mpeg4_video_encoder.h in the header file of my encoder+decoder class.
After that, compiling the application fails due to a lot of redefinitions:

(ippvideoencodermpeg4.hpp gets included by the encoder and mp4.h gets included by the decoder)

...ippmediacodecmpeg4_decincludemp4.h(233) : error C2365: 'MP4_VISUAL_OBJECT_TYPE_VIDEO' : redefinition; previous definition was a 'enumerator'
...ippmediacodecmpeg4_encincludeippvideoencodermpeg4.hpp(60) : see declaration of 'MP4_VISUAL_OBJECT_TYPE_VIDEO'

Some of those problems can easily be eliminated by commenting out the secondary definitions, because they are exactly the same.
But the following definitions are in fact different, and I can't just get rid of the dupes.

...ippmediacodecmpeg4_decincludemp4.h(495) : error C2371: 'mp4_VideoObjectPlane' : redefinition; different basic types
...ippmediacodecmpeg4_encincludeippvideoencodermpeg4.hpp(174) : see declaration of 'mp4_VideoObjectPlane'

Btw.: Building under WinXp, IA32, Microsoft Visual C++ .NET 2003

What can I do to compile an encoder and a decoder in the same application ?

Thanks for any suggestions...

0 баллов
2 Ответы
rhy
Начинающий
560Просмотр.
There seems to be no other solution than:
Commenting out all secondary definitions that are exactly the same in both files, and renaming all other colliding definitions in the decoder (mp4.h and all files that include mp4.h).
Vladimir_Dudnik
Сотрудник
560Просмотр.

Hi,

you are right, we have such restriction in MPEG4 part of media sample. We will fix that in the next release. As a workaround you can use C++ namespace to distiguish similar definitions, instead of commenting them out.

Regards,
Vladimir

Ответить