Re: [Ekiga-devel-list] Crash with brand-new ptlib+opal+ekiga



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 500 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




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]