Hallo,
hat schonmal jemand versucht und geschafft den JM H264 Referenzencoder und -decoder zu kompilieren?
http://iphome.hhi.de/suehring/tml/download/
Laut Dokumentation muss, wenn der GCC verwendet wird zuerst "./unixprep.sh" und dann einfach "make" ausgeführt werden, allerdings bekomme ich da immer folgende error:
Zero@ECKE /c/dev/sources/jm/ldecod
$ cd /c/dev/sources/jm/
Zero@ECKE /c/dev/sources/jm
$ ls
CHANGES.TXT bin jm_vc8.sln lencod_vc7.vcproj
Changes_detail.txt copyright.txt ldecod lencod_vc8.vcproj
FREXT_changes.txt disclaimer.txt ldecod_vc7.vcproj rtp_loss
Makefile doc ldecod_vc8.vcproj rtpdump
Readme.txt jm_vc7.sln lencod unixprep.sh
Zero@ECKE /c/dev/sources/jm
$ ./unixprep.sh
/bin/sed
Removing DOS LF chars...
Done.
Zero@ECKE /c/dev/sources/jm
$ cd /c/dev/sources/jm/ldecod
Zero@ECKE /c/dev/sources/jm/ldecod
$ make
Creating obj ...
checking dependencies
compiling object file "obj/annexb.o" ...
In file included from inc/global.h:38,
from src/annexb.c:15:
inc/ifunctions.h:26: error: expected '=', ',', ';', 'asm' or '__attribute__' bef ore 'int'
inc/ifunctions.h:31: error: expected '=', ',', ';', 'asm' or '__attribute__' bef ore 'int'
inc/ifunctions.h:36: error: expected '=', ',', ';', 'asm' or '__attribute__' bef ore 'double'
inc/ifunctions.h:41: error: expected '=', ',', ';', 'asm' or '__attribute__' bef ore 'double'
inc/ifunctions.h:46: error: expected '=', ',', ';', 'asm' or '__attribute__' bef ore 'int64'
inc/ifunctions.h:51: error: expected '=', ',', ';', 'asm' or '__attribute__' bef ore 'int64'
inc/ifunctions.h:56: error: expected '=', ',', ';', 'asm' or '__attribute__' bef ore 'int'
inc/ifunctions.h:61: error: expected '=', ',', ';', 'asm' or '__attribute__' bef ore 'int'
inc/ifunctions.h:66: error: expected '=', ',', ';', 'asm' or '__attribute__' bef ore 'double'
inc/ifunctions.h:71: error: expected '=', ',', ';', 'asm' or '__attribute__' bef ore 'int64'
inc/ifunctions.h:76: error: expected '=', ',', ';', 'asm' or '__attribute__' bef ore 'double'
inc/ifunctions.h:81: error: expected '=', ',', ';', 'asm' or '__attribute__' bef ore 'int'
inc/ifunctions.h:86: error: expected '=', ',', ';', 'asm' or '__attribute__' bef ore 'int64'
inc/ifunctions.h:91: error: expected '=', ',', ';', 'asm' or '__attribute__' bef ore 'int'
inc/ifunctions.h:96: error: expected '=', ',', ';', 'asm' or '__attribute__' bef ore 'int'
inc/ifunctions.h:101: error: expected '=', ',', ';', 'asm' or '__attribute__' be fore 'int'
inc/ifunctions.h:106: error: expected '=', ',', ';', 'asm' or '__attribute__' be fore 'int'
inc/ifunctions.h:111: error: expected '=', ',', ';', 'asm' or '__attribute__' be fore 'unsigned'
inc/ifunctions.h:116: error: expected '=', ',', ';', 'asm' or '__attribute__' be fore 'int'
inc/ifunctions.h:121: error: expected '=', ',', ';', 'asm' or '__attribute__' be fore 'unsigned'
inc/ifunctions.h:126: error: expected '=', ',', ';', 'asm' or '__attribute__' be fore 'int'
inc/ifunctions.h:134: error: expected '=', ',', ';', 'asm' or '__attribute__' be fore 'int'
inc/ifunctions.h:142: error: expected '=', ',', ';', 'asm' or '__attribute__' be fore 'double'
inc/ifunctions.h:150: error: expected '=', ',', ';', 'asm' or '__attribute__' be fore 'int'
inc/ifunctions.h:155: error: expected '=', ',', ';', 'asm' or '__attribute__' be fore 'int'
inc/ifunctions.h:160: error: expected '=', ',', ';', 'asm' or '__attribute__' be fore 'int'
inc/ifunctions.h:165: error: expected '=', ',', ';', 'asm' or '__attribute__' be fore 'int'
inc/ifunctions.h:176: error: expected '=', ',', ';', 'asm' or '__attribute__' be fore 'float'
src/annexb.c:35: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'int'
src/annexb.c:56: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'byte'
src/annexb.c:84: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'int'
src/annexb.c: In function 'GetAnnexbNALU':
src/annexb.c:152: warning: implicit declaration of function 'getfbyte'
src/annexb.c:230: warning: implicit declaration of function 'FindStartCode'
src/annexb.c: In function 'OpenAnnexBFile':
src/annexb.c:310: warning: implicit declaration of function 'getChunk'
make: *** [obj/annexb.o] Error 1
Alles anzeigen
Sieht ein bißchen so aus als fehlt irgendein Assembler-Compiler(?).
Mir geht es um die Trace-Funktion des Decoders, die würde ich gerne mal testen. Wenn man in der Datei "defines.h" im Ordner ..\JM\ldecod\inc die Funktion aktiviert (einfach den Wert von 0 auf 1 setzen), wird dieses Feature mit kompiliert. Zumindest theoretisch, wenn es denn überhaupt kompiliert :hm:.
Könnte das mal jemand testen? (Lord_Mulder? Du hast doch auch ein GCC-Setup. :zunge:).
greets
LTJ