[h323plus] Adding H263 codec to openmcu

Marcos Fábio Jardini marcos.f.jardini at gmail.com
Tue Jan 12 14:06:17 EST 2010


mix asm (with _asm keyword) is not more valid for 64 bit-mode
compilers (ref. AMD X86_84 ABI). So old ffmpeg can only be compiled in
32bit mode.

2010/1/12 Jan Willamowius <jan at willamowius.de>:
> I compiled on a 64bit system. I would guess ffmpeg uses different
> assembler code on your 32bit system. I don't really want to
> get into supporting such an old ffmpeg version. I'm glad it works here
> and hope that Somon soon has the new version ready for a current ffmpeg.
>
> Jan
>
> Michael Bondi wrote:
>> Hi Jan,
>>
>> I tried the ffmpeg 0.4.7 patched version you sent but the following happens:
>>
>> voyage:~/ffmpeg# make
>> make -C libavcodec all
>> make[1]: Entering directory `/root/ffmpeg/libavcodec'
>> gcc -O3 -Wall -fPIC -g -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64
>> -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o msmpeg4.o msmpeg4.c
>> msmpeg4.c: In function 'msmpeg4_pred_dc':
>> msmpeg4.c:845: warning: pointer targets in assignment differ in signedness
>> msmpeg4.c: At top level:
>> msmpeg4.c:660: warning: 'ff_old_msmpeg4_dc_scale' defined but not used
>> wmv2.c:103: warning: 'wmv2_encode_end' defined but not used
>> wmv2.c:481: warning: 'ff_wmv2_decode_init' defined but not used
>> msmpeg4.c: In function 'msmpeg4_decode_dc':
>> msmpeg4.c:734: error: can't find a register in class 'BREG' while
>> reloading 'asm'
>> common.h:281: error: 'asm' operand has impossible constraints
>> common.h:281: error: 'asm' operand has impossible constraints
>> common.h:281: error: 'asm' operand has impossible constraints
>> common.h:281: error: 'asm' operand has impossible constraints
>> common.h:281: error: 'asm' operand has impossible constraints
>> common.h:281: error: 'asm' operand has impossible constraints
>> common.h:281: error: 'asm' operand has impossible constraints
>> common.h:281: error: 'asm' operand has impossible constraints
>> bswap.h:26: error: 'asm' operand has impossible constraints
>> common.h:281: error: 'asm' operand has impossible constraints
>> msmpeg4.c:734: error: 'asm' operand has impossible constraints
>> msmpeg4.c:698: error: 'asm' operand has impossible constraints
>> msmpeg4.c:698: error: 'asm' operand has impossible constraints
>> make[1]: *** [msmpeg4.o] Error 1
>> make[1]: Leaving directory `/root/ffmpeg/libavcodec'
>> make: *** [lib] Error 2
>>
>>
>> voyage 0.6.2
>> apt-get install flex bison build-essential subversion cvs pkg-config
>>
>> Mike
>>
>>
>>
>> Jan Willamowius wrote:
>> > Hi Michael,
>> >
>> > here's my patched ffmpeg source. Its really just a quick fix until the
>> > updated codec is ready.
>> >
>> > Regards,
>> > Jan
>> >
>> > Michael Bondi wrote:
>> >
>> >> Hi Jan,
>> >>
>> >> Any idea of when the new ffmpeg 0.5 will be able to be compiled with
>> >> h323 support?
>> >>
>> >> Are you able to supply me with your patched ffmpeg 0.4.7 so I can
>> >> continue with my current compilation with gcc 4.3, albeit an inelegant
>> >> solution?
>> >>
>> >> I'd like to learn how the openmcu works with your fantastic gnugk before
>> >> the day is over.
>> >>
>> >> Mike
>> >>
>> >> Jan Willamowius wrote:
>> >>
>> >>> Yes, the old ffmpeg code doesn't compile with gcc 4.x.
>> >>>
>> >>> Jan
>> >>>
>> >>> Michael Bondi wrote:
>> >>>
>> >>>
>> >>>> Hi Jan,
>> >>>>
>> >>>> It appears that I have ver 4.3 of gcc.
>> >>>>
>> >>>> Could that be the reason for the ffmpeg 0.4.7 make failure?
>> >>>>
>> >>>> Thanks
>> >>>>
>> >>>> Mike
>> >>>>
>> >>>>
>> >>>> Jan Willamowius wrote:
>> >>>>
>> >>>>
>> >>>>> I have a patched version of ffmpeg-0.4.7, that compiles with gcc 4.4.x,
>> >>>>> but there is work going on to let the H.323-ffmpeg plugin compile with
>> >>>>> current versions of ffmpeg, which is a much better solution.
>> >>>>>
>> >>>>> Regards,
>> >>>>> Jan
>> >>>>>
>> >>>>> Michael Bondi wrote:
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>>> Thanks Prasad,
>> >>>>>>
>> >>>>>> I try install ffmpeg 0.4.7 from
>> >>>>>> http://www.voxgratia.org/bin/ffmpeg-0.4.7.tar.gz but I get the following:
>> >>>>>>
>> >>>>>> voyage:~/ffmpeg-0.4.7# make
>> >>>>>> make -C libavcodec all
>> >>>>>> make[1]: Entering directory `/root/ffmpeg-0.4.7/libavcodec'
>> >>>>>> gcc -O3 -Wall -g -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64
>> >>>>>> -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o common.o common.c
>> >>>>>> In file included from avcodec.h:14,
>> >>>>>>                  from common.c:27:
>> >>>>>> common.h:65: error: array type has incomplete element type
>> >>>>>> common.h:69: error: array type has incomplete element type
>> >>>>>> make[1]: *** [common.o] Error 1
>> >>>>>> make[1]: Leaving directory `/root/ffmpeg-0.4.7/libavcodec'
>> >>>>>> make: *** [lib] Error 2
>> >>>>>>
>> >>>>>> But I proceed and continue  to configure and make and make install the
>> >>>>>> a/v pugins in the ~/h323plus/plugins directory.
>> >>>>>>
>> >>>>>> I create a directory ~/codecs and copy both
>> >>>>>> h263-ffmpeg_video_pwplugin.so and libavcodec.so (from the
>> >>>>>> libavcodec-0.4.7-linux.bin.tar.gz file) into there. I rename
>> >>>>>> libavcodec.so to avcodec
>> >>>>>>
>> >>>>>> I set export P_T_LIBPLUGINDIR=~/codecs           (does this have to be
>> >>>>>> P_W_LIBPLUGINDIR ?????)
>> >>>>>>
>> >>>>>> I run openmcu and connect with Polycom PVX, and I see the video
>> >>>>>> window!!  But the video has strange lines with pink and blue colours,
>> >>>>>> but it is the video from the webcam!
>> >>>>>>
>> >>>>>> I assume it may be because I do not have the ffmpeg 0.4.7 installed
>> >>>>>> correctly?
>> >>>>>>
>> >>>>>> I will have a look at installing ffmpeg 0.4.7 direct from ffmpeg site.
>> >>>>>>
>> >>>>>> So I am closer....
>> >>>>>>
>> >>>>>> Thanks again for the help.
>> >>>>>>
>> >>>>>> Mike
>> >>>>>>
>> >>>>>>
>> >>>>>> Prasad Mohire wrote:
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>>> HI Michael,
>> >>>>>>>
>> >>>>>>> I guess you have compiled PTLIB and H323plus and OpenMCU correctly.
>> >>>>>>> H323plus doesn't need ffmpeg. ffmpeg is needed by h323plus avplugin.
>> >>>>>>> You were able to hear audio because h323plus comes with G711 codecs.
>> >>>>>>> You will need to build H263 plugin separately.
>> >>>>>>>
>> >>>>>>> h263 plugin needs ffmpeg version 0.47. To install it:
>> >>>>>>>  run ./configure --enable-shared, then make and make install in ffmpeg
>> >>>>>>> directory.
>> >>>>>>>
>> >>>>>>> Once that is done, download the plugins directory from h323plus.com
>> >>>>>>> <http://h323plus.com>.
>> >>>>>>> untar the direcory under h323plus directory so that you will have
>> >>>>>>> plugins directory under h323plus.
>> >>>>>>> Goto plugins directory.
>> >>>>>>> run ./configure
>> >>>>>>> You should see h263 : yes in output of configure script. This means it
>> >>>>>>> will build H.263 plugin. If it is 'no' there is something wrong with
>> >>>>>>> prerequisites i.e. ffmpeg. make sure that libavcodec.h file is in
>> >>>>>>> include path.
>> >>>>>>>
>> >>>>>>> once you see H.263: yes as output, run make and make install in
>> >>>>>>> plugins directory.
>> >>>>>>> create a directory to store the plugins. Set environment variable
>> >>>>>>> PWLIBPLUGINDIR pointing to that directory. Copy
>> >>>>>>> h323plus/plugins/video/h.263/h263-ffmpeg_video_pwplugin.so file to
>> >>>>>>> $PWLIBPLUGINDIR. Copy libavcoded.so to $PWLIBPLUGINDIR  and rename it
>> >>>>>>> to avcodec.
>> >>>>>>>
>> >>>>>>> Now start openmcu, it should load with H.263 capability.
>> >>>>>>>
>> >>>>>>> File "C:\\traces.txt" will be created in directory from which you will
>> >>>>>>> start openmcu. You can see what all capabilities are added while
>> >>>>>>> openmcu is started in that file.
>> >>>>>>>
>> >>>>>>>
>> >>>>>>> Thanks and Regards,
>> >>>>>>> Prasad.
>> >>>>>>>
>> >>>>>>>
>> >>>>>>> On Fri, Jan 8, 2010 at 3:32 PM, Michael Bondi
>> >>>>>>> <mike at bridgeconference.co.za <mailto:mike at bridgeconference.co.za>> wrote:
>> >>>>>>>
>> >>>>>>>     Hi all and Happy 2010!
>> >>>>>>>
>> >>>>>>>     This may have been asked before, but I cannot help myself but to
>> >>>>>>>     ask again.
>> >>>>>>>
>> >>>>>>>     I have compiled ptlib 2.4.5 and h323plus 1.21 and openmcu 2.2.5 on
>> >>>>>>>     a Debian 5 machine.
>> >>>>>>>
>> >>>>>>>     I am able to connect and hear the tones and message for connecting
>> >>>>>>>     but am unable to get video on the screen.
>> >>>>>>>
>> >>>>>>>     I have tried compiling h323plus with only the 0.4.7 ffmpeg
>> >>>>>>>     libavcodec.so placed in a directory /root/codec and compiled with
>> >>>>>>>     ./configure --enable-rfc2190avcodec=/root/ffmpeg switch, all
>> >>>>>>>     compiles fine, but still no h.263 video. Is there any more I need
>> >>>>>>>     to do here?
>> >>>>>>>
>> >>>>>>>     Also, I am getting confused where to unpack and install the a/v
>> >>>>>>>     plugins from file
>> >>>>>>>     http://www.h323plus.org/source/download/plugins-v1_21_0.tar.gz
>> >>>>>>>
>> >>>>>>>     Thanks
>> >>>>>>>
>> >>>>>>>     Mike
>> >>>>>>>
>> >>>>>>>
>> >>>>>>>
>> >>>>>>>
>> >>>>>>>
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>
>> >>>
>> >
>> >
>> >
>
>
> --
> Jan Willamowius, jan at willamowius.de, http://www.gnugk.org/
>



-- 
-----
Jogue RPG, alimente o lado criativo!



More information about the h323plus mailing list