├── plugins ├── video │ ├── H.261-vic │ │ └── vic │ │ │ ├── grabber.h │ │ │ ├── vid_coder.cxx │ │ │ ├── vid_coder.h │ │ │ ├── p64encoder.cxx │ │ │ ├── config.h │ │ │ └── videoframe.h │ ├── H.263-ffmpeg │ │ └── ReadMe.txt │ ├── H.263-1998 │ │ ├── h263_2008.sln │ │ ├── ffmpeg_error_patch.txt │ │ ├── rfc2190.h │ │ └── ReadMe.txt │ └── H.264 │ │ ├── h264-x264_2008.sln │ │ ├── ReadMe_VS.txt │ │ ├── gpl │ │ ├── x264loader_unix.h │ │ └── x264loader_win32.h │ │ └── h264pipe_win32.h ├── audio │ ├── SBC │ │ ├── AUTHORS │ │ ├── sbccodec.h │ │ └── COPYING │ ├── G.722.1 │ │ ├── G722-1 │ │ │ ├── defs.h │ │ │ ├── common.c │ │ │ ├── dct4_a.c │ │ │ ├── dct4_a.h │ │ │ ├── dct4_s.c │ │ │ ├── dct4_s.h │ │ │ ├── decode.c │ │ │ ├── decoder.c │ │ │ ├── encode.c │ │ │ ├── encoder.c │ │ │ ├── tables.c │ │ │ ├── tables.h │ │ │ ├── coef2sam.c │ │ │ ├── huff_def.h │ │ │ ├── huff_tab.c │ │ │ ├── huff_tab.h │ │ │ ├── sam2coef.c │ │ │ └── typedef.h │ │ └── Makefile.in │ ├── gsm-amr │ │ ├── src │ │ │ ├── sp_dec.c │ │ │ ├── sp_enc.c │ │ │ ├── amrcodec.txt │ │ │ ├── typedef.h │ │ │ ├── interf_dec.h │ │ │ ├── interf_enc.h │ │ │ ├── sp_enc.h │ │ │ └── sp_dec.h │ │ └── Makefile.in │ ├── SILK │ │ └── silkSrc │ │ │ ├── SKP_Silk_FIX_Win32_mt.lib │ │ │ ├── SKP_Silk_FIX_Win32_debug.lib │ │ │ ├── SKP_Silk_LBRR_reset.c │ │ │ └── SKP_Silk_tables_type_offset.c │ ├── GSM0610 │ │ ├── PART_OF_TOAST │ │ ├── inc │ │ │ ├── unproto.h │ │ │ ├── config.h │ │ │ ├── proto.h │ │ │ └── gsm.h │ │ ├── src │ │ │ ├── gsm_destroy.c │ │ │ ├── gsm_create.c │ │ │ ├── gsm_option.c │ │ │ ├── decode.c │ │ │ └── table.c │ │ ├── COPYRIGHT │ │ └── README │ ├── Speex │ │ ├── PART_OF_SPEEX │ │ ├── libspeex │ │ │ ├── speex_config_types.h.in │ │ │ ├── kiss_fftr.h │ │ │ ├── testdenoise.c │ │ │ ├── testecho.c │ │ │ ├── smallft.h │ │ │ ├── Makefile.am │ │ │ ├── math_approx.h │ │ │ ├── medfilter.h │ │ │ ├── gain_table_lbr.c │ │ │ ├── pcm_wrapper.h │ │ │ ├── lpc.h │ │ │ ├── speex_noglobals.h │ │ │ ├── exc_10_16_table.c │ │ │ ├── misc_bfin.h │ │ │ └── speex_echo.h │ │ ├── AUTHORS │ │ ├── README │ │ └── COPYING │ ├── iLBC │ │ └── iLBC │ │ │ ├── extract-cfile.awk │ │ │ ├── hpOutput.h │ │ │ ├── hpInput.h │ │ │ ├── anaFilter.h │ │ │ ├── lsf.h │ │ │ ├── syntFilter.h │ │ │ ├── FrameClassify.h │ │ │ ├── getCBvec.h │ │ │ ├── StateConstructW.h │ │ │ ├── enhancer.h │ │ │ ├── LPCencode.h │ │ │ ├── doCPLC.h │ │ │ ├── gainquant.h │ │ │ ├── iCBConstruct.h │ │ │ ├── iLBC_encode.h │ │ │ ├── iCBSearch.h │ │ │ ├── iLBC_decode.h │ │ │ ├── LPCdecode.h │ │ │ ├── hpInput.c │ │ │ ├── hpOutput.c │ │ │ ├── StateSearchW.h │ │ │ ├── constants.h │ │ │ ├── anaFilter.c │ │ │ ├── createCB.h │ │ │ └── syntFilter.c │ ├── G.722.2 │ │ ├── AMR-WB │ │ │ ├── typedef.h │ │ │ ├── dec.h │ │ │ ├── enc.h │ │ │ ├── enc_if.h │ │ │ ├── dec_acelp.h │ │ │ ├── dec_if.h │ │ │ ├── dec_lpc.h │ │ │ ├── enc_acelp.h │ │ │ ├── dec_gain.h │ │ │ ├── dec_util.h │ │ │ ├── enc_lpc.h │ │ │ ├── enc_gain.h │ │ │ ├── if_rom.h │ │ │ └── enc_util.h │ │ └── Makefile.in │ ├── EasyCodec │ │ ├── ReadMe.txt │ │ └── EasyCodecs.dsw │ ├── celt │ │ └── Makefile.in │ ├── G726 │ │ └── g726 │ │ │ └── private.h │ ├── LPC_10 │ │ └── src │ │ │ ├── Makefile │ │ │ ├── makefile.unx │ │ │ └── f2clib.c │ └── VoiceAgeG729 │ │ └── README.txt └── Makefile.in ├── TODO.txt ├── src ├── libver.rc ├── asn │ ├── h245.asn │ ├── h4502.asn │ ├── h350_service.asn │ ├── h46026.asn │ ├── OID2.asn │ ├── h46018.asn │ ├── h460tm.asn │ ├── h46024b.asn │ ├── h46019.asn │ ├── h4506.asn │ ├── h45010.asn │ ├── h46015.asn │ ├── h4508.asn │ ├── h4604v2.asn │ ├── h4504.asn │ └── t38.asn ├── h235auth1.cxx ├── h230 │ └── OID2.asn ├── precompile.cxx ├── h350 │ ├── commURI.schema │ ├── h235Identity.schema │ └── commObject.schema ├── dllmain.cxx └── opalglobalstatics.cxx ├── h323plus_logo.png ├── include ├── h235auth.h ├── h350 │ └── h350_service.h ├── h323.h ├── h460 │ ├── h46019.h │ ├── h460tm.h │ ├── h46018.h │ └── h46026.h ├── x224.h └── rtp2wav.h ├── SECURITY.md ├── h323plus_2022.vcxproj.user ├── samples └── simple │ ├── simple_2022.vcxproj.user │ ├── Makefile │ ├── simple_2015.vcxproj.filters │ └── simple.cbp ├── cppcheck.cfg ├── .gitignore ├── sonar-project.properties ├── .lgtm.yml ├── Readme.md ├── OpenH323.mak ├── version.h └── .github └── workflows └── codeql-analysis.yml /plugins/video/H.261-vic/vic/grabber.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /TODO.txt: -------------------------------------------------------------------------------- 1 | - add H.235 support for H.239 channels 2 | 3 | -------------------------------------------------------------------------------- /src/libver.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/src/libver.rc -------------------------------------------------------------------------------- /src/asn/h245.asn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/src/asn/h245.asn -------------------------------------------------------------------------------- /h323plus_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/h323plus_logo.png -------------------------------------------------------------------------------- /include/h235auth.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/include/h235auth.h -------------------------------------------------------------------------------- /src/asn/h4502.asn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/src/asn/h4502.asn -------------------------------------------------------------------------------- /src/h235auth1.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/src/h235auth1.cxx -------------------------------------------------------------------------------- /plugins/audio/SBC/AUTHORS: -------------------------------------------------------------------------------- 1 | Christian Hoene 2 | All the code except the following 3 | 4 | -------------------------------------------------------------------------------- /plugins/audio/G.722.1/G722-1/defs.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/plugins/audio/G.722.1/G722-1/defs.h -------------------------------------------------------------------------------- /plugins/audio/gsm-amr/src/sp_dec.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/plugins/audio/gsm-amr/src/sp_dec.c -------------------------------------------------------------------------------- /plugins/audio/gsm-amr/src/sp_enc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/plugins/audio/gsm-amr/src/sp_enc.c -------------------------------------------------------------------------------- /plugins/audio/G.722.1/G722-1/common.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/plugins/audio/G.722.1/G722-1/common.c -------------------------------------------------------------------------------- /plugins/audio/G.722.1/G722-1/dct4_a.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/plugins/audio/G.722.1/G722-1/dct4_a.c -------------------------------------------------------------------------------- /plugins/audio/G.722.1/G722-1/dct4_a.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/plugins/audio/G.722.1/G722-1/dct4_a.h -------------------------------------------------------------------------------- /plugins/audio/G.722.1/G722-1/dct4_s.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/plugins/audio/G.722.1/G722-1/dct4_s.c -------------------------------------------------------------------------------- /plugins/audio/G.722.1/G722-1/dct4_s.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/plugins/audio/G.722.1/G722-1/dct4_s.h -------------------------------------------------------------------------------- /plugins/audio/G.722.1/G722-1/decode.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/plugins/audio/G.722.1/G722-1/decode.c -------------------------------------------------------------------------------- /plugins/audio/G.722.1/G722-1/decoder.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/plugins/audio/G.722.1/G722-1/decoder.c -------------------------------------------------------------------------------- /plugins/audio/G.722.1/G722-1/encode.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/plugins/audio/G.722.1/G722-1/encode.c -------------------------------------------------------------------------------- /plugins/audio/G.722.1/G722-1/encoder.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/plugins/audio/G.722.1/G722-1/encoder.c -------------------------------------------------------------------------------- /plugins/audio/G.722.1/G722-1/tables.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/plugins/audio/G.722.1/G722-1/tables.c -------------------------------------------------------------------------------- /plugins/audio/G.722.1/G722-1/tables.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/plugins/audio/G.722.1/G722-1/tables.h -------------------------------------------------------------------------------- /plugins/audio/G.722.1/G722-1/coef2sam.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/plugins/audio/G.722.1/G722-1/coef2sam.c -------------------------------------------------------------------------------- /plugins/audio/G.722.1/G722-1/huff_def.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/plugins/audio/G.722.1/G722-1/huff_def.h -------------------------------------------------------------------------------- /plugins/audio/G.722.1/G722-1/huff_tab.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/plugins/audio/G.722.1/G722-1/huff_tab.c -------------------------------------------------------------------------------- /plugins/audio/G.722.1/G722-1/huff_tab.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/plugins/audio/G.722.1/G722-1/huff_tab.h -------------------------------------------------------------------------------- /plugins/audio/G.722.1/G722-1/sam2coef.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/plugins/audio/G.722.1/G722-1/sam2coef.c -------------------------------------------------------------------------------- /plugins/video/H.261-vic/vic/vid_coder.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/plugins/video/H.261-vic/vic/vid_coder.cxx -------------------------------------------------------------------------------- /plugins/video/H.261-vic/vic/vid_coder.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/plugins/video/H.261-vic/vic/vid_coder.h -------------------------------------------------------------------------------- /plugins/video/H.261-vic/vic/p64encoder.cxx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/plugins/video/H.261-vic/vic/p64encoder.cxx -------------------------------------------------------------------------------- /plugins/audio/SILK/silkSrc/SKP_Silk_FIX_Win32_mt.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/plugins/audio/SILK/silkSrc/SKP_Silk_FIX_Win32_mt.lib -------------------------------------------------------------------------------- /plugins/audio/SILK/silkSrc/SKP_Silk_FIX_Win32_debug.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willamowius/h323plus/HEAD/plugins/audio/SILK/silkSrc/SKP_Silk_FIX_Win32_debug.lib -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Reporting a Vulnerability 4 | 5 | If you discover a security issue in H323Plus, please report it by sending an email to jan@willamowius.de. 6 | -------------------------------------------------------------------------------- /plugins/audio/GSM0610/PART_OF_TOAST: -------------------------------------------------------------------------------- 1 | 2 | This library is part of the toast software. You can 3 | get the complete package at: 4 | 5 | http://kbs.cs.tu-berlin.de/~jutta/toast.html 6 | 7 | -------------------------------------------------------------------------------- /h323plus_2022.vcxproj.user: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /samples/simple/simple_2022.vcxproj.user: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /plugins/audio/Speex/PART_OF_SPEEX: -------------------------------------------------------------------------------- 1 | The Speex codec is part of the Speex Library by 2 | Jean-Marc Valin 3 | 4 | http://www.speex.org 5 | 6 | The Speex codec was imported from Speex 1.0. 7 | 8 | -------------------------------------------------------------------------------- /cppcheck.cfg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | cstyleCast 5 | 6 | 7 | unknownMacro 8 | 9 | 10 | missingOverride 11 | 12 | 13 | missingIncludeSystem 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/asn/h350_service.asn: -------------------------------------------------------------------------------- 1 | H350-SERVICE-CONTROL {iso(1) organisation(3) dod(6) internet(1) private(4) packetizer(17090) h350(2) service(1) } 2 | DEFINITIONS AUTOMATIC TAGS ::= 3 | BEGIN 4 | 5 | 6 | H350ServiceControl ::= SEQUENCE 7 | { 8 | ldapURL IA5String, 9 | ldapDN IA5String 10 | } 11 | 12 | END -------------------------------------------------------------------------------- /plugins/audio/Speex/libspeex/speex_config_types.h.in: -------------------------------------------------------------------------------- 1 | #ifndef __SPEEX_TYPES_H__ 2 | #define __SPEEX_TYPES_H__ 3 | 4 | /* these are filled in by configure */ 5 | typedef @SIZE16@ spx_int16_t; 6 | typedef unsigned @SIZE16@ spx_uint16_t; 7 | typedef @SIZE32@ spx_int32_t; 8 | typedef unsigned @SIZE32@ spx_uint32_t; 9 | 10 | #endif 11 | 12 | -------------------------------------------------------------------------------- /samples/simple/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile 3 | # 4 | # Make file for simple sample application for the H323Plus library. 5 | # 6 | 7 | PROG = simph323 8 | SOURCES := main.cxx 9 | 10 | ifndef OPENH323DIR 11 | OPENH323DIR=$(CURDIR)/../.. 12 | endif 13 | 14 | STDCCFLAGS += -Wno-unused-variable 15 | 16 | include $(OPENH323DIR)/openh323u.mak 17 | 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | openh323buildopts.h 2 | plugin-config.h 3 | speex_config_types.h 4 | config.log 5 | config.cache 6 | config.status 7 | Makefile 8 | openh323u.mak 9 | h323plus_cfg.dxy 10 | lib 11 | obj_*_*_*_s 12 | obj_*_*_*_d_s 13 | obj_*_*_* 14 | Release 15 | Release_x64 16 | Debug 17 | Debug_x64 18 | autom4te.cache 19 | cov-int 20 | *.proj 21 | *.save 22 | *.layout 23 | .vs 24 | 25 | -------------------------------------------------------------------------------- /src/asn/h46026.asn: -------------------------------------------------------------------------------- 1 | 2 | MEDIA-OVER-H2250 {itu-t(0) recommendation(0) h(8) 460 26} DEFINITIONS AUTOMATIC TAGS ::= 3 | BEGIN 4 | FrameData ::= CHOICE 5 | { 6 | rtp OCTET STRING (SIZE(12..1500)), 7 | rtcp OCTET STRING (SIZE(1..1500)) 8 | } 9 | UDPFrame ::= SEQUENCE 10 | { 11 | sessionId INTEGER (0..255), 12 | dataFrame BOOLEAN, 13 | frame SEQUENCE OF FrameData 14 | } 15 | END 16 | -------------------------------------------------------------------------------- /plugins/audio/gsm-amr/src/amrcodec.txt: -------------------------------------------------------------------------------- 1 | This plugin implements an interface to the AMR-NB codec for OpenH323. 2 | 3 | For licensing reasons, the amr codec itself is not distributed with this 4 | plugin. Instead, you must download it yourself from 5 | http://www.3gpp.org/ftp/Specs/archive/26_series/26.104/26104-610.zip 6 | 7 | Unzip that file, and unzip the file 26104-610_ANSI_C_source_code.zip within 8 | it into this directory. 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /sonar-project.properties: -------------------------------------------------------------------------------- 1 | sonar.projectKey=willamowius_h323plus 2 | sonar.organization=willamowius 3 | 4 | # This is the name and version displayed in the SonarCloud UI. 5 | #sonar.projectName=h323plus 6 | #sonar.projectVersion=1.0 7 | 8 | 9 | # Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows. 10 | #sonar.sources=. 11 | 12 | # Encoding of the source code. Default is default system encoding 13 | #sonar.sourceEncoding=UTF-8 14 | -------------------------------------------------------------------------------- /plugins/audio/GSM0610/inc/unproto.h: -------------------------------------------------------------------------------- 1 | /* 2 | * unproto.h 3 | * 4 | * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische 5 | * Universitaet Berlin. See the accompanying file "COPYRIGHT" for 6 | * details. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. 7 | */ 8 | 9 | 10 | #ifdef PROTO_H /* sic */ 11 | #undef PROTO_H 12 | 13 | #undef P 14 | #undef P0 15 | #undef P1 16 | #undef P2 17 | #undef P3 18 | #undef P4 19 | #undef P5 20 | #undef P6 21 | #undef P7 22 | #undef P8 23 | 24 | #endif /* PROTO_H */ 25 | -------------------------------------------------------------------------------- /src/asn/OID2.asn: -------------------------------------------------------------------------------- 1 | H230-CONFERENCE-CONTROL {iso(1) organisation(3) dod(6) internet(1) private(4) packetizer(17090) h323(0) oid(2) } 2 | DEFINITIONS AUTOMATIC TAGS ::= 3 | BEGIN 4 | 5 | Participant ::= SEQUENCE 6 | { 7 | token INTEGER (0..255), 8 | number BMPString (SIZE (1..256)), 9 | name BMPString (SIZE (1..256)) OPTIONAL, 10 | vCard OCTET STRING OPTIONAL, 11 | ... 12 | } 13 | 14 | ParticipantList ::= SEQUENCE 15 | { 16 | list SEQUENCE (SIZE (0..65535)) OF Participant, 17 | ... 18 | } 19 | 20 | END -------------------------------------------------------------------------------- /src/asn/h46018.asn: -------------------------------------------------------------------------------- 1 | SIGNALLING-TRAVERSAL {itu-t(0) recommendation(0) h(8) 460 18 version(0)1} 2 | DEFINITIONS AUTOMATIC TAGS ::= 3 | 4 | BEGIN 5 | IMPORTS 6 | CallIdentifier, TimeToLive, TransportAddress 7 | FROM H323-MESSAGES; 8 | 9 | IncomingCallIndication ::= SEQUENCE 10 | { 11 | callSignallingAddress TransportAddress, 12 | callID CallIdentifier, 13 | ... 14 | } 15 | 16 | LRQKeepAliveData ::= SEQUENCE 17 | { 18 | lrqKeepAliveInterval TimeToLive, -- keep-alive interval (seconds) 19 | ... 20 | } 21 | 22 | 23 | END 24 | -------------------------------------------------------------------------------- /src/h230/OID2.asn: -------------------------------------------------------------------------------- 1 | H230-CONFERENCE-CONTROL {iso(1) organisation(3) dod(6) internet(1) private(4) packetizer(17090) h323(0) oid(2) } 2 | DEFINITIONS AUTOMATIC TAGS ::= 3 | BEGIN 4 | 5 | Participant ::= SEQUENCE 6 | { 7 | token INTEGER (0..255), 8 | number BMPString (SIZE (1..256)), 9 | name BMPString (SIZE (1..256)) OPTIONAL, 10 | vCard BMPString (SIZE (1..256)) OPTIONAL, 11 | ... 12 | } 13 | 14 | ParticipantList ::= SEQUENCE 15 | { 16 | list SEQUENCE (SIZE (0..65535)) OF Participant, 17 | ... 18 | } 19 | 20 | END -------------------------------------------------------------------------------- /plugins/audio/Speex/AUTHORS: -------------------------------------------------------------------------------- 1 | Jean-Marc Valin 2 | All the code except the following 3 | 4 | David Rowe via VoiceTronix 5 | lsp.c lsp.h 6 | Also ideas and feedback 7 | 8 | John Francis Edwards: 9 | wave_out.[ch], some #ifdefs for windows port and MSVC project files 10 | 11 | Atsuhiko Yamanaka : 12 | Patch to speexenc.c to add Vorbis comment format 13 | 14 | Radim Kolar : 15 | Patch to speexenc.c for supporting more input formats 16 | -------------------------------------------------------------------------------- /plugins/audio/iLBC/iLBC/extract-cfile.awk: -------------------------------------------------------------------------------- 1 | BEGIN { srcname = "nothing"; } 2 | { if (/^A\.[0-9][0-9]* [a-zA-Z][a-zA-Z_0-9]*\.[ch]/) { 3 | if (srcname != "nothing") 4 | close(srcname); 5 | srcname = $2; 6 | printf("creating source file %s\n", srcname); 7 | }else if (srcname != "nothing") { 8 | if (/Andersen et\. al\./ || /Internet Low Bit Rate Codec *May 04/) 9 | printf("skipping %s\n", $0); 10 | else 11 | print $0 >> srcname; 12 | } 13 | } 14 | END { 15 | printf("ending file %s\n", srcname); 16 | close(srcname); 17 | } 18 | -------------------------------------------------------------------------------- /src/asn/h460tm.asn: -------------------------------------------------------------------------------- 1 | H460TM {itu-t(0) recommendation(0) h(8) 460 x} DEFINITIONS AUTOMATIC TAGS ::= 2 | 3 | BEGIN 4 | 5 | TMmode ::= ENUMERATED 6 | { 7 | tmOpen (1), 8 | tmPublic (2), 9 | tmPrivate (3), 10 | tmBroadcast (4), 11 | tmReceive (5) 12 | } 13 | 14 | MultipointTM ::= SEQUENCE 15 | { 16 | message BMPString (SIZE (1..256)), -- Basic ISO/IEC 10646-1 (Unicode) 17 | sender INTEGER (1..65535) OPTIONAL, -- source user id 18 | receiver INTEGER (1..65535) OPTIONAL, -- destination user id 19 | ... 20 | } 21 | 22 | END 23 | -------------------------------------------------------------------------------- /plugins/audio/G.722.2/AMR-WB/typedef.h: -------------------------------------------------------------------------------- 1 | /* 2 | *=================================================================== 3 | * 3GPP AMR Wideband Floating-point Speech Codec 4 | *=================================================================== 5 | */ 6 | #ifndef typedef_h 7 | #define typedef_h 8 | 9 | /* change these typedef declarations to correspond with your platform */ 10 | typedef char Word8; 11 | typedef unsigned char UWord8; 12 | typedef short Word16; 13 | typedef unsigned short UWord16; 14 | typedef long Word32; 15 | typedef double Float64; 16 | typedef float Float32; 17 | 18 | #endif -------------------------------------------------------------------------------- /plugins/audio/G.722.2/AMR-WB/dec.h: -------------------------------------------------------------------------------- 1 | /* 2 | *=================================================================== 3 | * 3GPP AMR Wideband Floating-point Speech Codec 4 | *=================================================================== 5 | */ 6 | #ifndef DEC_H 7 | #define DEC_H 8 | 9 | #include "typedef.h" 10 | 11 | void D_MAIN_reset(void *st, Word16 reset_all); 12 | Word32 D_MAIN_init(void **spd_state); 13 | void D_MAIN_close(void **spd_state); 14 | Word32 D_MAIN_decode(Word16 mode, Word16 prms[], Word16 synth16k[], 15 | void *spd_state, UWord8 frame_type); 16 | 17 | #endif 18 | 19 | -------------------------------------------------------------------------------- /plugins/audio/G.722.2/AMR-WB/enc.h: -------------------------------------------------------------------------------- 1 | /* 2 | *=================================================================== 3 | * 3GPP AMR Wideband Floating-point Speech Codec 4 | *=================================================================== 5 | */ 6 | #ifndef ENC_H 7 | #define ENC_H 8 | 9 | #include "typedef.h" 10 | 11 | Word16 E_MAIN_init(void **spe_state); 12 | void E_MAIN_reset(void *st, Word16 reset_all); 13 | Word16 E_MAIN_encode(Word16 * mode, Word16 input_sp[], Word16 prms[], 14 | void *spe_state, Word16 allow_dtx); 15 | void E_MAIN_close(void **spe_state); 16 | 17 | #endif 18 | 19 | -------------------------------------------------------------------------------- /.lgtm.yml: -------------------------------------------------------------------------------- 1 | extraction: 2 | cpp: 3 | prepare: 4 | packages: 5 | - libssl-dev 6 | configure: 7 | command: 8 | - "wget -q -O ptlib.zip https://github.com/willamowius/ptlib/archive/master.zip" 9 | - "unzip ptlib.zip" 10 | - "cd ptlib-master" 11 | - "export PTLIBDIR=$(pwd)" 12 | - "./configure --enable-ipv6 --disable-odbc --disable-sdl --disable-lua --disable-expat" 13 | - "make optnoshared" 14 | - "cd .." 15 | - "./configure --enable-h235 --enable-h46017 --enable-h46026 --enable-h46019m" 16 | index: 17 | build_command: "make optnoshared" 18 | 19 | -------------------------------------------------------------------------------- /src/asn/h46024b.asn: -------------------------------------------------------------------------------- 1 | MEDIA-TRAVERSAL {itu-t(0) recommendation(0) h(8) 460 24 2} DEFINITIONS AUTOMATIC TAGS ::= 2 | 3 | BEGIN 4 | 5 | IMPORTS 6 | TransportAddress 7 | FROM MULTIMEDIA-SYSTEM-CONTROL; 8 | 9 | AlternateAddresses ::= SEQUENCE 10 | { 11 | addresses SEQUENCE OF AlternateAddress, 12 | ... 13 | } 14 | 15 | AlternateAddress ::= SEQUENCE 16 | { 17 | sessionID INTEGER(0..255), 18 | rtpAddress TransportAddress OPTIONAL, 19 | rtcpAddress TransportAddress OPTIONAL, 20 | ..., 21 | multiplexID INTEGER(0..4294967295) OPTIONAL 22 | } 23 | 24 | END 25 | -------------------------------------------------------------------------------- /plugins/audio/G.722.2/AMR-WB/enc_if.h: -------------------------------------------------------------------------------- 1 | /* 2 | *=================================================================== 3 | * 3GPP AMR Wideband Floating-point Speech Codec 4 | *=================================================================== 5 | */ 6 | #ifndef WB_E_IF_H 7 | #define WB_E_IF_H 8 | 9 | #include "typedef.h" 10 | 11 | #define L_FRAME16k 320 /* Frame size at 16kHz */ 12 | #define NB_SERIAL_MAX 61 /* max serial size */ 13 | 14 | int E_IF_encode(void *st, Word16 mode, Word16 *speech, 15 | UWord8 *serial, Word16 dtx); 16 | void *E_IF_init(void); 17 | void E_IF_exit(void *state); 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /plugins/audio/GSM0610/src/gsm_destroy.c: -------------------------------------------------------------------------------- 1 | /* 2 | * gsm_destroy.c 3 | * 4 | * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische 5 | * Universitaet Berlin. See the accompanying file "COPYRIGHT" for 6 | * details. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. 7 | */ 8 | 9 | 10 | #include "gsm.h" 11 | #include "config.h" 12 | #include "proto.h" 13 | 14 | #ifdef HAS_STDLIB_H 15 | # include 16 | #else 17 | # ifdef HAS_MALLOC_H 18 | # include 19 | # else 20 | extern void free(); 21 | # endif 22 | #endif 23 | 24 | void gsm_destroy P1((S), gsm S) 25 | { 26 | if (S) free((char *)S); 27 | } 28 | -------------------------------------------------------------------------------- /plugins/audio/G.722.2/AMR-WB/dec_acelp.h: -------------------------------------------------------------------------------- 1 | /* 2 | *=================================================================== 3 | * 3GPP AMR Wideband Floating-point Speech Codec 4 | *=================================================================== 5 | */ 6 | #ifndef DEC_ACELP_H 7 | #define DEC_ACELP_H 8 | 9 | #include "typedef.h" 10 | 11 | void D_ACELP_decode_2t(Word16 index, Word16 code[]); 12 | void D_ACELP_decode_4t(Word16 index[], Word16 nbbits, Word16 code[]); 13 | void D_ACELP_phase_dispersion(Word16 gain_code, Word16 gain_pit, Word16 code[], 14 | Word16 mode, Word16 disp_mem[]); 15 | 16 | #endif 17 | 18 | -------------------------------------------------------------------------------- /src/asn/h46019.asn: -------------------------------------------------------------------------------- 1 | MEDIA-TRAVERSAL {itu-t(0) recommendation(0) h(8) 460 19} DEFINITIONS AUTOMATIC TAGS ::= 2 | 3 | BEGIN 4 | 5 | IMPORTS 6 | TransportAddress, 7 | TimeToLive 8 | 9 | FROM MULTIMEDIA-SYSTEM-CONTROL; 10 | 11 | TraversalParameters ::= SEQUENCE 12 | { 13 | multiplexedMediaChannel TransportAddress OPTIONAL, 14 | multiplexedMediaControlChannel TransportAddress OPTIONAL, 15 | multiplexID INTEGER(0..4294967295) OPTIONAL, 16 | 17 | keepAliveChannel TransportAddress OPTIONAL, 18 | keepAlivePayloadType INTEGER (0..127) OPTIONAL, 19 | keepAliveInterval TimeToLive OPTIONAL, 20 | ... 21 | 22 | } 23 | 24 | END 25 | -------------------------------------------------------------------------------- /plugins/audio/EasyCodec/ReadMe.txt: -------------------------------------------------------------------------------- 1 | ++++++++++++++++++++++++++++++++++++++++++++++ 2 | Instructions on compiling the Easy Codecs 3 | ++++++++++++++++++++++++++++++++++++++++++++++ 4 | 5 | Warning: 6 | These Codecs (except G7231) have frame rates of 7 | 10ms For proper audio make sure the sound buffer 8 | size in your Application is set to a minimum of 5 9 | otherwise you will have poor audio. 10 | 11 | 1. Download the codec files from www.ImTelephone.com and install them in the following subdirectories. 12 | Easy/EasyG722 13 | Easy/EasyG7231 14 | Easy/EasyG728 15 | Easy/EasyG729A 16 | 17 | 2. Open EasyCodecs.dsw select batch build and build the appropriate plugins. 18 | 19 | -------------------------------------------------------------------------------- /plugins/audio/G.722.2/AMR-WB/dec_if.h: -------------------------------------------------------------------------------- 1 | /* 2 | *=================================================================== 3 | * 3GPP AMR Wideband Floating-point Speech Codec 4 | *=================================================================== 5 | */ 6 | #ifndef DEC_IF_H 7 | #define DEC_IF_H 8 | 9 | #include "typedef.h" 10 | 11 | #define NB_SERIAL_MAX 61 /* max serial size */ 12 | #define L_FRAME16k 320 /* Frame size at 16kHz */ 13 | 14 | #define _good_frame 0 15 | #define _bad_frame 1 16 | #define _lost_frame 2 17 | #define _no_frame 3 18 | 19 | void D_IF_decode(void *st, UWord8 *bits, Word16 *synth, Word32 bfi); 20 | void * D_IF_init(void); 21 | void D_IF_exit(void *state); 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /plugins/audio/iLBC/iLBC/hpOutput.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | hpOutput.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #ifndef __iLBC_HPOUTPUT_H 14 | #define __iLBC_HPOUTPUT_H 15 | 16 | void hpOutput( 17 | float *In, /* (i) vector to filter */ 18 | int len,/* (i) length of vector to filter */ 19 | float *Out, /* (o) the resulting filtered vector */ 20 | float *mem /* (i/o) the filter state */ 21 | ); 22 | 23 | #endif 24 | 25 | 26 | -------------------------------------------------------------------------------- /plugins/audio/GSM0610/COPYRIGHT: -------------------------------------------------------------------------------- 1 | Copyright 1992, 1993, 1994 by Jutta Degener and Carsten Bormann, 2 | Technische Universitaet Berlin 3 | 4 | Any use of this software is permitted provided that this notice is not 5 | removed and that neither the authors nor the Technische Universitaet Berlin 6 | are deemed to have made any representations as to the suitability of this 7 | software for any purpose nor are held responsible for any defects of 8 | this software. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. 9 | 10 | As a matter of courtesy, the authors request to be informed about uses 11 | this software has found, about bugs in this software, and about any 12 | improvements that may be of general interest. 13 | 14 | Berlin, 28.11.1994 15 | Jutta Degener 16 | Carsten Bormann 17 | -------------------------------------------------------------------------------- /plugins/audio/Speex/README: -------------------------------------------------------------------------------- 1 | See INSTALL file for instruction on how to install Speex. 2 | 3 | The Speex project aims to build an open-source patent-free voice codec. 4 | Unlike other codecs like MP3 and Ogg Vorbis, Speex is specially designed 5 | for compressing voice at low bit-rates for applications such as voice over 6 | IP (VoIP). In some sense, it is meant to be complementary to the Ogg 7 | Vorbis codec. 8 | 9 | Although we aim at providing a patent-free codec, we strongly suggest you 10 | have a look at patent issues if you are thinking about using Speex 11 | commercially. The speech coding field is a real patent minefield and 12 | the scope and enforceability of all these patents is sometimes unclear, 13 | not to mention that each country has different laws. 14 | 15 | -------------------------------------------------------------------------------- /plugins/audio/iLBC/iLBC/hpInput.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | hpInput.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | 14 | 15 | #ifndef __iLBC_HPINPUT_H 16 | #define __iLBC_HPINPUT_H 17 | 18 | void hpInput( 19 | float *In, /* (i) vector to filter */ 20 | int len, /* (i) length of vector to filter */ 21 | float *Out, /* (o) the resulting filtered vector */ 22 | float *mem /* (i/o) the filter state */ 23 | ); 24 | 25 | #endif 26 | 27 | 28 | -------------------------------------------------------------------------------- /plugins/audio/iLBC/iLBC/anaFilter.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | anaFilter.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #ifndef __iLBC_ANAFILTER_H 14 | #define __iLBC_ANAFILTER_H 15 | 16 | void anaFilter( 17 | float *In, /* (i) Signal to be filtered */ 18 | float *a, /* (i) LP parameters */ 19 | int len,/* (i) Length of signal */ 20 | float *Out, /* (o) Filtered signal */ 21 | float *mem /* (i/o) Filter state */ 22 | ); 23 | 24 | #endif 25 | 26 | 27 | -------------------------------------------------------------------------------- /plugins/audio/iLBC/iLBC/lsf.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | lsf.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | 12 | 13 | ******************************************************************/ 14 | 15 | #ifndef __iLBC_LSF_H 16 | #define __iLBC_LSF_H 17 | 18 | void a2lsf( 19 | float *freq,/* (o) lsf coefficients */ 20 | float *a /* (i) lpc coefficients */ 21 | ); 22 | 23 | void lsf2a( 24 | float *a_coef, /* (o) lpc coefficients */ 25 | float *freq /* (i) lsf coefficients */ 26 | ); 27 | 28 | #endif 29 | 30 | 31 | -------------------------------------------------------------------------------- /plugins/audio/iLBC/iLBC/syntFilter.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | syntFilter.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #ifndef __iLBC_SYNTFILTER_H 14 | #define __iLBC_SYNTFILTER_H 15 | 16 | void syntFilter( 17 | float *Out, /* (i/o) Signal to be filtered */ 18 | float *a, /* (i) LP parameters */ 19 | int len, /* (i) Length of signal */ 20 | float *mem /* (i/o) Filter state */ 21 | 22 | 23 | ); 24 | 25 | #endif 26 | 27 | 28 | -------------------------------------------------------------------------------- /Readme.md: -------------------------------------------------------------------------------- 1 | ![H323Plus logo](https://www.h323plus.org/images/h323plus.png) 2 | ## H323Plus 3 | 4 | ### Development framework for H.323 applications like softphones or gateways 5 | 6 | H323Plus is the continuation of the OpenH323 project and aims to maintain full source code compatibility while adding the latest H.323 features. 7 | 8 | License: MPL ![](https://img.shields.io/badge/license-MPL-green.svg) 9 | 10 | Website: https://www.h323plus.org 11 | 12 | Support: https://www.willamowius.com/h323plus-support.html 13 | 14 | API documentation: https://www.h323plus.org/api/annotated.html 15 | 16 | Tutorial: https://toncar.cz/openh323/tut/ 17 | 18 | [![Follow @h323 on Twitter](https://img.shields.io/twitter/follow/h323.svg?style=social)](https://twitter.com/intent/follow?screen_name=h323) 19 | 20 | -------------------------------------------------------------------------------- /plugins/audio/iLBC/iLBC/FrameClassify.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | FrameClassify.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | 14 | 15 | #ifndef __iLBC_FRAMECLASSIFY_H 16 | #define __iLBC_FRAMECLASSIFY_H 17 | 18 | int FrameClassify( /* index to the max-energy sub-frame */ 19 | iLBC_Enc_Inst_t *iLBCenc_inst, 20 | /* (i/o) the encoder state structure */ 21 | float *residual /* (i) lpc residual signal */ 22 | ); 23 | 24 | #endif 25 | 26 | 27 | -------------------------------------------------------------------------------- /OpenH323.mak: -------------------------------------------------------------------------------- 1 | !ifndef PTLIBDIR 2 | PTLIBDIR=c:\work\pwlib 3 | !endif 4 | 5 | !ifndef OPENH323DIR 6 | OPENH323DIR=$(MAKEDIR) 7 | !endif 8 | 9 | INCLUDE=$(INCLUDE);$(PTLIBDIR)\include\ptlib\msos;$(PTLIBDIR)\include\pwlib\mswin;$(PTLIBDIR)\include;$(OPENH323DIR)/include 10 | LIB=$(LIB);$(PTLIBDIR)\Lib;$(OPENH323DIR)/Lib 11 | 12 | all: 13 | msdev OpenH323Lib.dsp /MAKE "OpenH323Lib - Win32 Release" /USEENV 14 | msdev OpenH323dll.dsp /MAKE "OpenH323dll - Win32 Release" /USEENV 15 | cd samples\simple 16 | msdev simple.dsp /MAKE "SimpH323 - Win32 Release" /USEENV 17 | 18 | debug: all 19 | msdev OpenH323Lib.dsp /MAKE "OpenH323Lib - Win32 Debug" /USEENV 20 | msdev OpenH323dll.dsp /MAKE "OpenH323dll - Win32 Debug" /USEENV 21 | cd samples\simple 22 | msdev simple.dsp /MAKE "SimpH323 - Win32 Debug" /USEENV 23 | -------------------------------------------------------------------------------- /plugins/audio/iLBC/iLBC/getCBvec.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | getCBvec.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #ifndef __iLBC_GETCBVEC_H 14 | #define __iLBC_GETCBVEC_H 15 | 16 | 17 | 18 | void getCBvec( 19 | float *cbvec, /* (o) Constructed codebook vector */ 20 | float *mem, /* (i) Codebook buffer */ 21 | int index, /* (i) Codebook index */ 22 | int lMem, /* (i) Length of codebook buffer */ 23 | int cbveclen/* (i) Codebook vector length */ 24 | ); 25 | 26 | #endif 27 | 28 | 29 | -------------------------------------------------------------------------------- /plugins/audio/SBC/sbccodec.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * sbccodec.h 4 | * 5 | * Header file for SBC conversion routines. 6 | * 7 | */ 8 | #ifndef _SBCCODEC_H 9 | #define _SBCCODEC_H 10 | 11 | #define AUDIO_ENCODING_LINEAR (3) /* PCM 2's-complement (0-center) */ 12 | 13 | /* 14 | * The following is the definition of the state structure 15 | * used by the SBC encoder and decoder to preserve their internal 16 | * state between successive calls. 17 | */ 18 | 19 | typedef struct sbc_state_s { 20 | long yl; /* Locked or steady state step size multiplier. */ 21 | } sbc_state; 22 | 23 | /* External function definitions. */ 24 | 25 | void sbc_init_state( sbc_state *); 26 | 27 | int sbc_encoder( 28 | int sample, 29 | int in_coding, 30 | sbc_state *state_ptr); 31 | int sbc_decoder( 32 | int code, 33 | int out_coding, 34 | sbc_state *state_ptr); 35 | 36 | #endif /* !_SBCCODEC_H */ 37 | 38 | -------------------------------------------------------------------------------- /plugins/video/H.263-ffmpeg/ReadMe.txt: -------------------------------------------------------------------------------- 1 | Compilation notes 2 | ----------------- 3 | 4 | Craig Southeren 4 October 2006 5 | 6 | 7 | The ffmpeg library headers and a compiled version of the ffmpeg shared library 8 | are required to use this codec plugin. These can be found at 9 | 10 | Linux 11 | http://www.voxgratia.org/bin/libavcodec-0.4.7-linux.bin.tar.gz 12 | 13 | Windows 14 | http://www.voxgratia.org/bin/libavcodec-0.4.7-windows.bin.zip 15 | 16 | Put the contents of the correct archive file into a subdirectory called 17 | ffmpeg. The makefile should detect this and correctly compile the plugin 18 | 19 | Note that the libavcodec.so or libavcodec.dll file must be put into the same 20 | directory as the rest of the plugins. Failure to do this will cause the plugin 21 | to be inoperable. 22 | 23 | If you insist on compiling ffmpeg from source, then read the instructions at 24 | http://www.voxgratia.org/docs/h263_codec.html 25 | 26 | ---------------- 27 | -------------------------------------------------------------------------------- /plugins/audio/iLBC/iLBC/StateConstructW.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | StateConstructW.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #ifndef __iLBC_STATECONSTRUCTW_H 14 | #define __iLBC_STATECONSTRUCTW_H 15 | 16 | void StateConstructW( 17 | int idxForMax, /* (i) 6-bit index for the quantization of 18 | max amplitude */ 19 | int *idxVec, /* (i) vector of quantization indexes */ 20 | float *syntDenum, /* (i) synthesis filter denumerator */ 21 | float *out, /* (o) the decoded state vector */ 22 | int len /* (i) length of a state vector */ 23 | ); 24 | 25 | #endif 26 | 27 | 28 | -------------------------------------------------------------------------------- /plugins/audio/GSM0610/src/gsm_create.c: -------------------------------------------------------------------------------- 1 | /* 2 | * gsm_create.c 3 | * 4 | * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische 5 | * Universitaet Berlin. See the accompanying file "COPYRIGHT" for 6 | * details. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. 7 | */ 8 | 9 | 10 | #include "config.h" 11 | 12 | #ifdef HAS_STRING_H 13 | #include 14 | #else 15 | # include "proto.h" 16 | extern char * memset P((char *, int, int)); 17 | #endif 18 | 19 | #ifdef HAS_STDLIB_H 20 | # include 21 | #else 22 | # ifdef HAS_MALLOC_H 23 | # include 24 | # else 25 | extern char * malloc(); 26 | # endif 27 | #endif 28 | 29 | #include 30 | 31 | #include "gsm.h" 32 | #include "private.h" 33 | #include "proto.h" 34 | 35 | gsm gsm_create P0() 36 | { 37 | gsm r; 38 | 39 | r = (gsm)malloc(sizeof(struct gsm_state)); 40 | if (!r) return r; 41 | 42 | memset((char *)r, 0, sizeof(*r)); 43 | r->nrp = 40; 44 | 45 | return r; 46 | } 47 | -------------------------------------------------------------------------------- /plugins/video/H.263-1998/h263_2008.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 10.00 3 | # Visual Studio 2008 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "H.263-1998 (FFMPEG) Video Codec", "h263_2008.vcproj", "{E75AF717-C8A6-40E7-82CB-80D67CE01611}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Release|Win32 = Release|Win32 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {E75AF717-C8A6-40E7-82CB-80D67CE01611}.Debug|Win32.ActiveCfg = Debug|Win32 13 | {E75AF717-C8A6-40E7-82CB-80D67CE01611}.Debug|Win32.Build.0 = Debug|Win32 14 | {E75AF717-C8A6-40E7-82CB-80D67CE01611}.Release|Win32.ActiveCfg = Release|Win32 15 | {E75AF717-C8A6-40E7-82CB-80D67CE01611}.Release|Win32.Build.0 = Release|Win32 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /plugins/audio/iLBC/iLBC/enhancer.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | enhancer.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #ifndef __ENHANCER_H 14 | #define __ENHANCER_H 15 | 16 | #include "iLBC_define.h" 17 | 18 | float xCorrCoef( 19 | float *target, /* (i) first array */ 20 | float *regressor, /* (i) second array */ 21 | int subl /* (i) dimension arrays */ 22 | ); 23 | 24 | int enhancerInterface( 25 | float *out, /* (o) the enhanced recidual signal */ 26 | float *in, /* (i) the recidual signal to enhance */ 27 | iLBC_Dec_Inst_t *iLBCdec_inst 28 | /* (i/o) the decoder state structure */ 29 | ); 30 | 31 | #endif 32 | 33 | 34 | -------------------------------------------------------------------------------- /plugins/audio/iLBC/iLBC/LPCencode.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | LPCencode.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #ifndef __iLBC_LPCENCOD_H 14 | #define __iLBC_LPCENCOD_H 15 | 16 | void LPCencode( 17 | float *syntdenum, /* (i/o) synthesis filter coefficients 18 | before/after encoding */ 19 | float *weightdenum, /* (i/o) weighting denumerator coefficients 20 | before/after encoding */ 21 | int *lsf_index, /* (o) lsf quantization index */ 22 | float *data, /* (i) lsf coefficients to quantize */ 23 | iLBC_Enc_Inst_t *iLBCenc_inst 24 | /* (i/o) the encoder state structure */ 25 | ); 26 | 27 | #endif 28 | 29 | 30 | -------------------------------------------------------------------------------- /plugins/audio/iLBC/iLBC/doCPLC.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | doCPLC.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | 12 | 13 | ******************************************************************/ 14 | 15 | #ifndef __iLBC_DOLPC_H 16 | #define __iLBC_DOLPC_H 17 | 18 | void doThePLC( 19 | float *PLCresidual, /* (o) concealed residual */ 20 | float *PLClpc, /* (o) concealed LP parameters */ 21 | int PLI, /* (i) packet loss indicator 22 | 0 - no PL, 1 = PL */ 23 | float *decresidual, /* (i) decoded residual */ 24 | float *lpc, /* (i) decoded LPC (only used for no PL) */ 25 | int inlag, /* (i) pitch lag */ 26 | iLBC_Dec_Inst_t *iLBCdec_inst 27 | /* (i/o) decoder instance */ 28 | ); 29 | 30 | #endif 31 | 32 | 33 | -------------------------------------------------------------------------------- /plugins/audio/gsm-amr/src/typedef.h: -------------------------------------------------------------------------------- 1 | /* 2 | * =================================================================== 3 | * TS 26.104 4 | * REL-5 V5.4.0 2004-03 5 | * REL-6 V6.1.0 2004-03 6 | * 3GPP AMR Floating-point Speech Codec 7 | * =================================================================== 8 | * 9 | */ 10 | 11 | /* This is valid for PC */ 12 | 13 | #ifndef _TYPEDEF_H 14 | #define _TYPEDEF_H 15 | 16 | // By Default we use VAD2 for Silence supression 17 | #define VAD2 1 18 | 19 | typedef char Word8; 20 | typedef unsigned char UWord8; 21 | typedef float Float32; 22 | typedef double Float64; 23 | #if defined(__unix__) | defined(_VXWORKS) | defined(_RTEMS) | defined(_PSOS) 24 | // identifier structure modified to fix different platform compilation 25 | typedef short Word16; 26 | typedef int Word32; 27 | #else 28 | typedef short Word16; 29 | typedef long Word32; 30 | #endif 31 | 32 | #ifndef max 33 | #define max(a,b) ((a)>(b)?(a):(b)) 34 | #endif 35 | 36 | #ifndef min 37 | #define min(a,b) ((a)<(b)?(a):(b)) 38 | #endif 39 | 40 | #endif // !_TYPEDEF_H 41 | -------------------------------------------------------------------------------- /src/asn/h4506.asn: -------------------------------------------------------------------------------- 1 | Call-Waiting-Operations 2 | { 3 | itu-t recommendation h 450 6 version1(0) call-waiting-operations(0) 4 | } 5 | 6 | DEFINITIONS AUTOMATIC TAGS ::= 7 | BEGIN 8 | 9 | IMPORTS Extension FROM H4501 -- Manufacturer-specific-service-extension-definition 10 | { 11 | itu-t recommendation h 450 1 version1(0) msi-definition(18) 12 | } 13 | 14 | MixedExtension FROM H4504 -- Call-Hold-Operations 15 | { 16 | itu-t recommendation h 450 4 version1(0) call-hold-operations(0) 17 | }; 18 | 19 | CallWaitingOperations ::= ENUMERATED 20 | { 21 | callWaiting(105) 22 | } 23 | 24 | CallWaitingArg ::= SEQUENCE 25 | { 26 | nbOfAddWaitingCalls INTEGER (0..255) OPTIONAL, -- indicates the number of waiting calls at the served user 27 | -- in addition to the call to which this operation applies. 28 | extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL, 29 | ... 30 | } 31 | 32 | END -- of Call-Waiting-Operations 33 | 34 | -------------------------------------------------------------------------------- /plugins/audio/Speex/libspeex/kiss_fftr.h: -------------------------------------------------------------------------------- 1 | #ifndef KISS_FTR_H 2 | #define KISS_FTR_H 3 | 4 | #include "kiss_fft.h" 5 | #ifdef __cplusplus 6 | extern "C" { 7 | #endif 8 | 9 | 10 | /* 11 | 12 | Real optimized version can save about 45% cpu time vs. complex fft of a real seq. 13 | 14 | 15 | 16 | */ 17 | 18 | typedef struct kiss_fftr_state *kiss_fftr_cfg; 19 | 20 | 21 | kiss_fftr_cfg kiss_fftr_alloc(int nfft,int inverse_fft,void * mem, size_t * lenmem); 22 | /* 23 | nfft must be even 24 | 25 | If you don't care to allocate space, use mem = lenmem = NULL 26 | */ 27 | 28 | 29 | void kiss_fftr(kiss_fftr_cfg cfg,const kiss_fft_scalar *timedata,kiss_fft_cpx *freqdata); 30 | /* 31 | input timedata has nfft scalar points 32 | output freqdata has nfft/2+1 complex points 33 | */ 34 | 35 | void kiss_fftri(kiss_fftr_cfg cfg,const kiss_fft_cpx *freqdata,kiss_fft_scalar *timedata); 36 | /* 37 | input freqdata has nfft/2+1 complex points 38 | output timedata has nfft scalar points 39 | */ 40 | 41 | #define kiss_fftr_free free 42 | 43 | #ifdef __cplusplus 44 | } 45 | #endif 46 | #endif 47 | -------------------------------------------------------------------------------- /plugins/audio/iLBC/iLBC/gainquant.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | gainquant.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #ifndef __iLBC_GAINQUANT_H 14 | #define __iLBC_GAINQUANT_H 15 | 16 | float gainquant(/* (o) quantized gain value */ 17 | float in, /* (i) gain value */ 18 | float maxIn,/* (i) maximum of gain value */ 19 | int cblen, /* (i) number of quantization indices */ 20 | int *index /* (o) quantization index */ 21 | ); 22 | 23 | float gaindequant( /* (o) quantized gain value */ 24 | int index, /* (i) quantization index */ 25 | float maxIn,/* (i) maximum of unquantized gain */ 26 | int cblen /* (i) number of quantization indices */ 27 | ); 28 | 29 | #endif 30 | 31 | 32 | -------------------------------------------------------------------------------- /samples/simple/simple_2015.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {7400263a-259c-429e-acae-1d0bb786daea} 6 | cpp;c;cxx;rc;def;r;odl;idl;hpj;bat 7 | 8 | 9 | {88cde3e5-3372-4398-8c72-6a3bad180b74} 10 | h;hpp;hxx;hm;inl 11 | 12 | 13 | {aff919c1-61ee-490b-bf3d-ac2986d4b906} 14 | ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | 23 | 24 | Header Files 25 | 26 | 27 | -------------------------------------------------------------------------------- /include/h350/h350_service.h: -------------------------------------------------------------------------------- 1 | // 2 | // h350_service.h 3 | // 4 | // Code automatically generated by asnparse. 5 | // 6 | 7 | #if ! H323_DISABLE_H225 8 | 9 | #ifndef __H225_H350_H 10 | #define __H225_H350_H 11 | 12 | #ifdef P_USE_PRAGMA 13 | #pragma interface 14 | #endif 15 | 16 | #include 17 | 18 | // 19 | // H350ServiceControl 20 | // 21 | 22 | class H225_H350ServiceControl : public PASN_Sequence 23 | { 24 | #ifndef PASN_LEANANDMEAN 25 | PCLASSINFO(H225_H350ServiceControl, PASN_Sequence); 26 | #endif 27 | public: 28 | H225_H350ServiceControl(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 29 | 30 | PASN_IA5String m_ldapURL; 31 | PASN_IA5String m_ldapDN; 32 | 33 | PINDEX GetDataLength() const; 34 | PBoolean Decode(PASN_Stream & strm); 35 | void Encode(PASN_Stream & strm) const; 36 | #ifndef PASN_NOPRINTON 37 | void PrintOn(ostream & strm) const; 38 | #endif 39 | Comparison Compare(const PObject & obj) const; 40 | PObject * Clone() const; 41 | }; 42 | 43 | 44 | #endif // __H225_H 45 | 46 | #endif // if ! H323_DISABLE_H225 47 | 48 | 49 | // End of h350_service.h 50 | -------------------------------------------------------------------------------- /plugins/video/H.263-1998/ffmpeg_error_patch.txt: -------------------------------------------------------------------------------- 1 | Index: libavcodec/error_resilience.c 2 | =================================================================== 3 | --- libavcodec/error_resilience.c (revision 19088) 4 | +++ libavcodec/error_resilience.c (working copy) 5 | @@ -845,6 +845,8 @@ 6 | } 7 | av_log(s->avctx, AV_LOG_INFO, "concealing %d DC, %d AC, %d MV errors\n", dc_error, ac_error, mv_error); 8 | 9 | + s->avctx->decode_error_count += dc_error + ac_error + mv_error; 10 | + 11 | is_intra_likely= is_intra_more_likely(s); 12 | 13 | /* set unknown mb-type to most likely */ 14 | Index: libavcodec/avcodec.h 15 | =================================================================== 16 | --- libavcodec/avcodec.h (revision 19088) 17 | +++ libavcodec/avcodec.h (working copy) 18 | @@ -2510,6 +2510,13 @@ 19 | * - decoding: Set by libavcodec 20 | */ 21 | enum AVChromaLocation chroma_sample_location; 22 | + 23 | + /** 24 | + * Counts the number of decoding errors 25 | + */ 26 | +#define FFMPEG_HAS_DECODE_ERROR_COUNT 1 27 | + unsigned decode_error_count; 28 | + 29 | } AVCodecContext; 30 | 31 | /** 32 | -------------------------------------------------------------------------------- /plugins/audio/G.722.2/AMR-WB/dec_lpc.h: -------------------------------------------------------------------------------- 1 | /* 2 | *=================================================================== 3 | * 3GPP AMR Wideband Floating-point Speech Codec 4 | *=================================================================== 5 | */ 6 | #ifndef DEC_LPC_H 7 | #define DEC_LPC_H 8 | 9 | #include "typedef.h" 10 | 11 | void D_LPC_isf_noise_d(Word16 *indice, Word16 *isf_q); 12 | void D_LPC_isf_isp_conversion(Word16 isf[], Word16 isp[], Word16 m); 13 | void D_LPC_isp_a_conversion(Word16 isp[], Word16 a[], Word32 adaptive_scaling, 14 | Word16 m); 15 | void D_LPC_a_weight(Word16 a[], Word16 ap[], Word16 gamma, Word16 m); 16 | void D_LPC_isf_2s3s_decode(Word16 *indice, Word16 *isf_q, Word16* past_isfq, 17 | Word16 *isfold, Word16 *isf_buf, Word16 bfi); 18 | void D_LPC_isf_2s5s_decode(Word16 *indice, Word16 *isf_q, Word16 *past_isfq, 19 | Word16 *isfold, Word16 *isf_buf, Word16 bfi); 20 | void D_LPC_int_isp_find(Word16 isp_old[], Word16 isp_new[], 21 | const Word16 frac[], Word16 Az[]); 22 | void D_LPC_isf_extrapolation(Word16 HfIsf[]); 23 | 24 | #endif 25 | 26 | -------------------------------------------------------------------------------- /src/asn/h45010.asn: -------------------------------------------------------------------------------- 1 | Call-Offer-Operations 2 | { 3 | itu-t recommendation h 450 10 version1(0) call-offer-operations(0) 4 | } 5 | 6 | DEFINITIONS AUTOMATIC TAGS ::= 7 | BEGIN 8 | 9 | IMPORTS MixedExtension FROM H4504 -- Call-Hold-Operations 10 | { 11 | itu-t recommendation h 450 4 version1(0) call-hold-operations(0) 12 | } 13 | 14 | callWaiting FROM H4506 -- Call-Waiting-Operations 15 | { 16 | itu-t recommendation h 450 6 version1(0) call-waiting-operations(0) 17 | }; 18 | 19 | H323CallOfferOperations ::= ENUMERATED 20 | { 21 | callOfferRequest(34), 22 | -- callWaiting(105), Imported from H.450.6 23 | remoteUserAlerting(115), 24 | cfbOverride(49) 25 | } 26 | 27 | CoReqOptArg ::= SEQUENCE 28 | { 29 | extension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL, 30 | ... 31 | } 32 | 33 | RUAlertOptArg ::= SEQUENCE 34 | { 35 | extension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL, 36 | ... 37 | } 38 | 39 | CfbOvrOptArg ::= SEQUENCE 40 | { 41 | extension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL, 42 | ... 43 | } 44 | 45 | END -- of Call-Offer-Operations 46 | -------------------------------------------------------------------------------- /plugins/audio/iLBC/iLBC/iCBConstruct.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | 7 | 8 | iCBConstruct.h 9 | 10 | Copyright (C) The Internet Society (2004). 11 | All Rights Reserved. 12 | 13 | ******************************************************************/ 14 | 15 | #ifndef __iLBC_ICBCONSTRUCT_H 16 | #define __iLBC_ICBCONSTRUCT_H 17 | 18 | void index_conv_enc( 19 | int *index /* (i/o) Codebook indexes */ 20 | ); 21 | 22 | void index_conv_dec( 23 | int *index /* (i/o) Codebook indexes */ 24 | ); 25 | 26 | void iCBConstruct( 27 | float *decvector, /* (o) Decoded vector */ 28 | int *index, /* (i) Codebook indices */ 29 | int *gain_index,/* (i) Gain quantization indices */ 30 | float *mem, /* (i) Buffer for codevector construction */ 31 | int lMem, /* (i) Length of buffer */ 32 | int veclen, /* (i) Length of vector */ 33 | int nStages /* (i) Number of codebook stages */ 34 | ); 35 | 36 | #endif 37 | 38 | 39 | -------------------------------------------------------------------------------- /plugins/audio/iLBC/iLBC/iLBC_encode.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | iLBC_encode.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #ifndef __iLBC_ILBCENCODE_H 14 | #define __iLBC_ILBCENCODE_H 15 | 16 | #include "iLBC_define.h" 17 | 18 | short initEncode( /* (o) Number of bytes 19 | encoded */ 20 | iLBC_Enc_Inst_t *iLBCenc_inst, /* (i/o) Encoder instance */ 21 | int mode /* (i) frame size mode */ 22 | ); 23 | 24 | void iLBC_encode( 25 | 26 | 27 | unsigned char *bytes, /* (o) encoded data bits iLBC */ 28 | float *block, /* (o) speech vector to 29 | encode */ 30 | iLBC_Enc_Inst_t *iLBCenc_inst /* (i/o) the general encoder 31 | state */ 32 | ); 33 | 34 | #endif 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /samples/simple/simple.cbp: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 37 | 38 | -------------------------------------------------------------------------------- /plugins/audio/Speex/libspeex/testdenoise.c: -------------------------------------------------------------------------------- 1 | #ifdef HAVE_CONFIG_H 2 | #include "config.h" 3 | #endif 4 | 5 | #include 6 | #include 7 | 8 | #define NN 160 9 | 10 | int main() 11 | { 12 | short in[NN]; 13 | int i; 14 | SpeexPreprocessState *st; 15 | int count=0; 16 | float f; 17 | 18 | st = speex_preprocess_state_init(NN, 8000); 19 | i=1; 20 | speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_DENOISE, &i); 21 | i=0; 22 | speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_AGC, &i); 23 | f=8000; 24 | speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_AGC_LEVEL, &f); 25 | i=0; 26 | speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_DEREVERB, &i); 27 | f=.4; 28 | speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_DEREVERB_DECAY, &f); 29 | f=.3; 30 | speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_DEREVERB_LEVEL, &f); 31 | while (1) 32 | { 33 | int vad; 34 | fread(in, sizeof(short), NN, stdin); 35 | if (feof(stdin)) 36 | break; 37 | vad = speex_preprocess(st, in, NULL); 38 | /*fprintf (stderr, "%d\n", vad);*/ 39 | fwrite(in, sizeof(short), NN, stdout); 40 | count++; 41 | } 42 | speex_preprocess_state_destroy(st); 43 | return 0; 44 | } 45 | -------------------------------------------------------------------------------- /version.h: -------------------------------------------------------------------------------- 1 | /* 2 | * version.h 3 | * 4 | * Version number header file for H323Plus. 5 | * 6 | * The contents of this file are subject to the Mozilla Public License 7 | * Version 1.0 (the "License"); you may not use this file except in 8 | * compliance with the License. You may obtain a copy of the License at 9 | * http://www.mozilla.org/MPL/ 10 | * 11 | * Software distributed under the License is distributed on an "AS IS" 12 | * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See 13 | * the License for the specific language governing rights and limitations 14 | * under the License. 15 | * 16 | */ 17 | 18 | #ifndef _H323PLUS_VERSION_H 19 | #define _H323PLUS_VERSION_H 20 | 21 | 22 | 23 | /* WARNING: You MUST NOT add any comments to the #defines which follow 24 | or add extra commented out #defines as this will confuse the parser 25 | which extracts the version numbers 26 | */ 27 | 28 | #define MAJOR_VERSION 1 29 | #define MINOR_VERSION 28 30 | #define BUILD_TYPE ReleaseCode 31 | // only use single digit build numbers or the H323PLUS_VER macro breaks 32 | #define BUILD_NUMBER 0 33 | 34 | 35 | #endif // _H323PLUS_VERSION_H 36 | 37 | 38 | // End of File /////////////////////////////////////////////////////////////// 39 | -------------------------------------------------------------------------------- /plugins/video/H.261-vic/vic/config.h: -------------------------------------------------------------------------------- 1 | /************ Change log 2 | * 3 | * $Id $ 4 | * 5 | * 6 | * 7 | ********/ 8 | 9 | #include 10 | 11 | typedef unsigned char u_char; 12 | typedef unsigned short u_short; 13 | typedef unsigned int u_int; 14 | typedef unsigned char BYTE; 15 | typedef unsigned long u_long; 16 | 17 | #if _WIN32 || _WIN64 18 | #include 19 | #endif 20 | 21 | 22 | 23 | /* 24 | * Largest (user-level) packet size generated by our rtp applications. 25 | * Individual video formats may use smaller mtu's. 26 | */ 27 | #define RTP_MTU 1024 28 | 29 | #if defined(_MSC_VER) && !defined(_WIN64) 30 | #define INT_64 __int64 // uncomment for 64 bit word machines 31 | #elif defined(__GNUC__) || defined (sun) 32 | #define INT_64 long long 33 | #endif 34 | 35 | #ifdef _WIN32_WCE 36 | typedef int intptr_t; 37 | #endif 38 | 39 | #if BYTE_ORDER == LITTLE_ENDIAN 40 | #define SWAP32(left,right) \ 41 | ((char*)(left))[0] = ((const char*)(right))[3], \ 42 | ((char*)(left))[1] = ((const char*)(right))[2], \ 43 | ((char*)(left))[2] = ((const char*)(right))[1], \ 44 | ((char*)(left))[3] = ((const char*)(right))[0] 45 | #else 46 | #define SWAP32(left,right) *(long*)(left)=*(const long*)(right) 47 | #endif 48 | -------------------------------------------------------------------------------- /plugins/audio/gsm-amr/src/interf_dec.h: -------------------------------------------------------------------------------- 1 | /* 2 | * =================================================================== 3 | * TS 26.104 4 | * REL-5 V5.4.0 2004-03 5 | * REL-6 V6.1.0 2004-03 6 | * 3GPP AMR Floating-point Speech Codec 7 | * =================================================================== 8 | * 9 | */ 10 | 11 | /* 12 | * interf_dec.h 13 | * 14 | * 15 | * Project: 16 | * AMR Floating-Point Codec 17 | * 18 | * Contains: 19 | * Defines interface to AMR decoder 20 | * 21 | */ 22 | 23 | #ifndef _interf_dec_h_ 24 | #define _interf_dec_h_ 25 | 26 | /* 27 | * Function prototypes 28 | */ 29 | #ifdef __cplusplus 30 | extern "C" { 31 | #endif 32 | 33 | /* 34 | * Conversion from packed bitstream to endoded parameters 35 | * Decoding parameters to speech 36 | */ 37 | extern void Decoder_Interface_Decode( void *st, 38 | 39 | #ifndef ETSI 40 | unsigned char *bits, 41 | 42 | #else 43 | short *bits, 44 | #endif 45 | 46 | short *synth, int bfi ); 47 | 48 | /* 49 | * Reserve and init. memory 50 | */ 51 | extern void *Decoder_Interface_init( void ); 52 | 53 | /* 54 | * Exit and free memory 55 | */ 56 | extern void Decoder_Interface_exit( void *state ); 57 | #ifdef __cplusplus 58 | } 59 | #endif 60 | 61 | #endif // !_interf_dec_h_ 62 | 63 | -------------------------------------------------------------------------------- /src/asn/h46015.asn: -------------------------------------------------------------------------------- 1 | SIGNALLING-CHANNEL-SUSPEND-REDIRECT DEFINITIONS AUTOMATIC TAGS ::= 2 | 3 | BEGIN 4 | 5 | IMPORTS 6 | TransportAddress FROM H323-MESSAGES; 7 | 8 | 9 | SignallingChannelData ::= SEQUENCE 10 | { 11 | signallingChannelData CHOICE { 12 | channelSuspendRequest ChannelSuspendRequest, 13 | channelSuspendResponse ChannelSuspendResponse, 14 | channelSuspendConfirm ChannelSuspendConfirm, 15 | channelSuspendCancel ChannelSuspendCancel, 16 | channelResumeRequest ChannelResumeRequest, 17 | channelResumeResponse ChannelResumeResponse, 18 | ... 19 | }, 20 | ... 21 | } 22 | 23 | ChannelSuspendRequest ::= SEQUENCE 24 | { 25 | channelResumeAddress SEQUENCE OF TransportAddress, 26 | immediateResume BOOLEAN, 27 | resetH245 NULL OPTIONAL, 28 | ... 29 | } 30 | 31 | ChannelSuspendResponse ::= SEQUENCE 32 | { 33 | okToSuspend BOOLEAN, 34 | channelResumeAddress SEQUENCE OF TransportAddress, 35 | ... 36 | } 37 | 38 | ChannelSuspendConfirm ::= SEQUENCE 39 | { 40 | ... 41 | } 42 | 43 | ChannelSuspendCancel ::= SEQUENCE 44 | { 45 | ... 46 | } 47 | 48 | ChannelResumeRequest ::= SEQUENCE 49 | { 50 | randomNumber INTEGER(0..4294967295), 51 | resetH245 NULL OPTIONAL, 52 | ... 53 | } 54 | 55 | ChannelResumeResponse ::= SEQUENCE 56 | { 57 | ... 58 | } 59 | 60 | END -- of ASN.1 61 | -------------------------------------------------------------------------------- /plugins/audio/iLBC/iLBC/iCBSearch.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | iCBSearch.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #ifndef __iLBC_ICBSEARCH_H 14 | #define __iLBC_ICBSEARCH_H 15 | 16 | void iCBSearch( 17 | iLBC_Enc_Inst_t *iLBCenc_inst, 18 | /* (i) the encoder state structure */ 19 | int *index, /* (o) Codebook indices */ 20 | int *gain_index,/* (o) Gain quantization indices */ 21 | float *intarget,/* (i) Target vector for encoding */ 22 | float *mem, /* (i) Buffer for codebook construction */ 23 | int lMem, /* (i) Length of buffer */ 24 | int lTarget, /* (i) Length of vector */ 25 | int nStages, /* (i) Number of codebook stages */ 26 | float *weightDenum, /* (i) weighting filter coefficients */ 27 | 28 | 29 | float *weightState, /* (i) weighting filter state */ 30 | int block /* (i) the sub-block number */ 31 | ); 32 | 33 | #endif 34 | 35 | 36 | -------------------------------------------------------------------------------- /src/precompile.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * precompile.cxx 3 | * 4 | * Precompiled header generation file. 5 | * 6 | * Copyright (c) 1998-2000 Equivalence Pty. Ltd. 7 | * 8 | * The contents of this file are subject to the Mozilla Public License 9 | * Version 1.0 (the "License"); you may not use this file except in 10 | * compliance with the License. You may obtain a copy of the License at 11 | * http://www.mozilla.org/MPL/ 12 | * 13 | * Software distributed under the License is distributed on an "AS IS" 14 | * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See 15 | * the License for the specific language governing rights and limitations 16 | * under the License. 17 | * 18 | * The Original Code is Open H323 Library. 19 | * 20 | * The Initial Developer of the Original Code is Equivalence Pty. Ltd. 21 | * 22 | * Contributor(s): ______________________________________. 23 | */ 24 | 25 | #define P_DISABLE_FACTORY_INSTANCES 26 | 27 | #include 28 | 29 | #ifndef PTLIB_VERSION_CHECK 30 | #define PTLIB_VERSION_CHECK 1 31 | #if PTLIB_MAJOR <= 2 && PTLIB_MINOR < 6 32 | #error "You require PTLib v2.6.x or above to compile this version of H323plus") 33 | #endif 34 | #endif 35 | 36 | 37 | // End of File /////////////////////////////////////////////////////////////// 38 | -------------------------------------------------------------------------------- /plugins/audio/G.722.2/AMR-WB/enc_acelp.h: -------------------------------------------------------------------------------- 1 | /* 2 | *=================================================================== 3 | * 3GPP AMR Wideband Floating-point Speech Codec 4 | *=================================================================== 5 | */ 6 | #ifndef ENC_E_ACELP_H 7 | #define ENC_E_ACELP_H 8 | 9 | #include "typedef.h" 10 | 11 | void E_ACELP_Gain2_Q_init(Word16 *mem); 12 | void E_ACELP_xy2_corr(Float32 xn[], Float32 y1[], Float32 y2[], 13 | Float32 g_corr[]); 14 | Float32 E_ACELP_xy1_corr(Float32 xn[], Float32 y1[], Float32 g_corr[]); 15 | void E_ACELP_xh_corr(Float32 *x, Float32 *y, Float32 *h); 16 | void E_ACELP_codebook_target_update(Float32 *x, Float32 *x2, Float32 *y, 17 | Float32 gain); 18 | void E_ACELP_2t(Float32 dn[], Float32 cn[], Float32 H[], Word16 code[], 19 | Float32 y[], Word32 *index); 20 | void E_ACELP_4t(Float32 dn[], Float32 cn[], Float32 H[], Word16 code[], 21 | Float32 y[], Word32 nbbits, Word16 mode, Word32 _index[]); 22 | Word32 E_ACELP_gains_quantise(Word16 code[], Word32 nbits, Float32 f_gain_pit, 23 | Word16 *gain_pit, Word32 *gain_code, 24 | Float32 *coeff, Word32 gp_clip, 25 | Word16 *past_qua_en); 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /plugins/audio/G.722.2/AMR-WB/dec_gain.h: -------------------------------------------------------------------------------- 1 | /* 2 | *=================================================================== 3 | * 3GPP AMR Wideband Floating-point Speech Codec 4 | *=================================================================== 5 | */ 6 | #ifndef DEC_GAIN_H 7 | #define DEC_GAIN_H 8 | 9 | #include "typedef.h" 10 | 11 | void D_GAIN_init(Word16 *mem); 12 | void D_GAIN_decode(Word16 index, Word16 nbits, Word16 code[], Word16 *gain_pit, 13 | Word32 *gain_cod, Word16 bfi, Word16 prev_bfi, 14 | Word16 state, Word16 unusable_frame, Word16 vad_hist, 15 | Word16 *mem); 16 | void D_GAIN_adaptive_control(Word16 *sig_in, Word16 *sig_out, Word16 l_trm); 17 | void D_GAIN_lag_concealment_init(Word16 lag_hist[]); 18 | void D_GAIN_lag_concealment(Word16 gain_hist[], Word16 lag_hist[], Word32 *T0, 19 | Word16 *old_T0, Word16 *seed, 20 | Word16 unusable_frame); 21 | void D_GAIN_adaptive_codebook_excitation(Word16 exc[], Word32 T0, Word32 frac); 22 | void D_GAIN_pitch_sharpening(Word16 *x, Word32 pit_lag, Word16 sharp); 23 | Word16 D_GAIN_find_voice_factor(Word16 exc[], Word16 Q_exc, Word16 gain_pit, 24 | Word16 code[], Word16 gain_code, 25 | Word16 L_subfr); 26 | 27 | #endif 28 | 29 | -------------------------------------------------------------------------------- /plugins/audio/EasyCodec/EasyCodecs.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "EasyG722"=.\EasyG722.dsp - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Project: "EasyG7231"=.\EasyG7231.dsp - Package Owner=<4> 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<4> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | Project: "EasyG728"=.\EasyG728.dsp - Package Owner=<4> 31 | 32 | Package=<5> 33 | {{{ 34 | }}} 35 | 36 | Package=<4> 37 | {{{ 38 | }}} 39 | 40 | ############################################################################### 41 | 42 | Project: "EasyG729A"=.\EasyG729A.dsp - Package Owner=<4> 43 | 44 | Package=<5> 45 | {{{ 46 | }}} 47 | 48 | Package=<4> 49 | {{{ 50 | }}} 51 | 52 | ############################################################################### 53 | 54 | Global: 55 | 56 | Package=<5> 57 | {{{ 58 | }}} 59 | 60 | Package=<3> 61 | {{{ 62 | }}} 63 | 64 | ############################################################################### 65 | 66 | -------------------------------------------------------------------------------- /plugins/audio/Speex/libspeex/testecho.c: -------------------------------------------------------------------------------- 1 | #ifdef HAVE_CONFIG_H 2 | #include "config.h" 3 | #endif 4 | 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include "speex_echo.h" 12 | #include "speex_preprocess.h" 13 | 14 | 15 | #define NN 160 16 | 17 | int main(int argc, char **argv) 18 | { 19 | int echo_fd, ref_fd, e_fd; 20 | spx_int32_t noise[NN+1]; 21 | short echo_buf[NN], ref_buf[NN], e_buf[NN]; 22 | SpeexEchoState *st; 23 | SpeexPreprocessState *den; 24 | 25 | if (argc != 4) 26 | { 27 | fprintf (stderr, "testecho mic_signal.sw speaker_signal.sw output.sw\n"); 28 | exit(1); 29 | } 30 | echo_fd = open (argv[2], O_RDONLY); 31 | ref_fd = open (argv[1], O_RDONLY); 32 | e_fd = open (argv[3], O_WRONLY | O_CREAT | O_TRUNC, 0644); 33 | 34 | st = speex_echo_state_init(NN, 8*NN); 35 | den = speex_preprocess_state_init(NN, 8000); 36 | 37 | while (read(ref_fd, ref_buf, NN*2)) 38 | { 39 | read(echo_fd, echo_buf, NN*2); 40 | speex_echo_cancel(st, ref_buf, echo_buf, e_buf, noise); 41 | /*speex_preprocess(den, e_buf, noise);*/ 42 | write(e_fd, e_buf, NN*2); 43 | } 44 | speex_echo_state_destroy(st); 45 | speex_preprocess_state_destroy(den); 46 | close(e_fd); 47 | close(echo_fd); 48 | close(ref_fd); 49 | return 0; 50 | } 51 | -------------------------------------------------------------------------------- /plugins/video/H.264/h264-x264_2008.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 10.00 3 | # Visual Studio 2008 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h264-x264", "h264-x264_2008.vcproj", "{4D3EE295-5953-498D-AEDF-9C8792AB5723}" 5 | EndProject 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h264_helper", "gpl\h264_helper_2008.vcproj", "{49E1DA1D-0BAD-4DCD-A4B1-D048A548D53B}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Win32 = Debug|Win32 11 | Release|Win32 = Release|Win32 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {4D3EE295-5953-498D-AEDF-9C8792AB5723}.Debug|Win32.ActiveCfg = Debug|Win32 15 | {4D3EE295-5953-498D-AEDF-9C8792AB5723}.Debug|Win32.Build.0 = Debug|Win32 16 | {4D3EE295-5953-498D-AEDF-9C8792AB5723}.Release|Win32.ActiveCfg = Release|Win32 17 | {4D3EE295-5953-498D-AEDF-9C8792AB5723}.Release|Win32.Build.0 = Release|Win32 18 | {49E1DA1D-0BAD-4DCD-A4B1-D048A548D53B}.Debug|Win32.ActiveCfg = Debug|Win32 19 | {49E1DA1D-0BAD-4DCD-A4B1-D048A548D53B}.Debug|Win32.Build.0 = Debug|Win32 20 | {49E1DA1D-0BAD-4DCD-A4B1-D048A548D53B}.Release|Win32.ActiveCfg = Release|Win32 21 | {49E1DA1D-0BAD-4DCD-A4B1-D048A548D53B}.Release|Win32.Build.0 = Release|Win32 22 | EndGlobalSection 23 | GlobalSection(SolutionProperties) = preSolution 24 | HideSolutionNode = FALSE 25 | EndGlobalSection 26 | EndGlobal 27 | -------------------------------------------------------------------------------- /plugins/audio/GSM0610/src/gsm_option.c: -------------------------------------------------------------------------------- 1 | /* 2 | * gsm_option.c 3 | * 4 | * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische 5 | * Universitaet Berlin. See the accompanying file "COPYRIGHT" for 6 | * details. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. 7 | */ 8 | 9 | 10 | #include "private.h" 11 | 12 | #include "gsm.h" 13 | #include "proto.h" 14 | 15 | int gsm_option P3((r, opt, val), gsm r, int opt, int * val) 16 | { 17 | int result = -1; 18 | 19 | switch (opt) { 20 | case GSM_OPT_LTP_CUT: 21 | #ifdef LTP_CUT 22 | result = r->ltp_cut; 23 | if (val) r->ltp_cut = *val; 24 | #endif 25 | break; 26 | 27 | case GSM_OPT_VERBOSE: 28 | #ifndef NDEBUG 29 | result = r->verbose; 30 | if (val) r->verbose = *val; 31 | #endif 32 | break; 33 | 34 | case GSM_OPT_FAST: 35 | 36 | #if defined(FAST) && defined(USE_FLOAT_MUL) 37 | result = r->fast; 38 | if (val) r->fast = !!*val; 39 | #endif 40 | break; 41 | 42 | case GSM_OPT_FRAME_CHAIN: 43 | 44 | #ifdef WAV49 45 | result = r->frame_chain; 46 | if (val) r->frame_chain = *val; 47 | #endif 48 | break; 49 | 50 | case GSM_OPT_FRAME_INDEX: 51 | 52 | #ifdef WAV49 53 | result = r->frame_index; 54 | if (val) r->frame_index = *val; 55 | #endif 56 | break; 57 | 58 | case GSM_OPT_WAV49: 59 | 60 | #ifdef WAV49 61 | result = r->wav_fmt; 62 | if (val) r->wav_fmt = !!*val; 63 | #endif 64 | break; 65 | 66 | default: 67 | break; 68 | } 69 | return result; 70 | } 71 | -------------------------------------------------------------------------------- /plugins/audio/GSM0610/inc/config.h: -------------------------------------------------------------------------------- 1 | /* 2 | * config.h 3 | * 4 | * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische 5 | * Universitaet Berlin. See the accompanying file "COPYRIGHT" for 6 | * details. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. 7 | */ 8 | 9 | 10 | #ifndef CONFIG_H 11 | #define CONFIG_H 12 | 13 | /*efine SIGHANDLER_T int * signal handlers are void */ 14 | /*efine HAS_SYSV_SIGNAL 1 * sigs not blocked/reset? */ 15 | 16 | #define HAS_STDLIB_H 1 /* /usr/include/stdlib.h */ 17 | /*efine HAS_LIMITS_H 1 * /usr/include/limits.h */ 18 | #define HAS_FCNTL_H 1 /* /usr/include/fcntl.h */ 19 | /*efine HAS_ERRNO_DECL 1 * errno.h declares errno */ 20 | 21 | #define HAS_FSTAT 1 /* fstat syscall */ 22 | #define HAS_FCHMOD 1 /* fchmod syscall */ 23 | #define HAS_CHMOD 1 /* chmod syscall */ 24 | #define HAS_FCHOWN 1 /* fchown syscall */ 25 | #define HAS_CHOWN 1 /* chown syscall */ 26 | /*efine HAS__FSETMODE 1 * _fsetmode -- set file mode */ 27 | 28 | #define HAS_STRING_H 1 /* /usr/include/string.h */ 29 | /*efine HAS_STRINGS_H 1 * /usr/include/strings.h */ 30 | 31 | #define HAS_UNISTD_H 1 /* /usr/include/unistd.h */ 32 | #define HAS_UTIME 1 /* POSIX utime(path, times) */ 33 | /*efine HAS_UTIMES 1 * use utimes() syscall instead */ 34 | #define HAS_UTIME_H 1 /* UTIME header file */ 35 | /*efine HAS_UTIMBUF 1 * struct utimbuf */ 36 | /*efine HAS_UTIMEUSEC 1 * microseconds in utimbuf? */ 37 | 38 | #endif /* CONFIG_H */ 39 | -------------------------------------------------------------------------------- /plugins/video/H.261-vic/vic/videoframe.h: -------------------------------------------------------------------------------- 1 | #ifndef VIDEO_FRAME_H 2 | #define VIDEO_FRAME_H 3 | 4 | /************ Change log 5 | * 6 | * $Log$ 7 | * Revision 1.2 2006/07/31 09:09:22 csoutheren 8 | * Checkin of validated codec used during development 9 | * 10 | * Revision 1.1.2.1 2006/04/06 01:17:17 csoutheren 11 | * Initial version of H.261 video codec plugin for OPAL 12 | * 13 | * Revision 2.1 2003/03/15 23:43:00 robertj 14 | * Update to OpenH323 v1.11.7 15 | * 16 | * Revision 1.8 2003/02/10 00:32:34 robertj 17 | * Removed code for redundent class and constructor. 18 | * 19 | * Revision 1.7 2001/05/10 05:25:44 robertj 20 | * Removed need for VIC code to use ptlib. 21 | * 22 | * Revision 1.6 2000/12/19 22:22:34 dereks 23 | * Remove connection to grabber-OS.cxx files. grabber-OS.cxx files no longer used. 24 | * Video data is now read from a video channel, using the pwlib classes. 25 | * 26 | * Revision 1.5 2000/08/25 03:18:50 dereks 27 | * Add change log facility (Thanks Robert for the info on implementation) 28 | * 29 | * 30 | * 31 | ********/ 32 | 33 | 34 | class VideoFrame { 35 | public: 36 | VideoFrame(u_char *cr, int w, int h); 37 | VideoFrame(int w, int h) ; 38 | ~VideoFrame(); 39 | 40 | void SetSize(int newwidth, int newheight); 41 | 42 | u_char *frameptr; 43 | u_char *crvec; 44 | 45 | u_int ts; 46 | 47 | int width; 48 | int height; 49 | }; 50 | 51 | #endif //ifndef VIDEO_FRAME_H 52 | 53 | 54 | -------------------------------------------------------------------------------- /plugins/audio/iLBC/iLBC/iLBC_decode.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | iLBC_decode.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #ifndef __iLBC_ILBCDECODE_H 14 | #define __iLBC_ILBCDECODE_H 15 | 16 | #include "iLBC_define.h" 17 | 18 | short initDecode( /* (o) Number of decoded 19 | samples */ 20 | iLBC_Dec_Inst_t *iLBCdec_inst, /* (i/o) Decoder instance */ 21 | int mode, /* (i) frame size mode */ 22 | int use_enhancer /* (i) 1 to use enhancer 23 | 0 to run without 24 | enhancer */ 25 | ); 26 | 27 | void iLBC_decode( 28 | float *decblock, /* (o) decoded signal block */ 29 | unsigned char *bytes, /* (i) encoded signal bits */ 30 | iLBC_Dec_Inst_t *iLBCdec_inst, /* (i/o) the decoder state 31 | structure */ 32 | int mode /* (i) 0: bad packet, PLC, 33 | 1: normal */ 34 | ); 35 | 36 | 37 | 38 | #endif 39 | 40 | 41 | -------------------------------------------------------------------------------- /plugins/audio/SBC/COPYING: -------------------------------------------------------------------------------- 1 | Redistribution and use in source and binary forms, with or without 2 | modification, are permitted provided that the following conditions 3 | are met: 4 | 5 | - Redistributions of source code must retain the above copyright 6 | notice, this list of conditions and the following disclaimer. 7 | 8 | - Redistributions in binary form must reproduce the above copyright 9 | notice, this list of conditions and the following disclaimer in the 10 | documentation and/or other materials provided with the distribution. 11 | 12 | - Neither the name of the Xiph.org Foundation nor the names of its 13 | contributors may be used to endorse or promote products derived from 14 | this software without specific prior written permission. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17 | ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 18 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 19 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR 20 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 24 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 25 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 26 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | -------------------------------------------------------------------------------- /plugins/audio/Speex/COPYING: -------------------------------------------------------------------------------- 1 | Redistribution and use in source and binary forms, with or without 2 | modification, are permitted provided that the following conditions 3 | are met: 4 | 5 | - Redistributions of source code must retain the above copyright 6 | notice, this list of conditions and the following disclaimer. 7 | 8 | - Redistributions in binary form must reproduce the above copyright 9 | notice, this list of conditions and the following disclaimer in the 10 | documentation and/or other materials provided with the distribution. 11 | 12 | - Neither the name of the Xiph.org Foundation nor the names of its 13 | contributors may be used to endorse or promote products derived from 14 | this software without specific prior written permission. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17 | ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 18 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 19 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR 20 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 24 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 25 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 26 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | -------------------------------------------------------------------------------- /plugins/audio/G.722.2/AMR-WB/dec_util.h: -------------------------------------------------------------------------------- 1 | /* 2 | *=================================================================== 3 | * 3GPP AMR Wideband Floating-point Speech Codec 4 | *=================================================================== 5 | */ 6 | #ifndef DEC_UTIL_H 7 | #define DEC_UTIL_H 8 | 9 | #include "typedef.h" 10 | #include "dec_main.h" 11 | 12 | Word16 D_UTIL_random(Word16 *seed); 13 | 14 | Word32 D_UTIL_pow2(Word16 exponant, Word16 fraction); 15 | Word16 D_UTIL_norm_l (Word32 L_var1); 16 | Word16 D_UTIL_norm_s (Word16 var1); 17 | Word32 D_UTIL_dot_product12(Word16 x[], Word16 y[], Word16 lg, Word16 *exp); 18 | void D_UTIL_normalised_inverse_sqrt(Word32 *frac, Word16 *exp); 19 | Word32 D_UTIL_inverse_sqrt(Word32 L_x); 20 | void D_UTIL_log2(Word32 L_x, Word16 *exponent, Word16 *fraction); 21 | void D_UTIL_l_extract(Word32 L_32, Word16 *hi, Word16 *lo); 22 | Word32 D_UTIL_mpy_32_16 (Word16 hi, Word16 lo, Word16 n); 23 | Word32 D_UTIL_mpy_32 (Word16 hi1, Word16 lo1, Word16 hi2, Word16 lo2); 24 | Word16 D_UTIL_saturate(Word32 inp); 25 | void D_UTIL_signal_up_scale(Word16 x[], Word16 lg, Word16 exp); 26 | void D_UTIL_signal_down_scale(Word16 x[], Word16 lg, Word16 exp); 27 | void D_UTIL_dec_synthesis(Word16 Aq[], Word16 exc[], Word16 Q_new, 28 | Word16 synth16k[], Word16 prms, Word16 HfIsf[], 29 | Word16 mode, Word16 newDTXState, Word16 bfi, 30 | Decoder_State *st); 31 | void D_UTIL_preemph(Word16 x[], Word16 mu, Word16 lg, Word16 *mem); 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /plugins/audio/celt/Makefile.in: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile for Celt Codec Plugin 3 | # 4 | # based on the GSM-AMR one 5 | # 6 | 7 | AC_PLUGIN_DIR=@AC_PLUGIN_DIR@ 8 | prefix=@prefix@ 9 | exec_prefix=@exec_prefix@ 10 | libdir=@libdir@ 11 | target_os=@target_os@ 12 | 13 | PLUGINDIR=../.. 14 | 15 | BASENAME= celtcodec 16 | SONAME = $(BASENAME) 17 | 18 | CC =@CC@ 19 | CFLAGS =@CFLAGS@ 20 | CXX =@CXX@ 21 | LDSO =@LDSO@ 22 | PLUGINEXT =@PLUGINEXT@ 23 | STDCCFLAGS =@STDCCFLAGS@ 24 | LDFLAGS =@LDFLAGS@ 25 | LIBS = 26 | 27 | SRCS = celtcodec.c 28 | 29 | CFLAGS += -I../../../include 30 | EXTRACFLAGS=-I$(PLUGINDIR) 31 | 32 | EXTRACFLAGS += @CELT_CFLAGS@ 33 | LIBS += @CELT_LIBS@ 34 | 35 | PLUGIN = ./$(BASENAME)_pwplugin.$(PLUGINEXT) 36 | 37 | ifeq ($(VERBOSE),) 38 | Q_CC = @echo [CC] `echo $< | sed s^@OPALDIR@/^^` ; 39 | Q_LD = @echo [LD] `echo $(PLUGIN) | sed s^@OPALDIR@/^^` ; 40 | endif 41 | 42 | %.o : %.c 43 | $(Q_CC)$(CC) -c $(STDCCFLAGS) $(EXTRACFLAGS) $(CFLAGS) -o $@ $< 44 | 45 | OBJECTS = $(patsubst %.c,%.o,$(notdir $(SRCS))) 46 | 47 | $(PLUGIN): $(OBJECTS) 48 | 49 | ifeq (solaris,$(findstring solaris,$(target_os))) 50 | 51 | $(Q_LD)$(CC) $(LDSO) $@ -o $@ $^ $(LIBS) 52 | else 53 | $(Q_LD)$(CC) $(LDSO) -o $@ $^ $(LIBS) 54 | 55 | endif 56 | 57 | install: 58 | mkdir -p $(DESTDIR)$(libdir)/$(AC_PLUGIN_DIR) 59 | install $(PLUGIN) $(DESTDIR)$(libdir)/$(AC_PLUGIN_DIR) 60 | 61 | uninstall: 62 | rm -f $(DESTDIR)$(libdir)/$(AC_PLUGIN_DIR)/$(PLUGIN) 63 | 64 | clean: 65 | rm -f $(OBJECTS) $(PLUGIN) 66 | 67 | ########################################### 68 | -------------------------------------------------------------------------------- /plugins/audio/gsm-amr/src/interf_enc.h: -------------------------------------------------------------------------------- 1 | /* 2 | * =================================================================== 3 | * TS 26.104 4 | * REL-5 V5.4.0 2004-03 5 | * REL-6 V6.1.0 2004-03 6 | * 3GPP AMR Floating-point Speech Codec 7 | * =================================================================== 8 | * 9 | */ 10 | 11 | /* 12 | * interf_enc.h 13 | * 14 | * 15 | * Project: 16 | * AMR Floating-Point Codec 17 | * 18 | * Contains: 19 | * Defines interface to AMR encoder 20 | * 21 | */ 22 | 23 | #ifndef _interf_enc_h_ 24 | #define _interf_enc_h_ 25 | 26 | #include "sp_enc.h" 27 | 28 | /* 29 | * Function prototypes 30 | */ 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #define GSMAMR_TX_SPEECH 0X0000 37 | #define GSMAMR_TX_SID_FIRST 0X0001 38 | #define GSMAMR_TX_SID_UPDATE 0X0002 39 | #define GSMAMR_TX_NO_DATA 0X0003 40 | 41 | 42 | /* 43 | * Encodes one frame of speech 44 | * Returns packed octets 45 | */ 46 | extern int Encoder_Interface_Encode( void *st, enum Mode mode, const short *speech, 47 | 48 | #ifndef ETSI 49 | unsigned char *serial, /* max size 31 bytes */ 50 | 51 | #else 52 | short *serial, /* size 500 bytes */ 53 | #endif 54 | 55 | int forceSpeech ); /* use speech mode */ 56 | 57 | /* 58 | * Reserve and init. memory 59 | */ 60 | extern void *Encoder_Interface_init( int dtx ); 61 | 62 | /* 63 | * Exit and free memory 64 | */ 65 | extern void Encoder_Interface_exit( void *state ); 66 | #ifdef __cplusplus 67 | } 68 | #endif 69 | 70 | #endif // !_interf_enc_h_ 71 | -------------------------------------------------------------------------------- /include/h323.h: -------------------------------------------------------------------------------- 1 | /* 2 | * h323.h 3 | * 4 | * H.323 protocol handler 5 | * 6 | * H323Plus Library 7 | * 8 | * Copyright (c) 1998-2000 Equivalence Pty. Ltd. 9 | * 10 | * The contents of this file are subject to the Mozilla Public License 11 | * Version 1.0 (the "License"); you may not use this file except in 12 | * compliance with the License. You may obtain a copy of the License at 13 | * http://www.mozilla.org/MPL/ 14 | * 15 | * Software distributed under the License is distributed on an "AS IS" 16 | * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See 17 | * the License for the specific language governing rights and limitations 18 | * under the License. 19 | * 20 | * The Original Code is Open H323 Library. 21 | * 22 | * The Initial Developer of the Original Code is Equivalence Pty. Ltd. 23 | * 24 | * Portions of this code were written with the assisance of funding from 25 | * Vovida Networks, Inc. http://www.vovida.com. 26 | * 27 | * Contributor(s): ______________________________________. 28 | * 29 | * $Id $ 30 | * 31 | */ 32 | 33 | #ifndef _H323_H 34 | #define _H323_H 35 | 36 | #include "openh323buildopts.h" 37 | #include "ptlib_extras.h" 38 | 39 | #include "h323con.h" 40 | #include "h323ep.h" 41 | #include "gkclient.h" 42 | 43 | #include 44 | 45 | PString OpalGetVersion(); 46 | unsigned OpalGetMajorVersion(); 47 | unsigned OpalGetMinorVersion(); 48 | unsigned OpalGetBuildNumber(); 49 | 50 | #endif // _H323_H 51 | 52 | ///////////////////////////////////////////////////////////////////////////// 53 | 54 | 55 | -------------------------------------------------------------------------------- /plugins/audio/G.722.2/AMR-WB/enc_lpc.h: -------------------------------------------------------------------------------- 1 | /* 2 | *=================================================================== 3 | * 3GPP AMR Wideband Floating-point Speech Codec 4 | *=================================================================== 5 | */ 6 | #ifndef ENC_LPC_H 7 | #define ENC_LPC_H 8 | 9 | #include "typedef.h" 10 | 11 | void E_LPC_int_isp_find(Word16 isp_old[], Word16 isp_new[], 12 | const Word16 frac[], Word16 Az[]); 13 | void E_LPC_f_int_isp_find(Float32 isp_old[], Float32 isp_new[], Float32 a[], 14 | Word32 nb_subfr, Word32 m); 15 | void E_LPC_a_weight(Float32 *a, Float32 *ap, Float32 gamma, Word32 m); 16 | void E_LPC_isf_isp_conversion(Word16 isf[], Word16 isp[], Word16 m); 17 | Word16 E_LPC_isf_sub_vq(Float32 *x, const Float32 *E_ROM_dico, Word32 dim, 18 | Word32 E_ROM_dico_size, Float32 *distance); 19 | void E_LPC_isp_a_conversion(Word16 isp[], Word16 a[], Word16 m); 20 | void E_LPC_isp_isf_conversion(Float32 isp[], Float32 isf[], Word32 m); 21 | void E_LPC_lag_wind(Float32 r[], Word32 m); 22 | void E_LPC_lev_dur(Float32 *a, Float32 *r, Word32 m); 23 | void E_LPC_a_isp_conversion(Float32 *a, Float32 *isp, Float32 *old_isp, 24 | Word32 m); 25 | void E_LPC_isf_2s3s_quantise(Float32 *isf1, Word16 *isf_q, Word16 *past_isfq, 26 | Word32 *indice, Word32 nb_surv); 27 | void E_LPC_isf_2s5s_quantise(Float32 *isf1, Word16 *isf_q, Word16 *past_isfq, 28 | Word32 *indice, Word32 nb_surv); 29 | 30 | 31 | #endif 32 | 33 | -------------------------------------------------------------------------------- /src/h350/commURI.schema: -------------------------------------------------------------------------------- 1 | 2 | # Communication Object Schema 3 | # 4 | # Schema for Representing Communication Objects in an LDAP Directory 5 | # 6 | # Abstract 7 | # 8 | # This document defines the schema for representing Communication 9 | # objects in an LDAP directory [LDAPv3]. It defines schema elements 10 | # to represent a communication object URI [commURIObject]. 11 | # 12 | # 13 | # 14 | # .1 = Communication related work 15 | # .1.1 = commURIObject 16 | # .1.1.1 = attributes 17 | # .1.1.2 = objectclass 18 | # .1.1.3 = syntax 19 | # 20 | # Attribute Type Definitions 21 | # 22 | # The following attribute types are defined in this document: 23 | # 24 | # commURI 25 | # 26 | attributetype (0.0.8.350.1.1.1.1.1 27 | NAME 'commURI' 28 | DESC 'Labeled URI format to point to the distinguished name of the commUniqueId' 29 | EQUALITY caseExactMatch 30 | SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' ) 31 | # EQUALITY caseIgnoreIA5Match 32 | # SUBSTR caseIgnoreIA5SubstringsMatch 33 | # SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) 34 | 35 | # Object Class Definitions 36 | # 37 | # The following object classes are defined in this document: 38 | # 39 | # commURIObject 40 | # 41 | # commURIObject 42 | # 43 | # This auxiliary object class represents a URI attribute type 44 | # 45 | objectclass (0.0.8.350.1.1.1.2.1 46 | NAME 'commURIObject' 47 | DESC 'object that contains the URI attribute type' 48 | SUP top AUXILIARY 49 | MAY ( commURI ) 50 | ) 51 | 52 | -------------------------------------------------------------------------------- /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- 1 | name: "CodeQL" 2 | 3 | on: 4 | push: 5 | branches: [master, ] 6 | pull_request: 7 | # The branches below must be a subset of the branches above 8 | branches: [master] 9 | schedule: 10 | - cron: '0 18 * * 6' 11 | 12 | jobs: 13 | analyze: 14 | name: Analyze 15 | runs-on: ubuntu-22.04 16 | 17 | steps: 18 | - name: Checkout repository 19 | uses: actions/checkout@v3 20 | with: 21 | # We must fetch at least the immediate parents so that if this is 22 | # a pull request then we can checkout the head. 23 | fetch-depth: 2 24 | 25 | # Initializes the CodeQL tools for scanning. 26 | - name: Initialize CodeQL 27 | uses: github/codeql-action/init@v3 28 | # Override language selection by uncommenting this and choosing your languages 29 | with: 30 | languages: cpp 31 | 32 | - run: | 33 | sudo apt-get install g++ pkg-config automake make flex bison libssl-dev 34 | cd .. 35 | git clone https://github.com/willamowius/ptlib 36 | cd ptlib 37 | ./configure --enable-ipv6 --disable-odbc --disable-sdl --disable-lua --disable-expat 38 | make optnoshared 39 | cd ../h323plus 40 | ./configure --enable-h235 --enable-h235-256 --enable-h46017 --enable-h46026 --enable-h46019m --enable-h249 --enable-h46025 --enable-h460p --enable-h460pre --enable-h460com --enable-h460im --enable-h461 --enable-t120 --enable-t140 --enable-aec 41 | make optnoshared 42 | 43 | - name: Perform CodeQL Analysis 44 | uses: github/codeql-action/analyze@v3 45 | -------------------------------------------------------------------------------- /src/asn/h4508.asn: -------------------------------------------------------------------------------- 1 | Name-Operations 2 | { 3 | itu-t recommendation h 450 8 version1(0) name-operations(0) 4 | } 5 | 6 | DEFINITIONS AUTOMATIC TAGS ::= 7 | BEGIN 8 | 9 | IMPORTS Extension FROM H4501 -- Manufacturer-specific-service-extension-definition 10 | { 11 | itu-t recommendation h 450 1 version1 (0) msi-definition (18) 12 | } 13 | 14 | MixedExtension FROM H4505 -- Call-Hold-Operations 15 | { 16 | itu-t recommendation h 450 4 version1(0) call-hold-operations(0) 17 | }; 18 | 19 | NameOperations ::= ENUMERATED 20 | { 21 | callingName(0), 22 | alertingName(1), 23 | connectedName(2), 24 | busyName(3) 25 | } 26 | 27 | Name ::= CHOICE 28 | { 29 | namePresentationAllowed NamePresentationAllowed, 30 | namePresentationRestricted NamePresentationRestricted, 31 | nameNotAvailable NULL, 32 | ... 33 | } 34 | 35 | NamePresentationAllowed ::= CHOICE 36 | { 37 | simpleName SimpleName, 38 | extendedName ExtendedName, 39 | ... 40 | } 41 | 42 | NamePresentationRestricted ::= CHOICE 43 | { 44 | simpleName SimpleName, 45 | extendedName ExtendedName, 46 | restrictedNull NULL, -- only used in case of interworking where other network 47 | -- provides indication that the name is restricted without 48 | -- the name itself 49 | ... 50 | } 51 | 52 | SimpleName ::= OCTET STRING (SIZE (1..50)) 53 | 54 | ExtendedName ::= BMPString(SIZE (1..256)) --Basic ISO/IEC 10646-1 (Unicode) 55 | 56 | END -- of Name-Operations 57 | 58 | -------------------------------------------------------------------------------- /plugins/audio/iLBC/iLBC/LPCdecode.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | LPC_decode.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #ifndef __iLBC_LPC_DECODE_H 14 | #define __iLBC_LPC_DECODE_H 15 | 16 | void LSFinterpolate2a_dec( 17 | 18 | 19 | float *a, /* (o) lpc coefficients for a sub-frame */ 20 | float *lsf1, /* (i) first lsf coefficient vector */ 21 | float *lsf2, /* (i) second lsf coefficient vector */ 22 | float coef, /* (i) interpolation weight */ 23 | int length /* (i) length of lsf vectors */ 24 | ); 25 | 26 | void SimplelsfDEQ( 27 | float *lsfdeq, /* (o) dequantized lsf coefficients */ 28 | int *index, /* (i) quantization index */ 29 | int lpc_n /* (i) number of LPCs */ 30 | ); 31 | 32 | void DecoderInterpolateLSF( 33 | float *syntdenum, /* (o) synthesis filter coefficients */ 34 | float *weightdenum, /* (o) weighting denumerator 35 | coefficients */ 36 | float *lsfdeq, /* (i) dequantized lsf coefficients */ 37 | int length, /* (i) length of lsf coefficient vector */ 38 | iLBC_Dec_Inst_t *iLBCdec_inst 39 | /* (i) the decoder state structure */ 40 | ); 41 | 42 | #endif 43 | 44 | 45 | -------------------------------------------------------------------------------- /plugins/audio/G.722.2/AMR-WB/enc_gain.h: -------------------------------------------------------------------------------- 1 | /* 2 | *=================================================================== 3 | * 3GPP AMR Wideband Floating-point Speech Codec 4 | *=================================================================== 5 | */ 6 | #ifndef ENC_GAIN_H 7 | #define ENC_GAIN_H 8 | 9 | #include "typedef.h" 10 | 11 | void E_GAIN_clip_init(Float32 mem[]); 12 | Word32 E_GAIN_clip_test(Float32 mem[]); 13 | void E_GAIN_clip_isf_test(Float32 isf[], Float32 mem[]); 14 | void E_GAIN_clip_pit_test(Float32 gain_pit, Float32 mem[]); 15 | void E_GAIN_lp_decim2(Float32 x[], Word32 l, Float32 *mem); 16 | Word32 E_GAIN_olag_median(Word32 prev_ol_lag, Word32 old_ol_lag[5]); 17 | Word32 E_GAIN_open_loop_search(Float32 *wsp, Word32 L_min, Word32 L_max, 18 | Word32 nFrame, Word32 L_0, Float32 *gain, 19 | Float32 *mem, Float32 hp_old_wsp[], 20 | UWord8 weight_flg); 21 | Word32 E_GAIN_closed_loop_search(Float32 exc[], Float32 xn[], Float32 h[], 22 | Word32 t0_min, Word32 t0_max, 23 | Word32 *pit_frac, Word32 i_subfr, 24 | Word32 t0_fr2, Word32 t0_fr1); 25 | void E_GAIN_adaptive_codebook_excitation(Word16 exc[], Word16 T0, Word32 frac, 26 | Word16 L_subfr); 27 | void E_GAIN_pitch_sharpening(Word16 *x, Word16 pit_lag); 28 | void E_GAIN_f_pitch_sharpening(Float32 *x, Word32 pit_lag); 29 | Word32 E_GAIN_voice_factor(Word16 exc[], Word16 Q_exc, Word16 gain_pit, 30 | Word16 code[], Word16 gain_code); 31 | 32 | #endif 33 | 34 | -------------------------------------------------------------------------------- /plugins/audio/Speex/libspeex/smallft.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 | * * 8 | * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * 9 | * by the XIPHOPHORUS Company http://www.xiph.org/ * 10 | * * 11 | ******************************************************************** 12 | 13 | function: fft transform 14 | last mod: $Id$ 15 | 16 | ********************************************************************/ 17 | /** 18 | @file smallft.h 19 | @brief Discrete Rotational Fourier Transform (DRFT) 20 | */ 21 | 22 | #ifndef _V_SMFT_H_ 23 | #define _V_SMFT_H_ 24 | 25 | 26 | #ifdef __cplusplus 27 | extern "C" { 28 | #endif 29 | 30 | /** Discrete Rotational Fourier Transform lookup */ 31 | struct drft_lookup{ 32 | int n; 33 | float *trigcache; 34 | int *splitcache; 35 | }; 36 | 37 | extern void spx_drft_forward(struct drft_lookup *l,float *data); 38 | extern void spx_drft_backward(struct drft_lookup *l,float *data); 39 | extern void spx_drft_init(struct drft_lookup *l,int n); 40 | extern void spx_drft_clear(struct drft_lookup *l); 41 | 42 | #ifdef __cplusplus 43 | } 44 | #endif 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /src/dllmain.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * dllmain.cxx 3 | * 4 | * DLL main entry point for OpenH323.dll 5 | * 6 | * Open H323 Library 7 | * 8 | * Copyright (c) 1993-1998 Equivalence Pty. Ltd. 9 | * 10 | * The contents of this file are subject to the Mozilla Public License 11 | * Version 1.0 (the "License"); you may not use this file except in 12 | * compliance with the License. You may obtain a copy of the License at 13 | * http://www.mozilla.org/MPL/ 14 | * 15 | * Software distributed under the License is distributed on an "AS IS" 16 | * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See 17 | * the License for the specific language governing rights and limitations 18 | * under the License. 19 | * 20 | * The Original Code is Open H323 Library. 21 | * 22 | * The Initial Developer of the Original Code is Equivalence Pty. Ltd. 23 | * 24 | * Contributor(s): ______________________________________. 25 | * 26 | * $Log$ 27 | * Revision 1.1 2007/08/06 20:51:03 shorne 28 | * First commit of h323plus 29 | * 30 | * Revision 1.3 2002/11/10 23:14:40 robertj 31 | * Made sure static variables are included in DLL 32 | * 33 | * Revision 1.2 2000/05/02 04:32:26 robertj 34 | * Fixed copyright notice comment. 35 | * 36 | * Revision 1.1 2000/04/13 00:02:01 robertj 37 | * Added ability to create DLL version of library. 38 | * 39 | */ 40 | 41 | #include 42 | 43 | #define H323_STATIC_LIB 44 | #include 45 | 46 | 47 | HINSTANCE PDllInstance; 48 | 49 | PBoolean WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID) 50 | { 51 | if (fdwReason == DLL_PROCESS_ATTACH) 52 | PDllInstance = hinstDLL; 53 | return TRUE; 54 | } 55 | 56 | -------------------------------------------------------------------------------- /include/h460/h46019.h: -------------------------------------------------------------------------------- 1 | // 2 | // h46019.h 3 | // 4 | // Code automatically generated by asnparse. 5 | // 6 | 7 | #if ! H323_DISABLE_H46019 8 | 9 | #ifndef __H46019_H 10 | #define __H46019_H 11 | 12 | #ifdef P_USE_PRAGMA 13 | #pragma interface 14 | #endif 15 | 16 | #include 17 | 18 | #include "h225.h" 19 | #include "h245.h" 20 | 21 | 22 | // 23 | // TraversalParameters 24 | // 25 | 26 | class H46019_TraversalParameters : public PASN_Sequence 27 | { 28 | #ifndef PASN_LEANANDMEAN 29 | PCLASSINFO(H46019_TraversalParameters, PASN_Sequence); 30 | #endif 31 | public: 32 | H46019_TraversalParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 33 | 34 | enum OptionalFields { 35 | e_multiplexedMediaChannel, 36 | e_multiplexedMediaControlChannel, 37 | e_multiplexID, 38 | e_keepAliveChannel, 39 | e_keepAlivePayloadType, 40 | e_keepAliveInterval 41 | }; 42 | 43 | H245_TransportAddress m_multiplexedMediaChannel; 44 | H245_TransportAddress m_multiplexedMediaControlChannel; 45 | PASN_Integer m_multiplexID; 46 | H245_TransportAddress m_keepAliveChannel; 47 | PASN_Integer m_keepAlivePayloadType; 48 | H225_TimeToLive m_keepAliveInterval; 49 | 50 | PINDEX GetDataLength() const; 51 | PBoolean Decode(PASN_Stream & strm); 52 | void Encode(PASN_Stream & strm) const; 53 | #ifndef PASN_NOPRINTON 54 | void PrintOn(ostream & strm) const; 55 | #endif 56 | Comparison Compare(const PObject & obj) const; 57 | PObject * Clone() const; 58 | }; 59 | 60 | 61 | #endif // __H46019_H 62 | 63 | #endif // if ! H323_DISABLE_H46019 64 | 65 | 66 | // End of h46019.h 67 | -------------------------------------------------------------------------------- /src/opalglobalstatics.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * opalglobalstatics.cxx 3 | * 4 | * Various global statics that need to be instantiated upon startup 5 | * 6 | * Portable Windows Library 7 | * 8 | * Copyright (C) 2004 Post Increment 9 | * 10 | * The contents of this file are subject to the Mozilla Public License 11 | * Version 1.0 (the "License"); you may not use this file except in 12 | * compliance with the License. You may obtain a copy of the License at 13 | * http://www.mozilla.org/MPL/ 14 | * 15 | * Software distributed under the License is distributed on an "AS IS" 16 | * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See 17 | * the License for the specific language governing rights and limitations 18 | * under the License. 19 | * 20 | * The Original Code is Portable Windows Library. 21 | * 22 | * The Initial Developer of the Original Code is Post Increment 23 | * 24 | * Contributor(s): ______________________________________. 25 | * 26 | * $Id$ 27 | 28 | */ 29 | 30 | #ifndef _OPALGLOBALSTATIC_CXX 31 | #define _OPALGLOBALSTATIC_CXX 32 | 33 | #if defined(P_HAS_PLUGINS) 34 | class PluginLoader : public PProcessStartup 35 | { 36 | PCLASSINFO(PluginLoader, PProcessStartup); 37 | public: 38 | void OnStartup() 39 | { H323PluginCodecManager::Bootstrap(); } 40 | }; 41 | #endif 42 | 43 | ////////////////////////////////// 44 | 45 | #if defined(P_HAS_PLUGINS) 46 | static PFactory::Worker h323PluginCodecManagerFactory("H323PluginCodecManager", true); 47 | static PFactory::Worker h323pluginStartupFactory("H323PluginLoader", true); 48 | #endif 49 | 50 | ////////////////////////////////// 51 | 52 | 53 | 54 | #endif 55 | -------------------------------------------------------------------------------- /plugins/audio/iLBC/iLBC/hpInput.c: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | hpInput.c 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #include "constants.h" 14 | 15 | /*----------------------------------------------------------------* 16 | * Input high-pass filter 17 | *---------------------------------------------------------------*/ 18 | 19 | void hpInput( 20 | float *In, /* (i) vector to filter */ 21 | int len, /* (i) length of vector to filter */ 22 | float *Out, /* (o) the resulting filtered vector */ 23 | float *mem /* (i/o) the filter state */ 24 | ){ 25 | int i; 26 | float *pi, *po; 27 | 28 | /* all-zero section*/ 29 | 30 | pi = &In[0]; 31 | po = &Out[0]; 32 | for (i=0; i 11 | 12 | #include "private.h" 13 | #include "gsm.h" 14 | #include "proto.h" 15 | 16 | /* 17 | * 4.3 FIXED POINT IMPLEMENTATION OF THE RPE-LTP DECODER 18 | */ 19 | 20 | static void Postprocessing P2((S,s), 21 | struct gsm_state * S, 22 | register word * s) 23 | { 24 | register int k; 25 | register word msr = S->msr; 26 | register longword ltmp; /* for GSM_ADD */ 27 | register word tmp; 28 | 29 | for (k = 160; k--; s++) { 30 | tmp = GSM_MULT_R( msr, 28180 ); 31 | msr = (word) GSM_ADD(*s, tmp); /* Deemphasis */ 32 | *s = GSM_ADD(msr, msr) & 0xFFF8; /* Truncation & Upscaling */ 33 | } 34 | S->msr = msr; 35 | } 36 | 37 | void Gsm_Decoder P8((S,LARcr, Ncr,bcr,Mcr,xmaxcr,xMcr,s), 38 | struct gsm_state * S, 39 | 40 | word * LARcr, /* [0..7] IN */ 41 | 42 | word * Ncr, /* [0..3] IN */ 43 | word * bcr, /* [0..3] IN */ 44 | word * Mcr, /* [0..3] IN */ 45 | word * xmaxcr, /* [0..3] IN */ 46 | word * xMcr, /* [0..13*4] IN */ 47 | 48 | word * s) /* [0..159] OUT */ 49 | { 50 | int j, k; 51 | word erp[40], wt[160]; 52 | word * drp = S->dp0 + 120; 53 | 54 | for (j=0; j <= 3; j++, xmaxcr++, bcr++, Ncr++, Mcr++, xMcr += 13) { 55 | 56 | Gsm_RPE_Decoding( S, *xmaxcr, *Mcr, xMcr, erp ); 57 | Gsm_Long_Term_Synthesis_Filtering( S, *Ncr, *bcr, erp, drp ); 58 | 59 | for (k = 0; k <= 39; k++) wt[ j * 40 + k ] = drp[ k ]; 60 | } 61 | 62 | Gsm_Short_Term_Synthesis_Filter( S, LARcr, wt, s ); 63 | Postprocessing(S, s); 64 | } 65 | -------------------------------------------------------------------------------- /include/h460/h460tm.h: -------------------------------------------------------------------------------- 1 | // 2 | // h460tm.h 3 | // 4 | // Code automatically generated by asnparse. 5 | // 6 | 7 | #if ! H323_DISABLE_H460TM 8 | 9 | #ifndef __H460TM_H 10 | #define __H460TM_H 11 | 12 | #ifdef P_USE_PRAGMA 13 | #pragma interface 14 | #endif 15 | 16 | #include 17 | 18 | // 19 | // TMmode 20 | // 21 | 22 | class H460TM_TMmode : public PASN_Enumeration 23 | { 24 | #ifndef PASN_LEANANDMEAN 25 | PCLASSINFO(H460TM_TMmode, PASN_Enumeration); 26 | #endif 27 | public: 28 | H460TM_TMmode(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass); 29 | 30 | enum Enumerations { 31 | e_tmOpen = 1, 32 | e_tmPublic, 33 | e_tmPrivate, 34 | e_tmBroadcast, 35 | e_tmReceive 36 | }; 37 | 38 | H460TM_TMmode & operator=(unsigned v); 39 | PObject * Clone() const; 40 | }; 41 | 42 | 43 | // 44 | // MultipointTM 45 | // 46 | 47 | class H460TM_MultipointTM : public PASN_Sequence 48 | { 49 | #ifndef PASN_LEANANDMEAN 50 | PCLASSINFO(H460TM_MultipointTM, PASN_Sequence); 51 | #endif 52 | public: 53 | H460TM_MultipointTM(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 54 | 55 | enum OptionalFields { 56 | e_sender, 57 | e_receiver 58 | }; 59 | 60 | PASN_BMPString m_message; 61 | PASN_Integer m_sender; 62 | PASN_Integer m_receiver; 63 | 64 | PINDEX GetDataLength() const; 65 | PBoolean Decode(PASN_Stream & strm); 66 | void Encode(PASN_Stream & strm) const; 67 | #ifndef PASN_NOPRINTON 68 | void PrintOn(ostream & strm) const; 69 | #endif 70 | Comparison Compare(const PObject & obj) const; 71 | PObject * Clone() const; 72 | }; 73 | 74 | 75 | #endif // __H460TM_H 76 | 77 | #endif // if ! H323_DISABLE_H460TM 78 | 79 | 80 | // End of h460tm.h 81 | -------------------------------------------------------------------------------- /plugins/audio/LPC_10/src/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile for LPC-10 speech coder library (unix) 3 | # 4 | 5 | # default C compiler 6 | CC= gcc 7 | 8 | # 9 | # These definitions for CFLAGS and LIB_TARGET_DIR are used when one 10 | # runs make in the lpc10 directory, without environment variables that 11 | # override them. When make is run in this directory from a makefile 12 | # for an application that uses the LPC10 coder, there are environment 13 | # variables set for CFLAGS and LIB_TARGET_DIR that override these 14 | # definitions. 15 | # 16 | 17 | LIB_TARGET_DIR = .. 18 | 19 | # 20 | # -I$(LIB_TARGET_DIR) option needed so that #include "machine.h" 21 | # directives can find the machine.h file. 22 | # 23 | 24 | WARNINGS = -Wall 25 | CFLAGS = -O3 -I$(LIB_TARGET_DIR) $(WARNINGS) 26 | 27 | LIB = $(LIB_TARGET_DIR)/liblpc10.a 28 | 29 | .PHONY: all clean 30 | 31 | all: $(LIB) 32 | ranlib $(LIB) 33 | 34 | $(LIB): $(LIB)(f2clib.o) \ 35 | $(LIB)(analys.o) \ 36 | $(LIB)(bsynz.o) \ 37 | $(LIB)(chanwr.o) \ 38 | $(LIB)(dcbias.o) \ 39 | $(LIB)(decode.o) \ 40 | $(LIB)(deemp.o) \ 41 | $(LIB)(difmag.o) \ 42 | $(LIB)(dyptrk.o) \ 43 | $(LIB)(encode.o) \ 44 | $(LIB)(energy.o) \ 45 | $(LIB)(ham84.o) \ 46 | $(LIB)(hp100.o) \ 47 | $(LIB)(invert.o) \ 48 | $(LIB)(irc2pc.o) \ 49 | $(LIB)(ivfilt.o) \ 50 | $(LIB)(lpcdec.o) \ 51 | $(LIB)(lpcenc.o) \ 52 | $(LIB)(lpcini.o) \ 53 | $(LIB)(lpfilt.o) \ 54 | $(LIB)(median.o) \ 55 | $(LIB)(mload.o) \ 56 | $(LIB)(onset.o) \ 57 | $(LIB)(pitsyn.o) \ 58 | $(LIB)(placea.o) \ 59 | $(LIB)(placev.o) \ 60 | $(LIB)(preemp.o) \ 61 | $(LIB)(prepro.o) \ 62 | $(LIB)(random.o) \ 63 | $(LIB)(rcchk.o) \ 64 | $(LIB)(synths.o) \ 65 | $(LIB)(tbdm.o) \ 66 | $(LIB)(voicin.o) \ 67 | $(LIB)(vparms.o) 68 | 69 | clean: 70 | -rm -f *.o 71 | -------------------------------------------------------------------------------- /plugins/audio/G.722.1/G722-1/typedef.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | File: TYPEDEF.H v.1.0 - 26.Jan.2000 4 | =========================================================================== 5 | 6 | ITU-T STL BASIC OPERATORS 7 | 8 | TYPE DEFINITION PROTOTYPES 9 | 10 | History: 11 | 01.Nov-05 Removed Word8: it was never used and conflicted with other libs. /tsz 12 | 26.Jan.00 v1.0 Incorporated to the STL from updated G.723.1/G.729 13 | basic operator library (based on basic_op.h) 14 | ============================================================================ 15 | */ 16 | 17 | #ifndef TYPEDEF_H 18 | #define TYPEDEF_H "$Id $" 19 | 20 | #include 21 | 22 | #if defined(__BORLANDC__) || defined(__WATCOMC__) || defined(_MSC_VER) || defined(__ZTC__) || defined(__CYGWIN__) || defined(__MINGW32__) 23 | //typedef signed char Word8; 24 | typedef short Word16; 25 | typedef long Word32; 26 | typedef int Flag; 27 | 28 | #elif defined(__sun) 29 | //typedef signed char Word8; 30 | typedef short Word16; 31 | typedef long Word32; 32 | typedef int Flag; 33 | 34 | #elif defined(__unix__) || defined(__unix) || defined(__APPLE__) 35 | //typedef signed char Word8; 36 | typedef short Word16; 37 | typedef int Word32; 38 | typedef int Flag; 39 | 40 | #endif 41 | 42 | /* define 16 bit unsigned types for G.722.1 */ 43 | #if INT_MAX == 32767 44 | typedef unsigned int UWord16; 45 | #elif SHRT_MAX == 32767 46 | typedef unsigned short UWord16; 47 | #endif 48 | 49 | /* define 32 bit unsigned types for G.722.1 */ 50 | #if INT_MAX == 2147483647L 51 | typedef unsigned int UWord32; 52 | #elif LONG_MAX == 2147483647L 53 | typedef unsigned long UWord32; 54 | #endif 55 | 56 | #endif /* TYPEDEF_H */ 57 | -------------------------------------------------------------------------------- /plugins/audio/GSM0610/README: -------------------------------------------------------------------------------- 1 | 2 | GSM 06.10 13 kbit/s RPE/LTP speech compression available 3 | -------------------------------------------------------- 4 | 5 | The Communications and Operating Systems Research Group (KBS) at the 6 | Technische Universitaet Berlin is currently working on a set of 7 | UNIX-based tools for computer-mediated telecooperation that will be 8 | made freely available. 9 | 10 | As part of this effort we are publishing an implementation of the 11 | European GSM 06.10 provisional standard for full-rate speech 12 | transcoding, prI-ETS 300 036, which uses RPE/LTP (residual pulse 13 | excitation/long term prediction) coding at 13 kbit/s. 14 | 15 | GSM 06.10 compresses frames of 160 13-bit samples (8 kHz sampling 16 | rate, i.e. a frame rate of 50 Hz) into 260 bits; for compatibility 17 | with typical UNIX applications, our implementation turns frames of 160 18 | 16-bit linear samples into 33-byte frames (1650 Bytes/s). 19 | The quality of the algorithm is good enough for reliable speaker 20 | recognition; even music often survives transcoding in recognizable 21 | form (given the bandwidth limitations of 8 kHz sampling rate). 22 | 23 | The interfaces offered are a front end modelled after compress(1), and 24 | a library API. Compression and decompression run faster than realtime 25 | on most SPARCstations. The implementation has been verified against the 26 | ETSI standard test patterns. 27 | 28 | Jutta Degener (jutta@cs.tu-berlin.de) 29 | Carsten Bormann (cabo@cs.tu-berlin.de) 30 | 31 | Communications and Operating Systems Research Group, TU Berlin 32 | Fax: +49.30.31425156, Phone: +49.30.31424315 33 | 34 | -- 35 | Copyright 1992 by Jutta Degener and Carsten Bormann, Technische 36 | Universitaet Berlin. See the accompanying file "COPYRIGHT" for 37 | details. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. 38 | -------------------------------------------------------------------------------- /plugins/audio/GSM0610/inc/proto.h: -------------------------------------------------------------------------------- 1 | /* 2 | * proto.h 3 | * 4 | * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische 5 | * Universitaet Berlin. See the accompanying file "COPYRIGHT" for 6 | * details. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. 7 | */ 8 | 9 | 10 | #ifndef PROTO_H 11 | #define PROTO_H 12 | 13 | #if __cplusplus 14 | # define NeedFunctionPrototypes 1 15 | #endif 16 | 17 | #if __STDC__ 18 | # define NeedFunctionPrototypes 1 19 | #endif 20 | 21 | #ifdef _NO_PROTO 22 | # undef NeedFunctionPrototypes 23 | #endif 24 | 25 | #undef P /* gnu stdio.h actually defines this... */ 26 | #undef P0 27 | #undef P1 28 | #undef P2 29 | #undef P3 30 | #undef P4 31 | #undef P5 32 | #undef P6 33 | #undef P7 34 | #undef P8 35 | 36 | #if NeedFunctionPrototypes 37 | 38 | # define P( protos ) protos 39 | 40 | # define P0() (void) 41 | # define P1(x, a) (a) 42 | # define P2(x, a, b) (a, b) 43 | # define P3(x, a, b, c) (a, b, c) 44 | # define P4(x, a, b, c, d) (a, b, c, d) 45 | # define P5(x, a, b, c, d, e) (a, b, c, d, e) 46 | # define P6(x, a, b, c, d, e, f) (a, b, c, d, e, f) 47 | # define P7(x, a, b, c, d, e, f, g) (a, b, c, d, e, f, g) 48 | # define P8(x, a, b, c, d, e, f, g, h) (a, b, c, d, e, f, g, h) 49 | 50 | #else /* !NeedFunctionPrototypes */ 51 | 52 | # define P( protos ) ( /* protos */ ) 53 | 54 | # define P0() () 55 | # define P1(x, a) x a; 56 | # define P2(x, a, b) x a; b; 57 | # define P3(x, a, b, c) x a; b; c; 58 | # define P4(x, a, b, c, d) x a; b; c; d; 59 | # define P5(x, a, b, c, d, e) x a; b; c; d; e; 60 | # define P6(x, a, b, c, d, e, f) x a; b; c; d; e; f; 61 | # define P7(x, a, b, c, d, e, f, g) x a; b; c; d; e; f; g; 62 | # define P8(x, a, b, c, d, e, f, g, h) x a; b; c; d; e; f; g; h; 63 | 64 | #endif /* !NeedFunctionPrototypes */ 65 | 66 | #endif /* PROTO_H */ 67 | -------------------------------------------------------------------------------- /plugins/audio/gsm-amr/Makefile.in: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile for GSM-AMR Codec Plugin 3 | # 4 | # Copyright (C) 2004 MX Telecom Ltd. 5 | # 6 | # $Revision$ 7 | # $Author$ 8 | # $Date$ 9 | 10 | AC_PLUGIN_DIR=@AC_PLUGIN_DIR@ 11 | prefix=@prefix@ 12 | exec_prefix=@exec_prefix@ 13 | libdir=@libdir@ 14 | target_os=@target_os@ 15 | 16 | OBJDIR = ./obj 17 | SRCDIR = ./src 18 | PLUGINDIR=../.. 19 | 20 | BASENAME= gsmamrcodec 21 | SONAME = $(BASENAME) 22 | 23 | CC =@CC@ 24 | CFLAGS =@CFLAGS@ 25 | CXX =@CXX@ 26 | LDSO =@LDSO@ 27 | PLUGINEXT =@PLUGINEXT@ 28 | STDCCFLAGS =@STDCCFLAGS@ 29 | LDFLAGS =@LDFLAGS@ 30 | 31 | SRCS = amrcodec.c \ 32 | interf_enc.c \ 33 | interf_dec.c \ 34 | sp_dec.c \ 35 | sp_enc.c 36 | 37 | vpath %.o $(OBJDIR) 38 | vpath %.c $(SRCDIR) 39 | 40 | CFLAGS += -I../../../include -I$(SRCDIR) 41 | CFLAGS += -DIF2 42 | EXTRACFLAGS=-I$(PLUGINDIR) 43 | 44 | PLUGIN = ./$(BASENAME)_pwplugin.$(PLUGINEXT) 45 | 46 | ifeq ($(VERBOSE),) 47 | Q_CC = @echo [CC] `echo $< | sed s^@OPALDIR@/^^` ; 48 | Q_LD = @echo [LD] `echo $(PLUGIN) | sed s^@OPALDIR@/^^` ; 49 | endif 50 | 51 | 52 | $(OBJDIR)/%.o : %.c 53 | @mkdir -p $(OBJDIR) >/dev/null 2>&1 54 | $(Q_CC)$(CC) -c -I../../../include $(STDCCFLAGS) $(EXTRACFLAGS) $(CFLAGS) -o $@ $< 55 | 56 | OBJECTS = $(addprefix $(OBJDIR)/,$(patsubst %.c,%.o,$(notdir $(SRCS)))) 57 | 58 | 59 | $(PLUGIN): $(OBJECTS) 60 | 61 | ifeq (solaris,$(findstring solaris,$(target_os))) 62 | 63 | $(Q_LD)$(CC) $(LDSO) $@ -o $@ $^ 64 | else 65 | $(Q_LD)$(CC) $(LDSO) -o $@ $^ 66 | 67 | endif 68 | 69 | install: 70 | mkdir -p $(DESTDIR)$(libdir)/$(AC_PLUGIN_DIR) 71 | install $(PLUGIN) $(DESTDIR)$(libdir)/$(AC_PLUGIN_DIR) 72 | 73 | uninstall: 74 | rm -f $(DESTDIR)$(libdir)/$(AC_PLUGIN_DIR)/$(PLUGIN) 75 | 76 | clean: 77 | rm -f $(OBJECTS) $(PLUGIN) 78 | 79 | ########################################### 80 | -------------------------------------------------------------------------------- /src/h350/h235Identity.schema: -------------------------------------------------------------------------------- 1 | 2 | # h235Identity Object Schema 3 | # 4 | # Schema for representing h235Identity Object in an LDAP Directory 5 | # 6 | # Abstract 7 | # 8 | # This document defines the schema for representing h235Identity 9 | # object in an LDAP directory [LDAPv3]. It defines schema elements 10 | # to represent an h235Identity object [h235Identity]. 11 | # 12 | # .1 = Communication related work 13 | # .1.4 = h235Identity 14 | # .1.4.1 = attributes 15 | # .1.4.2 = objectclass 16 | # .1.4.3 = syntax 17 | # 18 | # 19 | # 20 | # Attribute Type Definitions 21 | # 22 | # The following attribute types are defined in this document: 23 | # 24 | # h235IdentityEndpointID 25 | # h235IdentityPassword 26 | # 27 | attributetype (0.0.8.350.1.1.4.1.1 28 | NAME 'h235IdentityEndpointID' 29 | DESC 'The Sender ID as defined in ITU-H235v2.' 30 | EQUALITY caseIgnoreMatch 31 | SUBSTR caseIgnoreSubstringsMatch 32 | SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' ) 33 | attributetype (0.0.8.350.1.1.4.1.2 34 | NAME 'h235IdentityPassword' 35 | DESC 'The endpoint H.323 password as defined in ITU-H235v2.' 36 | EQUALITY octetStringMatch 37 | SYNTAX '1.3.6.1.4.1.1466.115.121.1.40' ) 38 | 39 | # Object Class Definitions 40 | # 41 | # The following object class is defined in this document: 42 | # 43 | # h235Identity 44 | # 45 | # 46 | objectclass (0.0.8.350.1.1.4.2.1 47 | NAME 'h235Identity' 48 | DESC 'h235Identity object' 49 | SUP commObject STRUCTURAL 50 | MAY ( h235IdentityEndpointID $ h235IdentityPassword $ 51 | userCertificate $ cACertificate $ 52 | authorityRevocationList $ certificateRevocationList $ 53 | crossCertificatePair ) 54 | ) 55 | 56 | -------------------------------------------------------------------------------- /plugins/audio/LPC_10/src/makefile.unx: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile for LPC-10 speech coder library (unix) 3 | # 4 | 5 | # default C compiler 6 | CC= gcc 7 | 8 | # 9 | # These definitions for CFLAGS and LIB_TARGET_DIR are used when one 10 | # runs make in the lpc10 directory, without environment variables that 11 | # override them. When make is run in this directory from a makefile 12 | # for an application that uses the LPC10 coder, there are environment 13 | # variables set for CFLAGS and LIB_TARGET_DIR that override these 14 | # definitions. 15 | # 16 | 17 | LIB_TARGET_DIR = .. 18 | 19 | # 20 | # -I$(LIB_TARGET_DIR) option needed so that #include "machine.h" 21 | # directives can find the machine.h file. 22 | # 23 | 24 | WARNINGS = -Wunused -Wswitch -Wformat -Wchar-subscripts 25 | CFLAGS = -O -I$(LIB_TARGET_DIR) $(WARNINGS) 26 | 27 | LIB = $(LIB_TARGET_DIR)/liblpc10.a 28 | 29 | .PHONY: all clean 30 | 31 | all: $(LIB) 32 | ranlib $(LIB) 33 | 34 | $(LIB): $(LIB)(f2clib.o) \ 35 | $(LIB)(analys.o) \ 36 | $(LIB)(bsynz.o) \ 37 | $(LIB)(chanwr.o) \ 38 | $(LIB)(dcbias.o) \ 39 | $(LIB)(decode.o) \ 40 | $(LIB)(deemp.o) \ 41 | $(LIB)(difmag.o) \ 42 | $(LIB)(dyptrk.o) \ 43 | $(LIB)(encode.o) \ 44 | $(LIB)(energy.o) \ 45 | $(LIB)(ham84.o) \ 46 | $(LIB)(hp100.o) \ 47 | $(LIB)(invert.o) \ 48 | $(LIB)(irc2pc.o) \ 49 | $(LIB)(ivfilt.o) \ 50 | $(LIB)(lpcdec.o) \ 51 | $(LIB)(lpcenc.o) \ 52 | $(LIB)(lpcini.o) \ 53 | $(LIB)(lpfilt.o) \ 54 | $(LIB)(median.o) \ 55 | $(LIB)(mload.o) \ 56 | $(LIB)(onset.o) \ 57 | $(LIB)(pitsyn.o) \ 58 | $(LIB)(placea.o) \ 59 | $(LIB)(placev.o) \ 60 | $(LIB)(preemp.o) \ 61 | $(LIB)(prepro.o) \ 62 | $(LIB)(random.o) \ 63 | $(LIB)(rcchk.o) \ 64 | $(LIB)(synths.o) \ 65 | $(LIB)(tbdm.o) \ 66 | $(LIB)(voicin.o) \ 67 | $(LIB)(vparms.o) 68 | 69 | clean: 70 | -rm -f *.o 71 | -------------------------------------------------------------------------------- /src/h350/commObject.schema: -------------------------------------------------------------------------------- 1 | 2 | # Communication Object Schema 3 | # 4 | # Schema for Representing Communication Objects in an LDAP Directory 5 | # 6 | # Abstract 7 | # 8 | # This document defines the schema for representing Communication 9 | # objects in an LDAP directory [LDAPv3]. It defines schema elements 10 | # to represent a communication object [commObject]. 11 | # 12 | # 13 | # .1 = Communication related work 14 | # .1.2 = commObject 15 | # .1.2.1 = attributes 16 | # .1.2.2 = objectclass 17 | # .1.2.3 = syntax 18 | # 19 | # 20 | # Attribute Type Definitions 21 | # 22 | # The following attribute types are defined in this document: 23 | # 24 | # commUniqueId 25 | # commOwner 26 | # commPrivate 27 | # 28 | attributetype (0.0.8.350.1.1.2.1.1 29 | NAME 'commUniqueId' 30 | DESC 'To hold the endpoints unique Id' 31 | EQUALITY caseIgnoreIA5Match 32 | SUBSTR caseIgnoreIA5SubstringsMatch 33 | SYNTAX '1.3.6.1.4.1.1466.115.121.1.26' ) 34 | attributetype (0.0.8.350.1.1.2.1.2 35 | NAME 'commOwner' 36 | DESC 'Labeled URI to point back to the original owner' 37 | EQUALITY caseExactMatch 38 | SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' ) 39 | attributetype (0.0.8.350.1.1.2.1.3 40 | NAME 'commPrivate' 41 | DESC 'To decide whether the entry is visible to world or not' 42 | SYNTAX '1.3.6.1.4.1.1466.115.121.1.26' ) 43 | # Object Class Definitions 44 | # 45 | # The following object classes are defined in this document: 46 | # 47 | # commObject 48 | # 49 | # commObject 50 | # 51 | objectclass (0.0.8.350.1.1.2.2.1 52 | NAME 'commObject' 53 | DESC 'object that contains the Communication attributes' 54 | SUP top STRUCTURAL 55 | MUST commUniqueId 56 | MAY ( commOwner $ commPrivate ) 57 | ) 58 | 59 | -------------------------------------------------------------------------------- /plugins/audio/iLBC/iLBC/StateSearchW.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | StateSearchW.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #ifndef __iLBC_STATESEARCHW_H 14 | #define __iLBC_STATESEARCHW_H 15 | 16 | void AbsQuantW( 17 | iLBC_Enc_Inst_t *iLBCenc_inst, 18 | /* (i) Encoder instance */ 19 | float *in, /* (i) vector to encode */ 20 | float *syntDenum, /* (i) denominator of synthesis filter */ 21 | float *weightDenum, /* (i) denominator of weighting filter */ 22 | int *out, /* (o) vector of quantizer indexes */ 23 | int len, /* (i) length of vector to encode and 24 | vector of quantizer indexes */ 25 | int state_first /* (i) position of start state in the 26 | 80 vec */ 27 | ); 28 | 29 | void StateSearchW( 30 | iLBC_Enc_Inst_t *iLBCenc_inst, 31 | /* (i) Encoder instance */ 32 | float *residual,/* (i) target residual vector */ 33 | float *syntDenum, /* (i) lpc synthesis filter */ 34 | float *weightDenum, /* (i) weighting filter denuminator */ 35 | int *idxForMax, /* (o) quantizer index for maximum 36 | amplitude */ 37 | int *idxVec, /* (o) vector of quantization indexes */ 38 | int len, /* (i) length of all vectors */ 39 | int state_first /* (i) position of start state in the 40 | 41 | 42 | 80 vec */ 43 | ); 44 | 45 | 46 | #endif 47 | 48 | 49 | -------------------------------------------------------------------------------- /plugins/audio/gsm-amr/src/sp_enc.h: -------------------------------------------------------------------------------- 1 | /* 2 | * =================================================================== 3 | * TS 26.104 4 | * R99 V3.3.0 2001-09 5 | * REL-4 V4.2.0 2001-09 6 | * 3GPP AMR Floating-point Speech Codec 7 | * =================================================================== 8 | * 9 | */ 10 | 11 | /* 12 | * sp_enc.h 13 | * 14 | * 15 | * Project: 16 | * AMR Floating-Point Codec 17 | * 18 | * Contains: 19 | * Defines interface to AMR encoder 20 | * 21 | */ 22 | #ifndef _SP_ENC_H 23 | #define _SP_ENC_H 24 | 25 | /* 26 | * include files 27 | */ 28 | #include "typedef.h" 29 | 30 | /* 31 | * definition of modes for encoder 32 | */ 33 | enum Mode { MR475 = 0, 34 | MR515, 35 | MR59, 36 | MR67, 37 | MR74, 38 | MR795, 39 | MR102, 40 | MR122, 41 | MRDTX 42 | }; 43 | #ifdef __cplusplus 44 | extern "C" { 45 | #endif 46 | /* 47 | * Function prototypes 48 | */ 49 | 50 | /* 51 | * initialize one instance of the speech encoder 52 | * Stores pointer to filter status struct in *st. This pointer has to 53 | * be passed to Speech_Encode_Frame in each call. 54 | * returns 0 on success 55 | */ 56 | extern void *Speech_Encode_Frame_init (int dtx); 57 | /* 58 | * reset speech encoder (i.e. set state memory to zero) 59 | * returns 0 on success 60 | */ 61 | extern int Speech_Encode_Frame_reset(void *st, int dtx); 62 | 63 | /* 64 | * de-initialize speech encoder (i.e. free status struct) 65 | * stores NULL in *st 66 | */ 67 | extern void Speech_Encode_Frame_exit (void **st); 68 | 69 | /* 70 | * Encodes one speech frame 71 | * Returns analysis parameters 72 | */ 73 | extern void Speech_Encode_Frame (void *st, enum Mode mode, const short *newSpeech, 74 | short *prm, enum Mode *usedMode); 75 | 76 | #ifdef __cplusplus 77 | } 78 | #endif 79 | #endif // !_SP_ENC_H 80 | -------------------------------------------------------------------------------- /include/h460/h46018.h: -------------------------------------------------------------------------------- 1 | // 2 | // h46018.h 3 | // 4 | // Code automatically generated by asnparse. 5 | // 6 | 7 | #if ! H225_DISABLE_H46018 8 | 9 | #ifndef __H46018_H 10 | #define __H46018_H 11 | 12 | #ifdef P_USE_PRAGMA 13 | #pragma interface 14 | #endif 15 | 16 | #include 17 | 18 | #include "h225.h" 19 | 20 | 21 | // 22 | // IncomingCallIndication 23 | // 24 | 25 | class H46018_IncomingCallIndication : public PASN_Sequence 26 | { 27 | #ifndef PASN_LEANANDMEAN 28 | PCLASSINFO(H46018_IncomingCallIndication, PASN_Sequence); 29 | #endif 30 | public: 31 | H46018_IncomingCallIndication(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 32 | 33 | H225_TransportAddress m_callSignallingAddress; 34 | H225_CallIdentifier m_callID; 35 | 36 | PINDEX GetDataLength() const; 37 | PBoolean Decode(PASN_Stream & strm); 38 | void Encode(PASN_Stream & strm) const; 39 | #ifndef PASN_NOPRINTON 40 | void PrintOn(ostream & strm) const; 41 | #endif 42 | Comparison Compare(const PObject & obj) const; 43 | PObject * Clone() const; 44 | }; 45 | 46 | 47 | // 48 | // LRQKeepAliveData 49 | // 50 | 51 | class H46018_LRQKeepAliveData : public PASN_Sequence 52 | { 53 | #ifndef PASN_LEANANDMEAN 54 | PCLASSINFO(H46018_LRQKeepAliveData, PASN_Sequence); 55 | #endif 56 | public: 57 | H46018_LRQKeepAliveData(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 58 | 59 | H225_TimeToLive m_lrqKeepAliveInterval; 60 | 61 | PINDEX GetDataLength() const; 62 | PBoolean Decode(PASN_Stream & strm); 63 | void Encode(PASN_Stream & strm) const; 64 | #ifndef PASN_NOPRINTON 65 | void PrintOn(ostream & strm) const; 66 | #endif 67 | Comparison Compare(const PObject & obj) const; 68 | PObject * Clone() const; 69 | }; 70 | 71 | 72 | #endif // __H46018_H 73 | 74 | #endif // if ! H225_DISABLE_H46018 75 | 76 | 77 | // End of h46018.h 78 | -------------------------------------------------------------------------------- /plugins/audio/Speex/libspeex/Makefile.am: -------------------------------------------------------------------------------- 1 | # Disable automatic dependency tracking if using other tools than gcc and gmake 2 | #AUTOMAKE_OPTIONS = no-dependencies 3 | 4 | 5 | EXTRA_DIST=testenc.c testenc_wb.c testenc_uwb.c testdenoise.c testecho.c 6 | 7 | INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_builddir) @OGG_CFLAGS@ 8 | 9 | lib_LTLIBRARIES = libspeex.la 10 | 11 | # Sources for compilation in the library 12 | libspeex_la_SOURCES = nb_celp.c \ 13 | sb_celp.c \ 14 | lpc.c \ 15 | ltp.c \ 16 | lsp.c \ 17 | quant_lsp.c \ 18 | lsp_tables_nb.c \ 19 | gain_table.c \ 20 | gain_table_lbr.c \ 21 | cb_search.c \ 22 | filters.c \ 23 | bits.c \ 24 | modes.c \ 25 | speex.c \ 26 | vq.c \ 27 | high_lsp_tables.c \ 28 | vbr.c \ 29 | hexc_table.c \ 30 | exc_5_256_table.c \ 31 | exc_5_64_table.c \ 32 | exc_8_128_table.c \ 33 | exc_10_32_table.c \ 34 | exc_10_16_table.c \ 35 | exc_20_32_table.c \ 36 | hexc_10_32_table.c \ 37 | misc.c \ 38 | speex_header.c \ 39 | speex_callbacks.c \ 40 | math_approx.c \ 41 | stereo.c \ 42 | preprocess.c \ 43 | smallft.c \ 44 | lbr_48k_tables.c \ 45 | jitter.c \ 46 | mdf.c 47 | 48 | noinst_HEADERS = lsp.h \ 49 | nb_celp.h \ 50 | lpc.h \ 51 | lpc_bfin.h \ 52 | ltp.h \ 53 | quant_lsp.h \ 54 | cb_search.h \ 55 | filters.h \ 56 | stack_alloc.h \ 57 | vq.h \ 58 | vq_sse.h \ 59 | vq_arm4.h \ 60 | vq_bfin.h \ 61 | modes.h \ 62 | sb_celp.h \ 63 | vbr.h \ 64 | misc.h \ 65 | misc_bfin.h \ 66 | ltp_sse.h \ 67 | ltp_arm4.h \ 68 | ltp_bfin.h \ 69 | filters_sse.h \ 70 | filters_arm4.h \ 71 | filters_bfin.h \ 72 | math_approx.h \ 73 | smallft.h \ 74 | arch.h \ 75 | fixed_arm4.h \ 76 | fixed_arm5e.h \ 77 | fixed_bfin.h \ 78 | fixed_debug.h \ 79 | fixed_generic.h \ 80 | cb_search_sse.h \ 81 | cb_search_arm4.h \ 82 | cb_search_bfin.h 83 | 84 | 85 | libspeex_la_LDFLAGS = -version-info @SPEEX_LT_CURRENT@:@SPEEX_LT_REVISION@:@SPEEX_LT_AGE@ 86 | 87 | -------------------------------------------------------------------------------- /plugins/audio/GSM0610/inc/gsm.h: -------------------------------------------------------------------------------- 1 | /* 2 | * gsm.h 3 | * 4 | * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische 5 | * Universitaet Berlin. See the accompanying file "COPYRIGHT" for 6 | * details. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. 7 | */ 8 | 9 | 10 | #ifndef GSM_H 11 | #define GSM_H 12 | 13 | #ifdef __cplusplus 14 | # define NeedFunctionPrototypes 1 15 | #endif 16 | 17 | #if __STDC__ 18 | # define NeedFunctionPrototypes 1 19 | #endif 20 | 21 | #ifdef _NO_PROTO 22 | # undef NeedFunctionPrototypes 23 | #endif 24 | 25 | #ifdef NeedFunctionPrototypes 26 | # include /* for FILE * */ 27 | #endif 28 | 29 | #undef GSM_P 30 | #if NeedFunctionPrototypes 31 | # define GSM_P( protos ) protos 32 | #else 33 | # define GSM_P( protos ) ( /* protos */ ) 34 | #endif 35 | 36 | /* 37 | * Interface 38 | */ 39 | 40 | typedef struct gsm_state * gsm; 41 | typedef short gsm_signal; /* signed 16 bit */ 42 | typedef unsigned char gsm_byte; 43 | typedef gsm_byte gsm_frame[33]; /* 33 * 8 bits */ 44 | 45 | #define GSM_MAGIC 0xD /* 13 kbit/s RPE-LTP */ 46 | 47 | #define GSM_PATCHLEVEL 10 48 | #define GSM_MINOR 0 49 | #define GSM_MAJOR 1 50 | 51 | #define GSM_OPT_VERBOSE 1 52 | #define GSM_OPT_FAST 2 53 | #define GSM_OPT_LTP_CUT 3 54 | #define GSM_OPT_WAV49 4 55 | #define GSM_OPT_FRAME_INDEX 5 56 | #define GSM_OPT_FRAME_CHAIN 6 57 | 58 | extern gsm gsm_create GSM_P((void)); 59 | extern void gsm_destroy GSM_P((gsm)); 60 | 61 | extern int gsm_print GSM_P((FILE *, gsm, gsm_byte *)); 62 | extern int gsm_option GSM_P((gsm, int, int *)); 63 | 64 | extern void gsm_encode GSM_P((gsm, gsm_signal *, gsm_byte *)); 65 | extern int gsm_decode GSM_P((gsm, gsm_byte *, gsm_signal *)); 66 | 67 | extern int gsm_explode GSM_P((gsm, gsm_byte *, gsm_signal *)); 68 | extern void gsm_implode GSM_P((gsm, gsm_signal *, gsm_byte *)); 69 | 70 | #undef GSM_P 71 | 72 | #endif /* GSM_H */ 73 | -------------------------------------------------------------------------------- /plugins/video/H.264/ReadMe_VS.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | ================================================ 4 | 5 | H.264 Visual Studio 6 | 7 | Simon Horne - Feb 2010 8 | 9 | ================================================ 10 | 11 | How to compile H.264 for Microsoft Visual Studio 12 | 13 | To compile FFMPEG dlls you must use MinGW... 14 | Follow the instructions found here 15 | http://ffmpeg.arrozcru.org/wiki 16 | 17 | 18 | Special Notes: 19 | You must build the dlls you cannot use FFMPEG statically. 20 | Make sure you read this 21 | http://ffmpeg.arrozcru.org/wiki/index.php?title=MSVC 22 | 23 | Once you have successfully compiled FFMPEG the following files will be in the 24 | ..msys\local\bin directory. 25 | 26 | avcodec-xx.dll 27 | avutil-xx.dll 28 | 29 | avcodec-xx.lib 30 | (the numbers may vary depending on the version compiled) 31 | 32 | In VS2008 add the following path to Visual Studio include directory path 33 | ..msys\local\include 34 | and the following to the Visual Studio lib directory path 35 | ..msys\local\bin 36 | 37 | 38 | To compile X264 use MinGW and follow the instructions here. 39 | http://ffmpeg.arrozcru.org/wiki/index.php?title=X264 40 | Note: You must use x264 ver 80 or greater. 41 | 42 | ./configure --enable-shared 43 | 44 | This will produce a 45 | libx264-xx.dll 46 | in ..msys\local\bin directory and 47 | libx264-xx.dll.a 48 | in ..msys\local\lib 49 | 50 | add following to the Visual Studio lib directory path 51 | ..msys\local\lib 52 | 53 | 54 | Now you are ready to compile the plugin under Visual Studio. 55 | You must also compile the h264_helper project. 56 | 57 | 58 | Once compiled you will need to place these files in the c:\ptlib_plugin directory. 59 | 60 | h264-x264_ptplugin.dll 61 | x264plugin_helper.exe 62 | avcodec-xx.dll 63 | avutil-xx.dll 64 | libx264-xx.dll 65 | 66 | Don't forget to set the environmental variables 67 | PTLIBPLUGINDIR = c:\ptlib_plugin 68 | 69 | To stream codec trace information 70 | PTLIB_TRACE_CODECS = 6 71 | 72 | 73 | 74 | Simon 75 | -------------------------------------------------------------------------------- /plugins/audio/VoiceAgeG729/README.txt: -------------------------------------------------------------------------------- 1 | README for Voice Age G.729 Codec 2 | ================================ 3 | 4 | Robert Jongbloed, Post Increment 5 | 6 | Contents 7 | ======== 8 | 9 | 1. INTRODUCTION 10 | 2. BUILDING WITH WINDOWS 11 | 3. LICENSING 12 | 13 | 14 | 1. INTRODUCTION 15 | =============== 16 | 17 | This directory contains the files needed to use the Voice Age G.729 codec with 18 | OPAL. This codec is only available under Windows, although theoretically is would 19 | be possible to load the appropriate DLLs under Linux using one of the emulation 20 | packages available. 21 | 22 | 23 | 2. BUILDING WITH WINDOWS 24 | ======================== 25 | 26 | 1. Obtain the actual codec libraries from http://www.voiceage.com/freecodecs.php 27 | 28 | 2. Unpack into the "va_g729" directory within this directory 29 | 30 | 3. Ensure that this directory contains at least the followint: 31 | 32 | va_g729a.h 33 | va_g729a.lib 34 | 35 | 4. Add VoiceAgeG729.vcproj to your solution file and compile. 36 | 37 | 38 | 2. BUILDING WITH WINDOWS MOBILE 39 | =============================== 40 | 41 | 1. You will have to purchase the codec from Void Age, this one isn't free! 42 | 43 | 2. Unpack into the "va_g729_AMR" directory within this directory 44 | 45 | 3. Ensure that this directory contains at least the followint: 46 | 47 | g729ab_if.h 48 | typedef.h 49 | g729ab.lib 50 | 51 | 4. Add VoiceAgeG729.vcproj to your solution file and compile. 52 | 53 | 54 | 3. LICENSING 55 | ============ 56 | 57 | You must obtain and license the Voice Age codec from that company. 58 | 59 | This code is supplied solely for evaluation and research purposes. The provision of this 60 | code by Post Increment to any entity does not constitute the supply of a license to that 61 | entity to use, modify or distribute the code in any form, nor does it indemnify the 62 | entity against any legal actions that may arise from use of this code in any way. 63 | 64 | -------------------------------------------------------------------------------- /src/asn/h4504.asn: -------------------------------------------------------------------------------- 1 | Call-Hold-Operations 2 | { 3 | itu-t recommendation h 450 4 version1(0) call-hold-operations(0) 4 | } 5 | 6 | DEFINITIONS AUTOMATIC TAGS ::= 7 | BEGIN 8 | 9 | IMPORTS EXTENSION, Extension FROM H4501 -- Manufacturer-specific-service-extension-definition 10 | { 11 | itu-t recommendation h 450 1 version1(0) msi-definition(18) 12 | } 13 | 14 | notAvailable, invalidCallState, resourceUnavailable, supplementaryServiceInteractionNotAllowed FROM H4501-General-Error-List 15 | { 16 | itu-t recommendation h 450 1 version1(0) general-error-list (1) 17 | } 18 | 19 | NonStandardParameter FROM H225; -- H323-MESSAGES 20 | 21 | 22 | CallHoldOperation ::= ENUMERATED 23 | { 24 | holdNotific(101), 25 | retrieveNotific(102), 26 | remoteHold(103), 27 | remoteRetrieve(104) 28 | } 29 | 30 | HoldNotificArg ::= SEQUENCE 31 | { 32 | extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL, 33 | ... 34 | } 35 | 36 | RetrieveNotificArg ::= SEQUENCE 37 | { 38 | extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL, 39 | ... 40 | } 41 | 42 | RemoteHoldArg ::= SEQUENCE 43 | { 44 | extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL, 45 | ... 46 | } 47 | 48 | RemoteHoldRes ::= SEQUENCE 49 | { 50 | extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL, 51 | ... 52 | } 53 | 54 | 55 | RemoteRetrieveArg ::= SEQUENCE 56 | { 57 | extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL, 58 | ... 59 | } 60 | 61 | RemoteRetrieveRes ::= SEQUENCE 62 | { 63 | extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL, 64 | ... 65 | } 66 | 67 | MixedExtension ::= CHOICE 68 | { 69 | extension Extension, 70 | nonStandardData NonStandardParameter 71 | } 72 | 73 | Extension ::= SEQUENCE 74 | { 75 | extensionId OBJECT IDENTIFIER, 76 | argument OCTET STRING 77 | } 78 | 79 | END -- of Call-Hold-Operations 80 | -------------------------------------------------------------------------------- /plugins/audio/iLBC/iLBC/constants.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | constants.h 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | 12 | 13 | ******************************************************************/ 14 | 15 | #ifndef __iLBC_CONSTANTS_H 16 | #define __iLBC_CONSTANTS_H 17 | 18 | #include "iLBC_define.h" 19 | 20 | 21 | /* ULP bit allocation */ 22 | 23 | extern const iLBC_ULP_Inst_t ULP_20msTbl; 24 | extern const iLBC_ULP_Inst_t ULP_30msTbl; 25 | 26 | /* high pass filters */ 27 | 28 | extern float hpi_zero_coefsTbl[]; 29 | extern float hpi_pole_coefsTbl[]; 30 | extern float hpo_zero_coefsTbl[]; 31 | extern float hpo_pole_coefsTbl[]; 32 | 33 | /* low pass filters */ 34 | extern float lpFilt_coefsTbl[]; 35 | 36 | /* LPC analysis and quantization */ 37 | 38 | extern float lpc_winTbl[]; 39 | extern float lpc_asymwinTbl[]; 40 | extern float lpc_lagwinTbl[]; 41 | extern float lsfCbTbl[]; 42 | extern float lsfmeanTbl[]; 43 | extern int dim_lsfCbTbl[]; 44 | extern int size_lsfCbTbl[]; 45 | extern float lsf_weightTbl_30ms[]; 46 | extern float lsf_weightTbl_20ms[]; 47 | 48 | /* state quantization tables */ 49 | 50 | extern float state_sq3Tbl[]; 51 | extern float state_frgqTbl[]; 52 | 53 | /* gain quantization tables */ 54 | 55 | extern float gain_sq3Tbl[]; 56 | extern float gain_sq4Tbl[]; 57 | extern float gain_sq5Tbl[]; 58 | 59 | /* adaptive codebook definitions */ 60 | 61 | extern int search_rangeTbl[5][CB_NSTAGES]; 62 | extern int memLfTbl[]; 63 | extern int stMemLTbl; 64 | extern float cbfiltersTbl[CB_FILTERLEN]; 65 | 66 | 67 | 68 | /* enhancer definitions */ 69 | 70 | extern float polyphaserTbl[]; 71 | extern float enh_plocsTbl[]; 72 | 73 | #endif 74 | 75 | -------------------------------------------------------------------------------- /plugins/Makefile.in: -------------------------------------------------------------------------------- 1 | SUBDIRS = audio/G722 \ 2 | audio/G.722.1 \ 3 | audio/G.722.2 \ 4 | audio/GSM0610 \ 5 | audio/Speex \ 6 | audio/iLBC \ 7 | audio/LPC_10 \ 8 | audio/G726 \ 9 | audio/IMA_ADPCM \ 10 | audio/gsm-amr \ 11 | video/H.261-vic 12 | 13 | HAVE_SBC=@HAVE_SBC@ 14 | ifeq ($(HAVE_SBC),yes) 15 | SUBDIRS += audio/SBC 16 | endif 17 | 18 | HAVE_CELT=@HAVE_CELT@ 19 | ifeq ($(HAVE_CELT),yes) 20 | SUBDIRS += audio/celt 21 | endif 22 | 23 | HAVE_H263=@HAVE_H263@ 24 | ifeq ($(HAVE_H263),yes) 25 | SUBDIRS += video/H.263-ffmpeg 26 | endif 27 | 28 | HAVE_H264=@HAVE_H264@ 29 | ifeq ($(HAVE_H264),yes) 30 | SUBDIRS += video/H.264 31 | endif 32 | 33 | HAVE_H263P=@HAVE_H263P@ 34 | ifeq ($(HAVE_H263P),yes) 35 | SUBDIRS += video/H.263-1998 36 | endif 37 | 38 | HAVE_MPEG4=@HAVE_MPEG4@ 39 | ifeq ($(HAVE_MPEG4),yes) 40 | SUBDIRS += video/MPEG4-ffmpeg 41 | endif 42 | 43 | HAVE_THEORA=@HAVE_THEORA@ 44 | ifeq ($(HAVE_THEORA),yes) 45 | SUBDIRS += video/THEORA 46 | endif 47 | 48 | HAVE_IXJ=@HAVE_IXJ@ 49 | ifeq ($(HAVE_IXJ),yes) 50 | SUBDIRS += LID/IxJ 51 | endif 52 | 53 | HAVE_VPB=@HAVE_VPB@ 54 | ifeq ($(HAVE_VPB),yes) 55 | SUBDIRS += LID/VPB 56 | endif 57 | 58 | HAVE_CAPI=@HAVE_CAPI@ 59 | ifeq ($(HAVE_CAPI),yes) 60 | SUBDIRS += LID/CAPI 61 | endif 62 | 63 | HAVE_SPANDSP=@HAVE_SPANDSP@ 64 | ifeq ($(HAVE_SPANDSP),yes) 65 | ifneq (,$(wildcard fax/fax_spandsp)) 66 | ifneq (,$(wildcard fax/fax_spandsp/spandsp_util)) 67 | SUBDIRS += fax/fax_spandsp 68 | endif 69 | endif 70 | endif 71 | 72 | all debug opt both \ 73 | optshared debugshared bothshared \ 74 | optnoshared debugnoshared bothnoshared: 75 | @set -e; $(foreach dir,$(SUBDIRS),if test -d ${dir} ; then $(MAKE) -C $(dir); fi ; ) 76 | 77 | clean optclean debugclean: 78 | @set -e; $(foreach dir,$(SUBDIRS),if test -d ${dir} ; then $(MAKE) -C $(dir) clean; fi ; ) 79 | 80 | install uninstall: 81 | @set -e; $(foreach dir,$(SUBDIRS),if test -d ${dir} ; then $(MAKE) -C $(dir) $@; fi ; ) 82 | 83 | depend optdepend debugdepend bothdepend release tagbuild: 84 | @echo 85 | -------------------------------------------------------------------------------- /plugins/audio/gsm-amr/src/sp_dec.h: -------------------------------------------------------------------------------- 1 | /* 2 | * =================================================================== 3 | * TS 26.104 4 | * R99 V3.3.0 2001-09 5 | * REL-4 V4.2.0 2001-09 6 | * 3GPP AMR Floating-point Speech Codec 7 | * =================================================================== 8 | * 9 | */ 10 | 11 | /* 12 | * sp_enc.h 13 | * 14 | * 15 | * Project: 16 | * AMR Floating-Point Codec 17 | * 18 | * Contains: 19 | * Defines interface to AMR encoder 20 | * 21 | */ 22 | #ifndef _SP_DEC_H_ 23 | #define _SP_DEC_H_ 24 | /* 25 | * definition of enumerated types 26 | */ 27 | 28 | /* 29 | * definition of modes for decoder 30 | */ 31 | enum Mode { MR475 = 0, 32 | MR515, 33 | MR59, 34 | MR67, 35 | MR74, 36 | MR795, 37 | MR102, 38 | MR122, 39 | MRDTX, 40 | N_MODES /* number of (SPC) modes */ 41 | }; 42 | 43 | /* Declaration recieved frame types */ 44 | enum RXFrameType { RX_SPEECH_GOOD = 0, 45 | RX_SPEECH_DEGRADED, 46 | RX_ONSET, 47 | RX_SPEECH_BAD, 48 | RX_SID_FIRST, 49 | RX_SID_UPDATE, 50 | RX_SID_BAD, 51 | RX_NO_DATA, 52 | RX_N_FRAMETYPES /* number of frame types */ 53 | }; 54 | 55 | #ifdef __cplusplus 56 | extern "C" { 57 | #endif 58 | /* 59 | * Function prototypes 60 | */ 61 | /* 62 | * initialize one instance of the speech decoder 63 | */ 64 | extern void* Speech_Decode_Frame_init (); 65 | 66 | /* 67 | * free status struct 68 | */ 69 | extern void Speech_Decode_Frame_exit (void **st); 70 | 71 | /* 72 | * Decodes one frame from encoded parameters 73 | */ 74 | extern void Speech_Decode_Frame (void *st, enum Mode mode, short *serial, 75 | enum RXFrameType frame_type, short *synth); 76 | 77 | /* 78 | * reset speech decoder 79 | */ 80 | extern int Speech_Decode_Frame_reset (void **st); 81 | #ifdef __cplusplus 82 | } 83 | #endif 84 | 85 | #endif // !_SP_DEC_H_ 86 | 87 | -------------------------------------------------------------------------------- /plugins/audio/iLBC/iLBC/anaFilter.c: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | anaFilter.c 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #include 14 | #include "iLBC_define.h" 15 | 16 | /*----------------------------------------------------------------* 17 | * LP analysis filter. 18 | 19 | 20 | *---------------------------------------------------------------*/ 21 | 22 | void anaFilter( 23 | float *In, /* (i) Signal to be filtered */ 24 | float *a, /* (i) LP parameters */ 25 | int len,/* (i) Length of signal */ 26 | float *Out, /* (o) Filtered signal */ 27 | float *mem /* (i/o) Filter state */ 28 | ){ 29 | int i, j; 30 | float *po, *pi, *pm, *pa; 31 | 32 | po = Out; 33 | 34 | /* Filter first part using memory from past */ 35 | 36 | for (i=0; i 25 | 26 | extern "C" { 27 | #include 28 | }; 29 | 30 | typedef void (*Function)(); 31 | 32 | class X264Library 33 | { 34 | public: 35 | X264Library(); 36 | ~X264Library(); 37 | 38 | bool Load(); 39 | bool isLoaded() const { return _isLoaded; } 40 | bool GetFunction(const char * name, Function & func); 41 | 42 | x264_t *(*Xx264_encoder_open)(x264_param_t *); 43 | void (*Xx264_param_default)(x264_param_t *); 44 | int (*Xx264_encoder_encode)(x264_t *, x264_nal_t **, int *, x264_picture_t *, x264_picture_t *); 45 | int (*Xx264_nal_encode)(void *, int *, int b_annexb, x264_nal_t *nal); 46 | int (*Xx264_encoder_reconfig)(x264_t *, x264_param_t *); 47 | int (*Xx264_encoder_headers)(x264_t *, x264_nal_t **, int *); 48 | void (*Xx264_encoder_close)(x264_t *); 49 | #if X264_BUILD >= 98 50 | void (*Xx264_picture_init)(x264_picture_t *pic); 51 | #endif 52 | 53 | protected: 54 | bool Open(const char *name); 55 | 56 | bool _isLoaded; 57 | void * _dynamicLibrary; 58 | 59 | }; 60 | #endif /*__X264LOADER_H__ 1*/ 61 | -------------------------------------------------------------------------------- /include/h460/h46026.h: -------------------------------------------------------------------------------- 1 | // 2 | // h46026.h 3 | // 4 | // Code automatically generated by asnparse. 5 | // 6 | 7 | #if ! H323_DISABLE_H46026 8 | 9 | #ifndef __H46026_H 10 | #define __H46026_H 11 | 12 | #ifdef P_USE_PRAGMA 13 | #pragma interface 14 | #endif 15 | 16 | #include 17 | 18 | // 19 | // FrameData 20 | // 21 | 22 | class H46026_FrameData : public PASN_Choice 23 | { 24 | #ifndef PASN_LEANANDMEAN 25 | PCLASSINFO(H46026_FrameData, PASN_Choice); 26 | #endif 27 | public: 28 | H46026_FrameData(unsigned tag = 0, TagClass tagClass = UniversalTagClass); 29 | 30 | enum Choices { 31 | e_rtp, 32 | e_rtcp 33 | }; 34 | 35 | PBoolean CreateObject(); 36 | PObject * Clone() const; 37 | }; 38 | 39 | 40 | // 41 | // ArrayOf_FrameData 42 | // 43 | 44 | class H46026_FrameData; 45 | 46 | class H46026_ArrayOf_FrameData : public PASN_Array 47 | { 48 | #ifndef PASN_LEANANDMEAN 49 | PCLASSINFO(H46026_ArrayOf_FrameData, PASN_Array); 50 | #endif 51 | public: 52 | H46026_ArrayOf_FrameData(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 53 | 54 | PASN_Object * CreateObject() const; 55 | H46026_FrameData & operator[](PINDEX i) const; 56 | PObject * Clone() const; 57 | }; 58 | 59 | 60 | // 61 | // UDPFrame 62 | // 63 | 64 | class H46026_UDPFrame : public PASN_Sequence 65 | { 66 | #ifndef PASN_LEANANDMEAN 67 | PCLASSINFO(H46026_UDPFrame, PASN_Sequence); 68 | #endif 69 | public: 70 | H46026_UDPFrame(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 71 | 72 | PASN_Integer m_sessionId; 73 | PASN_Boolean m_dataFrame; 74 | H46026_ArrayOf_FrameData m_frame; 75 | 76 | PINDEX GetDataLength() const; 77 | PBoolean Decode(PASN_Stream & strm); 78 | void Encode(PASN_Stream & strm) const; 79 | #ifndef PASN_NOPRINTON 80 | void PrintOn(ostream & strm) const; 81 | #endif 82 | Comparison Compare(const PObject & obj) const; 83 | PObject * Clone() const; 84 | }; 85 | 86 | 87 | #endif // __H46026_H 88 | 89 | #endif // if ! H323_DISABLE_H46026 90 | 91 | 92 | // End of h46026.h 93 | -------------------------------------------------------------------------------- /include/x224.h: -------------------------------------------------------------------------------- 1 | /* 2 | * x224.h 3 | * 4 | * X.224 protocol handler 5 | * 6 | * Open H323 Library 7 | * 8 | * Copyright (c) 1998-2000 Equivalence Pty. Ltd. 9 | * 10 | * The contents of this file are subject to the Mozilla Public License 11 | * Version 1.0 (the "License"); you may not use this file except in 12 | * compliance with the License. You may obtain a copy of the License at 13 | * http://www.mozilla.org/MPL/ 14 | * 15 | * Software distributed under the License is distributed on an "AS IS" 16 | * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See 17 | * the License for the specific language governing rights and limitations 18 | * under the License. 19 | * 20 | * The Original Code is Open H323 Library. 21 | * 22 | * The Initial Developer of the Original Code is Equivalence Pty. Ltd. 23 | * 24 | * Contributor(s): ______________________________________. 25 | * 26 | * $Id$ 27 | * 28 | */ 29 | 30 | #ifndef __OPAL_X224_H 31 | #define __OPAL_X224_H 32 | 33 | #ifdef P_USE_PRAGMA 34 | #pragma interface 35 | #endif 36 | 37 | 38 | #include 39 | 40 | 41 | 42 | /////////////////////////////////////////////////////////////////////////////// 43 | 44 | /**This class embodies X.224 Class Zero Protocol Data Unit. 45 | */ 46 | class X224 : public PObject 47 | { 48 | PCLASSINFO(X224, PObject) 49 | 50 | public: 51 | enum Codes { 52 | ConnectRequest = 0xe0, 53 | ConnectConfirm = 0xd0, 54 | DataPDU = 0xf0 55 | }; 56 | 57 | X224(); 58 | 59 | void BuildConnectRequest(); 60 | void BuildConnectConfirm(); 61 | void BuildData(const PBYTEArray & data); 62 | 63 | void PrintOn(ostream & strm) const; 64 | PBoolean Decode(const PBYTEArray & rawData); 65 | PBoolean Encode(PBYTEArray & rawData) const; 66 | 67 | int GetCode() const { return header[0]; } 68 | const PBYTEArray & GetData() const { return data; } 69 | 70 | private: 71 | PBYTEArray header; 72 | PBYTEArray data; 73 | }; 74 | 75 | 76 | #endif // __OPAL_X224_H 77 | 78 | 79 | ///////////////////////////////////////////////////////////////////////////// 80 | -------------------------------------------------------------------------------- /plugins/audio/G.722.2/AMR-WB/if_rom.h: -------------------------------------------------------------------------------- 1 | /* 2 | *=================================================================== 3 | * 3GPP AMR Wideband Floating-point Speech Codec 4 | *=================================================================== 5 | */ 6 | #ifndef IF_ROM_H 7 | #define IF_ROM_H 8 | 9 | #include "typedef.h" 10 | 11 | /* 12 | * definition of constants 13 | */ 14 | #define NUM_OF_SPMODES 9 15 | 16 | /* number of parameters */ 17 | #define PRMNO_7k 18 18 | #define PRMNO_9k 32 19 | #define PRMNO_12k 36 20 | #define PRMNO_14k 36 21 | #define PRMNO_16k 36 22 | #define PRMNO_18k 52 23 | #define PRMNO_20k 52 24 | #define PRMNO_23k 52 25 | #define PRMNO_24k 56 26 | #define PRMNO_SID 7 27 | #define NB_PARM_MAX PRMNO_24k 28 | 29 | /* number of bits */ 30 | #ifndef NBBITS_7k 31 | #define NBBITS_7k 132 32 | #define NBBITS_9k 177 33 | #define NBBITS_12k 253 34 | #define NBBITS_14k 285 35 | #define NBBITS_16k 317 36 | #define NBBITS_18k 365 37 | #define NBBITS_20k 397 38 | #define NBBITS_23k 461 39 | #define NBBITS_24k 477 40 | #define NBBITS_SID 35 41 | #endif 42 | 43 | /* number of total bits */ 44 | #define HEADER_SIZE 6 /* real size + 1 */ 45 | #define T_NBBITS_7k (NBBITS_7k + HEADER_SIZE) 46 | #define T_NBBITS_9k (NBBITS_9k + HEADER_SIZE) 47 | #define T_NBBITS_12k (NBBITS_12k + HEADER_SIZE) 48 | #define T_NBBITS_14k (NBBITS_14k + HEADER_SIZE) 49 | #define T_NBBITS_16k (NBBITS_16k + HEADER_SIZE) 50 | #define T_NBBITS_18k (NBBITS_18k + HEADER_SIZE) 51 | #define T_NBBITS_20k (NBBITS_20k + HEADER_SIZE) 52 | #define T_NBBITS_23k (NBBITS_23k + HEADER_SIZE) 53 | #define T_NBBITS_24k (NBBITS_24k + HEADER_SIZE) 54 | #define T_NBBITS_SID (NBBITS_SID + HEADER_SIZE) 55 | 56 | #define TX_SPEECH 0 57 | #define TX_SID_FIRST 1 58 | #define TX_SID_UPDATE 2 59 | #define TX_NO_DATA 3 60 | 61 | #define RX_SPEECH_GOOD 0 62 | #define RX_SPEECH_PROBABLY_DEGRADED 1 63 | #define RX_SPEECH_LOST 2 64 | #define RX_SPEECH_BAD 3 65 | #define RX_SID_FIRST 4 66 | #define RX_SID_UPDATE 5 67 | #define RX_SID_BAD 6 68 | #define RX_NO_DATA 7 69 | 70 | #endif 71 | -------------------------------------------------------------------------------- /plugins/audio/Speex/libspeex/math_approx.h: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2002 Jean-Marc Valin */ 2 | /** 3 | @file math_approx.h 4 | @brief Various math approximation functions for Speex 5 | */ 6 | /* 7 | Redistribution and use in source and binary forms, with or without 8 | modification, are permitted provided that the following conditions 9 | are met: 10 | 11 | - Redistributions of source code must retain the above copyright 12 | notice, this list of conditions and the following disclaimer. 13 | 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | 18 | - Neither the name of the Xiph.org Foundation nor the names of its 19 | contributors may be used to endorse or promote products derived from 20 | this software without specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 23 | ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 24 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 25 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR 26 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 27 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 28 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 29 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 30 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 31 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 32 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 33 | */ 34 | 35 | #ifndef MATH_APPROX_H 36 | #define MATH_APPROX_H 37 | 38 | #include "misc.h" 39 | 40 | spx_word16_t spx_cos(spx_word16_t x); 41 | 42 | #ifdef FIXED_POINT 43 | spx_word16_t spx_sqrt(spx_word32_t x); 44 | spx_word16_t spx_acos(spx_word16_t x); 45 | #else 46 | #define spx_sqrt sqrt 47 | #define spx_acos acos 48 | #endif 49 | 50 | #endif 51 | -------------------------------------------------------------------------------- /plugins/audio/Speex/libspeex/medfilter.h: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2004 Jean-Marc Valin */ 2 | /** 3 | @file medfilter.h 4 | @brief Median filter 5 | */ 6 | /* 7 | Redistribution and use in source and binary forms, with or without 8 | modification, are permitted provided that the following conditions 9 | are met: 10 | 11 | - Redistributions of source code must retain the above copyright 12 | notice, this list of conditions and the following disclaimer. 13 | 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | 18 | - Neither the name of the Xiph.org Foundation nor the names of its 19 | contributors may be used to endorse or promote products derived from 20 | this software without specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 23 | ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 24 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 25 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR 26 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 27 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 28 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 29 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 30 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 31 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 32 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 33 | 34 | */ 35 | 36 | #ifndef MEDFILTER_H 37 | #define MEDFILTER_H 38 | 39 | /** Median filter. */ 40 | typedef struct { 41 | int N; 42 | int filled; 43 | int *ids; 44 | float *val; 45 | } MedianFilter; 46 | 47 | MedianFilter *median_filter_new(int N); 48 | void median_filter_update(MedianFilter *f, float val); 49 | float median_filter_get(MedianFilter *f); 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /plugins/audio/G.722.2/AMR-WB/enc_util.h: -------------------------------------------------------------------------------- 1 | /* 2 | *=================================================================== 3 | * 3GPP AMR Wideband Floating-point Speech Codec 4 | *=================================================================== 5 | */ 6 | #ifndef ENC_UTIL_H 7 | #define ENC_UTIL_H 8 | 9 | #include "typedef.h" 10 | #include "enc_main.h" 11 | 12 | Word16 E_UTIL_saturate(Word32 inp); 13 | Word32 E_UTIL_saturate_31(Word32 inp); 14 | Word16 E_UTIL_random(Word16 *seed); 15 | Word32 E_UTIL_mpy_32_16 (Word16 hi, Word16 lo, Word16 n); 16 | Word32 E_UTIL_pow2(Word16 exponant, Word16 fraction); 17 | void E_UTIL_log2_32 (Word32 L_x, Word16 *exponent, Word16 *fraction); 18 | void E_UTIL_normalised_inverse_sqrt(Word32 *frac, Word16 *exp); 19 | Word32 E_UTIL_dot_product12(Word16 x[], Word16 y[], Word32 lg, Word32 *exp); 20 | Word16 E_UTIL_norm_s (Word16 var1); 21 | Word16 E_UTIL_norm_l (Word32 L_var1); 22 | void E_UTIL_l_extract(Word32 L_32, Word16 *hi, Word16 *lo); 23 | void E_UTIL_hp50_12k8(Float32 signal[], Word32 lg, Float32 mem[]); 24 | void E_UTIL_preemph(Word16 x[], Word16 mu, Word32 lg, Word16 *mem); 25 | void E_UTIL_f_preemph(Float32 *signal, Float32 mu, Word32 L, Float32 *mem); 26 | void E_UTIL_deemph(Float32 *signal, Float32 mu, Word32 L, Float32 *mem); 27 | void E_UTIL_deemph_32(Word16 x_hi[], Word16 x_lo[], Word16 y[], 28 | Word16 mu, Word16 L, Word16 *mem); 29 | void E_UTIL_decim_12k8(Float32 sig16k[], Word32 lg, Float32 sig12k8[], 30 | Float32 mem[]); 31 | void E_UTIL_residu(Float32 *a, Float32 *x, Float32 *y, Word32 l); 32 | void E_UTIL_convolve(Word16 x[], Word16 q, Float32 h[], Float32 y[]); 33 | void E_UTIL_f_convolve(Float32 x[], Float32 h[], Float32 y[]); 34 | void E_UTIL_autocorr(Float32 *x, Float32 *r); 35 | void E_UTIL_signal_up_scale(Word16 x[], Word16 exp); 36 | void E_UTIL_signal_down_scale(Word16 x[], Word32 lg, Word16 exp); 37 | void E_UTIL_synthesis(Float32 a[], Float32 x[], Float32 y[], 38 | Word32 l, Float32 mem[], Word32 update_m); 39 | Word32 E_UTIL_enc_synthesis(Float32 Aq[], Float32 exc[], Float32 synth16k[], 40 | Coder_State *st); 41 | 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /plugins/audio/G.722.1/Makefile.in: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile for G.722.1 codec plugin 3 | # 4 | # $Revision$ 5 | # $Author$ 6 | # $Date$ 7 | # 8 | 9 | AC_PLUGIN_DIR=@AC_PLUGIN_DIR@ 10 | prefix=@prefix@ 11 | exec_prefix=@exec_prefix@ 12 | libdir=@libdir@ 13 | target_os=@target_os@ 14 | 15 | SONAME = g7221 16 | STDCCFLAGS += @STDCCFLAGS@ -fPIC 17 | 18 | SRCDIR = ./G722-1 19 | OBJDIR = ./obj 20 | PLUGINDIR=../.. 21 | 22 | CC =@CC@ 23 | CXX =@CXX@ 24 | LDSO =@LDSO@ 25 | PLUGINEXT =@PLUGINEXT@ 26 | STDCCFLAGS =@STDCCFLAGS@ 27 | LDFLAGS =@LDFLAGS@ 28 | EXTRACFLAGS =-I$(PLUGINDIR) 29 | 30 | SRCS += G7221Codec.cxx \ 31 | $(SRCDIR)/basop32.c \ 32 | $(SRCDIR)/coef2sam.c \ 33 | $(SRCDIR)/common.c \ 34 | $(SRCDIR)/count.c \ 35 | $(SRCDIR)/dct4_a.c \ 36 | $(SRCDIR)/dct4_s.c \ 37 | $(SRCDIR)/decoder.c \ 38 | $(SRCDIR)/encoder.c \ 39 | $(SRCDIR)/huff_tab.c \ 40 | $(SRCDIR)/sam2coef.c \ 41 | $(SRCDIR)/tables.c 42 | 43 | vpath %.o $(OBJDIR) 44 | vpath %.c $(SRCDIR) 45 | vpath %.cxx $(SRCDIR) 46 | 47 | ifeq ($(VERBOSE),) 48 | Q_CC = @echo [CC] `echo $< | sed s^@OPALDIR@/^^` ; 49 | Q_LD = @echo [LD] `echo $(PLUGIN) | sed s^@OPALDIR@/^^` ; 50 | endif 51 | 52 | 53 | $(OBJDIR)/%.o : %.c 54 | @mkdir -p $(OBJDIR) >/dev/null 2>&1 55 | $(Q_CC)$(CXX) -I../../../include $(STDCCFLAGS) $(OPTCCFLAGS) $(EXTRACFLAGS) $(CFLAGS) -c $< -o $@ 56 | 57 | $(OBJDIR)/%.o : %.cxx 58 | @mkdir -p $(OBJDIR) >/dev/null 2>&1 59 | $(Q_CC)$(CXX) -I../../../include $(STDCCFLAGS) $(OPTCCFLAGS) $(EXTRACFLAGS) $(CFLAGS) -c $< -o $@ 60 | 61 | PLUGIN = ./g7221_audio_pwplugin.$(PLUGINEXT) 62 | 63 | OBJECTS = $(addprefix $(OBJDIR)/,$(patsubst %.cxx,%.o,$(patsubst %.c,%.o,$(notdir $(SRCS))))) 64 | 65 | all: $(PLUGIN) 66 | 67 | $(PLUGIN): $(OBJECTS) 68 | ifeq (solaris,$(findstring solaris,$(target_os))) 69 | $(Q_LD)$(CC) $(LDSO) $@ -o $@ $^ $(EXTRALIBS) 70 | else 71 | $(Q_LD)$(CC) $(LDSO) -o $@ $^ $(EXTRALIBS) 72 | 73 | endif 74 | 75 | install: 76 | mkdir -p $(DESTDIR)$(libdir)/$(AC_PLUGIN_DIR) 77 | install $(PLUGIN) $(DESTDIR)$(libdir)/$(AC_PLUGIN_DIR) 78 | 79 | uninstall: 80 | rm -f $(DESTDIR)$(libdir)/$(AC_PLUGIN_DIR)/$(PLUGIN) 81 | 82 | clean: 83 | rm -f $(OBJECTS) $(PLUGIN) 84 | 85 | -------------------------------------------------------------------------------- /include/rtp2wav.h: -------------------------------------------------------------------------------- 1 | /* 2 | * rtp2wav.h 3 | * 4 | * Open Phone Abstraction Library (OPAL) 5 | * Formally known as the Open H323 project. 6 | * 7 | * Copyright (c) 2001 Equivalence Pty. Ltd. 8 | * 9 | * The contents of this file are subject to the Mozilla Public License 10 | * Version 1.0 (the "License"); you may not use this file except in 11 | * compliance with the License. You may obtain a copy of the License at 12 | * http://www.mozilla.org/MPL/ 13 | * 14 | * Software distributed under the License is distributed on an "AS IS" 15 | * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See 16 | * the License for the specific language governing rights and limitations 17 | * under the License. 18 | * 19 | * The Original Code is Open Phone Abstraction Library. 20 | * 21 | * The Initial Developer of the Original Code is Equivalence Pty. Ltd. 22 | * 23 | * Contributor(s): ______________________________________. 24 | * 25 | * $Id$ 26 | * 27 | */ 28 | 29 | #ifndef __RTP_RTP2WAV_H 30 | #define __RTP_RTP2WAV_H 31 | 32 | #ifdef P_USE_PRAGMA 33 | #pragma interface 34 | #endif 35 | 36 | 37 | #include 38 | #include "rtp.h" 39 | 40 | 41 | /////////////////////////////////////////////////////////////////////////////// 42 | 43 | /**This class encapsulates a WAV file that can be used to intercept RTP data 44 | in the standard H323_RTPChannel class. 45 | */ 46 | class OpalRtpToWavFile : public PWAVFile 47 | { 48 | PCLASSINFO(OpalRtpToWavFile, PWAVFile); 49 | public: 50 | OpalRtpToWavFile(); 51 | OpalRtpToWavFile( 52 | const PString & filename 53 | ); 54 | 55 | virtual PBoolean OnFirstPacket(RTP_DataFrame & frame); 56 | 57 | const PNotifier & GetReceiveHandler() const { return receiveHandler; } 58 | 59 | protected: 60 | PDECLARE_NOTIFIER(RTP_DataFrame, OpalRtpToWavFile, ReceivedPacket); 61 | 62 | PNotifier receiveHandler; 63 | RTP_DataFrame::PayloadTypes payloadType; 64 | PBYTEArray lastFrame; 65 | PINDEX lastPayloadSize; 66 | }; 67 | 68 | 69 | #endif // __RTP_RTP2WAV_H 70 | 71 | 72 | ///////////////////////////////////////////////////////////////////////////// 73 | -------------------------------------------------------------------------------- /plugins/audio/LPC_10/src/f2clib.c: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | $Log$ 4 | Revision 1.2 2006/08/01 13:06:50 rjongbloed 5 | Added a raft of unvalidated audio codecs from OpenH323 tree 6 | 7 | Revision 1.1.2.1 2006/07/22 14:03:16 rjongbloed 8 | Added more plug ins 9 | 10 | Revision 1.1.2.1 2006/05/08 13:49:57 rjongbloed 11 | Imported all the audio codec plug ins from OpenH323 12 | 13 | Revision 1.2 2004/05/05 13:25:38 rjongbloed 14 | Fixed clearly incorrect code (dived by zero) found with an MSVC warning 15 | 16 | Revision 1.1 2004/05/04 11:16:42 csoutheren 17 | Initial version 18 | 19 | Revision 1.3 2004/02/17 09:21:45 csoutheren 20 | Fix for GM bug 134591 21 | 22 | Revision 1.2 2002/02/15 03:57:55 yurik 23 | Warnings removed during compilation, patch courtesy of Jehan Bing, jehan@bravobrava.com 24 | 25 | Revision 1.1 2000/06/05 04:45:12 robertj 26 | Added LPC-10 2400bps codec 27 | 28 | * Revision 1.1 1996/08/19 22:32:10 jaf 29 | * Initial revision 30 | * 31 | 32 | */ 33 | 34 | /* 35 | * f2clib.c 36 | * 37 | * SCCS ID: @(#)f2clib.c 1.2 96/05/19 38 | */ 39 | 40 | #include "f2c.h" 41 | 42 | #ifdef KR_headers 43 | integer pow_ii(ap, bp) integer *ap, *bp; 44 | #else 45 | integer pow_ii(integer *ap, integer *bp) 46 | #endif 47 | { 48 | integer pow, x, n; 49 | unsigned long u; 50 | 51 | x = *ap; 52 | n = *bp; 53 | 54 | if (n <= 0) { 55 | if (n == 0 || x == 1) 56 | return 1; 57 | if (x != -1) 58 | return x != 0 ? 1/x : 0; 59 | n = -n; 60 | } 61 | u = n; 62 | for(pow = 1; ; ) 63 | { 64 | if(u & 01) 65 | pow *= x; 66 | if(u >>= 1) 67 | x *= x; 68 | else 69 | break; 70 | } 71 | return(pow); 72 | } 73 | 74 | 75 | 76 | #ifdef KR_headers 77 | double r_sign(a,b) real *a, *b; 78 | #else 79 | double r_sign(real *a, real *b) 80 | #endif 81 | { 82 | double x; 83 | x = (*a >= 0 ? *a : - *a); 84 | return( *b >= 0 ? x : -x); 85 | } 86 | 87 | 88 | 89 | #ifdef KR_headers 90 | double floor(); 91 | integer i_nint(x) real *x; 92 | #else 93 | #undef abs 94 | #include "math.h" 95 | integer i_nint(real *x) 96 | #endif 97 | { 98 | return (integer)( (*x)>=0 ? 99 | floor(*x + .5) : -(floor(.5 - *x)) ); 100 | } 101 | -------------------------------------------------------------------------------- /plugins/video/H.264/gpl/x264loader_win32.h: -------------------------------------------------------------------------------- 1 | /* 2 | * H.264 Plugin codec for OpenH323/OPAL 3 | * 4 | * Copyright (C) 2007 Matthias Schneider, All Rights Reserved 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software Foundation, 18 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. 19 | * 20 | */ 21 | #ifndef __X264LOADER_H__ 22 | #define __X264LOADER_H__ 1 23 | 24 | #if defined(_WIN32) && _MSC_VER < 1600 25 | #include "../../common/vs-stdint.h" 26 | #else 27 | #include 28 | #endif 29 | 30 | extern "C" { 31 | #include 32 | }; 33 | 34 | #include 35 | 36 | typedef void (*Function)(); 37 | 38 | class X264Library 39 | { 40 | public: 41 | X264Library(); 42 | ~X264Library(); 43 | 44 | bool Load(); 45 | bool isLoaded() const { return _isLoaded; } 46 | bool GetFunction(const char * name, Function & func); 47 | 48 | x264_t *(*Xx264_encoder_open)(x264_param_t *); 49 | void (*Xx264_param_default)(x264_param_t *); 50 | int (*Xx264_encoder_encode)(x264_t *, x264_nal_t **, int *, x264_picture_t *, x264_picture_t *); 51 | int (*Xx264_nal_encode)(void *, int *, int b_annexb, x264_nal_t *nal); 52 | int (*Xx264_encoder_reconfig)(x264_t *, x264_param_t *); 53 | int (*Xx264_encoder_headers)(x264_t *, x264_nal_t **, int *); 54 | void (*Xx264_encoder_close)(x264_t *); 55 | #if X264_BUILD >= 98 56 | void (*Xx264_picture_init)(x264_picture_t *pic); 57 | #endif 58 | 59 | protected: 60 | bool Open(const char *name); 61 | 62 | bool _isLoaded; 63 | HINSTANCE _dynamicLibrary; 64 | 65 | }; 66 | #endif /*__X264LOADER_H__ 1*/ 67 | -------------------------------------------------------------------------------- /plugins/audio/Speex/libspeex/gain_table_lbr.c: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2002 Jean-Marc Valin 2 | File: gain_table_lbr.c 3 | Codebook for 3-tap pitch prediction gain (32 entries) 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions are 7 | met: 8 | 9 | 1. Redistributions of source code must retain the above copyright notice, 10 | this list of conditions and the following disclaimer. 11 | 12 | 2. Redistributions in binary form must reproduce the above copyright 13 | notice, this list of conditions and the following disclaimer in the 14 | documentation and/or other materials provided with the distribution. 15 | 16 | 3. The name of the author may not be used to endorse or promote products 17 | derived from this software without specific prior written permission. 18 | 19 | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 20 | IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 21 | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 22 | DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 23 | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 24 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 25 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 26 | HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 27 | STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 28 | ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | POSSIBILITY OF SUCH DAMAGE. 30 | */ 31 | 32 | const signed char gain_cdbk_lbr[96] = { 33 | -32,-32,-32, 34 | -31,-58,-16, 35 | -41,-24,-43, 36 | -56,-22,-55, 37 | -13,33,-41, 38 | -4,-39,-9, 39 | -41,15,-12, 40 | -8,-15,-12, 41 | 1,2,-44, 42 | -22,-66,-42, 43 | -38,28,-23, 44 | -21,14,-37, 45 | 0,21,-50, 46 | -53,-71,-27, 47 | -37,-1,-19, 48 | -19,-5,-28, 49 | 6,65,-44, 50 | -33,-48,-33, 51 | -40,57,-14, 52 | -17,4,-45, 53 | -31,38,-33, 54 | -23,28,-40, 55 | -43,29,-12, 56 | -34,13,-23, 57 | -16,15,-27, 58 | -14,-82,-15, 59 | -31,25,-32, 60 | -21,5,-5, 61 | -47,-63,-51, 62 | -46,12,3, 63 | -28,-17,-29, 64 | -10,14,-40}; 65 | -------------------------------------------------------------------------------- /plugins/audio/Speex/libspeex/pcm_wrapper.h: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2005 Jean-Marc Valin */ 2 | /** 3 | @file pcm_wrapper.h 4 | @brief PCM encoding wrapped as a Speex mode 5 | */ 6 | /* 7 | Redistribution and use in source and binary forms, with or without 8 | modification, are permitted provided that the following conditions 9 | are met: 10 | 11 | - Redistributions of source code must retain the above copyright 12 | notice, this list of conditions and the following disclaimer. 13 | 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | 18 | - Neither the name of the Xiph.org Foundation nor the names of its 19 | contributors may be used to endorse or promote products derived from 20 | this software without specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 23 | ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 24 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 25 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR 26 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 27 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 28 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 29 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 30 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 31 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 32 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 33 | 34 | */ 35 | 36 | 37 | #ifndef PCM_WRAPPER_H 38 | #define PCM_WRAPPER_H 39 | 40 | #include "speex.h" 41 | 42 | #ifdef __cplusplus 43 | extern "C" { 44 | #endif 45 | 46 | #define PCM_SET_FRAME_SIZE 2 47 | #define PCM_GET_FRAME_SIZE 3 48 | 49 | #define PCM_SET_FORMAT 2000 50 | #define PCM_GET_FORMAT 2001 51 | 52 | /** PCM wrapper mode */ 53 | extern const SpeexMode *speex_pcm_wrapper; 54 | 55 | 56 | #ifdef __cplusplus 57 | } 58 | #endif 59 | 60 | 61 | 62 | #endif 63 | -------------------------------------------------------------------------------- /src/asn/t38.asn: -------------------------------------------------------------------------------- 1 | T38 DEFINITIONS AUTOMATIC TAGS ::= 2 | BEGIN 3 | 4 | IFPPacket ::= SEQUENCE 5 | { 6 | type-of-msg Type-of-msg, 7 | data-field Data-Field OPTIONAL 8 | } 9 | 10 | PreCorrigendum-IFPPacket ::= SEQUENCE 11 | { 12 | type-of-msg Type-of-msg, 13 | data-field PreCorrigendum-Data-Field OPTIONAL 14 | } 15 | 16 | Type-of-msg ::= CHOICE 17 | { 18 | t30-indicator ENUMERATED 19 | { 20 | no-signal, 21 | cng, 22 | ced, 23 | v21-preamble, 24 | v27-2400-training, 25 | v27-4800-training, 26 | v29-7200-training, 27 | v29-9600-training, 28 | v17-7200-short-training, 29 | v17-7200-long-training, 30 | v17-9600-short-training, 31 | v17-9600-long-training, 32 | v17-12000-short-training, 33 | v17-12000-long-training, 34 | v17-14400-short-training, 35 | v17-14400-long-training, 36 | ... 37 | }, 38 | 39 | data ENUMERATED 40 | { 41 | v21, 42 | v27-2400, 43 | v27-4800, 44 | v29-7200, 45 | v29-9600, 46 | v17-7200, 47 | v17-9600, 48 | v17-12000, 49 | v17-14400, 50 | ... 51 | } 52 | } 53 | 54 | Data-Field ::= SEQUENCE OF SEQUENCE 55 | { 56 | field-type ENUMERATED 57 | { 58 | hdlc-data, 59 | hdlc-sig-end, 60 | hdlc-fcs-OK, 61 | hdlc-fcs-BAD, 62 | hdlc-fcs-OK-sig-end, 63 | hdlc-fcs-BAD-sig-end, 64 | t4-non-ecm-data, 65 | t4-non-ecm-sig-end, 66 | ... 67 | }, 68 | field-data OCTET STRING (SIZE(1..65535)) OPTIONAL 69 | } 70 | 71 | PreCorrigendum-Data-Field ::= SEQUENCE OF SEQUENCE 72 | { 73 | field-type ENUMERATED 74 | { 75 | hdlc-data, 76 | hdlc-sig-end, 77 | hdlc-fcs-OK, 78 | hdlc-fcs-BAD, 79 | hdlc-fcs-OK-sig-end, 80 | hdlc-fcs-BAD-sig-end, 81 | t4-non-ecm-data, 82 | t4-non-ecm-sig-end 83 | }, 84 | field-data OCTET STRING (SIZE(1..65535)) OPTIONAL 85 | } 86 | 87 | UDPTLPacket ::= SEQUENCE 88 | { 89 | seq-number INTEGER (0..65535), 90 | primary-ifp-packet TYPE-IDENTIFIER.&Type(IFPPacket), 91 | error-recovery CHOICE 92 | { 93 | secondary-ifp-packets SEQUENCE OF TYPE-IDENTIFIER.&Type(IFPPacket), 94 | fec-info SEQUENCE 95 | { 96 | fec-npackets INTEGER, 97 | fec-data SEQUENCE OF OCTET STRING 98 | } 99 | } 100 | } 101 | 102 | END 103 | -------------------------------------------------------------------------------- /plugins/audio/iLBC/iLBC/createCB.h: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | 5 | 6 | iLBC Speech Coder ANSI-C Source Code 7 | 8 | createCB.h 9 | 10 | Copyright (C) The Internet Society (2004). 11 | All Rights Reserved. 12 | 13 | ******************************************************************/ 14 | 15 | #ifndef __iLBC_CREATECB_H 16 | #define __iLBC_CREATECB_H 17 | 18 | void filteredCBvecs( 19 | float *cbvectors, /* (o) Codebook vector for the 20 | higher section */ 21 | float *mem, /* (i) Buffer to create codebook 22 | vectors from */ 23 | int lMem /* (i) Length of buffer */ 24 | ); 25 | 26 | void searchAugmentedCB( 27 | int low, /* (i) Start index for the search */ 28 | int high, /* (i) End index for the search */ 29 | int stage, /* (i) Current stage */ 30 | int startIndex, /* (i) CB index for the first 31 | augmented vector */ 32 | float *target, /* (i) Target vector for encoding */ 33 | float *buffer, /* (i) Pointer to the end of the 34 | buffer for augmented codebook 35 | construction */ 36 | float *max_measure, /* (i/o) Currently maximum measure */ 37 | int *best_index,/* (o) Currently the best index */ 38 | float *gain, /* (o) Currently the best gain */ 39 | float *energy, /* (o) Energy of augmented 40 | codebook vectors */ 41 | float *invenergy/* (o) Inv energy of aug codebook 42 | vectors */ 43 | ); 44 | 45 | void createAugmentedVec( 46 | int index, /* (i) Index for the aug vector 47 | to be created */ 48 | float *buffer, /* (i) Pointer to the end of the 49 | buffer for augmented codebook 50 | construction */ 51 | float *cbVec /* (o) The construced codebook vector */ 52 | ); 53 | 54 | #endif 55 | 56 | 57 | -------------------------------------------------------------------------------- /plugins/video/H.264/h264pipe_win32.h: -------------------------------------------------------------------------------- 1 | /* 2 | * H.264 Plugin codec for OpenH323/OPAL 3 | * 4 | * Copyright (C) Matthias Schneider, All Rights Reserved 5 | * 6 | * The contents of this file are subject to the Mozilla Public License 7 | * Version 1.0 (the "License"); you may not use this file except in 8 | * compliance with the License. You may obtain a copy of the License at 9 | * http://www.mozilla.org/MPL/ 10 | * 11 | * Software distributed under the License is distributed on an "AS IS" 12 | * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See 13 | * the License for the specific language governing rights and limitations 14 | * under the License. 15 | * 16 | * The Original Code is Open H323 Library. 17 | * 18 | * Contributor(s): Matthias Schneider (ma30002000@yahoo.de) 19 | * 20 | */ 21 | 22 | /* 23 | Notes 24 | ----- 25 | 26 | */ 27 | 28 | #ifndef __H264PIPE_WIN32_H__ 29 | #define __H264PIPE_WIN32_H__ 1 30 | 31 | #include "shared/pipes.h" 32 | 33 | #include 34 | typedef unsigned char u_char; 35 | class H264EncCtx 36 | { 37 | public: 38 | H264EncCtx(); 39 | ~H264EncCtx(); 40 | bool Load(); 41 | bool isLoaded() { return loaded; }; 42 | void call(unsigned msg); 43 | void call(unsigned msg, unsigned value); 44 | void call(unsigned msg , const u_char * src, unsigned & srcLen, u_char * dst, unsigned & dstLen, unsigned & headerLen, unsigned int & flags, int & ret); 45 | unsigned GetInstanceNumber() { return instances; }; 46 | 47 | protected: 48 | bool InternalLoad(); 49 | bool createPipes(); 50 | void closeAndRemovePipes(); 51 | void writeStream (LPCVOID data, unsigned bytes); 52 | void readStream (LPVOID data, unsigned bytes); 53 | void flushStream (); 54 | bool findGplProcess(); 55 | bool checkGplProcessExists (const char * dir); 56 | bool execGplProcess(); 57 | const char* ErrorMessage(); 58 | 59 | char pipeName [512]; 60 | char gplProcess [512]; 61 | 62 | HANDLE stream; 63 | unsigned width; 64 | unsigned height; 65 | unsigned size; 66 | bool startNewFrame; 67 | bool loaded; 68 | 69 | private: 70 | // stores no. of insances created 71 | static unsigned int instances; 72 | }; 73 | 74 | #endif /* __PIPE_WIN32_H__ */ 75 | -------------------------------------------------------------------------------- /plugins/video/H.263-1998/rfc2190.h: -------------------------------------------------------------------------------- 1 | /* 2 | * RFC 2190 packetiser and unpacketiser 3 | * 4 | * Copyright (C) 2008 Post Increment 5 | * 6 | * The contents of this file are subject to the Mozilla Public License 7 | * Version 1.0 (the "License"); you may not use this file except in 8 | * compliance with the License. You may obtain a copy of the License at 9 | * http://www.mozilla.org/MPL/ 10 | * 11 | * Software distributed under the License is distributed on an "AS IS" 12 | * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See 13 | * the License for the specific language governing rights and limitations 14 | * under the License. 15 | * 16 | * The Original Code is Opal 17 | * 18 | * Contributor(s): Craig Southeren 19 | * 20 | */ 21 | 22 | #ifndef _RFC2190_H_ 23 | #define _RFC2190_H_ 24 | 25 | #include 26 | #include 27 | 28 | #include "../common/rtpframe.h" 29 | 30 | class RFC2190Depacketizer { 31 | public: 32 | RFC2190Depacketizer(); 33 | void NewFrame(); 34 | int SetPacket(const RTPFrame & outputFrame, bool & requestIFrame, bool & isIFrame); 35 | 36 | std::vector frame; 37 | 38 | protected: 39 | unsigned lastSequence; 40 | int LostSync(bool & requestIFrame, const char * reason); 41 | bool first; 42 | bool skipUntilEndOfFrame; 43 | unsigned lastEbit; 44 | }; 45 | 46 | class RFC2190Packetizer 47 | { 48 | public: 49 | RFC2190Packetizer(); 50 | ~RFC2190Packetizer(); 51 | int Open(unsigned long timeStamp, unsigned long maxLen); 52 | int GetPacket(RTPFrame & outputFrame, unsigned int & flags); 53 | 54 | unsigned char * m_buffer; 55 | size_t m_bufferSize; 56 | size_t m_bufferLen; 57 | 58 | unsigned int TR; 59 | unsigned int frameSize; 60 | int iFrame; 61 | int annexD, annexE, annexF, annexG, pQuant, cpm; 62 | int macroblocksPerGOB; 63 | 64 | struct fragment { 65 | unsigned length; 66 | unsigned mbNum; 67 | }; 68 | 69 | typedef std::list FragmentListType; 70 | unsigned long timestamp; 71 | FragmentListType fragments; // use list because we want fast insert and delete 72 | FragmentListType::iterator currFrag; 73 | unsigned char * fragPtr; 74 | }; 75 | 76 | #endif // _RFC2190_H_ 77 | 78 | -------------------------------------------------------------------------------- /plugins/audio/SILK/silkSrc/SKP_Silk_LBRR_reset.c: -------------------------------------------------------------------------------- 1 | /*********************************************************************** 2 | Copyright (c) 2006-2010, Skype Limited. All rights reserved. 3 | Redistribution and use in source and binary forms, with or without 4 | modification, (subject to the limitations in the disclaimer below) 5 | are permitted provided that the following conditions are met: 6 | - Redistributions of source code must retain the above copyright notice, 7 | this list of conditions and the following disclaimer. 8 | - Redistributions in binary form must reproduce the above copyright 9 | notice, this list of conditions and the following disclaimer in the 10 | documentation and/or other materials provided with the distribution. 11 | - Neither the name of Skype Limited, nor the names of specific 12 | contributors, may be used to endorse or promote products derived from 13 | this software without specific prior written permission. 14 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED 15 | BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 16 | CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, 17 | BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 18 | FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 19 | COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 20 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 21 | NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 22 | USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 23 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | ***********************************************************************/ 27 | 28 | #include "SKP_Silk_main.h" 29 | 30 | /* Resets LBRR buffer, used if packet size changes */ 31 | void SKP_Silk_LBRR_reset( 32 | SKP_Silk_encoder_state *psEncC /* I/O state */ 33 | ) 34 | { 35 | SKP_int i; 36 | 37 | for( i = 0; i < MAX_LBRR_DELAY; i++ ) { 38 | psEncC->LBRR_buffer[ i ].usage = SKP_SILK_NO_LBRR; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /plugins/audio/G.722.2/Makefile.in: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile for G.722 codec plugin 3 | # 4 | # $Revision$ 5 | # $Author$ 6 | # $Date$ 7 | # 8 | 9 | AC_PLUGIN_DIR=@AC_PLUGIN_DIR@ 10 | prefix=@prefix@ 11 | exec_prefix=@exec_prefix@ 12 | libdir=@libdir@ 13 | target_os=@target_os@ 14 | 15 | SONAME = g7222 16 | STDCCFLAGS += @STDCCFLAGS@ -fPIC 17 | 18 | SRCDIR = ./AMR-WB 19 | OBJDIR = ./obj 20 | PLUGINDIR=../.. 21 | 22 | CC =@CC@ 23 | CXX =@CXX@ 24 | LDSO =@LDSO@ 25 | PLUGINEXT =@PLUGINEXT@ 26 | STDCCFLAGS =@STDCCFLAGS@ 27 | LDFLAGS =@LDFLAGS@ 28 | EXTRACFLAGS =-I$(PLUGINDIR) 29 | 30 | SRCS = G7222Codec.cpp \ 31 | $(SRCDIR)/dec_acelp.c \ 32 | $(SRCDIR)/dec_dtx.c \ 33 | $(SRCDIR)/dec_gain.c \ 34 | $(SRCDIR)/dec_if.c \ 35 | $(SRCDIR)/dec_lpc.c \ 36 | $(SRCDIR)/dec_main.c \ 37 | $(SRCDIR)/dec_rom.c \ 38 | $(SRCDIR)/dec_util.c \ 39 | $(SRCDIR)/enc_acelp.c \ 40 | $(SRCDIR)/enc_dtx.c \ 41 | $(SRCDIR)/enc_gain.c \ 42 | $(SRCDIR)/enc_if.c \ 43 | $(SRCDIR)/enc_lpc.c \ 44 | $(SRCDIR)/enc_main.c \ 45 | $(SRCDIR)/enc_rom.c \ 46 | $(SRCDIR)/enc_util.c \ 47 | $(SRCDIR)/if_rom.c 48 | 49 | vpath %.o $(OBJDIR) 50 | vpath %.c $(SRCDIR) 51 | 52 | ifeq ($(VERBOSE),) 53 | Q_CC = @echo [CC] `echo $< | sed s^@OPALDIR@/^^` ; 54 | Q_LD = @echo [LD] `echo $(PLUGIN) | sed s^@OPALDIR@/^^` ; 55 | endif 56 | 57 | 58 | $(OBJDIR)/%.o : %.c 59 | @mkdir -p $(OBJDIR) >/dev/null 2>&1 60 | $(Q_CC)$(CC) -I../../../include $(STDCCFLAGS) $(OPTCCFLAGS) $(EXTRACFLAGS) $(CFLAGS) -c $< -o $@ 61 | 62 | $(OBJDIR)/%.o : %.cpp 63 | @mkdir -p $(OBJDIR) >/dev/null 2>&1 64 | $(Q_CC)$(CC) -I../../../include $(STDCCFLAGS) $(OPTCCFLAGS) $(EXTRACFLAGS) $(CFLAGS) -c $< -o $@ 65 | 66 | PLUGIN = ./g7222_audio_pwplugin.$(PLUGINEXT) 67 | 68 | OBJECTS = $(addprefix $(OBJDIR)/,$(patsubst %.cpp,%.o,$(patsubst %.c,%.o,$(notdir $(SRCS))))) 69 | 70 | all: $(PLUGIN) 71 | 72 | $(PLUGIN): $(OBJECTS) 73 | ifeq (solaris,$(findstring solaris,$(target_os))) 74 | $(Q_LD)$(CC) $(LDSO) $@ -o $@ $^ $(EXTRALIBS) 75 | else 76 | $(Q_LD)$(CC) $(LDSO) -o $@ $^ $(EXTRALIBS) 77 | 78 | endif 79 | 80 | install: 81 | mkdir -p $(DESTDIR)$(libdir)/$(AC_PLUGIN_DIR) 82 | install $(PLUGIN) $(DESTDIR)$(libdir)/$(AC_PLUGIN_DIR) 83 | 84 | uninstall: 85 | rm -f $(DESTDIR)$(libdir)/$(AC_PLUGIN_DIR)/$(PLUGIN) 86 | 87 | clean: 88 | rm -f $(OBJECTS) $(PLUGIN) 89 | 90 | -------------------------------------------------------------------------------- /plugins/audio/GSM0610/src/table.c: -------------------------------------------------------------------------------- 1 | /* 2 | * table.c 3 | * 4 | * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische 5 | * Universitaet Berlin. See the accompanying file "COPYRIGHT" for 6 | * details. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. 7 | */ 8 | 9 | 10 | /* Most of these tables are inlined at their point of use. 11 | */ 12 | 13 | /* 4.4 TABLES USED IN THE FIXED POINT IMPLEMENTATION OF THE RPE-LTP 14 | * CODER AND DECODER 15 | * 16 | * (Most of them inlined, so watch out.) 17 | */ 18 | 19 | #define GSM_TABLE_C 20 | #include "private.h" 21 | #include "gsm.h" 22 | 23 | /* Table 4.1 Quantization of the Log.-Area Ratios 24 | */ 25 | /* i 1 2 3 4 5 6 7 8 */ 26 | word gsm_A[8] = {20480, 20480, 20480, 20480, 13964, 15360, 8534, 9036}; 27 | word gsm_B[8] = { 0, 0, 2048, -2560, 94, -1792, -341, -1144}; 28 | word gsm_MIC[8] = { -32, -32, -16, -16, -8, -8, -4, -4 }; 29 | word gsm_MAC[8] = { 31, 31, 15, 15, 7, 7, 3, 3 }; 30 | 31 | 32 | /* Table 4.2 Tabulation of 1/A[1..8] 33 | */ 34 | word gsm_INVA[8]={ 13107, 13107, 13107, 13107, 19223, 17476, 31454, 29708 }; 35 | 36 | 37 | /* Table 4.3a Decision level of the LTP gain quantizer 38 | */ 39 | /* bc 0 1 2 3 */ 40 | word gsm_DLB[4] = { 6554, 16384, 26214, 32767 }; 41 | 42 | 43 | /* Table 4.3b Quantization levels of the LTP gain quantizer 44 | */ 45 | /* bc 0 1 2 3 */ 46 | word gsm_QLB[4] = { 3277, 11469, 21299, 32767 }; 47 | 48 | 49 | /* Table 4.4 Coefficients of the weighting filter 50 | */ 51 | /* i 0 1 2 3 4 5 6 7 8 9 10 */ 52 | word gsm_H[11] = {-134, -374, 0, 2054, 5741, 8192, 5741, 2054, 0, -374, -134 }; 53 | 54 | 55 | /* Table 4.5 Normalized inverse mantissa used to compute xM/xmax 56 | */ 57 | /* i 0 1 2 3 4 5 6 7 */ 58 | word gsm_NRFAC[8] = { 29128, 26215, 23832, 21846, 20165, 18725, 17476, 16384 }; 59 | 60 | 61 | /* Table 4.6 Normalized direct mantissa used to compute xM/xmax 62 | */ 63 | /* i 0 1 2 3 4 5 6 7 */ 64 | word gsm_FAC[8] = { 18431, 20479, 22527, 24575, 26623, 28671, 30719, 32767 }; 65 | -------------------------------------------------------------------------------- /plugins/audio/iLBC/iLBC/syntFilter.c: -------------------------------------------------------------------------------- 1 | 2 | /****************************************************************** 3 | 4 | iLBC Speech Coder ANSI-C Source Code 5 | 6 | syntFilter.c 7 | 8 | Copyright (C) The Internet Society (2004). 9 | All Rights Reserved. 10 | 11 | ******************************************************************/ 12 | 13 | #include "iLBC_define.h" 14 | 15 | /*----------------------------------------------------------------* 16 | * LP synthesis filter. 17 | *---------------------------------------------------------------*/ 18 | 19 | void syntFilter( 20 | float *Out, /* (i/o) Signal to be filtered */ 21 | float *a, /* (i) LP parameters */ 22 | int len, /* (i) Length of signal */ 23 | float *mem /* (i/o) Filter state */ 24 | ){ 25 | int i, j; 26 | float *po, *pi, *pa, *pm; 27 | 28 | po=Out; 29 | 30 | /* Filter first part using memory from past */ 31 | 32 | for (i=0; i>2)-1), "0" (src), "1" (dest) 51 | : "R0", "I0", "L0", "memory" 52 | ); 53 | return dest; 54 | } 55 | -------------------------------------------------------------------------------- /plugins/video/H.263-1998/ReadMe.txt: -------------------------------------------------------------------------------- 1 | Building and installing FFmpeg on Windows 2 | ========================================= 3 | 4 | Most importantly, don't try to compile FFMpeg for Windows unless you enjoy 5 | pain. 6 | 7 | Seriously. Many have tried and failed. 8 | 9 | The best way to use FFMpeg on Windows is to use a precompiled shared library 10 | version from the Unoffical FFmpeg Win32 Build site 11 | http://ffmpeg.arrozcru.org/builds/ 12 | 13 | The recommended version is r16537, which is also available to download from 14 | http://www.opalvoip.org/bin/ffmpeg-r16537-gpl-lshared-win32.tar.bz2 15 | 16 | If you simply must compile it yourself, then read on below... 17 | 18 | 19 | Using a precompiled version of FFmpeg 20 | ------------------------------------- 21 | 22 | Method 1 23 | 24 | * Download and unpack the pre-compiled tarball into 25 | ...\opal\plugins\video\H.263=1998\ffmpeg 26 | 27 | * Copy the contents of ...\plugins\video\H.263-1998\ffmpeg\bin to 28 | C:\PTLib_PlugIns 29 | 30 | * Compile the H.263-1998 project in the Opal plugins solution 31 | 32 | Method 2 33 | 34 | * Download and unpack the pre-compiled tarball to anywhere you like. The 35 | recommended location is C:\FFMPEG. The remainder of these instructions 36 | will refer to this directory as %FFMPEG% 37 | 38 | * Add the directory %FFMPEG%\BIN to the PATH environment variable 39 | 40 | * Open MSVC and add the directory %FFMPEG%\LIB to the VC++ Lib directories 41 | in the Tools->Options menu 42 | 43 | * Compile the H.263-1998 project in the Opal plugins solution 44 | 45 | 46 | For hard-core fanatics only. 47 | ---------------------------- 48 | 49 | FFmpeg can only be built on Windows using the Msys+MingW toolchain. The FFMpeg 50 | on Windows Wiki gives detailed instructions on how to do this. 51 | 52 | IMPORTANT: You will need to add "c:\msys" to the 53 | VSNET2005_PWLIB_CONFIGURE_EXCLUDE_DIRS environment variable to 54 | avoid Opal configure from attempting to use the new header files. 55 | 56 | Note 1: If you experience a "hang" while running the "./configure" for FFmpeg, 57 | try opening the Task Manager and killing the "lvprcsrv.exe" process. 58 | This is apparently a known issue when compiling with the MingW 59 | toolchain. 60 | 61 | Note 2: If the compile fails with errors relating to "vfw", add the 62 | "--disable-devices" option when confguring FFmpeg. 63 | -------------------------------------------------------------------------------- /plugins/audio/Speex/libspeex/speex_echo.h: -------------------------------------------------------------------------------- 1 | /* Copyright (C) Jean-Marc Valin */ 2 | /** 3 | @file speex_echo.h 4 | @brief Echo cancellation 5 | */ 6 | /* 7 | Redistribution and use in source and binary forms, with or without 8 | modification, are permitted provided that the following conditions are 9 | met: 10 | 11 | 1. Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | 14 | 2. Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | 18 | 3. The name of the author may not be used to endorse or promote products 19 | derived from this software without specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 22 | IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 23 | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 24 | DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 25 | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 26 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 | HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 29 | STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 | ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 31 | POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | #ifndef SPEEX_ECHO_H 35 | #define SPEEX_ECHO_H 36 | 37 | #include "misc.h" 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | /*struct drft_lookup;*/ 44 | struct SpeexEchoState_; 45 | 46 | typedef struct SpeexEchoState_ SpeexEchoState; 47 | 48 | /** Creates a new echo canceller state */ 49 | SpeexEchoState *speex_echo_state_init(int frame_size, int filter_length); 50 | 51 | /** Destroys an echo canceller state */ 52 | void speex_echo_state_destroy(SpeexEchoState *st); 53 | 54 | /** Performs echo cancellation a frame */ 55 | void speex_echo_cancel(SpeexEchoState *st, short *ref, short *echo, short *out, spx_int32_t *Y); 56 | 57 | /** Reset the echo canceller state */ 58 | void speex_echo_state_reset(SpeexEchoState *st); 59 | 60 | #ifdef __cplusplus 61 | } 62 | #endif 63 | 64 | #endif 65 | -------------------------------------------------------------------------------- /plugins/audio/SILK/silkSrc/SKP_Silk_tables_type_offset.c: -------------------------------------------------------------------------------- 1 | /*********************************************************************** 2 | Copyright (c) 2006-2010, Skype Limited. All rights reserved. 3 | Redistribution and use in source and binary forms, with or without 4 | modification, (subject to the limitations in the disclaimer below) 5 | are permitted provided that the following conditions are met: 6 | - Redistributions of source code must retain the above copyright notice, 7 | this list of conditions and the following disclaimer. 8 | - Redistributions in binary form must reproduce the above copyright 9 | notice, this list of conditions and the following disclaimer in the 10 | documentation and/or other materials provided with the distribution. 11 | - Neither the name of Skype Limited, nor the names of specific 12 | contributors, may be used to endorse or promote products derived from 13 | this software without specific prior written permission. 14 | NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED 15 | BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 16 | CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, 17 | BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 18 | FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 19 | COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 20 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 21 | NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 22 | USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 23 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | ***********************************************************************/ 27 | 28 | #include "SKP_Silk_tables.h" 29 | 30 | const SKP_uint16 SKP_Silk_type_offset_CDF[ 5 ] = { 31 | 0, 37522, 41030, 44212, 65535 32 | }; 33 | 34 | const SKP_int SKP_Silk_type_offset_CDF_offset = 2; 35 | 36 | 37 | const SKP_uint16 SKP_Silk_type_offset_joint_CDF[ 4 ][ 5 ] = 38 | { 39 | { 40 | 0, 57686, 61230, 62358, 65535 41 | }, 42 | { 43 | 0, 18346, 40067, 43659, 65535 44 | }, 45 | { 46 | 0, 22694, 24279, 35507, 65535 47 | }, 48 | { 49 | 0, 6067, 7215, 13010, 65535 50 | } 51 | }; 52 | 53 | --------------------------------------------------------------------------------