After some different configuration, here are steps to compile ekiga with
HEAD version of ffmpef, x264, opal and ptlib :
1/ ffmpeg : unable to compile unless
* removing all references to IFF codecs and format in
libavcodec/avcodec.h libavcodec/allcodecs.c libavcodec/Makefile
libavformat/Makefile libavformat/allformats.c. Patches below.
* modifying Genaral Makefile in confffmpeg :
confffmpeg:=--cross-prefix=i586-mingw32msvc- --enable-shared
--enable-memalign-hack \
--enable-cross-compile --enable-w32threads --arch=i686
--target-os=mingw32 \
--disable-ffserver --disable-ffmpeg --disable-ffplay \
--disable-parsers --enable-parser=h264
--enable-parser=mpeg4video --enable-parser=h263 \
--disable-decoders --enable-decoder=h264
--enable-decoder=mpeg4 --enable-decoder=h263 \
--disable-muxers --enable-muxer=h264 --enable-muxer=mpeg4
--enable-muxer=h263 \
--disable-encoders --enable-encoder=mpeg4
--enable-encoder=h263 \
--disable-protocols --disable-bsfs --disable-ffplay
--prefix=$(BUILDROOT) \
--disable-decoder=iff_byterun1 --disable-decoder=iff_ilbm \
--disable-sse --disable-amd3dnow \
--libdir=$(LIBDIR) --extra-ldflags=-Wl,-static
2/X264 : I modified opal/plugins/video/H.264/shared/h264frame.cxx to
compile (http://bugzilla-attachments.gnome.org/attachment.cgi?id=147381) .
diff --git a/plugins/video/H.264/shared/h264frame.cxx
b/plugins/video/H.264/shared/h264frame.cxx
--- a/plugins/video/H.264/shared/h264frame.cxx
+++ b/plugins/video/H.264/shared/h264frame.cxx
@@ -86,7 +86,6 @@ H264Frame::~H264Frame ()
#ifndef LICENCE_MPL
void H264Frame::SetFromFrame (x264_nal_t *NALs, int numberOfNALs) {
- int vopBufferLen;
int currentNAL = 0;
uint8_t* currentPositionInFrame=(uint8_t*) _encodedFrame;
@@ -99,8 +98,9 @@ void H264Frame::SetFromFrame (x264_nal_t
// read the nals out of the encoder and create meta data about their
location and size in the frame
for (currentNAL = 0; currentNAL< numberOfNALs; currentNAL++) {
- int currentNALLen;
- currentNALLen = X264_NAL_ENCODE(currentPositionInFrame,&vopBufferLen,
1,&NALs[currentNAL]);
+ int currentNALLen = NALs[currentNAL].i_payload;
+ memcpy(currentPositionInFrame, NALs[currentNAL].p_payload,
NALs[currentNAL].i_payload);
+
if (currentNALLen> 0)
{
_NALs[_numberOfNALsInFrame].length = currentNALLen;
3/ Setup program is available (as usual) at
http://www.pateam.org/archive/tmp/ekiga-win32/trunk/ekiga-setup-3.3.1-git-507_gf6df02f_H264.exe
4/ I tested it using 5...@ekiga.net. It seems working. Latency is
noticeable like CPU load.
---------------------------------
diff -urN ffmpeg/libavcodec/avcodec.h src/ffmpeg/libavcodec/avcodec.h
--- ffmpeg/libavcodec/avcodec.h 2010-02-16 09:11:38.000000000 +0100
+++ src/ffmpeg/libavcodec/avcodec.h 2010-02-16 09:05:12.000000000 +0100
@@ -204,8 +204,8 @@
CODEC_ID_R210,
CODEC_ID_ANM,
CODEC_ID_BINKVIDEO,
- CODEC_ID_IFF_ILBM,
- CODEC_ID_IFF_BYTERUN1,
+// CODEC_ID_IFF_ILBM,
+// CODEC_ID_IFF_BYTERUN1,
/* various PCM "codecs" */
CODEC_ID_PCM_S16LE= 0x10000,
------------------------------------
diff -urN ffmpeg/libavcodec/allcodecs.c src/ffmpeg/libavcodec/allcodecs.c
--- ffmpeg/libavcodec/allcodecs.c 2010-02-16 09:11:38.000000000 +0100
+++ src/ffmpeg/libavcodec/allcodecs.c 2010-02-16 09:05:29.000000000 +0100
@@ -114,8 +114,8 @@
REGISTER_DECODER (H264_VDPAU, h264_vdpau);
REGISTER_ENCDEC (HUFFYUV, huffyuv);
REGISTER_DECODER (IDCIN, idcin);
- REGISTER_DECODER (IFF_BYTERUN1, iff_byterun1);
- REGISTER_DECODER (IFF_ILBM, iff_ilbm);
+// REGISTER_DECODER (IFF_BYTERUN1, iff_byterun1);
+// REGISTER_DECODER (IFF_ILBM, iff_ilbm);
REGISTER_DECODER (INDEO2, indeo2);
REGISTER_DECODER (INDEO3, indeo3);
REGISTER_DECODER (INDEO5, indeo5);
------------------------------------------
diff -urN ffmpeg/libavcodec/Makefile src/ffmpeg/libavcodec/Makefile
--- ffmpeg/libavcodec/Makefile 2010-02-16 09:11:38.000000000 +0100
+++ src/ffmpeg/libavcodec/Makefile 2010-02-16 09:05:49.000000000 +0100
@@ -144,8 +144,8 @@
OBJS-$(CONFIG_HUFFYUV_DECODER) += huffyuv.o
OBJS-$(CONFIG_HUFFYUV_ENCODER) += huffyuv.o
OBJS-$(CONFIG_IDCIN_DECODER) += idcinvideo.o
-OBJS-$(CONFIG_IFF_BYTERUN1_DECODER) += iff.o
-OBJS-$(CONFIG_IFF_ILBM_DECODER) += iff.o
+#OBJS-$(CONFIG_IFF_BYTERUN1_DECODER) += iff.o
+#OBJS-$(CONFIG_IFF_ILBM_DECODER) += iff.o
OBJS-$(CONFIG_IMC_DECODER) += imc.o
OBJS-$(CONFIG_INDEO2_DECODER) += indeo2.o
OBJS-$(CONFIG_INDEO3_DECODER) += indeo3.o
---------------------------------------------
diff -urN ffmpeg/libavformat/Makefile src/ffmpeg/libavformat/Makefile
--- ffmpeg/libavformat/Makefile 2010-02-16 09:18:57.000000000 +0100
+++ src/ffmpeg/libavformat/Makefile 2010-02-16 09:38:00.000000000 +0100
@@ -87,7 +87,7 @@
OBJS-$(CONFIG_H264_DEMUXER) += raw.o
OBJS-$(CONFIG_H264_MUXER) += raw.o
OBJS-$(CONFIG_IDCIN_DEMUXER) += idcin.o
+#OBJS-$(CONFIG_IFF_DEMUXER) += iff.o
-OBJS-$(CONFIG_IFF_DEMUXER) += iff.o
OBJS-$(CONFIG_IMAGE2_DEMUXER) += img2.o
OBJS-$(CONFIG_IMAGE2_MUXER) += img2.o
OBJS-$(CONFIG_IMAGE2PIPE_DEMUXER) += img2.o
--------------------------------------
diff -urN ffmpeg/libavformat/allformats.c
src/ffmpeg/libavformat/allformats.c
--- ffmpeg/libavformat/allformats.c 2010-02-16 09:20:06.000000000 +0100
+++ src/ffmpeg/libavformat/allformats.c 2010-02-16 09:39:47.000000000 +0100
@@ -96,7 +96,7 @@
REGISTER_MUXDEMUX (H263, h263);
REGISTER_MUXDEMUX (H264, h264);
REGISTER_DEMUXER (IDCIN, idcin);
+// REGISTER_DEMUXER (IFF, iff);
- REGISTER_DEMUXER (IFF, iff);
REGISTER_MUXDEMUX (IMAGE2, image2);
REGISTER_MUXDEMUX (IMAGE2PIPE, image2pipe);
REGISTER_DEMUXER (INGENIENT, ingenient);
--------------------------------------------------
On 02/15/2010 03:59 PM, Eugen Dedu wrote:
The launch is ekiga launching or H264 call launching?
Could you test with the stable version? Maybe the unstable one is
really unstable :o) on windows.
Thierry Simonnet wrote:
Crashes when launch. Working on confffmpeg to have a proper configuration.
On 02/15/2010 02:47 PM, Thierry Simonnet wrote:
Setup available at
http://www.pateam.org/archive/tmp/ekiga-win32/trunk/ekiga-setup-3.3.1-git-506_g129b279_H264.exe
On 02/15/2010 02:45 PM, Thierry Simonnet wrote:
To enable GIT_X264_REV to HEAD, it is necessary to use HEAD version
for FFMPEG.
Changes :
Makefile :
#GIT_X264_REV := reset --hard d2e1e1c35c43ea9c90c9211be
GIT_X264_REV := reset --hard HEAD
#GIT_FFMPEG_REV := reset --hard d962d69f2ef1bcd3b4
#GIT_FFMPEG_REV2 := reset --hard 8c5952c02bfad4bfa6
GIT_FFMPEG_REV := reset --hard HEAD
GIT_FFMPEG_REV2 := reset --hard HEAD
#confx264:= --disable-avis-input --prefix=$(BUILDROOT)
--host=$(DEB_HOST_GNU_TYPE)
confx264:= --disable-avs-input --prefix=$(BUILDROOT)
--host=$(DEB_HOST_GNU_TYPE)
confffmpeg:=--cross-prefix=i586-mingw32msvc- --enable-shared
--enable-memalign-hack \
--disable-debug --enable-gpl --enable-postproc
--enable-avfilter \
--enable-avfilter-lavf --enable-swscale --enable-sse \
--enable-cross-compile --enable-w32threads --arch=i686
--target-os=mingw32 \
# --disable-ffserver --disable-ffmpeg --disable-ffplay \
--disable-parsers --enable-parser=h264
--enable-parser=mpeg4video --enable-parser=h263 \
--disable-decoders --enable-decoder=h264
--enable-decoder=mpeg4 --enable-decoder=h263 \
--disable-muxers --enable-muxer=h264 --enable-muxer=mpeg4
--enable-muxer=h263 \
--disable-encoders --enable-encoder=mpeg4
--enable-encoder=h263 \
--disable-protocols --disable-bsfs --disable-ffplay
--prefix=$(BUILDROOT) \
--libdir=$(LIBDIR) --extra-ldflags=-Wl,-static
It is now necessary to add more option on confffmpeg to have all
functions.
It is necessary to copy x264/x264.h to include/
I modified opal/plugins/video/H.264/shared/h264frame.cxx to compile
(http://bugzilla-attachments.gnome.org/attachment.cgi?id=147381) .
--
Thierry Simonnet
ESIEE-Paris
Par respect pour l’environnement, n’imprimez ce mail que si nécessaire
_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list