├── README.md ├── bin ├── swresample-0.dll ├── swresample.lib ├── swscale-2.dll ├── swscale.lib └── trebucbd.ttf ├── doc ├── 2835389_1302074539.pdf └── video_file_format_spec_v10_1.pdf ├── src ├── Server │ └── EasyRTMP │ │ ├── EasyFMS.cpp │ │ ├── EasyFMS.h │ │ ├── EasyFMS.rc │ │ ├── EasyFMSDlg.cpp │ │ ├── EasyFMSDlg.h │ │ ├── EasyRTMP.vcproj │ │ ├── MainService.cpp │ │ ├── MainService.h │ │ ├── StdAfx.cpp │ │ ├── StdAfx.h │ │ ├── res │ │ ├── EasyFMS.ico │ │ └── EasyFMS.rc2 │ │ └── resource.h ├── client │ ├── AC_RunActiveContent.js │ ├── live.fla │ ├── live.html │ ├── live.swf │ └── material │ │ ├── demotitle_logo.png │ │ ├── live.fxg │ │ ├── live.jpg │ │ ├── logo-rg4.png │ │ └── logo.png ├── include │ ├── EasyRTMPBase.h │ ├── librtmp │ │ ├── amf.h │ │ ├── bytes.h │ │ ├── dh.h │ │ ├── dhgroups.h │ │ ├── handshake.h │ │ ├── http.h │ │ ├── log.h │ │ ├── rtmp.h │ │ └── rtmp_sys.h │ ├── openssl │ │ ├── aes.h │ │ ├── applink.c │ │ ├── asn1.h │ │ ├── asn1_mac.h │ │ ├── asn1t.h │ │ ├── bio.h │ │ ├── blowfish.h │ │ ├── bn.h │ │ ├── buffer.h │ │ ├── camellia.h │ │ ├── cast.h │ │ ├── cms.h │ │ ├── comp.h │ │ ├── conf.h │ │ ├── conf_api.h │ │ ├── crypto.h │ │ ├── des.h │ │ ├── des_old.h │ │ ├── dh.h │ │ ├── dsa.h │ │ ├── dso.h │ │ ├── dtls1.h │ │ ├── e_os2.h │ │ ├── ebcdic.h │ │ ├── ec.h │ │ ├── ecdh.h │ │ ├── ecdsa.h │ │ ├── engine.h │ │ ├── err.h │ │ ├── evp.h │ │ ├── hmac.h │ │ ├── idea.h │ │ ├── krb5_asn.h │ │ ├── kssl.h │ │ ├── lhash.h │ │ ├── md4.h │ │ ├── md5.h │ │ ├── mdc2.h │ │ ├── modes.h │ │ ├── obj_mac.h │ │ ├── objects.h │ │ ├── ocsp.h │ │ ├── opensslconf.h │ │ ├── opensslv.h │ │ ├── ossl_typ.h │ │ ├── pem.h │ │ ├── pem2.h │ │ ├── pkcs12.h │ │ ├── pkcs7.h │ │ ├── pqueue.h │ │ ├── rand.h │ │ ├── rc2.h │ │ ├── rc4.h │ │ ├── ripemd.h │ │ ├── rsa.h │ │ ├── safestack.h │ │ ├── seed.h │ │ ├── sha.h │ │ ├── ssl.h │ │ ├── ssl2.h │ │ ├── ssl23.h │ │ ├── ssl3.h │ │ ├── stack.h │ │ ├── symhacks.h │ │ ├── tls1.h │ │ ├── ts.h │ │ ├── txt_db.h │ │ ├── ui.h │ │ ├── ui_compat.h │ │ ├── whrlpool.h │ │ ├── x509.h │ │ ├── x509_vfy.h │ │ └── x509v3.h │ └── zlib │ │ ├── zconf.h │ │ ├── zlib.h │ │ └── zutil.h ├── lib │ ├── libeay32.dll │ ├── libeay32.lib │ ├── ssleay32.dll │ ├── ssleay32.lib │ ├── zlib.lib │ └── zlibd.lib └── utils │ ├── libEasyRTMP │ ├── ReadMe.txt │ ├── Resource.h │ ├── StreamSource.cpp │ ├── StreamSource.h │ ├── bswap.h │ ├── dllmain.cpp │ ├── libEasyRTMP.cpp │ ├── libEasyRTMP.def │ ├── libEasyRTMP.rc │ ├── libEasyRTMP.vcproj │ ├── res │ │ └── libEasyRTMP.rc2 │ ├── stdafx.cpp │ ├── stdafx.h │ └── targetver.h │ ├── libEasySource │ ├── BaseSource.cpp │ ├── BaseSource.h │ └── libEasySource.vcproj │ ├── libEasySourceLDR │ ├── SourceLoader.cpp │ ├── SourceLoader.h │ └── libEasySourceLDR.vcproj │ ├── librtmp │ ├── COPYING │ ├── Makefile │ ├── amf.c │ ├── amf.h │ ├── bytes.h │ ├── dh.h │ ├── dhgroups.h │ ├── handshake.h │ ├── hashswf.c │ ├── http.h │ ├── librtmp.3 │ ├── librtmp.3.html │ ├── librtmp.pc │ ├── librtmp.pc.in │ ├── librtmp.vcproj │ ├── log.c │ ├── log.h │ ├── parseurl.c │ ├── rtmp.c │ ├── rtmp.h │ └── rtmp_sys.h │ ├── x264 │ ├── README.txt │ ├── build │ │ └── win32 │ │ │ ├── bin │ │ │ └── libx264.lib │ │ │ ├── libx264.vcproj │ │ │ └── x264.vcproj │ ├── common │ │ ├── bs.h │ │ ├── cabac.c │ │ ├── cabac.h │ │ ├── common.c │ │ ├── common.h │ │ ├── cpu.c │ │ ├── cpu.h │ │ ├── dct.c │ │ ├── dct.h │ │ ├── display-x11.c │ │ ├── display.h │ │ ├── frame.c │ │ ├── frame.h │ │ ├── macroblock.c │ │ ├── macroblock.h │ │ ├── mc.c │ │ ├── mc.h │ │ ├── mdate.c │ │ ├── osdep.h │ │ ├── pixel.c │ │ ├── pixel.h │ │ ├── ppc │ │ │ ├── dct.c │ │ │ ├── dct.h │ │ │ ├── deblock.c │ │ │ ├── mc.c │ │ │ ├── mc.h │ │ │ ├── pixel.c │ │ │ ├── pixel.h │ │ │ ├── ppccommon.h │ │ │ ├── predict.c │ │ │ ├── predict.h │ │ │ ├── quant.c │ │ │ └── quant.h │ │ ├── predict.c │ │ ├── predict.h │ │ ├── quant.c │ │ ├── quant.h │ │ ├── set.c │ │ ├── set.h │ │ ├── sparc │ │ │ ├── pixel.asm │ │ │ └── pixel.h │ │ ├── visualize.c │ │ ├── visualize.h │ │ ├── vlc.c │ │ └── x86 │ │ │ ├── cabac-a.asm │ │ │ ├── cpu-a.asm │ │ │ ├── dct-32.asm │ │ │ ├── dct-64.asm │ │ │ ├── dct-a.asm │ │ │ ├── dct.h │ │ │ ├── deblock-a.asm │ │ │ ├── mc-a.asm │ │ │ ├── mc-a2.asm │ │ │ ├── mc-c.c │ │ │ ├── mc.h │ │ │ ├── pixel-32.asm │ │ │ ├── pixel-a.asm │ │ │ ├── pixel.h │ │ │ ├── predict-a.asm │ │ │ ├── predict-c.c │ │ │ ├── predict.h │ │ │ ├── quant-a.asm │ │ │ ├── quant.h │ │ │ ├── sad-a.asm │ │ │ ├── util.h │ │ │ ├── x86inc.asm │ │ │ └── x86util.asm │ ├── doc │ │ ├── ratecontrol.txt │ │ ├── regression_test.txt │ │ ├── standards.txt │ │ ├── threads.txt │ │ └── vui.txt │ ├── encoder │ │ ├── analyse.c │ │ ├── analyse.h │ │ ├── cabac.c │ │ ├── cavlc.c │ │ ├── encoder.c │ │ ├── macroblock.c │ │ ├── macroblock.h │ │ ├── me.c │ │ ├── me.h │ │ ├── ratecontrol.c │ │ ├── ratecontrol.h │ │ ├── rdo.c │ │ ├── set.c │ │ ├── set.h │ │ └── slicetype.c │ ├── extras │ │ ├── getopt.c │ │ ├── getopt.h │ │ └── stdint.h │ ├── matroska.c │ ├── matroska.h │ ├── muxers.c │ ├── muxers.h │ ├── tools │ │ ├── checkasm-a.asm │ │ ├── checkasm.c │ │ ├── countquant_x264.pl │ │ ├── q_matrix_jvt.cfg │ │ ├── regression-test.pl │ │ └── xyuv.c │ ├── version.sh │ ├── x264.c │ └── x264.h │ └── zlib │ ├── ChangeLog │ ├── FAQ │ ├── INDEX │ ├── Makefile │ ├── Makefile.in │ ├── README │ ├── adler32.c │ ├── algorithm.txt │ ├── amiga │ ├── Makefile.pup │ └── Makefile.sas │ ├── as400 │ ├── bndsrc │ ├── compile.clp │ ├── readme.txt │ └── zlib.inc │ ├── compress.c │ ├── configure │ ├── contrib │ ├── README.contrib │ ├── ada │ │ ├── buffer_demo.adb │ │ ├── mtest.adb │ │ ├── read.adb │ │ ├── readme.txt │ │ ├── test.adb │ │ ├── zlib-streams.adb │ │ ├── zlib-streams.ads │ │ ├── zlib-thin.adb │ │ ├── zlib-thin.ads │ │ ├── zlib.adb │ │ ├── zlib.ads │ │ └── zlib.gpr │ ├── asm586 │ │ ├── README.586 │ │ └── match.S │ ├── asm686 │ │ ├── README.686 │ │ └── match.S │ ├── blast │ │ ├── Makefile │ │ ├── README │ │ ├── blast.c │ │ ├── blast.h │ │ ├── test.pk │ │ └── test.txt │ ├── delphi │ │ ├── ZLib.pas │ │ ├── ZLibConst.pas │ │ ├── readme.txt │ │ └── zlibd32.mak │ ├── dotzlib │ │ ├── DotZLib.build │ │ ├── DotZLib.chm │ │ ├── DotZLib │ │ │ ├── AssemblyInfo.cs │ │ │ ├── ChecksumImpl.cs │ │ │ ├── CircularBuffer.cs │ │ │ ├── CodecBase.cs │ │ │ ├── Deflater.cs │ │ │ ├── DotZLib.cs │ │ │ ├── DotZLib.csproj │ │ │ ├── GZipStream.cs │ │ │ ├── Inflater.cs │ │ │ └── UnitTests.cs │ │ ├── LICENSE_1_0.txt │ │ └── readme.txt │ ├── infback9 │ │ ├── README │ │ ├── infback9.c │ │ ├── infback9.h │ │ ├── inffix9.h │ │ ├── inflate9.h │ │ ├── inftree9.c │ │ └── inftree9.h │ ├── inflate86 │ │ ├── inffas86.c │ │ └── inffast.S │ ├── iostream │ │ ├── test.cpp │ │ ├── zfstream.cpp │ │ └── zfstream.h │ ├── iostream2 │ │ ├── zstream.h │ │ └── zstream_test.cpp │ ├── iostream3 │ │ ├── README │ │ ├── TODO │ │ ├── test.cc │ │ ├── zfstream.cc │ │ └── zfstream.h │ ├── masm686 │ │ └── match.asm │ ├── masmx64 │ │ ├── bld_ml64.bat │ │ ├── gvmat64.asm │ │ ├── inffas8664.c │ │ ├── inffasx64.asm │ │ └── readme.txt │ ├── masmx86 │ │ ├── bld_ml32.bat │ │ ├── gvmat32.asm │ │ ├── gvmat32c.c │ │ ├── inffas32.asm │ │ ├── mkasm.bat │ │ └── readme.txt │ ├── minizip │ │ ├── ChangeLogUnzip │ │ ├── Makefile │ │ ├── crypt.h │ │ ├── ioapi.c │ │ ├── ioapi.h │ │ ├── iowin32.c │ │ ├── iowin32.h │ │ ├── miniunz.c │ │ ├── minizip.c │ │ ├── mztools.c │ │ ├── mztools.h │ │ ├── unzip.c │ │ ├── unzip.h │ │ ├── zip.c │ │ └── zip.h │ ├── pascal │ │ ├── example.pas │ │ ├── readme.txt │ │ ├── zlibd32.mak │ │ └── zlibpas.pas │ ├── puff │ │ ├── Makefile │ │ ├── README │ │ ├── puff.c │ │ ├── puff.h │ │ └── zeros.raw │ ├── testzlib │ │ ├── testzlib.c │ │ └── testzlib.txt │ ├── untgz │ │ ├── Makefile │ │ ├── Makefile.msc │ │ └── untgz.c │ └── vstudio │ │ ├── readme.txt │ │ ├── vc7 │ │ ├── miniunz.vcproj │ │ ├── minizip.vcproj │ │ ├── testzlib.vcproj │ │ ├── zlib.rc │ │ ├── zlibstat.vcproj │ │ ├── zlibvc.def │ │ └── zlibvc.vcproj │ │ └── vc8 │ │ ├── miniunz.vcproj │ │ ├── minizip.vcproj │ │ ├── testzlib.vcproj │ │ ├── testzlibdll.vcproj │ │ ├── zlib.rc │ │ ├── zlibstat.vcproj │ │ ├── zlibvc.def │ │ └── zlibvc.vcproj │ ├── crc32.c │ ├── crc32.h │ ├── deflate.c │ ├── deflate.h │ ├── example.c │ ├── examples │ ├── README.examples │ ├── fitblk.c │ ├── gun.c │ ├── gzappend.c │ ├── gzjoin.c │ ├── gzlog.c │ ├── gzlog.h │ ├── zlib_how.html │ ├── zpipe.c │ └── zran.c │ ├── gzio.c │ ├── infback.c │ ├── inffast.c │ ├── inffast.h │ ├── inffixed.h │ ├── inflate.c │ ├── inflate.h │ ├── inftrees.c │ ├── inftrees.h │ ├── make_vms.com │ ├── minigzip.c │ ├── msdos │ ├── Makefile.bor │ ├── Makefile.dj2 │ ├── Makefile.emx │ ├── Makefile.msc │ └── Makefile.tc │ ├── old │ ├── Makefile.riscos │ ├── README │ ├── descrip.mms │ ├── os2 │ │ ├── Makefile.os2 │ │ └── zlib.def │ ├── visual-basic.txt │ └── zlib.html │ ├── projects │ ├── README.projects │ ├── vc9 │ │ ├── README.txt │ │ ├── example.dsp │ │ ├── minigzip.dsp │ │ ├── zlib.dsp │ │ ├── zlib.positions │ │ └── zlib.vcproj │ └── visualc6 │ │ ├── README.txt │ │ ├── example.dsp │ │ ├── minigzip.dsp │ │ ├── zlib.dsp │ │ └── zlib.positions │ ├── qnx │ └── package.qpg │ ├── trees.c │ ├── trees.h │ ├── uncompr.c │ ├── win32 │ ├── DLL_FAQ.txt │ ├── Makefile.bor │ ├── Makefile.emx │ ├── Makefile.gcc │ ├── Makefile.msc │ ├── VisualC.txt │ ├── zlib.def │ └── zlib1.rc │ ├── zconf.h │ ├── zconf.in.h │ ├── zlib.3 │ ├── zlib.h │ ├── zutil.c │ └── zutil.h └── trebucbd.ttf /README.md: -------------------------------------------------------------------------------- 1 | EasyRTMP 2 | ======== 3 | 4 | An easy way to push video to FMS/Red5 by using librtmp. -------------------------------------------------------------------------------- /bin/swresample-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/bin/swresample-0.dll -------------------------------------------------------------------------------- /bin/swresample.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/bin/swresample.lib -------------------------------------------------------------------------------- /bin/swscale-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/bin/swscale-2.dll -------------------------------------------------------------------------------- /bin/swscale.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/bin/swscale.lib -------------------------------------------------------------------------------- /bin/trebucbd.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/bin/trebucbd.ttf -------------------------------------------------------------------------------- /doc/2835389_1302074539.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/doc/2835389_1302074539.pdf -------------------------------------------------------------------------------- /doc/video_file_format_spec_v10_1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/doc/video_file_format_spec_v10_1.pdf -------------------------------------------------------------------------------- /src/Server/EasyRTMP/EasyFMS.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/Server/EasyRTMP/EasyFMS.cpp -------------------------------------------------------------------------------- /src/Server/EasyRTMP/EasyFMS.h: -------------------------------------------------------------------------------- 1 | // EasyFMS.h : main header file for the EASYFMS application 2 | // 3 | 4 | #if !defined(AFX_EASYFMS_H__66ADB3FB_68D5_4B39_8540_276D170356DA__INCLUDED_) 5 | #define AFX_EASYFMS_H__66ADB3FB_68D5_4B39_8540_276D170356DA__INCLUDED_ 6 | 7 | #if _MSC_VER > 1000 8 | #pragma once 9 | #endif // _MSC_VER > 1000 10 | 11 | #ifndef __AFXWIN_H__ 12 | #error include 'stdafx.h' before including this file for PCH 13 | #endif 14 | 15 | #include "resource.h" // main symbols 16 | 17 | ///////////////////////////////////////////////////////////////////////////// 18 | // CEasyRTMPApp: 19 | // See EasyFMS.cpp for the implementation of this class 20 | // 21 | 22 | class CEasyRTMPApp : public CWinApp 23 | #ifdef _USING_BCGP_ 24 | , 25 | public CBCGPWorkspace 26 | #endif 27 | { 28 | public: 29 | CEasyRTMPApp(); 30 | 31 | // Overrides 32 | // ClassWizard generated virtual function overrides 33 | //{{AFX_VIRTUAL(CEasyRTMPApp) 34 | public: 35 | virtual BOOL InitInstance(); 36 | //}}AFX_VIRTUAL 37 | 38 | // Implementation 39 | 40 | //{{AFX_MSG(CEasyRTMPApp) 41 | // NOTE - the ClassWizard will add and remove member functions here. 42 | // DO NOT EDIT what you see in these blocks of generated code ! 43 | //}}AFX_MSG 44 | DECLARE_MESSAGE_MAP() 45 | }; 46 | 47 | 48 | ///////////////////////////////////////////////////////////////////////////// 49 | 50 | //{{AFX_INSERT_LOCATION}} 51 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 52 | 53 | #endif // !defined(AFX_EASYFMS_H__66ADB3FB_68D5_4B39_8540_276D170356DA__INCLUDED_) 54 | -------------------------------------------------------------------------------- /src/Server/EasyRTMP/EasyFMS.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/Server/EasyRTMP/EasyFMS.rc -------------------------------------------------------------------------------- /src/Server/EasyRTMP/EasyFMSDlg.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/Server/EasyRTMP/EasyFMSDlg.cpp -------------------------------------------------------------------------------- /src/Server/EasyRTMP/EasyFMSDlg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/Server/EasyRTMP/EasyFMSDlg.h -------------------------------------------------------------------------------- /src/Server/EasyRTMP/MainService.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/Server/EasyRTMP/MainService.cpp -------------------------------------------------------------------------------- /src/Server/EasyRTMP/MainService.h: -------------------------------------------------------------------------------- 1 | // MainService.h: interface for the CMainService class. 2 | // 3 | ////////////////////////////////////////////////////////////////////// 4 | #ifndef _EASY_RTMP_MAIN_SERVICE_INCLUDE__ 5 | #define _EASY_RTMP_MAIN_SERVICE_INCLUDE__ 6 | 7 | #pragma once 8 | 9 | #include 10 | #include "../../utils/libEasyRTMP/StreamSource.h" 11 | #include 12 | 13 | #include "../../../../RsCommon/common/RsUtility.h" 14 | 15 | #define LOG_BUFFER_SIZE 1024*8 16 | 17 | #include 18 | #include 19 | #include 20 | using namespace std; 21 | 22 | #ifdef WIN32 23 | #define PATH_SEPERATOR '\\' 24 | #else 25 | #define PATH_SEPERATOR '/' 26 | #endif 27 | 28 | 29 | #ifdef __cplusplus 30 | extern "C" { 31 | #include 32 | #include 33 | } 34 | #endif 35 | 36 | class CMainService 37 | { 38 | public: 39 | CMainService(); 40 | virtual ~CMainService(); 41 | 42 | public: 43 | bool InitService(); 44 | bool StartCapture(int nChannel, bool bEnableAudio, const char* strDeviceName, const char* strMixerLine, STREAMPROFILE* pProfile); 45 | bool StopCapture(int nChannel); 46 | 47 | MEDIA_PROFILE m_vRTMPProfile; 48 | CProductInfo m_vProductInfo; 49 | bool m_bSystemExit; 50 | RTMP_SVR_INFO m_vRTMPSvrInfo; 51 | ////////////////////////////////////////////////////////////////////////// 52 | //Log 53 | static void stcLogReport(int nLogLevel, const char* szLogType, const char* szProgramID, const char* pszFormat, ...); 54 | int m_nLogFailureCount; 55 | pthread_mutex_t m_vLogArrayMutex; 56 | list m_lstLogArray; 57 | bool WriteLogToFile(); 58 | void LogDataFunction(); 59 | static void* ThreadLogData(void* pParam); 60 | pthread_t m_tLogThread; 61 | char TAG[32]; 62 | ////////////////////////////////////////////////////////////////////////// 63 | //Sound devices 64 | static int DS_CameraCount(); 65 | static int DS_CameraName(int nCamID, char* sName, int nBufferSize); 66 | 67 | ////////////////////////////////////////////////////////////////////////// 68 | //Utilitys 69 | bool GotoURL(string url, int showcmd); 70 | 71 | ////////////////////////////////////////////////////////////////////////// 72 | //Timer related 73 | void Timer_Main(); 74 | void Timer_CheckLicense(); 75 | int m_nTimeCount; 76 | #define EASYRTMP_MAX_DEMO_TIME (365L*24L*60L*60L) 77 | 78 | private: 79 | list m_lstSource; 80 | bool InitSockets(); 81 | void CleanupSockets(); 82 | string GetAppPath(); 83 | bool GetNetTime(SYSTEMTIME& vTime); 84 | }; 85 | 86 | #endif 87 | -------------------------------------------------------------------------------- /src/Server/EasyRTMP/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // EasyFMS.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/Server/EasyRTMP/StdAfx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #if !defined(AFX_STDAFX_H__FCE74057_E7F0_4C8D_B316_141703412742__INCLUDED_) 7 | #define AFX_STDAFX_H__FCE74057_E7F0_4C8D_B316_141703412742__INCLUDED_ 8 | 9 | #if _MSC_VER > 1000 10 | #pragma once 11 | #endif // _MSC_VER > 1000 12 | 13 | #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers 14 | 15 | #include // MFC core and standard components 16 | #include // MFC extensions 17 | #include // MFC Automation classes 18 | #include // MFC support for Internet Explorer 4 Common Controls 19 | #ifndef _AFX_NO_AFXCMN_SUPPORT 20 | #include // MFC support for Windows Common Controls 21 | #endif // _AFX_NO_AFXCMN_SUPPORT 22 | 23 | #include 24 | #include // MFC socket extensions 25 | 26 | //{{AFX_INSERT_LOCATION}} 27 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 28 | #pragma warning(disable:4996) 29 | //GuiLib 30 | //#include 31 | //#include //this can not work now. 32 | //#include 33 | 34 | #ifdef _USING_BCGP_ 35 | #include // BCGControlBar Pro 36 | #endif 37 | 38 | #include 39 | 40 | #endif // !defined(AFX_STDAFX_H__FCE74057_E7F0_4C8D_B316_141703412742__INCLUDED_) 41 | -------------------------------------------------------------------------------- /src/Server/EasyRTMP/res/EasyFMS.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/Server/EasyRTMP/res/EasyFMS.ico -------------------------------------------------------------------------------- /src/Server/EasyRTMP/res/EasyFMS.rc2: -------------------------------------------------------------------------------- 1 | // 2 | // EASYFMS.RC2 - resources Microsoft Visual C++ does not edit directly 3 | // 4 | 5 | #ifdef APSTUDIO_INVOKED 6 | #error this file is not editable by Microsoft Visual C++ 7 | #endif //APSTUDIO_INVOKED 8 | 9 | 10 | ///////////////////////////////////////////////////////////////////////////// 11 | // Add manually edited resources here... 12 | 13 | ///////////////////////////////////////////////////////////////////////////// 14 | -------------------------------------------------------------------------------- /src/Server/EasyRTMP/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by EasyFMS.rc 4 | // 5 | #define IDM_ABOUTBOX 0x0010 6 | #define IDD_ABOUTBOX 100 7 | #define IDS_ABOUTBOX 101 8 | #define IDD_EASYFMS_DIALOG 102 9 | #define IDP_SOCKETS_INIT_FAILED 103 10 | #define IDR_MAINFRAME 128 11 | #define IDR_MENU1 139 12 | #define IDC_STATIC_VIDEO 1000 13 | #define IDC_BUTTON1 1001 14 | #define IDC_BTN_EXIT 1001 15 | #define IDC_LIST1 1002 16 | #define IDC_EDIT_SERVERIP 1003 17 | #define IDC_COMBO_RESOLUTION 1004 18 | #define IDC_EDIT_SERVERPORT 1005 19 | #define IDC_BTN_ABOUT 1006 20 | #define IDC_COMBO_FRAMERATE 1007 21 | #define IDC_COMBO_BITRATE 1008 22 | #define IDC_COMBO_CODEC 1009 23 | #define IDC_BTN_RELEASENOTES 1010 24 | #define IDC_STATIC_STATUS 1011 25 | #define IDC_COMBO1 1012 26 | #define IDC_COMBO_CAMERA 1012 27 | #define IDC_STATIC_PARAM1 1013 28 | #define IDC_STATIC_PARAM2 1014 29 | #define IDC_STATIC_CAMERA 1015 30 | #define IDC_BTN_NEWVER 1016 31 | #define IDC_CHK_ENABLE_AUDIO 1017 32 | #define IDC_CBO_AUDIO 1018 33 | #define IDC_COMBO2 1019 34 | #define IDC_CBO_MICLINE 1019 35 | #define IDC_STATIC_SOUNDCARD 1020 36 | #define IDC_STATIC_RED5_PORT 1021 37 | #define IDC_STATIC_RED5_IP 1022 38 | #define IDC_STATIC_VIDEO_CODEC 1023 39 | #define IDC_STATIC_VIDEO_RESOLUTION 1024 40 | #define IDC_STATIC_VIDEO_FRAMERATE 1025 41 | #define IDC_STATIC_VIDEO_BITRATE 1026 42 | #define ID__EXIT 32771 43 | 44 | // Next default values for new objects 45 | // 46 | #ifdef APSTUDIO_INVOKED 47 | #ifndef APSTUDIO_READONLY_SYMBOLS 48 | #define _APS_NEXT_RESOURCE_VALUE 140 49 | #define _APS_NEXT_COMMAND_VALUE 32772 50 | #define _APS_NEXT_CONTROL_VALUE 1027 51 | #define _APS_NEXT_SYMED_VALUE 101 52 | #endif 53 | #endif 54 | -------------------------------------------------------------------------------- /src/client/live.fla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/client/live.fla -------------------------------------------------------------------------------- /src/client/live.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | live 5 | 6 | 7 | 8 | 9 | 10 | 11 | 15 | 16 | 44 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /src/client/live.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/client/live.swf -------------------------------------------------------------------------------- /src/client/material/demotitle_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/client/material/demotitle_logo.png -------------------------------------------------------------------------------- /src/client/material/live.fxg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/client/material/live.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/client/material/live.jpg -------------------------------------------------------------------------------- /src/client/material/logo-rg4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/client/material/logo-rg4.png -------------------------------------------------------------------------------- /src/client/material/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/client/material/logo.png -------------------------------------------------------------------------------- /src/include/librtmp/bytes.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2005-2008 Team XBMC 3 | * http://www.xbmc.org 4 | * Copyright (C) 2008-2009 Andrej Stepanchuk 5 | * Copyright (C) 2009-2010 Howard Chu 6 | * 7 | * This file is part of librtmp. 8 | * 9 | * librtmp is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU Lesser General Public License as 11 | * published by the Free Software Foundation; either version 2.1, 12 | * or (at your option) any later version. 13 | * 14 | * librtmp is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU Lesser General Public License 20 | * along with librtmp see the file COPYING. If not, write to 21 | * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 22 | * Boston, MA 02110-1301, USA. 23 | * http://www.gnu.org/copyleft/lgpl.html 24 | */ 25 | 26 | #ifndef __BYTES_H__ 27 | #define __BYTES_H__ 28 | 29 | #include 30 | 31 | #ifdef _WIN32 32 | /* Windows is little endian only */ 33 | #define __LITTLE_ENDIAN 1234 34 | #define __BIG_ENDIAN 4321 35 | #define __BYTE_ORDER __LITTLE_ENDIAN 36 | #define __FLOAT_WORD_ORDER __BYTE_ORDER 37 | 38 | typedef unsigned char uint8_t; 39 | 40 | #else /* !_WIN32 */ 41 | 42 | #include 43 | 44 | #if defined(BYTE_ORDER) && !defined(__BYTE_ORDER) 45 | #define __BYTE_ORDER BYTE_ORDER 46 | #endif 47 | 48 | #if defined(BIG_ENDIAN) && !defined(__BIG_ENDIAN) 49 | #define __BIG_ENDIAN BIG_ENDIAN 50 | #endif 51 | 52 | #if defined(LITTLE_ENDIAN) && !defined(__LITTLE_ENDIAN) 53 | #define __LITTLE_ENDIAN LITTLE_ENDIAN 54 | #endif 55 | 56 | #endif /* !_WIN32 */ 57 | 58 | /* define default endianness */ 59 | #ifndef __LITTLE_ENDIAN 60 | #define __LITTLE_ENDIAN 1234 61 | #endif 62 | 63 | #ifndef __BIG_ENDIAN 64 | #define __BIG_ENDIAN 4321 65 | #endif 66 | 67 | #ifndef __BYTE_ORDER 68 | #warning "Byte order not defined on your system, assuming little endian!" 69 | #define __BYTE_ORDER __LITTLE_ENDIAN 70 | #endif 71 | 72 | /* ok, we assume to have the same float word order and byte order if float word order is not defined */ 73 | #ifndef __FLOAT_WORD_ORDER 74 | #warning "Float word order not defined, assuming the same as byte order!" 75 | #define __FLOAT_WORD_ORDER __BYTE_ORDER 76 | #endif 77 | 78 | #if !defined(__BYTE_ORDER) || !defined(__FLOAT_WORD_ORDER) 79 | #error "Undefined byte or float word order!" 80 | #endif 81 | 82 | #if __FLOAT_WORD_ORDER != __BIG_ENDIAN && __FLOAT_WORD_ORDER != __LITTLE_ENDIAN 83 | #error "Unknown/unsupported float word order!" 84 | #endif 85 | 86 | #if __BYTE_ORDER != __BIG_ENDIAN && __BYTE_ORDER != __LITTLE_ENDIAN 87 | #error "Unknown/unsupported byte order!" 88 | #endif 89 | 90 | #endif 91 | 92 | -------------------------------------------------------------------------------- /src/include/librtmp/http.h: -------------------------------------------------------------------------------- 1 | #ifndef __RTMP_HTTP_H__ 2 | #define __RTMP_HTTP_H__ 3 | /* 4 | * Copyright (C) 2010 Howard Chu 5 | * Copyright (C) 2010 Antti Ajanki 6 | * 7 | * This file is part of librtmp. 8 | * 9 | * librtmp is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU Lesser General Public License as 11 | * published by the Free Software Foundation; either version 2.1, 12 | * or (at your option) any later version. 13 | * 14 | * librtmp is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU Lesser General Public License 20 | * along with librtmp see the file COPYING. If not, write to 21 | * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 22 | * Boston, MA 02110-1301, USA. 23 | * http://www.gnu.org/copyleft/lgpl.html 24 | */ 25 | 26 | typedef enum { 27 | HTTPRES_OK, /* result OK */ 28 | HTTPRES_OK_NOT_MODIFIED, /* not modified since last request */ 29 | HTTPRES_NOT_FOUND, /* not found */ 30 | HTTPRES_BAD_REQUEST, /* client error */ 31 | HTTPRES_SERVER_ERROR, /* server reported an error */ 32 | HTTPRES_REDIRECTED, /* resource has been moved */ 33 | HTTPRES_LOST_CONNECTION /* connection lost while waiting for data */ 34 | } HTTPResult; 35 | 36 | struct HTTP_ctx { 37 | char *date; 38 | int size; 39 | int status; 40 | void *data; 41 | }; 42 | 43 | typedef size_t (HTTP_read_callback)(void *ptr, size_t size, size_t nmemb, void *stream); 44 | 45 | HTTPResult HTTP_get(struct HTTP_ctx *http, const char *url, HTTP_read_callback *cb); 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /src/include/librtmp/log.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2008-2009 Andrej Stepanchuk 3 | * Copyright (C) 2009-2010 Howard Chu 4 | * 5 | * This file is part of librtmp. 6 | * 7 | * librtmp is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU Lesser General Public License as 9 | * published by the Free Software Foundation; either version 2.1, 10 | * or (at your option) any later version. 11 | * 12 | * librtmp is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public License 18 | * along with librtmp see the file COPYING. If not, write to 19 | * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20 | * Boston, MA 02110-1301, USA. 21 | * http://www.gnu.org/copyleft/lgpl.html 22 | */ 23 | 24 | #ifndef __RTMP_LOG_H__ 25 | #define __RTMP_LOG_H__ 26 | 27 | #include 28 | #include 29 | #include 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | /* Enable this to get full debugging output */ 35 | /* #define _DEBUG */ 36 | 37 | #ifdef _DEBUG 38 | #undef NODEBUG 39 | #endif 40 | 41 | typedef enum 42 | { RTMP_LOGCRIT=0, RTMP_LOGERROR, RTMP_LOGWARNING, RTMP_LOGINFO, 43 | RTMP_LOGDEBUG, RTMP_LOGDEBUG2, RTMP_LOGALL 44 | } RTMP_LogLevel; 45 | 46 | extern RTMP_LogLevel RTMP_debuglevel; 47 | 48 | typedef void (RTMP_LogCallback)(int level, const char *fmt, va_list); 49 | void RTMP_LogSetCallback(RTMP_LogCallback *cb); 50 | void RTMP_LogSetOutput(FILE *file); 51 | void RTMP_LogPrintf(const char *format, ...); 52 | void RTMP_LogStatus(const char *format, ...); 53 | void RTMP_Log(int level, const char *format, ...); 54 | void RTMP_LogHex(int level, const uint8_t *data, unsigned long len); 55 | void RTMP_LogHexString(int level, const uint8_t *data, unsigned long len); 56 | void RTMP_LogSetLevel(RTMP_LogLevel lvl); 57 | RTMP_LogLevel RTMP_LogGetLevel(void); 58 | 59 | #ifdef __cplusplus 60 | } 61 | #endif 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /src/include/openssl/applink.c: -------------------------------------------------------------------------------- 1 | #define APPLINK_STDIN 1 2 | #define APPLINK_STDOUT 2 3 | #define APPLINK_STDERR 3 4 | #define APPLINK_FPRINTF 4 5 | #define APPLINK_FGETS 5 6 | #define APPLINK_FREAD 6 7 | #define APPLINK_FWRITE 7 8 | #define APPLINK_FSETMOD 8 9 | #define APPLINK_FEOF 9 10 | #define APPLINK_FCLOSE 10 /* should not be used */ 11 | 12 | #define APPLINK_FOPEN 11 /* solely for completeness */ 13 | #define APPLINK_FSEEK 12 14 | #define APPLINK_FTELL 13 15 | #define APPLINK_FFLUSH 14 16 | #define APPLINK_FERROR 15 17 | #define APPLINK_CLEARERR 16 18 | #define APPLINK_FILENO 17 /* to be used with below */ 19 | 20 | #define APPLINK_OPEN 18 /* formally can't be used, as flags can vary */ 21 | #define APPLINK_READ 19 22 | #define APPLINK_WRITE 20 23 | #define APPLINK_LSEEK 21 24 | #define APPLINK_CLOSE 22 25 | #define APPLINK_MAX 22 /* always same as last macro */ 26 | 27 | #ifndef APPMACROS_ONLY 28 | #include 29 | #include 30 | #include 31 | 32 | static void *app_stdin(void) { return stdin; } 33 | static void *app_stdout(void) { return stdout; } 34 | static void *app_stderr(void) { return stderr; } 35 | static int app_feof(FILE *fp) { return feof(fp); } 36 | static int app_ferror(FILE *fp) { return ferror(fp); } 37 | static void app_clearerr(FILE *fp) { clearerr(fp); } 38 | static int app_fileno(FILE *fp) { return _fileno(fp); } 39 | static int app_fsetmod(FILE *fp,char mod) 40 | { return _setmode (_fileno(fp),mod=='b'?_O_BINARY:_O_TEXT); } 41 | 42 | #ifdef __cplusplus 43 | extern "C" { 44 | #endif 45 | 46 | __declspec(dllexport) 47 | void ** 48 | #if defined(__BORLANDC__) 49 | __stdcall /* __stdcall appears to be the only way to get the name 50 | * decoration right with Borland C. Otherwise it works 51 | * purely incidentally, as we pass no parameters. */ 52 | #else 53 | __cdecl 54 | #endif 55 | OPENSSL_Applink(void) 56 | { static int once=1; 57 | static void *OPENSSL_ApplinkTable[APPLINK_MAX+1]={(void *)APPLINK_MAX}; 58 | 59 | if (once) 60 | { OPENSSL_ApplinkTable[APPLINK_STDIN] = app_stdin; 61 | OPENSSL_ApplinkTable[APPLINK_STDOUT] = app_stdout; 62 | OPENSSL_ApplinkTable[APPLINK_STDERR] = app_stderr; 63 | OPENSSL_ApplinkTable[APPLINK_FPRINTF] = fprintf; 64 | OPENSSL_ApplinkTable[APPLINK_FGETS] = fgets; 65 | OPENSSL_ApplinkTable[APPLINK_FREAD] = fread; 66 | OPENSSL_ApplinkTable[APPLINK_FWRITE] = fwrite; 67 | OPENSSL_ApplinkTable[APPLINK_FSETMOD] = app_fsetmod; 68 | OPENSSL_ApplinkTable[APPLINK_FEOF] = app_feof; 69 | OPENSSL_ApplinkTable[APPLINK_FCLOSE] = fclose; 70 | 71 | OPENSSL_ApplinkTable[APPLINK_FOPEN] = fopen; 72 | OPENSSL_ApplinkTable[APPLINK_FSEEK] = fseek; 73 | OPENSSL_ApplinkTable[APPLINK_FTELL] = ftell; 74 | OPENSSL_ApplinkTable[APPLINK_FFLUSH] = fflush; 75 | OPENSSL_ApplinkTable[APPLINK_FERROR] = app_ferror; 76 | OPENSSL_ApplinkTable[APPLINK_CLEARERR] = app_clearerr; 77 | OPENSSL_ApplinkTable[APPLINK_FILENO] = app_fileno; 78 | 79 | OPENSSL_ApplinkTable[APPLINK_OPEN] = _open; 80 | OPENSSL_ApplinkTable[APPLINK_READ] = _read; 81 | OPENSSL_ApplinkTable[APPLINK_WRITE] = _write; 82 | OPENSSL_ApplinkTable[APPLINK_LSEEK] = _lseek; 83 | OPENSSL_ApplinkTable[APPLINK_CLOSE] = _close; 84 | 85 | once = 0; 86 | } 87 | 88 | return OPENSSL_ApplinkTable; 89 | } 90 | 91 | #ifdef __cplusplus 92 | } 93 | #endif 94 | #endif 95 | -------------------------------------------------------------------------------- /src/include/openssl/comp.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef HEADER_COMP_H 3 | #define HEADER_COMP_H 4 | 5 | #include 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | 11 | typedef struct comp_ctx_st COMP_CTX; 12 | 13 | typedef struct comp_method_st 14 | { 15 | int type; /* NID for compression library */ 16 | const char *name; /* A text string to identify the library */ 17 | int (*init)(COMP_CTX *ctx); 18 | void (*finish)(COMP_CTX *ctx); 19 | int (*compress)(COMP_CTX *ctx, 20 | unsigned char *out, unsigned int olen, 21 | unsigned char *in, unsigned int ilen); 22 | int (*expand)(COMP_CTX *ctx, 23 | unsigned char *out, unsigned int olen, 24 | unsigned char *in, unsigned int ilen); 25 | /* The following two do NOTHING, but are kept for backward compatibility */ 26 | long (*ctrl)(void); 27 | long (*callback_ctrl)(void); 28 | } COMP_METHOD; 29 | 30 | struct comp_ctx_st 31 | { 32 | COMP_METHOD *meth; 33 | unsigned long compress_in; 34 | unsigned long compress_out; 35 | unsigned long expand_in; 36 | unsigned long expand_out; 37 | 38 | CRYPTO_EX_DATA ex_data; 39 | }; 40 | 41 | 42 | COMP_CTX *COMP_CTX_new(COMP_METHOD *meth); 43 | void COMP_CTX_free(COMP_CTX *ctx); 44 | int COMP_compress_block(COMP_CTX *ctx, unsigned char *out, int olen, 45 | unsigned char *in, int ilen); 46 | int COMP_expand_block(COMP_CTX *ctx, unsigned char *out, int olen, 47 | unsigned char *in, int ilen); 48 | COMP_METHOD *COMP_rle(void ); 49 | COMP_METHOD *COMP_zlib(void ); 50 | void COMP_zlib_cleanup(void); 51 | 52 | #ifdef HEADER_BIO_H 53 | #ifdef ZLIB 54 | BIO_METHOD *BIO_f_zlib(void); 55 | #endif 56 | #endif 57 | 58 | /* BEGIN ERROR CODES */ 59 | /* The following lines are auto generated by the script mkerr.pl. Any changes 60 | * made after this point may be overwritten when the script is next run. 61 | */ 62 | void ERR_load_COMP_strings(void); 63 | 64 | /* Error codes for the COMP functions. */ 65 | 66 | /* Function codes. */ 67 | #define COMP_F_BIO_ZLIB_FLUSH 99 68 | #define COMP_F_BIO_ZLIB_NEW 100 69 | #define COMP_F_BIO_ZLIB_READ 101 70 | #define COMP_F_BIO_ZLIB_WRITE 102 71 | 72 | /* Reason codes. */ 73 | #define COMP_R_ZLIB_DEFLATE_ERROR 99 74 | #define COMP_R_ZLIB_INFLATE_ERROR 100 75 | #define COMP_R_ZLIB_NOT_SUPPORTED 101 76 | 77 | #ifdef __cplusplus 78 | } 79 | #endif 80 | #endif 81 | -------------------------------------------------------------------------------- /src/include/openssl/ebcdic.h: -------------------------------------------------------------------------------- 1 | /* crypto/ebcdic.h */ 2 | 3 | #ifndef HEADER_EBCDIC_H 4 | #define HEADER_EBCDIC_H 5 | 6 | #include 7 | 8 | /* Avoid name clashes with other applications */ 9 | #define os_toascii _openssl_os_toascii 10 | #define os_toebcdic _openssl_os_toebcdic 11 | #define ebcdic2ascii _openssl_ebcdic2ascii 12 | #define ascii2ebcdic _openssl_ascii2ebcdic 13 | 14 | extern const unsigned char os_toascii[256]; 15 | extern const unsigned char os_toebcdic[256]; 16 | void *ebcdic2ascii(void *dest, const void *srce, size_t count); 17 | void *ascii2ebcdic(void *dest, const void *srce, size_t count); 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /src/include/openssl/modes.h: -------------------------------------------------------------------------------- 1 | /* ==================================================================== 2 | * Copyright (c) 2008 The OpenSSL Project. All rights reserved. 3 | * 4 | * Rights for redistribution and usage in source and binary 5 | * forms are granted according to the OpenSSL license. 6 | */ 7 | 8 | #include 9 | 10 | typedef void (*block128_f)(const unsigned char in[16], 11 | unsigned char out[16], 12 | const void *key); 13 | 14 | typedef void (*cbc128_f)(const unsigned char *in, unsigned char *out, 15 | size_t len, const void *key, 16 | unsigned char ivec[16], int enc); 17 | 18 | void CRYPTO_cbc128_encrypt(const unsigned char *in, unsigned char *out, 19 | size_t len, const void *key, 20 | unsigned char ivec[16], block128_f block); 21 | void CRYPTO_cbc128_decrypt(const unsigned char *in, unsigned char *out, 22 | size_t len, const void *key, 23 | unsigned char ivec[16], block128_f block); 24 | 25 | void CRYPTO_ctr128_encrypt(const unsigned char *in, unsigned char *out, 26 | size_t len, const void *key, 27 | unsigned char ivec[16], unsigned char ecount_buf[16], 28 | unsigned int *num, block128_f block); 29 | 30 | void CRYPTO_ofb128_encrypt(const unsigned char *in, unsigned char *out, 31 | size_t len, const void *key, 32 | unsigned char ivec[16], int *num, 33 | block128_f block); 34 | 35 | void CRYPTO_cfb128_encrypt(const unsigned char *in, unsigned char *out, 36 | size_t len, const void *key, 37 | unsigned char ivec[16], int *num, 38 | int enc, block128_f block); 39 | void CRYPTO_cfb128_8_encrypt(const unsigned char *in, unsigned char *out, 40 | size_t length, const void *key, 41 | unsigned char ivec[16], int *num, 42 | int enc, block128_f block); 43 | void CRYPTO_cfb128_1_encrypt(const unsigned char *in, unsigned char *out, 44 | size_t bits, const void *key, 45 | unsigned char ivec[16], int *num, 46 | int enc, block128_f block); 47 | 48 | size_t CRYPTO_cts128_encrypt_block(const unsigned char *in, unsigned char *out, 49 | size_t len, const void *key, 50 | unsigned char ivec[16], block128_f block); 51 | size_t CRYPTO_cts128_encrypt(const unsigned char *in, unsigned char *out, 52 | size_t len, const void *key, 53 | unsigned char ivec[16], cbc128_f cbc); 54 | size_t CRYPTO_cts128_decrypt_block(const unsigned char *in, unsigned char *out, 55 | size_t len, const void *key, 56 | unsigned char ivec[16], block128_f block); 57 | size_t CRYPTO_cts128_decrypt(const unsigned char *in, unsigned char *out, 58 | size_t len, const void *key, 59 | unsigned char ivec[16], cbc128_f cbc); 60 | -------------------------------------------------------------------------------- /src/include/openssl/pem2.h: -------------------------------------------------------------------------------- 1 | /* ==================================================================== 2 | * Copyright (c) 1999 The OpenSSL Project. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions 6 | * are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in 13 | * the documentation and/or other materials provided with the 14 | * distribution. 15 | * 16 | * 3. All advertising materials mentioning features or use of this 17 | * software must display the following acknowledgment: 18 | * "This product includes software developed by the OpenSSL Project 19 | * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" 20 | * 21 | * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to 22 | * endorse or promote products derived from this software without 23 | * prior written permission. For written permission, please contact 24 | * licensing@OpenSSL.org. 25 | * 26 | * 5. Products derived from this software may not be called "OpenSSL" 27 | * nor may "OpenSSL" appear in their names without prior written 28 | * permission of the OpenSSL Project. 29 | * 30 | * 6. Redistributions of any form whatsoever must retain the following 31 | * acknowledgment: 32 | * "This product includes software developed by the OpenSSL Project 33 | * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" 34 | * 35 | * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY 36 | * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 37 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 38 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR 39 | * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 40 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 41 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 42 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 43 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 44 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 45 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 46 | * OF THE POSSIBILITY OF SUCH DAMAGE. 47 | * ==================================================================== 48 | * 49 | * This product includes cryptographic software written by Eric Young 50 | * (eay@cryptsoft.com). This product includes software written by Tim 51 | * Hudson (tjh@cryptsoft.com). 52 | * 53 | */ 54 | 55 | /* 56 | * This header only exists to break a circular dependency between pem and err 57 | * Ben 30 Jan 1999. 58 | */ 59 | 60 | #ifdef __cplusplus 61 | extern "C" { 62 | #endif 63 | 64 | #ifndef HEADER_PEM_H 65 | void ERR_load_PEM_strings(void); 66 | #endif 67 | 68 | #ifdef __cplusplus 69 | } 70 | #endif 71 | -------------------------------------------------------------------------------- /src/include/openssl/whrlpool.h: -------------------------------------------------------------------------------- 1 | #ifndef HEADER_WHRLPOOL_H 2 | #define HEADER_WHRLPOOL_H 3 | 4 | #include 5 | #include 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | 11 | #define WHIRLPOOL_DIGEST_LENGTH (512/8) 12 | #define WHIRLPOOL_BBLOCK 512 13 | #define WHIRLPOOL_COUNTER (256/8) 14 | 15 | typedef struct { 16 | union { 17 | unsigned char c[WHIRLPOOL_DIGEST_LENGTH]; 18 | /* double q is here to ensure 64-bit alignment */ 19 | double q[WHIRLPOOL_DIGEST_LENGTH/sizeof(double)]; 20 | } H; 21 | unsigned char data[WHIRLPOOL_BBLOCK/8]; 22 | unsigned int bitoff; 23 | size_t bitlen[WHIRLPOOL_COUNTER/sizeof(size_t)]; 24 | } WHIRLPOOL_CTX; 25 | 26 | #ifndef OPENSSL_NO_WHIRLPOOL 27 | int WHIRLPOOL_Init (WHIRLPOOL_CTX *c); 28 | int WHIRLPOOL_Update (WHIRLPOOL_CTX *c,const void *inp,size_t bytes); 29 | void WHIRLPOOL_BitUpdate(WHIRLPOOL_CTX *c,const void *inp,size_t bits); 30 | int WHIRLPOOL_Final (unsigned char *md,WHIRLPOOL_CTX *c); 31 | unsigned char *WHIRLPOOL(const void *inp,size_t bytes,unsigned char *md); 32 | #endif 33 | 34 | #ifdef __cplusplus 35 | } 36 | #endif 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /src/lib/libeay32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/lib/libeay32.dll -------------------------------------------------------------------------------- /src/lib/libeay32.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/lib/libeay32.lib -------------------------------------------------------------------------------- /src/lib/ssleay32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/lib/ssleay32.dll -------------------------------------------------------------------------------- /src/lib/ssleay32.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/lib/ssleay32.lib -------------------------------------------------------------------------------- /src/lib/zlib.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/lib/zlib.lib -------------------------------------------------------------------------------- /src/lib/zlibd.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/lib/zlibd.lib -------------------------------------------------------------------------------- /src/utils/libEasyRTMP/ReadMe.txt: -------------------------------------------------------------------------------- 1 | ======================================================================== 2 | MICROSOFT FOUNDATION CLASS LIBRARY : libEasyRTMP Project Overview 3 | ======================================================================== 4 | 5 | 6 | AppWizard has created this libEasyRTMP DLL for you. This DLL not only 7 | demonstrates the basics of using the Microsoft Foundation classes but 8 | is also a starting point for writing your DLL. 9 | 10 | This file contains a summary of what you will find in each of the files that 11 | make up your libEasyRTMP DLL. 12 | 13 | libEasyRTMP.vcproj 14 | This is the main project file for VC++ projects generated using an Application Wizard. 15 | It contains information about the version of Visual C++ that generated the file, and 16 | information about the platforms, configurations, and project features selected with the 17 | Application Wizard. 18 | 19 | libEasyRTMP.cpp 20 | This is the main DLL source file that contains the definition of 21 | DllMain(). 22 | 23 | libEasyRTMP.rc 24 | This is a listing of all of the Microsoft Windows resources that the 25 | program uses. It includes the icons, bitmaps, and cursors that are stored 26 | in the RES subdirectory. This file can be directly edited in Microsoft 27 | Visual C++. 28 | 29 | res\libEasyRTMP.rc2 30 | This file contains resources that are not edited by Microsoft 31 | Visual C++. You should place all resources not editable by 32 | the resource editor in this file. 33 | 34 | libEasyRTMP.def 35 | This file contains information about the DLL that must be 36 | provided to run with Microsoft Windows. It defines parameters 37 | such as the name and description of the DLL. It also exports 38 | functions from the DLL. 39 | 40 | ///////////////////////////////////////////////////////////////////////////// 41 | Other standard files: 42 | 43 | StdAfx.h, StdAfx.cpp 44 | These files are used to build a precompiled header (PCH) file 45 | named libEasyRTMP.pch and a precompiled types file named StdAfx.obj. 46 | 47 | Resource.h 48 | This is the standard header file, which defines new resource IDs. 49 | Microsoft Visual C++ reads and updates this file. 50 | 51 | ///////////////////////////////////////////////////////////////////////////// 52 | Other notes: 53 | 54 | AppWizard uses "TODO:" to indicate parts of the source code you 55 | should add to or customize. 56 | 57 | ///////////////////////////////////////////////////////////////////////////// 58 | -------------------------------------------------------------------------------- /src/utils/libEasyRTMP/Resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by libEasyRTMP.rc 4 | // 5 | 6 | // Next default values for new objects 7 | // 8 | #ifdef APSTUDIO_INVOKED 9 | #ifndef APSTUDIO_READONLY_SYMBOLS 10 | 11 | #define _APS_NEXT_RESOURCE_VALUE 1000 12 | #define _APS_NEXT_CONTROL_VALUE 1000 13 | #define _APS_NEXT_SYMED_VALUE 1000 14 | #define _APS_NEXT_COMMAND_VALUE 32771 15 | #endif 16 | #endif 17 | -------------------------------------------------------------------------------- /src/utils/libEasyRTMP/dllmain.cpp: -------------------------------------------------------------------------------- 1 | // dllmain.cpp : Defines the initialization routines for the DLL. 2 | // 3 | 4 | #include "stdafx.h" 5 | #include 6 | #include 7 | 8 | #ifdef _DEBUG 9 | #define new DEBUG_NEW 10 | #endif 11 | 12 | static AFX_EXTENSION_MODULE libEasyRTMPDLL = { NULL, NULL }; 13 | 14 | extern "C" int APIENTRY 15 | DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved) 16 | { 17 | // Remove this if you use lpReserved 18 | UNREFERENCED_PARAMETER(lpReserved); 19 | 20 | if (dwReason == DLL_PROCESS_ATTACH) 21 | { 22 | TRACE0("libEasyRTMP.DLL Initializing!\n"); 23 | 24 | // Extension DLL one-time initialization 25 | if (!AfxInitExtensionModule(libEasyRTMPDLL, hInstance)) 26 | return 0; 27 | 28 | // Insert this DLL into the resource chain 29 | // NOTE: If this Extension DLL is being implicitly linked to by 30 | // an MFC Regular DLL (such as an ActiveX Control) 31 | // instead of an MFC application, then you will want to 32 | // remove this line from DllMain and put it in a separate 33 | // function exported from this Extension DLL. The Regular DLL 34 | // that uses this Extension DLL should then explicitly call that 35 | // function to initialize this Extension DLL. Otherwise, 36 | // the CDynLinkLibrary object will not be attached to the 37 | // Regular DLL's resource chain, and serious problems will 38 | // result. 39 | 40 | new CDynLinkLibrary(libEasyRTMPDLL); 41 | 42 | } 43 | else if (dwReason == DLL_PROCESS_DETACH) 44 | { 45 | TRACE0("libEasyRTMP.DLL Terminating!\n"); 46 | 47 | // Terminate the library before destructors are called 48 | AfxTermExtensionModule(libEasyRTMPDLL); 49 | } 50 | return 1; // ok 51 | } 52 | -------------------------------------------------------------------------------- /src/utils/libEasyRTMP/libEasyRTMP.cpp: -------------------------------------------------------------------------------- 1 | // libEasyRTMP.cpp : Defines the initialization routines for the DLL. 2 | // 3 | 4 | #include "stdafx.h" 5 | 6 | #ifdef _DEBUG 7 | #define new DEBUG_NEW 8 | #endif 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/utils/libEasyRTMP/libEasyRTMP.def: -------------------------------------------------------------------------------- 1 | ; libEasyRTMP.def : Declares the module parameters for the DLL. 2 | 3 | LIBRARY "libEasyRTMP" 4 | 5 | EXPORTS 6 | ; Explicit exports can go here 7 | -------------------------------------------------------------------------------- /src/utils/libEasyRTMP/res/libEasyRTMP.rc2: -------------------------------------------------------------------------------- 1 | // 2 | // libEasyRTMP.RC2 - resources Microsoft Visual C++ does not edit directly 3 | // 4 | 5 | #ifdef APSTUDIO_INVOKED 6 | #error this file is not editable by Microsoft Visual C++ 7 | #endif //APSTUDIO_INVOKED 8 | 9 | 10 | ///////////////////////////////////////////////////////////////////////////// 11 | // Add manually edited resources here... 12 | 13 | ///////////////////////////////////////////////////////////////////////////// 14 | -------------------------------------------------------------------------------- /src/utils/libEasyRTMP/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // libEasyRTMP.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/utils/libEasyRTMP/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | 5 | #pragma once 6 | 7 | #ifndef VC_EXTRALEAN 8 | #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers 9 | #endif 10 | 11 | #include "targetver.h" 12 | 13 | #define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit 14 | 15 | #include // MFC core and standard components 16 | #include // MFC extensions 17 | 18 | #ifndef _AFX_NO_OLE_SUPPORT 19 | #include // MFC OLE classes 20 | #include // MFC OLE dialog classes 21 | #include // MFC Automation classes 22 | #endif // _AFX_NO_OLE_SUPPORT 23 | 24 | #ifndef _AFX_NO_DB_SUPPORT 25 | #include // MFC ODBC database classes 26 | #endif // _AFX_NO_DB_SUPPORT 27 | 28 | #ifndef _AFX_NO_DAO_SUPPORT 29 | #include // MFC DAO database classes 30 | #endif // _AFX_NO_DAO_SUPPORT 31 | 32 | #ifndef _AFX_NO_OLE_SUPPORT 33 | #include // MFC support for Internet Explorer 4 Common Controls 34 | #endif 35 | #ifndef _AFX_NO_AFXCMN_SUPPORT 36 | #include // MFC support for Windows Common Controls 37 | #endif // _AFX_NO_AFXCMN_SUPPORT 38 | 39 | 40 | -------------------------------------------------------------------------------- /src/utils/libEasyRTMP/targetver.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | // The following macros define the minimum required platform. The minimum required platform 5 | // is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run 6 | // your application. The macros work by enabling all features available on platform versions up to and 7 | // including the version specified. 8 | 9 | // Modify the following defines if you have to target a platform prior to the ones specified below. 10 | // Refer to MSDN for the latest info on corresponding values for different platforms. 11 | #ifndef WINVER // Specifies that the minimum required platform is Windows Vista. 12 | #define WINVER 0x0600 // Change this to the appropriate value to target other versions of Windows. 13 | #endif 14 | 15 | #ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista. 16 | #define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows. 17 | #endif 18 | 19 | #ifndef _WIN32_WINDOWS // Specifies that the minimum required platform is Windows 98. 20 | #define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later. 21 | #endif 22 | 23 | #ifndef _WIN32_IE // Specifies that the minimum required platform is Internet Explorer 7.0. 24 | #define _WIN32_IE 0x0700 // Change this to the appropriate value to target other versions of IE. 25 | #endif 26 | 27 | -------------------------------------------------------------------------------- /src/utils/libEasySource/BaseSource.h: -------------------------------------------------------------------------------- 1 | #ifndef __RG4_EZSTREAMSVR_BASE_SOURCE_H 2 | #define __RG4_EZSTREAMSVR_BASE_SOURCE_H 3 | 4 | #pragma once 5 | 6 | #include 7 | #include 8 | #include 9 | using namespace std; 10 | 11 | #ifdef LIBEASYSOURCE_EXPORTS 12 | # define LIBEASYSOURCE_API __declspec(dllexport) 13 | #else 14 | # define LIBEASYSOURCE_API __declspec(dllimport) 15 | #endif 16 | 17 | class LIBEASYSOURCE_API CBaseVideo 18 | { 19 | public: 20 | CBaseVideo(); 21 | virtual ~CBaseVideo(); 22 | 23 | // Overrides 24 | public: 25 | virtual BOOL_ Start() = 0; 26 | virtual BOOL_ Stop() = 0; 27 | 28 | virtual BOOL_ CheckReceiveStatus(); 29 | 30 | // Operations 31 | public: 32 | //should be a public interface, but i don't know why EzStreamSvr can not find the interface 33 | //so move to virtual temporary 34 | void SetupDeviceInfo(DEVICE_INFO* pCamInfo); 35 | void SetMedieProfileCB(void* pParam, PROFILE_CALLBACK fpMediaProfile); 36 | void SetupCallback(void* pParam, FRAME_CALLBACK fpVideoFunc, FRAME_CALLBACK_A fpAudioFunc, RTPKT_CALLBACK fpRTPPktCB); 37 | void SetupLogCallback(void* pParam, RsLogReport fpLogReport); 38 | 39 | //for libV4R capture only 40 | void SetupRawCallback(void* pParam, RAWVIDEO_CALLBACK fpRawVideo, RAWAUDIO_CALLBACK fpRawAudio); 41 | // void SetupProfile(STREAMPROFILE* pProfile); 42 | void SetupProfile(MEDIA_PROFILE* pProfile); 43 | void SetupOSDParameters(BOOL_ bText, BOOL_ bTime, string strFilter); 44 | 45 | // Attributes 46 | public: 47 | DEVICE_INFO m_vDeviceInfo; 48 | 49 | COMMAND_CALLBACK m_fpCommandFunc; 50 | void* m_pCommandParam; 51 | 52 | EVENT_CALLBACK m_fpEventFunc; 53 | void* m_pEventParam; 54 | 55 | void* m_pProfileParam; 56 | PROFILE_CALLBACK m_fpMediaProfileCB; 57 | MEDIA_PROFILE m_vMediaProfile; 58 | 59 | void* m_pParam; 60 | FRAME_CALLBACK m_fpFrameVCB; 61 | RTPKT_CALLBACK m_fpRtpPktCB; 62 | FRAME_CALLBACK_A m_fpFrameACB; 63 | 64 | void* m_pRawParam; 65 | RAWVIDEO_CALLBACK m_fpRawVideoCB; 66 | RAWAUDIO_CALLBACK m_fpRawAudioCB; 67 | 68 | void* m_pLogParam; 69 | RsLogReport m_fpLogReport; 70 | char TAG[32]; 71 | 72 | unsigned int m_nConnectStatus; 73 | unsigned int m_nStopReceiveCount; 74 | unsigned int m_nReconnectPeriod; 75 | int m_bCompleteImage; 76 | int m_bReceiveVideo; 77 | int m_bStopVideo; 78 | unsigned short m_wPreFrameType; 79 | int m_bSelfKilled; 80 | SYSTEMTIME_ m_stConnectTime; 81 | 82 | //for libV4R capture only 83 | // STREAMPROFILE m_vStreamProfile;//for init Capture, the real one will be re-init after get stream source. 84 | BOOL_ m_bOSDText; 85 | BOOL_ m_bOSDTime; 86 | #define MAX_OSD_FILTER_SIZE 256 87 | char m_pOSDFilter[MAX_OSD_FILTER_SIZE]; 88 | }; 89 | 90 | #endif // __RG4_EZSTREAMSVR_BASE_SOURCE_H 91 | -------------------------------------------------------------------------------- /src/utils/libEasySourceLDR/SourceLoader.h: -------------------------------------------------------------------------------- 1 | #ifndef _RG4_EZSTREAMSVR_SOURCE_LOADER_H 2 | #define _RG4_EZSTREAMSVR_SOURCE_LOADER_H 3 | 4 | #include "../libEasySource/BaseSource.h" 5 | #include 6 | #include 7 | 8 | #pragma once 9 | 10 | #define SOURCE_CREATE_INTERFACE "LoadRsSource" 11 | typedef bool (*SOURCE_CREATE)(CBaseVideo** pVideo); 12 | 13 | #ifdef LIBEASYSOURCELDR_EXPORTS 14 | # define LIBEASYSOURCELDR_API __declspec(dllexport) 15 | #else 16 | # define LIBEASYSOURCELDR_API __declspec(dllimport) 17 | #endif 18 | 19 | class LIBEASYSOURCELDR_API CSourceLoader 20 | { 21 | public: 22 | CSourceLoader(void); 23 | ~CSourceLoader(void); 24 | 25 | public: 26 | bool Create(const char* szLibrary, CBaseVideo** pCommonVideo); 27 | 28 | private: 29 | #ifdef WIN32 30 | typedef void* HMODULE_; 31 | #else 32 | typedef HMODULE HMODULE_; 33 | #endif 34 | bool LoadLib(const char* szLibrary, HMODULE_& hModule); 35 | bool FreeLib(HMODULE_ hModule); 36 | void AddModuleToLibrary(const char* szLibrary, HMODULE_ hModule); 37 | bool FindModuleInLibrary(const char* szLibrary, HMODULE_& hModule); 38 | 39 | private: 40 | pthread_mutex_t m_csLock; 41 | map m_LibraryMap; 42 | }; 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /src/utils/librtmp/Makefile: -------------------------------------------------------------------------------- 1 | VERSION=v2.3 2 | 3 | prefix=/usr/local 4 | 5 | incdir=$(prefix)/include/librtmp 6 | bindir=$(prefix)/bin 7 | libdir=$(prefix)/lib 8 | mandir=$(prefix)/man 9 | BINDIR=$(DESTDIR)$(bindir) 10 | INCDIR=$(DESTDIR)$(incdir) 11 | LIBDIR=$(DESTDIR)$(libdir) 12 | MANDIR=$(DESTDIR)$(mandir) 13 | 14 | CC=$(CROSS_COMPILE)gcc 15 | LD=$(CROSS_COMPILE)ld 16 | AR=$(CROSS_COMPILE)ar 17 | 18 | SYS=posix 19 | CRYPTO=OPENSSL 20 | #CRYPTO=GNUTLS 21 | DEF_POLARSSL=-DUSE_POLARSSL 22 | DEF_OPENSSL=-DUSE_OPENSSL 23 | DEF_GNUTLS=-DUSE_GNUTLS 24 | DEF_=-DNO_CRYPTO 25 | REQ_GNUTLS=gnutls 26 | REQ_OPENSSL=libssl,libcrypto 27 | LIBZ=-lz 28 | LIBS_posix= 29 | LIBS_darwin= 30 | LIBS_mingw=-lws2_32 -lwinmm -lgdi32 31 | LIB_GNUTLS=-lgnutls -lgcrypt $(LIBZ) 32 | LIB_OPENSSL=-lssl -lcrypto $(LIBZ) 33 | LIB_POLARSSL=-lpolarssl $(LIBZ) 34 | PRIVATE_LIBS=$(LIBS_$(SYS)) 35 | CRYPTO_LIB=$(LIB_$(CRYPTO)) $(PRIVATE_LIBS) 36 | CRYPTO_REQ=$(REQ_$(CRYPTO)) 37 | CRYPTO_DEF=$(DEF_$(CRYPTO)) 38 | 39 | SO_VERSION=0 40 | SOX_posix=so 41 | SOX_darwin=dylib 42 | SOX_mingw=so # useless 43 | SOX=$(SOX_$(SYS)) 44 | SO_posix=$(SOX).$(SO_VERSION) 45 | SO_darwin=$(SO_VERSION).$(SOX) 46 | SO_mingw=dll 47 | SO_EXT=$(SO_$(SYS)) 48 | 49 | SODIR_posix=$(LIBDIR) 50 | SODIR_darwin=$(LIBDIR) 51 | SODIR_mingw=$(BINDIR) 52 | SODIR=$(SODIR_$(SYS)) 53 | 54 | SO_LDFLAGS_posix=-shared -Wl,-soname,$@ 55 | SO_LDFLAGS_darwin=-dynamiclib -flat_namespace -undefined suppress -fno-common \ 56 | -headerpad_max_install_names 57 | SO_LDFLAGS_mingw= 58 | SO_LDFLAGS=$(SO_LDFLAGS_$(SYS)) 59 | 60 | SHARED=yes 61 | SODEF_yes=-fPIC 62 | SOLIB_yes=librtmp.$(SO_EXT) 63 | SOINST_yes=install_so 64 | SO_DEF=$(SODEF_$(SHARED)) 65 | SO_LIB=$(SOLIB_$(SHARED)) 66 | SO_INST=$(SOINST_$(SHARED)) 67 | 68 | DEF=-DRTMPDUMP_VERSION=\"$(VERSION)\" $(CRYPTO_DEF) $(XDEF) 69 | OPT=-O2 70 | CFLAGS=-Wall $(XCFLAGS) $(INC) $(DEF) $(OPT) $(SO_DEF) 71 | LDFLAGS=$(XLDFLAGS) 72 | 73 | 74 | OBJS=rtmp.o log.o amf.o hashswf.o parseurl.o 75 | 76 | all: librtmp.a $(SO_LIB) 77 | 78 | clean: 79 | rm -f *.o *.a *.$(SOX) *.$(SO_EXT) 80 | 81 | librtmp.a: $(OBJS) 82 | $(AR) rs $@ $? 83 | 84 | librtmp.$(SO_EXT): $(OBJS) 85 | $(CC) $(SO_LDFLAGS) $(LDFLAGS) -o $@ $^ $> $(CRYPTO_LIB) 86 | ln -sf $@ librtmp.$(SOX) 87 | 88 | log.o: log.c log.h Makefile 89 | rtmp.o: rtmp.c rtmp.h rtmp_sys.h handshake.h dh.h log.h amf.h Makefile 90 | amf.o: amf.c amf.h bytes.h log.h Makefile 91 | hashswf.o: hashswf.c http.h rtmp.h rtmp_sys.h Makefile 92 | parseurl.o: parseurl.c rtmp.h rtmp_sys.h log.h Makefile 93 | 94 | librtmp.pc: librtmp.pc.in Makefile 95 | sed -e "s;@prefix@;$(prefix);" -e "s;@libdir@;$(libdir);" \ 96 | -e "s;@VERSION@;$(VERSION);" \ 97 | -e "s;@CRYPTO_REQ@;$(CRYPTO_REQ);" \ 98 | -e "s;@PRIVATE_LIBS@;$(PRIVATE_LIBS);" librtmp.pc.in > $@ 99 | 100 | install: install_base $(SO_INST) 101 | 102 | install_base: librtmp.a librtmp.pc 103 | -mkdir -p $(INCDIR) $(LIBDIR)/pkgconfig $(MANDIR)/man3 104 | cp amf.h http.h log.h rtmp.h $(INCDIR) 105 | cp librtmp.a $(LIBDIR) 106 | cp librtmp.pc $(LIBDIR)/pkgconfig 107 | cp librtmp.3 $(MANDIR)/man3 108 | 109 | install_so: librtmp.$(SO_EXT) 110 | cp librtmp.$(SO_EXT) $(SODIR) 111 | cd $(SODIR); ln -sf librtmp.$(SO_EXT) librtmp.$(SOX) 112 | 113 | -------------------------------------------------------------------------------- /src/utils/librtmp/bytes.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2005-2008 Team XBMC 3 | * http://www.xbmc.org 4 | * Copyright (C) 2008-2009 Andrej Stepanchuk 5 | * Copyright (C) 2009-2010 Howard Chu 6 | * 7 | * This file is part of librtmp. 8 | * 9 | * librtmp is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU Lesser General Public License as 11 | * published by the Free Software Foundation; either version 2.1, 12 | * or (at your option) any later version. 13 | * 14 | * librtmp is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU Lesser General Public License 20 | * along with librtmp see the file COPYING. If not, write to 21 | * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 22 | * Boston, MA 02110-1301, USA. 23 | * http://www.gnu.org/copyleft/lgpl.html 24 | */ 25 | 26 | #ifndef __BYTES_H__ 27 | #define __BYTES_H__ 28 | 29 | #include 30 | 31 | #ifdef _WIN32 32 | /* Windows is little endian only */ 33 | #define __LITTLE_ENDIAN 1234 34 | #define __BIG_ENDIAN 4321 35 | #define __BYTE_ORDER __LITTLE_ENDIAN 36 | #define __FLOAT_WORD_ORDER __BYTE_ORDER 37 | 38 | typedef unsigned char uint8_t; 39 | 40 | #else /* !_WIN32 */ 41 | 42 | #include 43 | 44 | #if defined(BYTE_ORDER) && !defined(__BYTE_ORDER) 45 | #define __BYTE_ORDER BYTE_ORDER 46 | #endif 47 | 48 | #if defined(BIG_ENDIAN) && !defined(__BIG_ENDIAN) 49 | #define __BIG_ENDIAN BIG_ENDIAN 50 | #endif 51 | 52 | #if defined(LITTLE_ENDIAN) && !defined(__LITTLE_ENDIAN) 53 | #define __LITTLE_ENDIAN LITTLE_ENDIAN 54 | #endif 55 | 56 | #endif /* !_WIN32 */ 57 | 58 | /* define default endianness */ 59 | #ifndef __LITTLE_ENDIAN 60 | #define __LITTLE_ENDIAN 1234 61 | #endif 62 | 63 | #ifndef __BIG_ENDIAN 64 | #define __BIG_ENDIAN 4321 65 | #endif 66 | 67 | #ifndef __BYTE_ORDER 68 | #warning "Byte order not defined on your system, assuming little endian!" 69 | #define __BYTE_ORDER __LITTLE_ENDIAN 70 | #endif 71 | 72 | /* ok, we assume to have the same float word order and byte order if float word order is not defined */ 73 | #ifndef __FLOAT_WORD_ORDER 74 | #warning "Float word order not defined, assuming the same as byte order!" 75 | #define __FLOAT_WORD_ORDER __BYTE_ORDER 76 | #endif 77 | 78 | #if !defined(__BYTE_ORDER) || !defined(__FLOAT_WORD_ORDER) 79 | #error "Undefined byte or float word order!" 80 | #endif 81 | 82 | #if __FLOAT_WORD_ORDER != __BIG_ENDIAN && __FLOAT_WORD_ORDER != __LITTLE_ENDIAN 83 | #error "Unknown/unsupported float word order!" 84 | #endif 85 | 86 | #if __BYTE_ORDER != __BIG_ENDIAN && __BYTE_ORDER != __LITTLE_ENDIAN 87 | #error "Unknown/unsupported byte order!" 88 | #endif 89 | 90 | #endif 91 | 92 | -------------------------------------------------------------------------------- /src/utils/librtmp/http.h: -------------------------------------------------------------------------------- 1 | #ifndef __RTMP_HTTP_H__ 2 | #define __RTMP_HTTP_H__ 3 | /* 4 | * Copyright (C) 2010 Howard Chu 5 | * Copyright (C) 2010 Antti Ajanki 6 | * 7 | * This file is part of librtmp. 8 | * 9 | * librtmp is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU Lesser General Public License as 11 | * published by the Free Software Foundation; either version 2.1, 12 | * or (at your option) any later version. 13 | * 14 | * librtmp is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU Lesser General Public License 20 | * along with librtmp see the file COPYING. If not, write to 21 | * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 22 | * Boston, MA 02110-1301, USA. 23 | * http://www.gnu.org/copyleft/lgpl.html 24 | */ 25 | 26 | typedef enum { 27 | HTTPRES_OK, /* result OK */ 28 | HTTPRES_OK_NOT_MODIFIED, /* not modified since last request */ 29 | HTTPRES_NOT_FOUND, /* not found */ 30 | HTTPRES_BAD_REQUEST, /* client error */ 31 | HTTPRES_SERVER_ERROR, /* server reported an error */ 32 | HTTPRES_REDIRECTED, /* resource has been moved */ 33 | HTTPRES_LOST_CONNECTION /* connection lost while waiting for data */ 34 | } HTTPResult; 35 | 36 | struct HTTP_ctx { 37 | char *date; 38 | int size; 39 | int status; 40 | void *data; 41 | }; 42 | 43 | typedef size_t (HTTP_read_callback)(void *ptr, size_t size, size_t nmemb, void *stream); 44 | 45 | HTTPResult HTTP_get(struct HTTP_ctx *http, const char *url, HTTP_read_callback *cb); 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /src/utils/librtmp/librtmp.pc: -------------------------------------------------------------------------------- 1 | prefix=/home/kyle/software/ffmpeg/packages/rtmpdump/librtmp-git-6155179b-win32 2 | exec_prefix=${prefix} 3 | libdir=/home/kyle/software/ffmpeg/packages/rtmpdump/librtmp-git-6155179b-win32/lib 4 | incdir=${prefix}/include 5 | 6 | Name: librtmp 7 | Description: RTMP implementation 8 | Version: v2.3 9 | Requires: 10 | URL: http://rtmpdump.mplayerhq.hu 11 | Libs: -L${libdir} -lrtmp -lz 12 | Libs.private: -lws2_32 -lwinmm -lgdi32 13 | Cflags: -I${incdir} 14 | -------------------------------------------------------------------------------- /src/utils/librtmp/librtmp.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=${prefix} 3 | libdir=@libdir@ 4 | incdir=${prefix}/include 5 | 6 | Name: librtmp 7 | Description: RTMP implementation 8 | Version: @VERSION@ 9 | Requires: @CRYPTO_REQ@ 10 | URL: http://rtmpdump.mplayerhq.hu 11 | Libs: -L${libdir} -lrtmp -lz 12 | Libs.private: @PRIVATE_LIBS@ 13 | Cflags: -I${incdir} 14 | -------------------------------------------------------------------------------- /src/utils/librtmp/log.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2008-2009 Andrej Stepanchuk 3 | * Copyright (C) 2009-2010 Howard Chu 4 | * 5 | * This file is part of librtmp. 6 | * 7 | * librtmp is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU Lesser General Public License as 9 | * published by the Free Software Foundation; either version 2.1, 10 | * or (at your option) any later version. 11 | * 12 | * librtmp is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public License 18 | * along with librtmp see the file COPYING. If not, write to 19 | * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20 | * Boston, MA 02110-1301, USA. 21 | * http://www.gnu.org/copyleft/lgpl.html 22 | */ 23 | 24 | #ifndef __RTMP_LOG_H__ 25 | #define __RTMP_LOG_H__ 26 | 27 | #include 28 | #include 29 | #include 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | /* Enable this to get full debugging output */ 35 | /* #define _DEBUG */ 36 | 37 | #ifdef _DEBUG 38 | #undef NODEBUG 39 | #endif 40 | 41 | typedef enum 42 | { RTMP_LOGCRIT=0, RTMP_LOGERROR, RTMP_LOGWARNING, RTMP_LOGINFO, 43 | RTMP_LOGDEBUG, RTMP_LOGDEBUG2, RTMP_LOGALL 44 | } RTMP_LogLevel; 45 | 46 | extern RTMP_LogLevel RTMP_debuglevel; 47 | 48 | typedef void (RTMP_LogCallback)(int level, const char *fmt, va_list); 49 | void RTMP_LogSetCallback(RTMP_LogCallback *cb); 50 | void RTMP_LogSetOutput(FILE *file); 51 | void RTMP_LogPrintf(const char *format, ...); 52 | void RTMP_LogStatus(const char *format, ...); 53 | void RTMP_Log(int level, const char *format, ...); 54 | void RTMP_LogHex(int level, const uint8_t *data, unsigned long len); 55 | void RTMP_LogHexString(int level, const uint8_t *data, unsigned long len); 56 | void RTMP_LogSetLevel(RTMP_LogLevel lvl); 57 | RTMP_LogLevel RTMP_LogGetLevel(void); 58 | 59 | #ifdef __cplusplus 60 | } 61 | #endif 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /src/utils/x264/README.txt: -------------------------------------------------------------------------------- 1 | 2 | This is a daily package of 20090622. If you have any issue while using this x264, feel free to contact with me. 3 | 4 | jacky@rg4.net 5 | -------------------------------------------------------------------------------- /src/utils/x264/build/win32/bin/libx264.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/utils/x264/build/win32/bin/libx264.lib -------------------------------------------------------------------------------- /src/utils/x264/common/cpu.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * cpu.h: h264 encoder library 3 | ***************************************************************************** 4 | * Copyright (C) 2004-2008 Loren Merritt 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 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA. 19 | *****************************************************************************/ 20 | 21 | #ifndef X264_CPU_H 22 | #define X264_CPU_H 23 | 24 | uint32_t x264_cpu_detect( void ); 25 | int x264_cpu_num_processors( void ); 26 | void x264_emms( void ); 27 | void x264_cpu_mask_misalign_sse( void ); 28 | 29 | /* kluge: 30 | * gcc can't give variables any greater alignment than the stack frame has. 31 | * We need 16 byte alignment for SSE2, so here we make sure that the stack is 32 | * aligned to 16 bytes. 33 | * gcc 4.2 introduced __attribute__((force_align_arg_pointer)) to fix this 34 | * problem, but I don't want to require such a new version. 35 | * This applies only to x86_32, since other architectures that need alignment 36 | * also have ABIs that ensure aligned stack. */ 37 | #if defined(ARCH_X86) && defined(HAVE_MMX) 38 | int x264_stack_align( void (*func)(x264_t*), x264_t *arg ); 39 | #define x264_stack_align(func,arg) x264_stack_align((void (*)(x264_t*))func,arg) 40 | #else 41 | #define x264_stack_align(func,arg) func(arg) 42 | #endif 43 | 44 | typedef struct { 45 | const char name[16]; 46 | int flags; 47 | } x264_cpu_name_t; 48 | extern const x264_cpu_name_t x264_cpu_names[]; 49 | 50 | #endif 51 | -------------------------------------------------------------------------------- /src/utils/x264/common/display.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * x264: h264 encoder 3 | ***************************************************************************** 4 | * Copyright (C) 2005 Tuukka Toivonen 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 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA. 19 | *****************************************************************************/ 20 | 21 | #ifndef X264_DISPLAY_H 22 | #define X264_DISPLAY_H 23 | 24 | void disp_sync(void); 25 | void disp_setcolor(unsigned char *name); 26 | /* Display a region of byte wide memory as a grayscale image. 27 | * num is the window to use for displaying. */ 28 | void disp_gray(int num, char *data, int width, int height, 29 | int stride, const unsigned char *title); 30 | void disp_gray_zoom(int num, char *data, int width, int height, 31 | int stride, const unsigned char *title, int zoom); 32 | void disp_point(int num, int x1, int y1); 33 | void disp_line(int num, int x1, int y1, int x2, int y2); 34 | void disp_rect(int num, int x1, int y1, int x2, int y2); 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /src/utils/x264/common/mdate.c: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * mdate.c: h264 encoder 3 | ***************************************************************************** 4 | * Copyright (C) 2003 Laurent Aimar 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 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA. 19 | *****************************************************************************/ 20 | 21 | #if !(defined(_MSC_VER) || defined(__MINGW32__)) 22 | #include 23 | #else 24 | #include 25 | #include 26 | #endif 27 | #include 28 | 29 | #include "common.h" 30 | #include "osdep.h" 31 | 32 | int64_t x264_mdate( void ) 33 | { 34 | #if !(defined(_MSC_VER) || defined(__MINGW32__)) 35 | struct timeval tv_date; 36 | 37 | gettimeofday( &tv_date, NULL ); 38 | return( (int64_t) tv_date.tv_sec * 1000000 + (int64_t) tv_date.tv_usec ); 39 | #else 40 | struct _timeb tb; 41 | _ftime(&tb); 42 | return ((int64_t)tb.time * (1000) + (int64_t)tb.millitm) * (1000); 43 | #endif 44 | } 45 | 46 | -------------------------------------------------------------------------------- /src/utils/x264/common/ppc/dct.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * dct.h: h264 encoder library 3 | ***************************************************************************** 4 | * Copyright (C) 2003-2008 x264 project 5 | * 6 | * Authors: Eric Petit 7 | * Guillaume Poirier 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA. 22 | *****************************************************************************/ 23 | 24 | #ifndef X264_PPC_DCT_H 25 | #define X264_PPC_DCT_H 26 | 27 | void x264_sub4x4_dct_altivec( int16_t dct[4][4], 28 | uint8_t *pix1, uint8_t *pix2 ); 29 | void x264_sub8x8_dct_altivec( int16_t dct[4][4][4], 30 | uint8_t *pix1, uint8_t *pix2 ); 31 | void x264_sub16x16_dct_altivec( int16_t dct[16][4][4], 32 | uint8_t *pix1, uint8_t *pix2 ); 33 | 34 | void x264_add4x4_idct_altivec( uint8_t *p_dst, int16_t dct[4][4] ); 35 | void x264_add8x8_idct_altivec( uint8_t *p_dst, int16_t dct[4][4][4] ); 36 | void x264_add16x16_idct_altivec( uint8_t *p_dst, int16_t dct[16][4][4] ); 37 | 38 | void x264_sub8x8_dct8_altivec( int16_t dct[8][8], 39 | uint8_t *pix1, uint8_t *pix2 ); 40 | void x264_sub16x16_dct8_altivec( int16_t dct[4][8][8], 41 | uint8_t *pix1, uint8_t *pix2 ); 42 | 43 | void x264_add8x8_idct8_altivec( uint8_t *dst, int16_t dct[8][8] ); 44 | void x264_add16x16_idct8_altivec( uint8_t *dst, int16_t dct[4][8][8] ); 45 | 46 | void x264_zigzag_scan_4x4_frame_altivec( int16_t level[16], int16_t dct[4][4] ); 47 | void x264_zigzag_scan_4x4_field_altivec( int16_t level[16], int16_t dct[4][4] ); 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /src/utils/x264/common/ppc/mc.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * mc.h: h264 encoder library 3 | ***************************************************************************** 4 | * Copyright (C) 2003-2008 Eric Petit 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 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA. 19 | *****************************************************************************/ 20 | 21 | #ifndef X264_PPC_MC_H 22 | #define X264_PPC_MC_H 23 | 24 | void x264_mc_altivec_init( x264_mc_functions_t *pf ); 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /src/utils/x264/common/ppc/pixel.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pixel.h: h264 encoder library 3 | ***************************************************************************** 4 | * Copyright (C) 2003-2004 Eric Petit 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 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA. 19 | *****************************************************************************/ 20 | 21 | #ifndef X264_PPC_PIXEL_H 22 | #define X264_PPC_PIXEL_H 23 | 24 | void x264_pixel_altivec_init( x264_pixel_function_t *pixf ); 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /src/utils/x264/common/ppc/predict.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * predict.h: h264 encoder library 3 | ***************************************************************************** 4 | * Copyright (C) 2007 Guillaume Poirier 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 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA. 19 | *****************************************************************************/ 20 | 21 | #ifndef X264_PPC_PREDICT_H 22 | #define X264_PPC_PREDICT_H 23 | 24 | void x264_predict_16x16_init_altivec ( x264_predict_t pf[7] ); 25 | void x264_predict_8x8c_init_altivec( x264_predict_t pf[7] ); 26 | 27 | #endif /* X264_PPC_PREDICT_H */ 28 | -------------------------------------------------------------------------------- /src/utils/x264/common/ppc/quant.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * quant.h: h264 encoder library 3 | ***************************************************************************** 4 | * Copyright (C) 2007 Guillaume Poirier 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 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA. 19 | *****************************************************************************/ 20 | 21 | #ifndef X264_PPC_QUANT_H 22 | #define X264_PPC_QUANT_H 23 | 24 | int x264_quant_4x4_altivec( int16_t dct[4][4], uint16_t mf[16], uint16_t bias[16] ); 25 | int x264_quant_8x8_altivec( int16_t dct[8][8], uint16_t mf[64], uint16_t bias[64] ); 26 | 27 | int x264_quant_4x4_dc_altivec( int16_t dct[4][4], int mf, int bias ); 28 | int x264_quant_2x2_dc_altivec( int16_t dct[2][2], int mf, int bias ); 29 | 30 | void x264_dequant_4x4_altivec( int16_t dct[4][4], int dequant_mf[6][4][4], int i_qp ); 31 | void x264_dequant_8x8_altivec( int16_t dct[8][8], int dequant_mf[6][8][8], int i_qp ); 32 | #endif 33 | -------------------------------------------------------------------------------- /src/utils/x264/common/quant.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * quant.h: h264 encoder library 3 | ***************************************************************************** 4 | * Copyright (C) 2005-2008 x264 project 5 | * 6 | * Authors: Loren Merritt 7 | * 8 | * This program is free software; you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation; either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program; if not, write to the Free Software 20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA. 21 | *****************************************************************************/ 22 | 23 | #ifndef X264_QUANT_H 24 | #define X264_QUANT_H 25 | 26 | typedef struct 27 | { 28 | int (*quant_8x8)( int16_t dct[8][8], uint16_t mf[64], uint16_t bias[64] ); 29 | int (*quant_4x4)( int16_t dct[4][4], uint16_t mf[16], uint16_t bias[16] ); 30 | int (*quant_4x4_dc)( int16_t dct[4][4], int mf, int bias ); 31 | int (*quant_2x2_dc)( int16_t dct[2][2], int mf, int bias ); 32 | 33 | void (*dequant_8x8)( int16_t dct[8][8], int dequant_mf[6][8][8], int i_qp ); 34 | void (*dequant_4x4)( int16_t dct[4][4], int dequant_mf[6][4][4], int i_qp ); 35 | void (*dequant_4x4_dc)( int16_t dct[4][4], int dequant_mf[6][4][4], int i_qp ); 36 | 37 | void (*denoise_dct)( int16_t *dct, uint32_t *sum, uint16_t *offset, int size ); 38 | 39 | int (*decimate_score15)( int16_t *dct ); 40 | int (*decimate_score16)( int16_t *dct ); 41 | int (*decimate_score64)( int16_t *dct ); 42 | int (*coeff_last[6])( int16_t *dct ); 43 | int (*coeff_level_run[5])( int16_t *dct, x264_run_level_t *runlevel ); 44 | } x264_quant_function_t; 45 | 46 | void x264_quant_init( x264_t *h, int cpu, x264_quant_function_t *pf ); 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /src/utils/x264/common/sparc/pixel.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * pixel.h: h264 encoder library 3 | ***************************************************************************** 4 | * Copyright (C) 2005 Phil Jensen 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 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA. 19 | *****************************************************************************/ 20 | 21 | #ifndef X264_SPARC_PIXEL_H 22 | #define X264_SPARC_PIXEL_H 23 | 24 | int x264_pixel_sad_8x8_vis( uint8_t *, int, uint8_t *, int ); 25 | int x264_pixel_sad_8x16_vis( uint8_t *, int, uint8_t *, int ); 26 | int x264_pixel_sad_16x8_vis( uint8_t *, int, uint8_t *, int ); 27 | int x264_pixel_sad_16x16_vis( uint8_t *, int, uint8_t *, int ); 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /src/utils/x264/common/visualize.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * x264: h264 encoder 3 | ***************************************************************************** 4 | * Copyright (C) 2005 Tuukka Toivonen 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 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA. 19 | *****************************************************************************/ 20 | 21 | #ifndef X264_VISUALIZE_H 22 | #define X264_VISUALIZE_H 23 | 24 | #include "common/common.h" 25 | 26 | void x264_visualize_init( x264_t *h ); 27 | void x264_visualize_mb( x264_t *h ); 28 | void x264_visualize_show( x264_t *h ); 29 | void x264_visualize_close( x264_t *h ); 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /src/utils/x264/common/x86/mc.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * mc.h: h264 encoder library 3 | ***************************************************************************** 4 | * Copyright (C) 2003-2008 x264 project 5 | * 6 | * Authors: Loren Merritt 7 | * Laurent Aimar 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA. 22 | *****************************************************************************/ 23 | 24 | #ifndef X264_I386_MC_H 25 | #define X264_I386_MC_H 26 | 27 | void x264_mc_init_mmx( int cpu, x264_mc_functions_t *pf ); 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /src/utils/x264/common/x86/predict.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * predict.h: h264 encoder library 3 | ***************************************************************************** 4 | * Copyright (C) 2003-2008 x264 project 5 | * 6 | * Authors: Laurent Aimar 7 | * Loren Merritt 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA. 22 | *****************************************************************************/ 23 | 24 | #ifndef X264_I386_PREDICT_H 25 | #define X264_I386_PREDICT_H 26 | 27 | void x264_predict_16x16_init_mmx ( int cpu, x264_predict_t pf[7] ); 28 | void x264_predict_8x8c_init_mmx ( int cpu, x264_predict_t pf[7] ); 29 | void x264_predict_4x4_init_mmx ( int cpu, x264_predict_t pf[12] ); 30 | void x264_predict_8x8_init_mmx ( int cpu, x264_predict8x8_t pf[12], x264_predict_8x8_filter_t *predict_8x8_filter ); 31 | #endif 32 | -------------------------------------------------------------------------------- /src/utils/x264/doc/regression_test.txt: -------------------------------------------------------------------------------- 1 | Here is one test method which checks that the encoder's 2 | view of decoded pictures in the same as the decoder's view. 3 | This ensures that there is no distortion besides what is 4 | inherently caused by compression. 5 | 6 | # Install and compile x264 : 7 | svn co svn://svn.videolan.org/x264/trunk x264 8 | cd x264 9 | ./configure 10 | perl -pi -e 's|//(#define DEBUG_DUMP_FRAME)|$1|' encoder/encoder.c # define DEBUG_DUMP_FRAME 11 | make 12 | cd .. 13 | 14 | # Install and compile JM reference decoder : 15 | wget http://iphome.hhi.de/suehring/tml/download/jm10.2.zip 16 | unzip jm10.2.zip 17 | cd JM 18 | sh unixprep.sh 19 | cd ldecod 20 | make 21 | cd ../.. 22 | 23 | ./x264/x264 input.yuv -o output.h264 # this produces fdec.yuv 24 | ./JM/bin/ldecod.exe -i output.h264 -o ref.yuv 25 | diff ref.yuv fdec.yuv 26 | -------------------------------------------------------------------------------- /src/utils/x264/doc/standards.txt: -------------------------------------------------------------------------------- 1 | x264 is written in C. The particular variant of C is: intersection of gcc-2.95 and msvc. This means C89 + a few C99 features. 2 | The extra utilities (mostly checkasm) are written in C99, with no attempt at compatibility with old compilers. 3 | 4 | We make the following additional assumptions which are true of real systems but not guaranteed by C99: 5 | * Two's complement. 6 | * Signed right-shifts are sign-extended. 7 | 8 | x86-specific assumptions: 9 | * The stack is 16-byte aligned. We align it on entry to libx264 and on entry to any thread, but the compiler must preserve alignment after that. 10 | * We call emms before any float operation and before returning from libx264, not after each mmx operation. So bad things could happen if the compiler inserts float operations where they aren't expected. 11 | -------------------------------------------------------------------------------- /src/utils/x264/encoder/analyse.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * analyse.h: h264 encoder library 3 | ***************************************************************************** 4 | * Copyright (C) 2003-2008 x264 project 5 | * 6 | * Authors: Laurent Aimar 7 | * Loren Merritt 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA. 22 | *****************************************************************************/ 23 | 24 | #ifndef X264_ANALYSE_H 25 | #define X264_ANALYSE_H 26 | 27 | void x264_macroblock_analyse( x264_t *h ); 28 | void x264_slicetype_decide( x264_t *h ); 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /src/utils/x264/encoder/macroblock.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * macroblock.h: h264 encoder library 3 | ***************************************************************************** 4 | * Copyright (C) 2003-2008 x264 project 5 | * 6 | * Authors: Loren Merritt 7 | * Laurent Aimar 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA. 22 | *****************************************************************************/ 23 | 24 | #ifndef X264_ENCODER_MACROBLOCK_H 25 | #define X264_ENCODER_MACROBLOCK_H 26 | 27 | #include "common/macroblock.h" 28 | 29 | extern const int x264_lambda2_tab[52]; 30 | extern const int x264_lambda_tab[52]; 31 | 32 | void x264_rdo_init( void ); 33 | 34 | int x264_macroblock_probe_skip( x264_t *h, int b_bidir ); 35 | 36 | static inline int x264_macroblock_probe_pskip( x264_t *h ) 37 | { return x264_macroblock_probe_skip( h, 0 ); } 38 | static inline int x264_macroblock_probe_bskip( x264_t *h ) 39 | { return x264_macroblock_probe_skip( h, 1 ); } 40 | 41 | void x264_predict_lossless_8x8_chroma( x264_t *h, int i_mode ); 42 | void x264_predict_lossless_4x4( x264_t *h, uint8_t *p_dst, int idx, int i_mode ); 43 | void x264_predict_lossless_8x8( x264_t *h, uint8_t *p_dst, int idx, int i_mode, uint8_t edge[33] ); 44 | void x264_predict_lossless_16x16( x264_t *h, int i_mode ); 45 | 46 | void x264_macroblock_encode ( x264_t *h ); 47 | void x264_macroblock_write_cabac ( x264_t *h, x264_cabac_t *cb ); 48 | void x264_macroblock_write_cavlc ( x264_t *h, bs_t *s ); 49 | 50 | void x264_macroblock_encode_p8x8( x264_t *h, int i8 ); 51 | void x264_macroblock_encode_p4x4( x264_t *h, int i4 ); 52 | void x264_mb_encode_i4x4( x264_t *h, int idx, int i_qp ); 53 | void x264_mb_encode_i8x8( x264_t *h, int idx, int i_qp ); 54 | void x264_mb_encode_8x8_chroma( x264_t *h, int b_inter, int i_qp ); 55 | 56 | void x264_cabac_mb_skip( x264_t *h, int b_skip ); 57 | 58 | int x264_quant_dc_trellis( x264_t *h, int16_t *dct, int i_quant_cat, 59 | int i_qp, int i_ctxBlockCat, int b_intra ); 60 | int x264_quant_4x4_trellis( x264_t *h, int16_t dct[4][4], int i_quant_cat, 61 | int i_qp, int i_ctxBlockCat, int b_intra, int idx ); 62 | int x264_quant_8x8_trellis( x264_t *h, int16_t dct[8][8], int i_quant_cat, 63 | int i_qp, int b_intra, int idx ); 64 | 65 | void x264_noise_reduction_update( x264_t *h ); 66 | 67 | #endif 68 | 69 | -------------------------------------------------------------------------------- /src/utils/x264/encoder/me.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * me.h: h264 encoder library (Motion Estimation) 3 | ***************************************************************************** 4 | * Copyright (C) 2003-2008 x264 project 5 | * 6 | * Authors: Loren Merritt 7 | * Laurent Aimar 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA. 22 | *****************************************************************************/ 23 | 24 | #ifndef X264_ME_H 25 | #define X264_ME_H 26 | 27 | #define COST_MAX (1<<28) 28 | #define COST_MAX64 (1ULL<<60) 29 | 30 | typedef struct 31 | { 32 | /* input */ 33 | int i_pixel; /* PIXEL_WxH */ 34 | int16_t *p_cost_mv; /* lambda * nbits for each possible mv */ 35 | int i_ref_cost; 36 | int i_ref; 37 | 38 | uint8_t *p_fref[6]; 39 | uint8_t *p_fenc[3]; 40 | uint16_t *integral; 41 | int i_stride[2]; 42 | 43 | DECLARE_ALIGNED_4( int16_t mvp[2] ); 44 | 45 | /* output */ 46 | int cost_mv; /* lambda * nbits for the chosen mv */ 47 | int cost; /* satd + lambda * nbits */ 48 | DECLARE_ALIGNED_4( int16_t mv[2] ); 49 | } DECLARE_ALIGNED_16( x264_me_t ); 50 | 51 | typedef struct { 52 | int sad; 53 | int16_t mx, my; 54 | } mvsad_t; 55 | 56 | void x264_me_search_ref( x264_t *h, x264_me_t *m, int16_t (*mvc)[2], int i_mvc, int *p_fullpel_thresh ); 57 | static inline void x264_me_search( x264_t *h, x264_me_t *m, int16_t (*mvc)[2], int i_mvc ) 58 | { x264_me_search_ref( h, m, mvc, i_mvc, NULL ); } 59 | 60 | void x264_me_refine_qpel( x264_t *h, x264_me_t *m ); 61 | void x264_me_refine_qpel_rd( x264_t *h, x264_me_t *m, int i_lambda2, int i4, int i_list ); 62 | void x264_me_refine_bidir_rd( x264_t *h, x264_me_t *m0, x264_me_t *m1, int i_weight, int i8, int i_lambda2 ); 63 | void x264_me_refine_bidir_satd( x264_t *h, x264_me_t *m0, x264_me_t *m1, int i_weight ); 64 | uint64_t x264_rd_cost_part( x264_t *h, int i_lambda2, int i8, int i_pixel ); 65 | 66 | extern uint16_t *x264_cost_mv_fpel[92][4]; 67 | 68 | #define COPY1_IF_LT(x,y)\ 69 | if((y)<(x))\ 70 | (x)=(y); 71 | 72 | #define COPY2_IF_LT(x,y,a,b)\ 73 | if((y)<(x))\ 74 | {\ 75 | (x)=(y);\ 76 | (a)=(b);\ 77 | } 78 | 79 | #define COPY3_IF_LT(x,y,a,b,c,d)\ 80 | if((y)<(x))\ 81 | {\ 82 | (x)=(y);\ 83 | (a)=(b);\ 84 | (c)=(d);\ 85 | } 86 | 87 | #define COPY4_IF_LT(x,y,a,b,c,d,f,e)\ 88 | if((y)<(x))\ 89 | {\ 90 | (x)=(y);\ 91 | (a)=(b);\ 92 | (c)=(d);\ 93 | (f)=(e);\ 94 | } 95 | 96 | #endif 97 | -------------------------------------------------------------------------------- /src/utils/x264/encoder/ratecontrol.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/utils/x264/encoder/ratecontrol.c -------------------------------------------------------------------------------- /src/utils/x264/encoder/ratecontrol.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * ratecontrol.h: h264 encoder library (Rate Control) 3 | ***************************************************************************** 4 | * Copyright (C) 2003-2008 x264 project 5 | * 6 | * Authors: Loren Merritt 7 | * Laurent Aimar 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA. 22 | *****************************************************************************/ 23 | 24 | #ifndef X264_RATECONTROL_H 25 | #define X264_RATECONTROL_H 26 | 27 | int x264_ratecontrol_new ( x264_t * ); 28 | void x264_ratecontrol_delete( x264_t * ); 29 | 30 | void x264_adaptive_quant_frame( x264_t *h, x264_frame_t *frame ); 31 | void x264_adaptive_quant( x264_t * ); 32 | void x264_thread_sync_ratecontrol( x264_t *cur, x264_t *prev, x264_t *next ); 33 | void x264_ratecontrol_start( x264_t *, int i_force_qp ); 34 | int x264_ratecontrol_slice_type( x264_t *, int i_frame ); 35 | void x264_ratecontrol_mb( x264_t *, int bits ); 36 | int x264_ratecontrol_qp( x264_t * ); 37 | void x264_ratecontrol_end( x264_t *, int bits ); 38 | void x264_ratecontrol_summary( x264_t * ); 39 | void x264_ratecontrol_set_estimated_size( x264_t *, int bits ); 40 | int x264_ratecontrol_get_estimated_size( x264_t const *); 41 | int x264_rc_analyse_slice( x264_t *h ); 42 | 43 | #endif 44 | 45 | -------------------------------------------------------------------------------- /src/utils/x264/encoder/set.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * set.h: h264 encoder 3 | ***************************************************************************** 4 | * Copyright (C) 2003-2008 x264 project 5 | * 6 | * Authors: Laurent Aimar 7 | * Loren Merritt 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA. 22 | *****************************************************************************/ 23 | 24 | #ifndef X264_ENCODER_SET_H 25 | #define X264_ENCODER_SET_H 26 | 27 | void x264_sps_init( x264_sps_t *sps, int i_id, x264_param_t *param ); 28 | void x264_sps_write( bs_t *s, x264_sps_t *sps ); 29 | void x264_pps_init( x264_pps_t *pps, int i_id, x264_param_t *param, x264_sps_t *sps ); 30 | void x264_pps_write( bs_t *s, x264_pps_t *pps ); 31 | void x264_sei_version_write( x264_t *h, bs_t *s ); 32 | int x264_validate_levels( x264_t *h, int verbose ); 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /src/utils/x264/matroska.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * matroska.h: 3 | ***************************************************************************** 4 | * Copyright (C) 2005 Mike Matsnev 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 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA. 19 | *****************************************************************************/ 20 | 21 | #ifndef X264_MATROSKA_H 22 | #define X264_MATROSKA_H 23 | 24 | typedef struct mk_Writer mk_Writer; 25 | 26 | mk_Writer *mk_createWriter( const char *filename ); 27 | 28 | int mk_writeHeader( mk_Writer *w, const char *writingApp, 29 | const char *codecID, 30 | const void *codecPrivate, unsigned codecPrivateSize, 31 | int64_t default_frame_duration, 32 | int64_t timescale, 33 | unsigned width, unsigned height, 34 | unsigned d_width, unsigned d_height ); 35 | 36 | int mk_startFrame( mk_Writer *w ); 37 | int mk_addFrameData( mk_Writer *w, const void *data, unsigned size ); 38 | int mk_setFrameFlags( mk_Writer *w, int64_t timestamp, int keyframe ); 39 | int mk_close( mk_Writer *w ); 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /src/utils/x264/tools/countquant_x264.pl: -------------------------------------------------------------------------------- 1 | #!/bin/env perl 2 | # countquant_x264.pl: displays statistics from x264 multipass logfiles 3 | # by Loren Merritt, 2005-4-5 4 | 5 | @size{I,P,B} = 6 | @n{I,P,B} = (0)x3; 7 | 8 | sub proc_file { 9 | my $fh = shift; 10 | while(<$fh>) { 11 | /type:(.) q:(\d+\.\d+) tex:(\d+) mv:(\d+) misc:(\d+)/ or next; 12 | $type = uc $1; 13 | $n{$type} ++; 14 | $q[int($2+.5)] ++; 15 | $avgq += $2; 16 | $avgq{$type} += $2; 17 | my $bytes = ($3+$4+$5)/8; 18 | $size{$type} += $bytes; 19 | } 20 | $size = $size{I} + $size{P} + $size{B}; 21 | $n = $n{I} + $n{P} + $n{B}; 22 | $n or die "unrecognized input\n"; 23 | } 24 | 25 | if(@ARGV) { 26 | foreach(@ARGV) { 27 | open $fh, "<", $_ or die "can't open '$_': $!"; 28 | proc_file($fh); 29 | } 30 | } else { 31 | proc_file(STDIN); 32 | } 33 | 34 | for(0..51) { 35 | $q[$_] or next; 36 | printf "q%2d: %6d %4.1f%%\n", $_, $q[$_], 100*$q[$_]/$n; 37 | } 38 | print "\n"; 39 | $digits = int(log($n+1)/log(10))+2; 40 | printf "All: %${digits}d %s avgQP:%5.2f avgBytes:%5d\n", 41 | $n, $n==$n{I}?" ":"", $avgq/$n, $size/$n; 42 | foreach(qw(I P B S)) { 43 | $n{$_} or next; 44 | printf "%s: %${digits}d (%4.1f%%) avgQP:%5.2f avgBytes:%5d\n", 45 | $_, $n{$_}, 100*$n{$_}/$n, $avgq{$_}/$n{$_}, $size{$_}/$n{$_}; 46 | } 47 | print "\n"; 48 | printf "total size: $size B = %.2f KiB = %.2f MiB\n", 49 | $size/2**10, $size/2**20; 50 | print "bitrate: ", join("\n = ", 51 | map sprintf("%.2f kbps @ %s fps", $_*$size*8/1000/$n, $_), 52 | 23.976, 25, 29.97), "\n"; 53 | -------------------------------------------------------------------------------- /src/utils/x264/tools/q_matrix_jvt.cfg: -------------------------------------------------------------------------------- 1 | # This an example configuration file for initializing the quantization matrix. 2 | # Altogether 6 matrices for 4x4 blocks and 2 matrix for 8x8 blocks. 3 | # The values range from 1 to 255. 4 | # If first value of matrix is equal to 0, default values ("JVT") will be used 5 | # for that matrix. 6 | # If a matrix is completely omitted, it will be filled with 16s. 7 | # 8 | # Note: JM expects CHROMAU and CHROMAV to be specified separately, whereas 9 | # x264 forces them to use the same matrix. If U and V are specified to have 10 | # different matrices, only the first is used. 11 | #################################################################################### 12 | 13 | INTRA4X4_LUMA = 14 | 6,13,20,28, 15 | 13,20,28,32, 16 | 20,28,32,37, 17 | 28,32,37,42 18 | 19 | INTRA4X4_CHROMAU = 20 | 6,13,20,28, 21 | 13,20,28,32, 22 | 20,28,32,37, 23 | 28,32,37,42 24 | 25 | INTRA4X4_CHROMAV = 26 | 6,13,20,28, 27 | 13,20,28,32, 28 | 20,28,32,37, 29 | 28,32,37,42 30 | 31 | INTER4X4_LUMA = 32 | 10,14,20,24, 33 | 14,20,24,27, 34 | 20,24,27,30, 35 | 24,27,30,34 36 | 37 | INTER4X4_CHROMAU = 38 | 10,14,20,24, 39 | 14,20,24,27, 40 | 20,24,27,30, 41 | 24,27,30,34 42 | 43 | INTER4X4_CHROMAV = 44 | 10,14,20,24, 45 | 14,20,24,27, 46 | 20,24,27,30, 47 | 24,27,30,34 48 | 49 | INTRA8X8_LUMA = 50 | 6,10,13,16,18,23,25,27, 51 | 10,11,16,18,23,25,27,29, 52 | 13,16,18,23,25,27,29,31, 53 | 16,18,23,25,27,29,31,33, 54 | 18,23,25,27,29,31,33,36, 55 | 23,25,27,29,31,33,36,38, 56 | 25,27,29,31,33,36,38,40, 57 | 27,29,31,33,36,38,40,42 58 | 59 | INTER8X8_LUMA = 60 | 9,13,15,17,19,21,22,24, 61 | 13,13,17,19,21,22,24,25, 62 | 15,17,19,21,22,24,25,27, 63 | 17,19,21,22,24,25,27,28, 64 | 19,21,22,24,25,27,28,30, 65 | 21,22,24,25,27,28,30,32, 66 | 22,24,25,27,28,30,32,33, 67 | 24,25,27,28,30,32,33,35 68 | 69 | -------------------------------------------------------------------------------- /src/utils/x264/version.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | git rev-list HEAD | sort > config.git-hash 3 | LOCALVER=`wc -l config.git-hash | awk '{print $1}'` 4 | if [ $LOCALVER \> 1 ] ; then 5 | VER=`git rev-list origin/master | sort | join config.git-hash - | wc -l | awk '{print $1}'` 6 | if [ $VER != $LOCALVER ] ; then 7 | VER="$VER+$(($LOCALVER-$VER))" 8 | elif git status | grep -q "modified:" ; then 9 | VER="${VER}M" 10 | fi 11 | VER="$VER $(git rev-list HEAD -n 1 | head -c 7)" 12 | echo "#define X264_VERSION \" r$VER\"" >> config.h 13 | else 14 | echo "#define X264_VERSION \"\"" >> config.h 15 | VER="x" 16 | fi 17 | rm -f config.git-hash 18 | API=`grep '#define X264_BUILD' < x264.h | sed -e 's/.* \([1-9][0-9]*\).*/\1/'` 19 | echo "#define X264_POINTVER \"0.$API.$VER\"" >> config.h 20 | -------------------------------------------------------------------------------- /src/utils/zlib/ChangeLog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/utils/zlib/ChangeLog -------------------------------------------------------------------------------- /src/utils/zlib/INDEX: -------------------------------------------------------------------------------- 1 | ChangeLog history of changes 2 | FAQ Frequently Asked Questions about zlib 3 | INDEX this file 4 | Makefile makefile for Unix (generated by configure) 5 | Makefile.in makefile for Unix (template for configure) 6 | README guess what 7 | algorithm.txt description of the (de)compression algorithm 8 | configure configure script for Unix 9 | zconf.in.h template for zconf.h (used by configure) 10 | 11 | amiga/ makefiles for Amiga SAS C 12 | as400/ makefiles for IBM AS/400 13 | msdos/ makefiles for MSDOS 14 | old/ makefiles for various architectures and zlib documentation 15 | files that have not yet been updated for zlib 1.2.x 16 | projects/ projects for various Integrated Development Environments 17 | qnx/ makefiles for QNX 18 | win32/ makefiles for Windows 19 | 20 | zlib public header files (must be kept): 21 | zconf.h 22 | zlib.h 23 | 24 | private source files used to build the zlib library: 25 | adler32.c 26 | compress.c 27 | crc32.c 28 | crc32.h 29 | deflate.c 30 | deflate.h 31 | gzio.c 32 | infback.c 33 | inffast.c 34 | inffast.h 35 | inffixed.h 36 | inflate.c 37 | inflate.h 38 | inftrees.c 39 | inftrees.h 40 | trees.c 41 | trees.h 42 | uncompr.c 43 | zutil.c 44 | zutil.h 45 | 46 | source files for sample programs: 47 | example.c 48 | minigzip.c 49 | 50 | unsupported contribution by third parties 51 | See contrib/README.contrib 52 | -------------------------------------------------------------------------------- /src/utils/zlib/amiga/Makefile.pup: -------------------------------------------------------------------------------- 1 | # Amiga powerUP (TM) Makefile 2 | # makefile for libpng and SAS C V6.58/7.00 PPC compiler 3 | # Copyright (C) 1998 by Andreas R. Kleinert 4 | 5 | LIBNAME = libzip.a 6 | 7 | CC = scppc 8 | CFLAGS = NOSTKCHK NOSINT OPTIMIZE OPTGO OPTPEEP OPTINLOCAL OPTINL \ 9 | OPTLOOP OPTRDEP=8 OPTDEP=8 OPTCOMP=8 NOVER 10 | AR = ppc-amigaos-ar cr 11 | RANLIB = ppc-amigaos-ranlib 12 | LD = ppc-amigaos-ld -r 13 | LDFLAGS = -o 14 | LDLIBS = LIB:scppc.a LIB:end.o 15 | RM = delete quiet 16 | 17 | OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \ 18 | zutil.o inflate.o infback.o inftrees.o inffast.o 19 | 20 | TEST_OBJS = example.o minigzip.o 21 | 22 | all: example minigzip 23 | 24 | check: test 25 | test: all 26 | example 27 | echo hello world | minigzip | minigzip -d 28 | 29 | $(LIBNAME): $(OBJS) 30 | $(AR) $@ $(OBJS) 31 | -$(RANLIB) $@ 32 | 33 | example: example.o $(LIBNAME) 34 | $(LD) $(LDFLAGS) $@ LIB:c_ppc.o $@.o $(LIBNAME) $(LDLIBS) 35 | 36 | minigzip: minigzip.o $(LIBNAME) 37 | $(LD) $(LDFLAGS) $@ LIB:c_ppc.o $@.o $(LIBNAME) $(LDLIBS) 38 | 39 | mostlyclean: clean 40 | clean: 41 | $(RM) *.o example minigzip $(LIBNAME) foo.gz 42 | 43 | zip: 44 | zip -ul9 zlib README ChangeLog Makefile Make????.??? Makefile.?? \ 45 | descrip.mms *.[ch] 46 | 47 | tgz: 48 | cd ..; tar cfz zlib/zlib.tgz zlib/README zlib/ChangeLog zlib/Makefile \ 49 | zlib/Make????.??? zlib/Makefile.?? zlib/descrip.mms zlib/*.[ch] 50 | 51 | # DO NOT DELETE THIS LINE -- make depend depends on it. 52 | 53 | adler32.o: zlib.h zconf.h 54 | compress.o: zlib.h zconf.h 55 | crc32.o: crc32.h zlib.h zconf.h 56 | deflate.o: deflate.h zutil.h zlib.h zconf.h 57 | example.o: zlib.h zconf.h 58 | gzio.o: zutil.h zlib.h zconf.h 59 | inffast.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h 60 | inflate.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h 61 | infback.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h 62 | inftrees.o: zutil.h zlib.h zconf.h inftrees.h 63 | minigzip.o: zlib.h zconf.h 64 | trees.o: deflate.h zutil.h zlib.h zconf.h trees.h 65 | uncompr.o: zlib.h zconf.h 66 | zutil.o: zutil.h zlib.h zconf.h 67 | -------------------------------------------------------------------------------- /src/utils/zlib/amiga/Makefile.sas: -------------------------------------------------------------------------------- 1 | # SMakefile for zlib 2 | # Modified from the standard UNIX Makefile Copyright Jean-loup Gailly 3 | # Osma Ahvenlampi 4 | # Amiga, SAS/C 6.56 & Smake 5 | 6 | CC=sc 7 | CFLAGS=OPT 8 | #CFLAGS=OPT CPU=68030 9 | #CFLAGS=DEBUG=LINE 10 | LDFLAGS=LIB z.lib 11 | 12 | SCOPTIONS=OPTSCHED OPTINLINE OPTALIAS OPTTIME OPTINLOCAL STRMERGE \ 13 | NOICONS PARMS=BOTH NOSTACKCHECK UTILLIB NOVERSION ERRORREXX \ 14 | DEF=POSTINC 15 | 16 | OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \ 17 | zutil.o inflate.o infback.o inftrees.o inffast.o 18 | 19 | TEST_OBJS = example.o minigzip.o 20 | 21 | all: SCOPTIONS example minigzip 22 | 23 | check: test 24 | test: all 25 | example 26 | echo hello world | minigzip | minigzip -d 27 | 28 | install: z.lib 29 | copy clone zlib.h zconf.h INCLUDE: 30 | copy clone z.lib LIB: 31 | 32 | z.lib: $(OBJS) 33 | oml z.lib r $(OBJS) 34 | 35 | example: example.o z.lib 36 | $(CC) $(CFLAGS) LINK TO $@ example.o $(LDFLAGS) 37 | 38 | minigzip: minigzip.o z.lib 39 | $(CC) $(CFLAGS) LINK TO $@ minigzip.o $(LDFLAGS) 40 | 41 | mostlyclean: clean 42 | clean: 43 | -delete force quiet example minigzip *.o z.lib foo.gz *.lnk SCOPTIONS 44 | 45 | SCOPTIONS: Makefile.sas 46 | copy to $@ 64K on 16-bit machine: */ 36 | if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR; 37 | #endif 38 | stream.next_out = dest; 39 | stream.avail_out = (uInt)*destLen; 40 | if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR; 41 | 42 | stream.zalloc = (alloc_func)0; 43 | stream.zfree = (free_func)0; 44 | stream.opaque = (voidpf)0; 45 | 46 | err = deflateInit(&stream, level); 47 | if (err != Z_OK) return err; 48 | 49 | err = deflate(&stream, Z_FINISH); 50 | if (err != Z_STREAM_END) { 51 | deflateEnd(&stream); 52 | return err == Z_OK ? Z_BUF_ERROR : err; 53 | } 54 | *destLen = stream.total_out; 55 | 56 | err = deflateEnd(&stream); 57 | return err; 58 | } 59 | 60 | /* =========================================================================== 61 | */ 62 | int ZEXPORT compress (dest, destLen, source, sourceLen) 63 | Bytef *dest; 64 | uLongf *destLen; 65 | const Bytef *source; 66 | uLong sourceLen; 67 | { 68 | return compress2(dest, destLen, source, sourceLen, Z_DEFAULT_COMPRESSION); 69 | } 70 | 71 | /* =========================================================================== 72 | If the default memLevel or windowBits for deflateInit() is changed, then 73 | this function needs to be updated. 74 | */ 75 | uLong ZEXPORT compressBound (sourceLen) 76 | uLong sourceLen; 77 | { 78 | return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) + 11; 79 | } 80 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/README.contrib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/utils/zlib/contrib/README.contrib -------------------------------------------------------------------------------- /src/utils/zlib/contrib/ada/readme.txt: -------------------------------------------------------------------------------- 1 | ZLib for Ada thick binding (ZLib.Ada) 2 | Release 1.3 3 | 4 | ZLib.Ada is a thick binding interface to the popular ZLib data 5 | compression library, available at http://www.gzip.org/zlib/. 6 | It provides Ada-style access to the ZLib C library. 7 | 8 | 9 | Here are the main changes since ZLib.Ada 1.2: 10 | 11 | - Attension: ZLib.Read generic routine have a initialization requirement 12 | for Read_Last parameter now. It is a bit incompartible with previous version, 13 | but extends functionality, we could use new parameters Allow_Read_Some and 14 | Flush now. 15 | 16 | - Added Is_Open routines to ZLib and ZLib.Streams packages. 17 | 18 | - Add pragma Assert to check Stream_Element is 8 bit. 19 | 20 | - Fix extraction to buffer with exact known decompressed size. Error reported by 21 | Steve Sangwine. 22 | 23 | - Fix definition of ULong (changed to unsigned_long), fix regression on 64 bits 24 | computers. Patch provided by Pascal Obry. 25 | 26 | - Add Status_Error exception definition. 27 | 28 | - Add pragma Assertion that Ada.Streams.Stream_Element size is 8 bit. 29 | 30 | 31 | How to build ZLib.Ada under GNAT 32 | 33 | You should have the ZLib library already build on your computer, before 34 | building ZLib.Ada. Make the directory of ZLib.Ada sources current and 35 | issue the command: 36 | 37 | gnatmake test -largs -L -lz 38 | 39 | Or use the GNAT project file build for GNAT 3.15 or later: 40 | 41 | gnatmake -Pzlib.gpr -L 42 | 43 | 44 | How to build ZLib.Ada under Aonix ObjectAda for Win32 7.2.2 45 | 46 | 1. Make a project with all *.ads and *.adb files from the distribution. 47 | 2. Build the libz.a library from the ZLib C sources. 48 | 3. Rename libz.a to z.lib. 49 | 4. Add the library z.lib to the project. 50 | 5. Add the libc.lib library from the ObjectAda distribution to the project. 51 | 6. Build the executable using test.adb as a main procedure. 52 | 53 | 54 | How to use ZLib.Ada 55 | 56 | The source files test.adb and read.adb are small demo programs that show 57 | the main functionality of ZLib.Ada. 58 | 59 | The routines from the package specifications are commented. 60 | 61 | 62 | Homepage: http://zlib-ada.sourceforge.net/ 63 | Author: Dmitriy Anisimkov 64 | 65 | Contributors: Pascal Obry , Steve Sangwine 66 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/ada/zlib.gpr: -------------------------------------------------------------------------------- 1 | project Zlib is 2 | 3 | for Languages use ("Ada"); 4 | for Source_Dirs use ("."); 5 | for Object_Dir use "."; 6 | for Main use ("test.adb", "mtest.adb", "read.adb", "buffer_demo"); 7 | 8 | package Compiler is 9 | for Default_Switches ("ada") use ("-gnatwcfilopru", "-gnatVcdfimorst", "-gnatyabcefhiklmnoprst"); 10 | end Compiler; 11 | 12 | package Linker is 13 | for Default_Switches ("ada") use ("-lz"); 14 | end Linker; 15 | 16 | package Builder is 17 | for Default_Switches ("ada") use ("-s", "-gnatQ"); 18 | end Builder; 19 | 20 | end Zlib; 21 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/asm586/README.586: -------------------------------------------------------------------------------- 1 | This is a patched version of zlib modified to use 2 | Pentium-optimized assembly code in the deflation algorithm. The files 3 | changed/added by this patch are: 4 | 5 | README.586 6 | match.S 7 | 8 | The effectiveness of these modifications is a bit marginal, as the the 9 | program's bottleneck seems to be mostly L1-cache contention, for which 10 | there is no real way to work around without rewriting the basic 11 | algorithm. The speedup on average is around 5-10% (which is generally 12 | less than the amount of variance between subsequent executions). 13 | However, when used at level 9 compression, the cache contention can 14 | drop enough for the assembly version to achieve 10-20% speedup (and 15 | sometimes more, depending on the amount of overall redundancy in the 16 | files). Even here, though, cache contention can still be the limiting 17 | factor, depending on the nature of the program using the zlib library. 18 | This may also mean that better improvements will be seen on a Pentium 19 | with MMX, which suffers much less from L1-cache contention, but I have 20 | not yet verified this. 21 | 22 | Note that this code has been tailored for the Pentium in particular, 23 | and will not perform well on the Pentium Pro (due to the use of a 24 | partial register in the inner loop). 25 | 26 | If you are using an assembler other than GNU as, you will have to 27 | translate match.S to use your assembler's syntax. (Have fun.) 28 | 29 | Brian Raiter 30 | breadbox@muppetlabs.com 31 | April, 1998 32 | 33 | 34 | Added for zlib 1.1.3: 35 | 36 | The patches come from 37 | http://www.muppetlabs.com/~breadbox/software/assembly.html 38 | 39 | To compile zlib with this asm file, copy match.S to the zlib directory 40 | then do: 41 | 42 | CFLAGS="-O3 -DASMV" ./configure 43 | make OBJA=match.o 44 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/asm686/README.686: -------------------------------------------------------------------------------- 1 | This is a patched version of zlib, modified to use 2 | Pentium-Pro-optimized assembly code in the deflation algorithm. The 3 | files changed/added by this patch are: 4 | 5 | README.686 6 | match.S 7 | 8 | The speedup that this patch provides varies, depending on whether the 9 | compiler used to build the original version of zlib falls afoul of the 10 | PPro's speed traps. My own tests show a speedup of around 10-20% at 11 | the default compression level, and 20-30% using -9, against a version 12 | compiled using gcc 2.7.2.3. Your mileage may vary. 13 | 14 | Note that this code has been tailored for the PPro/PII in particular, 15 | and will not perform particuarly well on a Pentium. 16 | 17 | If you are using an assembler other than GNU as, you will have to 18 | translate match.S to use your assembler's syntax. (Have fun.) 19 | 20 | Brian Raiter 21 | breadbox@muppetlabs.com 22 | April, 1998 23 | 24 | 25 | Added for zlib 1.1.3: 26 | 27 | The patches come from 28 | http://www.muppetlabs.com/~breadbox/software/assembly.html 29 | 30 | To compile zlib with this asm file, copy match.S to the zlib directory 31 | then do: 32 | 33 | CFLAGS="-O3 -DASMV" ./configure 34 | make OBJA=match.o 35 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/blast/Makefile: -------------------------------------------------------------------------------- 1 | blast: blast.c blast.h 2 | cc -DTEST -o blast blast.c 3 | 4 | test: blast 5 | blast < test.pk | cmp - test.txt 6 | 7 | clean: 8 | rm -f blast blast.o 9 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/blast/README: -------------------------------------------------------------------------------- 1 | Read blast.h for purpose and usage. 2 | 3 | Mark Adler 4 | madler@alumni.caltech.edu 5 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/blast/test.pk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/utils/zlib/contrib/blast/test.pk -------------------------------------------------------------------------------- /src/utils/zlib/contrib/blast/test.txt: -------------------------------------------------------------------------------- 1 | AIAIAIAIAIAIA -------------------------------------------------------------------------------- /src/utils/zlib/contrib/delphi/ZLibConst.pas: -------------------------------------------------------------------------------- 1 | unit ZLibConst; 2 | 3 | interface 4 | 5 | resourcestring 6 | sTargetBufferTooSmall = 'ZLib error: target buffer may be too small'; 7 | sInvalidStreamOp = 'Invalid stream operation'; 8 | 9 | implementation 10 | 11 | end. 12 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/delphi/readme.txt: -------------------------------------------------------------------------------- 1 | 2 | Overview 3 | ======== 4 | 5 | This directory contains an update to the ZLib interface unit, 6 | distributed by Borland as a Delphi supplemental component. 7 | 8 | The original ZLib unit is Copyright (c) 1997,99 Borland Corp., 9 | and is based on zlib version 1.0.4. There are a series of bugs 10 | and security problems associated with that old zlib version, and 11 | we recommend the users to update their ZLib unit. 12 | 13 | 14 | Summary of modifications 15 | ======================== 16 | 17 | - Improved makefile, adapted to zlib version 1.2.1. 18 | 19 | - Some field types from TZStreamRec are changed from Integer to 20 | Longint, for consistency with the zlib.h header, and for 64-bit 21 | readiness. 22 | 23 | - The zlib_version constant is updated. 24 | 25 | - The new Z_RLE strategy has its corresponding symbolic constant. 26 | 27 | - The allocation and deallocation functions and function types 28 | (TAlloc, TFree, zlibAllocMem and zlibFreeMem) are now cdecl, 29 | and _malloc and _free are added as C RTL stubs. As a result, 30 | the original C sources of zlib can be compiled out of the box, 31 | and linked to the ZLib unit. 32 | 33 | 34 | Suggestions for improvements 35 | ============================ 36 | 37 | Currently, the ZLib unit provides only a limited wrapper around 38 | the zlib library, and much of the original zlib functionality is 39 | missing. Handling compressed file formats like ZIP/GZIP or PNG 40 | cannot be implemented without having this functionality. 41 | Applications that handle these formats are either using their own, 42 | duplicated code, or not using the ZLib unit at all. 43 | 44 | Here are a few suggestions: 45 | 46 | - Checksum class wrappers around adler32() and crc32(), similar 47 | to the Java classes that implement the java.util.zip.Checksum 48 | interface. 49 | 50 | - The ability to read and write raw deflate streams, without the 51 | zlib stream header and trailer. Raw deflate streams are used 52 | in the ZIP file format. 53 | 54 | - The ability to read and write gzip streams, used in the GZIP 55 | file format, and normally produced by the gzip program. 56 | 57 | - The ability to select a different compression strategy, useful 58 | to PNG and MNG image compression, and to multimedia compression 59 | in general. Besides the compression level 60 | 61 | TCompressionLevel = (clNone, clFastest, clDefault, clMax); 62 | 63 | which, in fact, could have used the 'z' prefix and avoided 64 | TColor-like symbols 65 | 66 | TCompressionLevel = (zcNone, zcFastest, zcDefault, zcMax); 67 | 68 | there could be a compression strategy 69 | 70 | TCompressionStrategy = (zsDefault, zsFiltered, zsHuffmanOnly, zsRle); 71 | 72 | - ZIP and GZIP stream handling via TStreams. 73 | 74 | 75 | -- 76 | Cosmin Truta 77 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/delphi/zlibd32.mak: -------------------------------------------------------------------------------- 1 | # Makefile for zlib 2 | # For use with Delphi and C++ Builder under Win32 3 | # Updated for zlib 1.2.x by Cosmin Truta 4 | 5 | # ------------ Borland C++ ------------ 6 | 7 | # This project uses the Delphi (fastcall/register) calling convention: 8 | LOC = -DZEXPORT=__fastcall -DZEXPORTVA=__cdecl 9 | 10 | CC = bcc32 11 | LD = bcc32 12 | AR = tlib 13 | # do not use "-pr" in CFLAGS 14 | CFLAGS = -a -d -k- -O2 $(LOC) 15 | LDFLAGS = 16 | 17 | 18 | # variables 19 | ZLIB_LIB = zlib.lib 20 | 21 | OBJ1 = adler32.obj compress.obj crc32.obj deflate.obj gzio.obj infback.obj 22 | OBJ2 = inffast.obj inflate.obj inftrees.obj trees.obj uncompr.obj zutil.obj 23 | OBJP1 = +adler32.obj+compress.obj+crc32.obj+deflate.obj+gzio.obj+infback.obj 24 | OBJP2 = +inffast.obj+inflate.obj+inftrees.obj+trees.obj+uncompr.obj+zutil.obj 25 | 26 | 27 | # targets 28 | all: $(ZLIB_LIB) example.exe minigzip.exe 29 | 30 | .c.obj: 31 | $(CC) -c $(CFLAGS) $*.c 32 | 33 | adler32.obj: adler32.c zlib.h zconf.h 34 | 35 | compress.obj: compress.c zlib.h zconf.h 36 | 37 | crc32.obj: crc32.c zlib.h zconf.h crc32.h 38 | 39 | deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h 40 | 41 | gzio.obj: gzio.c zutil.h zlib.h zconf.h 42 | 43 | infback.obj: infback.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ 44 | inffast.h inffixed.h 45 | 46 | inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ 47 | inffast.h 48 | 49 | inflate.obj: inflate.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ 50 | inffast.h inffixed.h 51 | 52 | inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h 53 | 54 | trees.obj: trees.c zutil.h zlib.h zconf.h deflate.h trees.h 55 | 56 | uncompr.obj: uncompr.c zlib.h zconf.h 57 | 58 | zutil.obj: zutil.c zutil.h zlib.h zconf.h 59 | 60 | example.obj: example.c zlib.h zconf.h 61 | 62 | minigzip.obj: minigzip.c zlib.h zconf.h 63 | 64 | 65 | # For the sake of the old Borland make, 66 | # the command line is cut to fit in the MS-DOS 128 byte limit: 67 | $(ZLIB_LIB): $(OBJ1) $(OBJ2) 68 | -del $(ZLIB_LIB) 69 | $(AR) $(ZLIB_LIB) $(OBJP1) 70 | $(AR) $(ZLIB_LIB) $(OBJP2) 71 | 72 | 73 | # testing 74 | test: example.exe minigzip.exe 75 | example 76 | echo hello world | minigzip | minigzip -d 77 | 78 | example.exe: example.obj $(ZLIB_LIB) 79 | $(LD) $(LDFLAGS) example.obj $(ZLIB_LIB) 80 | 81 | minigzip.exe: minigzip.obj $(ZLIB_LIB) 82 | $(LD) $(LDFLAGS) minigzip.obj $(ZLIB_LIB) 83 | 84 | 85 | # cleanup 86 | clean: 87 | -del *.obj 88 | -del *.exe 89 | -del *.lib 90 | -del *.tds 91 | -del zlib.bak 92 | -del foo.gz 93 | 94 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/dotzlib/DotZLib.build: -------------------------------------------------------------------------------- 1 |  2 | 3 | A .Net wrapper library around ZLib1.dll 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/dotzlib/DotZLib.chm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/utils/zlib/contrib/dotzlib/DotZLib.chm -------------------------------------------------------------------------------- /src/utils/zlib/contrib/dotzlib/DotZLib/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | 4 | // 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | // 9 | [assembly: AssemblyTitle("DotZLib")] 10 | [assembly: AssemblyDescription(".Net bindings for ZLib compression dll 1.2.x")] 11 | [assembly: AssemblyConfiguration("")] 12 | [assembly: AssemblyCompany("Henrik Ravn")] 13 | [assembly: AssemblyProduct("")] 14 | [assembly: AssemblyCopyright("(c) 2004 by Henrik Ravn")] 15 | [assembly: AssemblyTrademark("")] 16 | [assembly: AssemblyCulture("")] 17 | 18 | // 19 | // Version information for an assembly consists of the following four values: 20 | // 21 | // Major Version 22 | // Minor Version 23 | // Build Number 24 | // Revision 25 | // 26 | // You can specify all the values or you can default the Revision and Build Numbers 27 | // by using the '*' as shown below: 28 | 29 | [assembly: AssemblyVersion("1.0.*")] 30 | 31 | // 32 | // In order to sign your assembly you must specify a key to use. Refer to the 33 | // Microsoft .NET Framework documentation for more information on assembly signing. 34 | // 35 | // Use the attributes below to control which key is used for signing. 36 | // 37 | // Notes: 38 | // (*) If no key is specified, the assembly is not signed. 39 | // (*) KeyName refers to a key that has been installed in the Crypto Service 40 | // Provider (CSP) on your machine. KeyFile refers to a file which contains 41 | // a key. 42 | // (*) If the KeyFile and the KeyName values are both specified, the 43 | // following processing occurs: 44 | // (1) If the KeyName can be found in the CSP, that key is used. 45 | // (2) If the KeyName does not exist and the KeyFile does exist, the key 46 | // in the KeyFile is installed into the CSP and used. 47 | // (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility. 48 | // When specifying the KeyFile, the location of the KeyFile should be 49 | // relative to the project output directory which is 50 | // %Project Directory%\obj\. For example, if your KeyFile is 51 | // located in the project directory, you would specify the AssemblyKeyFile 52 | // attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")] 53 | // (*) Delay Signing is an advanced option - see the Microsoft .NET Framework 54 | // documentation for more information on this. 55 | // 56 | [assembly: AssemblyDelaySign(false)] 57 | [assembly: AssemblyKeyFile("")] 58 | [assembly: AssemblyKeyName("")] 59 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/utils/zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs -------------------------------------------------------------------------------- /src/utils/zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/utils/zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs -------------------------------------------------------------------------------- /src/utils/zlib/contrib/dotzlib/DotZLib/CodecBase.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/utils/zlib/contrib/dotzlib/DotZLib/CodecBase.cs -------------------------------------------------------------------------------- /src/utils/zlib/contrib/dotzlib/DotZLib/Deflater.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/utils/zlib/contrib/dotzlib/DotZLib/Deflater.cs -------------------------------------------------------------------------------- /src/utils/zlib/contrib/dotzlib/DotZLib/DotZLib.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/utils/zlib/contrib/dotzlib/DotZLib/DotZLib.cs -------------------------------------------------------------------------------- /src/utils/zlib/contrib/dotzlib/DotZLib/GZipStream.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/utils/zlib/contrib/dotzlib/DotZLib/GZipStream.cs -------------------------------------------------------------------------------- /src/utils/zlib/contrib/dotzlib/DotZLib/Inflater.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/utils/zlib/contrib/dotzlib/DotZLib/Inflater.cs -------------------------------------------------------------------------------- /src/utils/zlib/contrib/dotzlib/DotZLib/UnitTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/utils/zlib/contrib/dotzlib/DotZLib/UnitTests.cs -------------------------------------------------------------------------------- /src/utils/zlib/contrib/dotzlib/LICENSE_1_0.txt: -------------------------------------------------------------------------------- 1 | Boost Software License - Version 1.0 - August 17th, 2003 2 | 3 | Permission is hereby granted, free of charge, to any person or organization 4 | obtaining a copy of the software and accompanying documentation covered by 5 | this license (the "Software") to use, reproduce, display, distribute, 6 | execute, and transmit the Software, and to prepare derivative works of the 7 | Software, and to permit third-parties to whom the Software is furnished to 8 | do so, all subject to the following: 9 | 10 | The copyright notices in the Software and this entire statement, including 11 | the above license grant, this restriction and the following disclaimer, 12 | must be included in all copies of the Software, in whole or in part, and 13 | all derivative works of the Software, unless such copies or derivative 14 | works are solely in the form of machine-executable object code generated by 15 | a source language processor. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT 20 | SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE 21 | FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, 22 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 23 | DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /src/utils/zlib/contrib/dotzlib/readme.txt: -------------------------------------------------------------------------------- 1 | This directory contains a .Net wrapper class library for the ZLib1.dll 2 | 3 | The wrapper includes support for inflating/deflating memory buffers, 4 | .Net streaming wrappers for the gz streams part of zlib, and wrappers 5 | for the checksum parts of zlib. See DotZLib/UnitTests.cs for examples. 6 | 7 | Directory structure: 8 | -------------------- 9 | 10 | LICENSE_1_0.txt - License file. 11 | readme.txt - This file. 12 | DotZLib.chm - Class library documentation 13 | DotZLib.build - NAnt build file 14 | DotZLib.sln - Microsoft Visual Studio 2003 solution file 15 | 16 | DotZLib\*.cs - Source files for the class library 17 | 18 | Unit tests: 19 | ----------- 20 | The file DotZLib/UnitTests.cs contains unit tests for use with NUnit 2.1 or higher. 21 | To include unit tests in the build, define nunit before building. 22 | 23 | 24 | Build instructions: 25 | ------------------- 26 | 27 | 1. Using Visual Studio.Net 2003: 28 | Open DotZLib.sln in VS.Net and build from there. Output file (DotZLib.dll) 29 | will be found ./DotZLib/bin/release or ./DotZLib/bin/debug, depending on 30 | you are building the release or debug version of the library. Check 31 | DotZLib/UnitTests.cs for instructions on how to include unit tests in the 32 | build. 33 | 34 | 2. Using NAnt: 35 | Open a command prompt with access to the build environment and run nant 36 | in the same directory as the DotZLib.build file. 37 | You can define 2 properties on the nant command-line to control the build: 38 | debug={true|false} to toggle between release/debug builds (default=true). 39 | nunit={true|false} to include or esclude unit tests (default=true). 40 | Also the target clean will remove binaries. 41 | Output file (DotZLib.dll) will be found in either ./DotZLib/bin/release 42 | or ./DotZLib/bin/debug, depending on whether you are building the release 43 | or debug version of the library. 44 | 45 | Examples: 46 | nant -D:debug=false -D:nunit=false 47 | will build a release mode version of the library without unit tests. 48 | nant 49 | will build a debug version of the library with unit tests 50 | nant clean 51 | will remove all previously built files. 52 | 53 | 54 | --------------------------------- 55 | Copyright (c) Henrik Ravn 2004 56 | 57 | Use, modification and distribution are subject to the Boost Software License, Version 1.0. 58 | (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 59 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/infback9/README: -------------------------------------------------------------------------------- 1 | See infback9.h for what this is and how to use it. 2 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/infback9/infback9.h: -------------------------------------------------------------------------------- 1 | /* infback9.h -- header for using inflateBack9 functions 2 | * Copyright (C) 2003 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* 7 | * This header file and associated patches provide a decoder for PKWare's 8 | * undocumented deflate64 compression method (method 9). Use with infback9.c, 9 | * inftree9.h, inftree9.c, and inffix9.h. These patches are not supported. 10 | * This should be compiled with zlib, since it uses zutil.h and zutil.o. 11 | * This code has not yet been tested on 16-bit architectures. See the 12 | * comments in zlib.h for inflateBack() usage. These functions are used 13 | * identically, except that there is no windowBits parameter, and a 64K 14 | * window must be provided. Also if int's are 16 bits, then a zero for 15 | * the third parameter of the "out" function actually means 65536UL. 16 | * zlib.h must be included before this header file. 17 | */ 18 | 19 | #ifdef __cplusplus 20 | extern "C" { 21 | #endif 22 | 23 | ZEXTERN int ZEXPORT inflateBack9 OF((z_stream FAR *strm, 24 | in_func in, void FAR *in_desc, 25 | out_func out, void FAR *out_desc)); 26 | ZEXTERN int ZEXPORT inflateBack9End OF((z_stream FAR *strm)); 27 | ZEXTERN int ZEXPORT inflateBack9Init_ OF((z_stream FAR *strm, 28 | unsigned char FAR *window, 29 | const char *version, 30 | int stream_size)); 31 | #define inflateBack9Init(strm, window) \ 32 | inflateBack9Init_((strm), (window), \ 33 | ZLIB_VERSION, sizeof(z_stream)) 34 | 35 | #ifdef __cplusplus 36 | } 37 | #endif 38 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/infback9/inflate9.h: -------------------------------------------------------------------------------- 1 | /* inflate9.h -- internal inflate state definition 2 | * Copyright (C) 1995-2003 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* WARNING: this file should *not* be used by applications. It is 7 | part of the implementation of the compression library and is 8 | subject to change. Applications should only use zlib.h. 9 | */ 10 | 11 | /* Possible inflate modes between inflate() calls */ 12 | typedef enum { 13 | TYPE, /* i: waiting for type bits, including last-flag bit */ 14 | STORED, /* i: waiting for stored size (length and complement) */ 15 | TABLE, /* i: waiting for dynamic block table lengths */ 16 | LEN, /* i: waiting for length/lit code */ 17 | DONE, /* finished check, done -- remain here until reset */ 18 | BAD /* got a data error -- remain here until reset */ 19 | } inflate_mode; 20 | 21 | /* 22 | State transitions between above modes - 23 | 24 | (most modes can go to the BAD mode -- not shown for clarity) 25 | 26 | Read deflate blocks: 27 | TYPE -> STORED or TABLE or LEN or DONE 28 | STORED -> TYPE 29 | TABLE -> LENLENS -> CODELENS -> LEN 30 | Read deflate codes: 31 | LEN -> LEN or TYPE 32 | */ 33 | 34 | /* state maintained between inflate() calls. Approximately 7K bytes. */ 35 | struct inflate_state { 36 | /* sliding window */ 37 | unsigned char FAR *window; /* allocated sliding window, if needed */ 38 | /* dynamic table building */ 39 | unsigned ncode; /* number of code length code lengths */ 40 | unsigned nlen; /* number of length code lengths */ 41 | unsigned ndist; /* number of distance code lengths */ 42 | unsigned have; /* number of code lengths in lens[] */ 43 | code FAR *next; /* next available space in codes[] */ 44 | unsigned short lens[320]; /* temporary storage for code lengths */ 45 | unsigned short work[288]; /* work area for code table building */ 46 | code codes[ENOUGH]; /* space for code tables */ 47 | }; 48 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/infback9/inftree9.h: -------------------------------------------------------------------------------- 1 | /* inftree9.h -- header to use inftree9.c 2 | * Copyright (C) 1995-2003 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* WARNING: this file should *not* be used by applications. It is 7 | part of the implementation of the compression library and is 8 | subject to change. Applications should only use zlib.h. 9 | */ 10 | 11 | /* Structure for decoding tables. Each entry provides either the 12 | information needed to do the operation requested by the code that 13 | indexed that table entry, or it provides a pointer to another 14 | table that indexes more bits of the code. op indicates whether 15 | the entry is a pointer to another table, a literal, a length or 16 | distance, an end-of-block, or an invalid code. For a table 17 | pointer, the low four bits of op is the number of index bits of 18 | that table. For a length or distance, the low four bits of op 19 | is the number of extra bits to get after the code. bits is 20 | the number of bits in this code or part of the code to drop off 21 | of the bit buffer. val is the actual byte to output in the case 22 | of a literal, the base length or distance, or the offset from 23 | the current table to the next table. Each entry is four bytes. */ 24 | typedef struct { 25 | unsigned char op; /* operation, extra bits, table bits */ 26 | unsigned char bits; /* bits in this part of the code */ 27 | unsigned short val; /* offset in table or code value */ 28 | } code; 29 | 30 | /* op values as set by inflate_table(): 31 | 00000000 - literal 32 | 0000tttt - table link, tttt != 0 is the number of table index bits 33 | 100eeeee - length or distance, eeee is the number of extra bits 34 | 01100000 - end of block 35 | 01000000 - invalid code 36 | */ 37 | 38 | /* Maximum size of dynamic tree. The maximum found in a long but non- 39 | exhaustive search was 1444 code structures (852 for length/literals 40 | and 592 for distances, the latter actually the result of an 41 | exhaustive search). The true maximum is not known, but the value 42 | below is more than safe. */ 43 | #define ENOUGH 2048 44 | #define MAXD 592 45 | 46 | /* Type of code to build for inftable() */ 47 | typedef enum { 48 | CODES, 49 | LENS, 50 | DISTS 51 | } codetype; 52 | 53 | extern int inflate_table9 OF((codetype type, unsigned short FAR *lens, 54 | unsigned codes, code FAR * FAR *table, 55 | unsigned FAR *bits, unsigned short FAR *work)); 56 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/iostream/test.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "zfstream.h" 3 | 4 | int main() { 5 | 6 | // Construct a stream object with this filebuffer. Anything sent 7 | // to this stream will go to standard out. 8 | gzofstream os( 1, ios::out ); 9 | 10 | // This text is getting compressed and sent to stdout. 11 | // To prove this, run 'test | zcat'. 12 | os << "Hello, Mommy" << endl; 13 | 14 | os << setcompressionlevel( Z_NO_COMPRESSION ); 15 | os << "hello, hello, hi, ho!" << endl; 16 | 17 | setcompressionlevel( os, Z_DEFAULT_COMPRESSION ) 18 | << "I'm compressing again" << endl; 19 | 20 | os.close(); 21 | 22 | return 0; 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/iostream/zfstream.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef zfstream_h 3 | #define zfstream_h 4 | 5 | #include 6 | #include "zlib.h" 7 | 8 | class gzfilebuf : public streambuf { 9 | 10 | public: 11 | 12 | gzfilebuf( ); 13 | virtual ~gzfilebuf(); 14 | 15 | gzfilebuf *open( const char *name, int io_mode ); 16 | gzfilebuf *attach( int file_descriptor, int io_mode ); 17 | gzfilebuf *close(); 18 | 19 | int setcompressionlevel( int comp_level ); 20 | int setcompressionstrategy( int comp_strategy ); 21 | 22 | inline int is_open() const { return (file !=NULL); } 23 | 24 | virtual streampos seekoff( streamoff, ios::seek_dir, int ); 25 | 26 | virtual int sync(); 27 | 28 | protected: 29 | 30 | virtual int underflow(); 31 | virtual int overflow( int = EOF ); 32 | 33 | private: 34 | 35 | gzFile file; 36 | short mode; 37 | short own_file_descriptor; 38 | 39 | int flushbuf(); 40 | int fillbuf(); 41 | 42 | }; 43 | 44 | class gzfilestream_common : virtual public ios { 45 | 46 | friend class gzifstream; 47 | friend class gzofstream; 48 | friend gzofstream &setcompressionlevel( gzofstream &, int ); 49 | friend gzofstream &setcompressionstrategy( gzofstream &, int ); 50 | 51 | public: 52 | virtual ~gzfilestream_common(); 53 | 54 | void attach( int fd, int io_mode ); 55 | void open( const char *name, int io_mode ); 56 | void close(); 57 | 58 | protected: 59 | gzfilestream_common(); 60 | 61 | private: 62 | gzfilebuf *rdbuf(); 63 | 64 | gzfilebuf buffer; 65 | 66 | }; 67 | 68 | class gzifstream : public gzfilestream_common, public istream { 69 | 70 | public: 71 | 72 | gzifstream(); 73 | gzifstream( const char *name, int io_mode = ios::in ); 74 | gzifstream( int fd, int io_mode = ios::in ); 75 | 76 | virtual ~gzifstream(); 77 | 78 | }; 79 | 80 | class gzofstream : public gzfilestream_common, public ostream { 81 | 82 | public: 83 | 84 | gzofstream(); 85 | gzofstream( const char *name, int io_mode = ios::out ); 86 | gzofstream( int fd, int io_mode = ios::out ); 87 | 88 | virtual ~gzofstream(); 89 | 90 | }; 91 | 92 | template class gzomanip { 93 | friend gzofstream &operator<<(gzofstream &, const gzomanip &); 94 | public: 95 | gzomanip(gzofstream &(*f)(gzofstream &, T), T v) : func(f), val(v) { } 96 | private: 97 | gzofstream &(*func)(gzofstream &, T); 98 | T val; 99 | }; 100 | 101 | template gzofstream &operator<<(gzofstream &s, const gzomanip &m) 102 | { 103 | return (*m.func)(s, m.val); 104 | } 105 | 106 | inline gzofstream &setcompressionlevel( gzofstream &s, int l ) 107 | { 108 | (s.rdbuf())->setcompressionlevel(l); 109 | return s; 110 | } 111 | 112 | inline gzofstream &setcompressionstrategy( gzofstream &s, int l ) 113 | { 114 | (s.rdbuf())->setcompressionstrategy(l); 115 | return s; 116 | } 117 | 118 | inline gzomanip setcompressionlevel(int l) 119 | { 120 | return gzomanip(&setcompressionlevel,l); 121 | } 122 | 123 | inline gzomanip setcompressionstrategy(int l) 124 | { 125 | return gzomanip(&setcompressionstrategy,l); 126 | } 127 | 128 | #endif 129 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/iostream2/zstream_test.cpp: -------------------------------------------------------------------------------- 1 | #include "zstream.h" 2 | #include 3 | #include 4 | #include 5 | 6 | void main() { 7 | char h[256] = "Hello"; 8 | char* g = "Goodbye"; 9 | ozstream out("temp.gz"); 10 | out < "This works well" < h < g; 11 | out.close(); 12 | 13 | izstream in("temp.gz"); // read it back 14 | char *x = read_string(in), *y = new char[256], z[256]; 15 | in > y > z; 16 | in.close(); 17 | cout << x << endl << y << endl << z << endl; 18 | 19 | out.open("temp.gz"); // try ascii output; zcat temp.gz to see the results 20 | out << setw(50) << setfill('#') << setprecision(20) << x << endl << y << endl << z << endl; 21 | out << z << endl << y << endl << x << endl; 22 | out << 1.1234567890123456789 << endl; 23 | 24 | delete[] x; delete[] y; 25 | } 26 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/iostream3/README: -------------------------------------------------------------------------------- 1 | These classes provide a C++ stream interface to the zlib library. It allows you 2 | to do things like: 3 | 4 | gzofstream outf("blah.gz"); 5 | outf << "These go into the gzip file " << 123 << endl; 6 | 7 | It does this by deriving a specialized stream buffer for gzipped files, which is 8 | the way Stroustrup would have done it. :-> 9 | 10 | The gzifstream and gzofstream classes were originally written by Kevin Ruland 11 | and made available in the zlib contrib/iostream directory. The older version still 12 | compiles under gcc 2.xx, but not under gcc 3.xx, which sparked the development of 13 | this version. 14 | 15 | The new classes are as standard-compliant as possible, closely following the 16 | approach of the standard library's fstream classes. It compiles under gcc versions 17 | 3.2 and 3.3, but not under gcc 2.xx. This is mainly due to changes in the standard 18 | library naming scheme. The new version of gzifstream/gzofstream/gzfilebuf differs 19 | from the previous one in the following respects: 20 | - added showmanyc 21 | - added setbuf, with support for unbuffered output via setbuf(0,0) 22 | - a few bug fixes of stream behavior 23 | - gzipped output file opened with default compression level instead of maximum level 24 | - setcompressionlevel()/strategy() members replaced by single setcompression() 25 | 26 | The code is provided "as is", with the permission to use, copy, modify, distribute 27 | and sell it for any purpose without fee. 28 | 29 | Ludwig Schwardt 30 | 31 | 32 | DSP Lab 33 | Electrical & Electronic Engineering Department 34 | University of Stellenbosch 35 | South Africa 36 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/iostream3/TODO: -------------------------------------------------------------------------------- 1 | Possible upgrades to gzfilebuf: 2 | 3 | - The ability to do putback (e.g. putbackfail) 4 | 5 | - The ability to seek (zlib supports this, but could be slow/tricky) 6 | 7 | - Simultaneous read/write access (does it make sense?) 8 | 9 | - Support for ios_base::ate open mode 10 | 11 | - Locale support? 12 | 13 | - Check public interface to see which calls give problems 14 | (due to dependence on library internals) 15 | 16 | - Override operator<<(ostream&, gzfilebuf*) to allow direct copying 17 | of stream buffer to stream ( i.e. os << is.rdbuf(); ) 18 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/iostream3/test.cc: -------------------------------------------------------------------------------- 1 | /* 2 | * Test program for gzifstream and gzofstream 3 | * 4 | * by Ludwig Schwardt 5 | * original version by Kevin Ruland 6 | */ 7 | 8 | #include "zfstream.h" 9 | #include // for cout 10 | 11 | int main() { 12 | 13 | gzofstream outf; 14 | gzifstream inf; 15 | char buf[80]; 16 | 17 | outf.open("test1.txt.gz"); 18 | outf << "The quick brown fox sidestepped the lazy canine\n" 19 | << 1.3 << "\nPlan " << 9 << std::endl; 20 | outf.close(); 21 | std::cout << "Wrote the following message to 'test1.txt.gz' (check with zcat or zless):\n" 22 | << "The quick brown fox sidestepped the lazy canine\n" 23 | << 1.3 << "\nPlan " << 9 << std::endl; 24 | 25 | std::cout << "\nReading 'test1.txt.gz' (buffered) produces:\n"; 26 | inf.open("test1.txt.gz"); 27 | while (inf.getline(buf,80,'\n')) { 28 | std::cout << buf << "\t(" << inf.rdbuf()->in_avail() << " chars left in buffer)\n"; 29 | } 30 | inf.close(); 31 | 32 | outf.rdbuf()->pubsetbuf(0,0); 33 | outf.open("test2.txt.gz"); 34 | outf << setcompression(Z_NO_COMPRESSION) 35 | << "The quick brown fox sidestepped the lazy canine\n" 36 | << 1.3 << "\nPlan " << 9 << std::endl; 37 | outf.close(); 38 | std::cout << "\nWrote the same message to 'test2.txt.gz' in uncompressed form"; 39 | 40 | std::cout << "\nReading 'test2.txt.gz' (unbuffered) produces:\n"; 41 | inf.rdbuf()->pubsetbuf(0,0); 42 | inf.open("test2.txt.gz"); 43 | while (inf.getline(buf,80,'\n')) { 44 | std::cout << buf << "\t(" << inf.rdbuf()->in_avail() << " chars left in buffer)\n"; 45 | } 46 | inf.close(); 47 | 48 | return 0; 49 | 50 | } 51 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/masmx64/bld_ml64.bat: -------------------------------------------------------------------------------- 1 | ml64.exe /Flinffasx64 /c /Zi inffasx64.asm 2 | ml64.exe /Flgvmat64 /c /Zi gvmat64.asm 3 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/masmx64/readme.txt: -------------------------------------------------------------------------------- 1 | Summary 2 | ------- 3 | This directory contains ASM implementations of the functions 4 | longest_match() and inflate_fast(), for 64 bits x86 (both AMD64 and Intel EM64t), 5 | for use with Microsoft Macro Assembler (x64) for AMD64 and Microsoft C++ 64 bits. 6 | 7 | gvmat64.asm is written by Gilles Vollant (2005), by using Brian Raiter 686/32 bits 8 | assembly optimized version from Jean-loup Gailly original longest_match function 9 | 10 | inffasx64.asm and inffas8664.c were written by Chris Anderson, by optimizing 11 | original function from Mark Adler 12 | 13 | Use instructions 14 | ---------------- 15 | Copy these files into the zlib source directory. 16 | 17 | define ASMV and ASMINF in your project. Include inffas8664.c in your source tree, 18 | and inffasx64.obj and gvmat64.obj as object to link. 19 | 20 | 21 | Build instructions 22 | ------------------ 23 | run bld_64.bat with Microsoft Macro Assembler (x64) for AMD64 (ml64.exe) 24 | 25 | ml64.exe is given with Visual Studio 2005, Windows 2003 server DDK 26 | 27 | You can get Windows 2003 server DDK with ml64 and cl for AMD64 from 28 | http://www.microsoft.com/whdc/devtools/ddk/default.mspx for low price) 29 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/masmx86/bld_ml32.bat: -------------------------------------------------------------------------------- 1 | ml /coff /Zi /c /Flgvmat32.lst gvmat32.asm 2 | ml /coff /Zi /c /Flinffas32.lst inffas32.asm 3 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/masmx86/gvmat32.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/utils/zlib/contrib/masmx86/gvmat32.asm -------------------------------------------------------------------------------- /src/utils/zlib/contrib/masmx86/gvmat32c.c: -------------------------------------------------------------------------------- 1 | /* gvmat32.c -- C portion of the optimized longest_match for 32 bits x86 2 | * Copyright (C) 1995-1996 Jean-loup Gailly and Gilles Vollant. 3 | * File written by Gilles Vollant, by modifiying the longest_match 4 | * from Jean-loup Gailly in deflate.c 5 | * it prepare all parameters and call the assembly longest_match_gvasm 6 | * longest_match execute standard C code is wmask != 0x7fff 7 | * (assembly code is faster with a fixed wmask) 8 | * 9 | * Read comment at beginning of gvmat32.asm for more information 10 | */ 11 | 12 | #if defined(ASMV) && (!defined(NOOLDPENTIUMCODE)) 13 | #include "deflate.h" 14 | 15 | /* if your C compiler don't add underline before function name, 16 | define ADD_UNDERLINE_ASMFUNC */ 17 | #ifdef ADD_UNDERLINE_ASMFUNC 18 | #define longest_match_7fff _longest_match_7fff 19 | #define longest_match_686 _longest_match_686 20 | #define cpudetect32 _cpudetect32 21 | #endif 22 | 23 | 24 | unsigned long cpudetect32(); 25 | 26 | uInt longest_match_c( 27 | deflate_state *s, 28 | IPos cur_match); /* current match */ 29 | 30 | 31 | uInt longest_match_7fff( 32 | deflate_state *s, 33 | IPos cur_match); /* current match */ 34 | 35 | uInt longest_match_686( 36 | deflate_state *s, 37 | IPos cur_match); /* current match */ 38 | 39 | 40 | static uInt iIsPPro=2; 41 | 42 | void match_init () 43 | { 44 | iIsPPro = (((cpudetect32()/0x100)&0xf)>=6) ? 1 : 0; 45 | } 46 | 47 | uInt longest_match( 48 | deflate_state *s, 49 | IPos cur_match) /* current match */ 50 | { 51 | if (iIsPPro!=0) 52 | return longest_match_686(s,cur_match); 53 | 54 | if (s->w_mask != 0x7fff) 55 | return longest_match_686(s,cur_match); 56 | 57 | /* now ((s->w_mask == 0x7fff) && (iIsPPro==0)) */ 58 | return longest_match_7fff(s,cur_match); 59 | } 60 | 61 | 62 | #endif /* defined(ASMV) && (!defined(NOOLDPENTIUMCODE)) */ 63 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/masmx86/mkasm.bat: -------------------------------------------------------------------------------- 1 | cl /DASMV /I..\.. /O2 /c gvmat32c.c 2 | ml /coff /Zi /c /Flgvmat32.lst gvmat32.asm 3 | ml /coff /Zi /c /Flinffas32.lst inffas32.asm 4 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/masmx86/readme.txt: -------------------------------------------------------------------------------- 1 | 2 | Summary 3 | ------- 4 | This directory contains ASM implementations of the functions 5 | longest_match() and inflate_fast(). 6 | 7 | 8 | Use instructions 9 | ---------------- 10 | Copy these files into the zlib source directory, then run the 11 | appropriate makefile, as suggested below. 12 | 13 | 14 | Build instructions 15 | ------------------ 16 | * With Microsoft C and MASM: 17 | nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF" OBJA="gvmat32c.obj gvmat32.obj inffas32.obj" 18 | 19 | * With Borland C and TASM: 20 | make -f win32/Makefile.bor LOCAL_ZLIB="-DASMV -DASMINF" OBJA="gvmat32c.obj gvmat32.obj inffas32.obj" OBJPA="+gvmat32c.obj+gvmat32.obj+inffas32.obj" 21 | 22 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/minizip/ChangeLogUnzip: -------------------------------------------------------------------------------- 1 | Change in 1.01e (12 feb 05) 2 | - Fix in zipOpen2 for globalcomment (Rolf Kalbermatter) 3 | - Fix possible memory leak in unzip.c (Zoran Stevanovic) 4 | 5 | Change in 1.01b (20 may 04) 6 | - Integrate patch from Debian package (submited by Mark Brown) 7 | - Add tools mztools from Xavier Roche 8 | 9 | Change in 1.01 (8 may 04) 10 | - fix buffer overrun risk in unzip.c (Xavier Roche) 11 | - fix a minor buffer insecurity in minizip.c (Mike Whittaker) 12 | 13 | Change in 1.00: (10 sept 03) 14 | - rename to 1.00 15 | - cosmetic code change 16 | 17 | Change in 0.22: (19 May 03) 18 | - crypting support (unless you define NOCRYPT) 19 | - append file in existing zipfile 20 | 21 | Change in 0.21: (10 Mar 03) 22 | - bug fixes 23 | 24 | Change in 0.17: (27 Jan 02) 25 | - bug fixes 26 | 27 | Change in 0.16: (19 Jan 02) 28 | - Support of ioapi for virtualize zip file access 29 | 30 | Change in 0.15: (19 Mar 98) 31 | - fix memory leak in minizip.c 32 | 33 | Change in 0.14: (10 Mar 98) 34 | - fix bugs in minizip.c sample for zipping big file 35 | - fix problem in month in date handling 36 | - fix bug in unzlocal_GetCurrentFileInfoInternal in unzip.c for 37 | comment handling 38 | 39 | Change in 0.13: (6 Mar 98) 40 | - fix bugs in zip.c 41 | - add real minizip sample 42 | 43 | Change in 0.12: (4 Mar 98) 44 | - add zip.c and zip.h for creates .zip file 45 | - fix change_file_date in miniunz.c for Unix (Jean-loup Gailly) 46 | - fix miniunz.c for file without specific record for directory 47 | 48 | Change in 0.11: (3 Mar 98) 49 | - fix bug in unzGetCurrentFileInfo for get extra field and comment 50 | - enhance miniunz sample, remove the bad unztst.c sample 51 | 52 | Change in 0.10: (2 Mar 98) 53 | - fix bug in unzReadCurrentFile 54 | - rename unzip* to unz* function and structure 55 | - remove Windows-like hungary notation variable name 56 | - modify some structure in unzip.h 57 | - add somes comment in source 58 | - remove unzipGetcCurrentFile function 59 | - replace ZUNZEXPORT by ZEXPORT 60 | - add unzGetLocalExtrafield for get the local extrafield info 61 | - add a new sample, miniunz.c 62 | 63 | Change in 0.4: (25 Feb 98) 64 | - suppress the type unzipFileInZip. 65 | Only on file in the zipfile can be open at the same time 66 | - fix somes typo in code 67 | - added tm_unz structure in unzip_file_info (date/time in readable format) 68 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/minizip/Makefile: -------------------------------------------------------------------------------- 1 | CC=cc 2 | CFLAGS=-O -I../.. 3 | 4 | UNZ_OBJS = miniunz.o unzip.o ioapi.o ../../libz.a 5 | ZIP_OBJS = minizip.o zip.o ioapi.o ../../libz.a 6 | 7 | .c.o: 8 | $(CC) -c $(CFLAGS) $*.c 9 | 10 | all: miniunz minizip 11 | 12 | miniunz: $(UNZ_OBJS) 13 | $(CC) $(CFLAGS) -o $@ $(UNZ_OBJS) 14 | 15 | minizip: $(ZIP_OBJS) 16 | $(CC) $(CFLAGS) -o $@ $(ZIP_OBJS) 17 | 18 | test: miniunz minizip 19 | ./minizip test readme.txt 20 | ./miniunz -l test.zip 21 | mv readme.txt readme.old 22 | ./miniunz test.zip 23 | 24 | clean: 25 | /bin/rm -f *.o *~ minizip miniunz 26 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/minizip/ioapi.h: -------------------------------------------------------------------------------- 1 | /* ioapi.h -- IO base function header for compress/uncompress .zip 2 | files using zlib + zip or unzip API 3 | 4 | Version 1.01e, February 12th, 2005 5 | 6 | Copyright (C) 1998-2005 Gilles Vollant 7 | */ 8 | 9 | #ifndef _ZLIBIOAPI_H 10 | #define _ZLIBIOAPI_H 11 | 12 | 13 | #define ZLIB_FILEFUNC_SEEK_CUR (1) 14 | #define ZLIB_FILEFUNC_SEEK_END (2) 15 | #define ZLIB_FILEFUNC_SEEK_SET (0) 16 | 17 | #define ZLIB_FILEFUNC_MODE_READ (1) 18 | #define ZLIB_FILEFUNC_MODE_WRITE (2) 19 | #define ZLIB_FILEFUNC_MODE_READWRITEFILTER (3) 20 | 21 | #define ZLIB_FILEFUNC_MODE_EXISTING (4) 22 | #define ZLIB_FILEFUNC_MODE_CREATE (8) 23 | 24 | 25 | #ifndef ZCALLBACK 26 | 27 | #if (defined(WIN32) || defined (WINDOWS) || defined (_WINDOWS)) && defined(CALLBACK) && defined (USEWINDOWS_CALLBACK) 28 | #define ZCALLBACK CALLBACK 29 | #else 30 | #define ZCALLBACK 31 | #endif 32 | #endif 33 | 34 | #ifdef __cplusplus 35 | extern "C" { 36 | #endif 37 | 38 | typedef voidpf (ZCALLBACK *open_file_func) OF((voidpf opaque, const char* filename, int mode)); 39 | typedef uLong (ZCALLBACK *read_file_func) OF((voidpf opaque, voidpf stream, void* buf, uLong size)); 40 | typedef uLong (ZCALLBACK *write_file_func) OF((voidpf opaque, voidpf stream, const void* buf, uLong size)); 41 | typedef long (ZCALLBACK *tell_file_func) OF((voidpf opaque, voidpf stream)); 42 | typedef long (ZCALLBACK *seek_file_func) OF((voidpf opaque, voidpf stream, uLong offset, int origin)); 43 | typedef int (ZCALLBACK *close_file_func) OF((voidpf opaque, voidpf stream)); 44 | typedef int (ZCALLBACK *testerror_file_func) OF((voidpf opaque, voidpf stream)); 45 | 46 | typedef struct zlib_filefunc_def_s 47 | { 48 | open_file_func zopen_file; 49 | read_file_func zread_file; 50 | write_file_func zwrite_file; 51 | tell_file_func ztell_file; 52 | seek_file_func zseek_file; 53 | close_file_func zclose_file; 54 | testerror_file_func zerror_file; 55 | voidpf opaque; 56 | } zlib_filefunc_def; 57 | 58 | 59 | 60 | void fill_fopen_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def)); 61 | 62 | #define ZREAD(filefunc,filestream,buf,size) ((*((filefunc).zread_file))((filefunc).opaque,filestream,buf,size)) 63 | #define ZWRITE(filefunc,filestream,buf,size) ((*((filefunc).zwrite_file))((filefunc).opaque,filestream,buf,size)) 64 | #define ZTELL(filefunc,filestream) ((*((filefunc).ztell_file))((filefunc).opaque,filestream)) 65 | #define ZSEEK(filefunc,filestream,pos,mode) ((*((filefunc).zseek_file))((filefunc).opaque,filestream,pos,mode)) 66 | #define ZCLOSE(filefunc,filestream) ((*((filefunc).zclose_file))((filefunc).opaque,filestream)) 67 | #define ZERROR(filefunc,filestream) ((*((filefunc).zerror_file))((filefunc).opaque,filestream)) 68 | 69 | 70 | #ifdef __cplusplus 71 | } 72 | #endif 73 | 74 | #endif 75 | 76 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/minizip/iowin32.h: -------------------------------------------------------------------------------- 1 | /* iowin32.h -- IO base function header for compress/uncompress .zip 2 | files using zlib + zip or unzip API 3 | This IO API version uses the Win32 API (for Microsoft Windows) 4 | 5 | Version 1.01e, February 12th, 2005 6 | 7 | Copyright (C) 1998-2005 Gilles Vollant 8 | */ 9 | 10 | #include 11 | 12 | 13 | #ifdef __cplusplus 14 | extern "C" { 15 | #endif 16 | 17 | void fill_win32_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def)); 18 | 19 | #ifdef __cplusplus 20 | } 21 | #endif 22 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/minizip/mztools.h: -------------------------------------------------------------------------------- 1 | /* 2 | Additional tools for Minizip 3 | Code: Xavier Roche '2004 4 | License: Same as ZLIB (www.gzip.org) 5 | */ 6 | 7 | #ifndef _zip_tools_H 8 | #define _zip_tools_H 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | #ifndef _ZLIB_H 15 | #include "zlib.h" 16 | #endif 17 | 18 | #include "unzip.h" 19 | 20 | /* Repair a ZIP file (missing central directory) 21 | file: file to recover 22 | fileOut: output file after recovery 23 | fileOutTmp: temporary file name used for recovery 24 | */ 25 | extern int ZEXPORT unzRepair(const char* file, 26 | const char* fileOut, 27 | const char* fileOutTmp, 28 | uLong* nRecovered, 29 | uLong* bytesRecovered); 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/pascal/zlibd32.mak: -------------------------------------------------------------------------------- 1 | # Makefile for zlib 2 | # For use with Delphi and C++ Builder under Win32 3 | # Updated for zlib 1.2.x by Cosmin Truta 4 | 5 | # ------------ Borland C++ ------------ 6 | 7 | # This project uses the Delphi (fastcall/register) calling convention: 8 | LOC = -DZEXPORT=__fastcall -DZEXPORTVA=__cdecl 9 | 10 | CC = bcc32 11 | LD = bcc32 12 | AR = tlib 13 | # do not use "-pr" in CFLAGS 14 | CFLAGS = -a -d -k- -O2 $(LOC) 15 | LDFLAGS = 16 | 17 | 18 | # variables 19 | ZLIB_LIB = zlib.lib 20 | 21 | OBJ1 = adler32.obj compress.obj crc32.obj deflate.obj gzio.obj infback.obj 22 | OBJ2 = inffast.obj inflate.obj inftrees.obj trees.obj uncompr.obj zutil.obj 23 | OBJP1 = +adler32.obj+compress.obj+crc32.obj+deflate.obj+gzio.obj+infback.obj 24 | OBJP2 = +inffast.obj+inflate.obj+inftrees.obj+trees.obj+uncompr.obj+zutil.obj 25 | 26 | 27 | # targets 28 | all: $(ZLIB_LIB) example.exe minigzip.exe 29 | 30 | .c.obj: 31 | $(CC) -c $(CFLAGS) $*.c 32 | 33 | adler32.obj: adler32.c zlib.h zconf.h 34 | 35 | compress.obj: compress.c zlib.h zconf.h 36 | 37 | crc32.obj: crc32.c zlib.h zconf.h crc32.h 38 | 39 | deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h 40 | 41 | gzio.obj: gzio.c zutil.h zlib.h zconf.h 42 | 43 | infback.obj: infback.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ 44 | inffast.h inffixed.h 45 | 46 | inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ 47 | inffast.h 48 | 49 | inflate.obj: inflate.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ 50 | inffast.h inffixed.h 51 | 52 | inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h 53 | 54 | trees.obj: trees.c zutil.h zlib.h zconf.h deflate.h trees.h 55 | 56 | uncompr.obj: uncompr.c zlib.h zconf.h 57 | 58 | zutil.obj: zutil.c zutil.h zlib.h zconf.h 59 | 60 | example.obj: example.c zlib.h zconf.h 61 | 62 | minigzip.obj: minigzip.c zlib.h zconf.h 63 | 64 | 65 | # For the sake of the old Borland make, 66 | # the command line is cut to fit in the MS-DOS 128 byte limit: 67 | $(ZLIB_LIB): $(OBJ1) $(OBJ2) 68 | -del $(ZLIB_LIB) 69 | $(AR) $(ZLIB_LIB) $(OBJP1) 70 | $(AR) $(ZLIB_LIB) $(OBJP2) 71 | 72 | 73 | # testing 74 | test: example.exe minigzip.exe 75 | example 76 | echo hello world | minigzip | minigzip -d 77 | 78 | example.exe: example.obj $(ZLIB_LIB) 79 | $(LD) $(LDFLAGS) example.obj $(ZLIB_LIB) 80 | 81 | minigzip.exe: minigzip.obj $(ZLIB_LIB) 82 | $(LD) $(LDFLAGS) minigzip.obj $(ZLIB_LIB) 83 | 84 | 85 | # cleanup 86 | clean: 87 | -del *.obj 88 | -del *.exe 89 | -del *.lib 90 | -del *.tds 91 | -del zlib.bak 92 | -del foo.gz 93 | 94 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/puff/Makefile: -------------------------------------------------------------------------------- 1 | puff: puff.c puff.h 2 | cc -DTEST -o puff puff.c 3 | 4 | test: puff 5 | puff zeros.raw 6 | 7 | clean: 8 | rm -f puff puff.o 9 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/puff/puff.h: -------------------------------------------------------------------------------- 1 | /* puff.h 2 | Copyright (C) 2002, 2003 Mark Adler, all rights reserved 3 | version 1.7, 3 Mar 2002 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the author be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | 21 | Mark Adler madler@alumni.caltech.edu 22 | */ 23 | 24 | 25 | /* 26 | * See puff.c for purpose and usage. 27 | */ 28 | int puff(unsigned char *dest, /* pointer to destination pointer */ 29 | unsigned long *destlen, /* amount of output space */ 30 | unsigned char *source, /* pointer to source data pointer */ 31 | unsigned long *sourcelen); /* amount of input available */ 32 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/puff/zeros.raw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/utils/zlib/contrib/puff/zeros.raw -------------------------------------------------------------------------------- /src/utils/zlib/contrib/testzlib/testzlib.txt: -------------------------------------------------------------------------------- 1 | To build testzLib with Visual Studio 2005: 2 | 3 | copy to a directory file from : 4 | - root of zLib tree 5 | - contrib/testzlib 6 | - contrib/masmx86 7 | - contrib/masmx64 8 | - contrib/vstudio/vc7 9 | 10 | and open testzlib8.sln -------------------------------------------------------------------------------- /src/utils/zlib/contrib/untgz/Makefile: -------------------------------------------------------------------------------- 1 | CC=cc 2 | CFLAGS=-g 3 | 4 | untgz: untgz.o ../../libz.a 5 | $(CC) $(CFLAGS) -o untgz untgz.o -L../.. -lz 6 | 7 | untgz.o: untgz.c ../../zlib.h 8 | $(CC) $(CFLAGS) -c -I../.. untgz.c 9 | 10 | ../../libz.a: 11 | cd ../..; ./configure; make 12 | 13 | clean: 14 | rm -f untgz untgz.o *~ 15 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/untgz/Makefile.msc: -------------------------------------------------------------------------------- 1 | CC=cl 2 | CFLAGS=-MD 3 | 4 | untgz.exe: untgz.obj ..\..\zlib.lib 5 | $(CC) $(CFLAGS) untgz.obj ..\..\zlib.lib 6 | 7 | untgz.obj: untgz.c ..\..\zlib.h 8 | $(CC) $(CFLAGS) -c -I..\.. untgz.c 9 | 10 | ..\..\zlib.lib: 11 | cd ..\.. 12 | $(MAKE) -f win32\makefile.msc 13 | cd contrib\untgz 14 | 15 | clean: 16 | -del untgz.obj 17 | -del untgz.exe 18 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/vstudio/readme.txt: -------------------------------------------------------------------------------- 1 | Building instructions for the DLL versions of Zlib 1.2.3 2 | ======================================================== 3 | 4 | This directory contains projects that build zlib and minizip using 5 | Microsoft Visual C++ 7.0/7.1, and Visual C++ . 6 | 7 | You don't need to build these projects yourself. You can download the 8 | binaries from: 9 | http://www.winimage.com/zLibDll 10 | 11 | More information can be found at this site. 12 | 13 | 14 | Build instructions for Visual Studio 7.x (32 bits) 15 | -------------------------------------------------- 16 | - Uncompress current zlib, including all contrib/* files 17 | - Download the crtdll library from 18 | http://www.winimage.com/zLibDll/crtdll.zip 19 | Unzip crtdll.zip to extract crtdll.lib on contrib\vstudio\vc7. 20 | - Open contrib\vstudio\vc7\zlibvc.sln with Microsoft Visual C++ 7.x 21 | (Visual Studio .Net 2002 or 2003). 22 | 23 | Build instructions for Visual Studio 2005 (32 bits or 64 bits) 24 | -------------------------------------------------------------- 25 | - Uncompress current zlib, including all contrib/* files 26 | - For 32 bits only: download the crtdll library from 27 | http://www.winimage.com/zLibDll/crtdll.zip 28 | Unzip crtdll.zip to extract crtdll.lib on contrib\vstudio\vc8. 29 | - Open contrib\vstudio\vc8\zlibvc.sln with Microsoft Visual C++ 8.0 30 | 31 | Build instructions for Visual Studio 2005 64 bits, PSDK compiler 32 | ---------------------------------------------------------------- 33 | at the time of writing this text file, Visual Studio 2005 (and 34 | Microsoft Visual C++ 8.0) is on the beta 2 stage. 35 | Using you can get the free 64 bits compiler from Platform SDK, 36 | which is NOT a beta, and compile using the Visual studio 2005 IDE 37 | see http://www.winimage.com/misc/sdk64onvs2005/ for instruction 38 | 39 | - Uncompress current zlib, including all contrib/* files 40 | - start Visual Studio 2005 from a platform SDK command prompt, using 41 | the /useenv switch 42 | - Open contrib\vstudio\vc8\zlibvc.sln with Microsoft Visual C++ 8.0 43 | 44 | 45 | Important 46 | --------- 47 | - To use zlibwapi.dll in your application, you must define the 48 | macro ZLIB_WINAPI when compiling your application's source files. 49 | 50 | 51 | Additional notes 52 | ---------------- 53 | - This DLL, named zlibwapi.dll, is compatible to the old zlib.dll built 54 | by Gilles Vollant from the zlib 1.1.x sources, and distributed at 55 | http://www.winimage.com/zLibDll 56 | It uses the WINAPI calling convention for the exported functions, and 57 | includes the minizip functionality. If your application needs that 58 | particular build of zlib.dll, you can rename zlibwapi.dll to zlib.dll. 59 | 60 | - The new DLL was renamed because there exist several incompatible 61 | versions of zlib.dll on the Internet. 62 | 63 | - There is also an official DLL build of zlib, named zlib1.dll. This one 64 | is exporting the functions using the CDECL convention. See the file 65 | win32\DLL_FAQ.txt found in this zlib distribution. 66 | 67 | - There used to be a ZLIB_DLL macro in zlib 1.1.x, but now this symbol 68 | has a slightly different effect. To avoid compatibility problems, do 69 | not define it here. 70 | 71 | 72 | Gilles Vollant 73 | info@winimage.com 74 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/vstudio/vc7/zlib.rc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define IDR_VERSION1 1 4 | IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE 5 | FILEVERSION 1,2,3,0 6 | PRODUCTVERSION 1,2,3,0 7 | FILEFLAGSMASK VS_FFI_FILEFLAGSMASK 8 | FILEFLAGS 0 9 | FILEOS VOS_DOS_WINDOWS32 10 | FILETYPE VFT_DLL 11 | FILESUBTYPE 0 // not used 12 | BEGIN 13 | BLOCK "StringFileInfo" 14 | BEGIN 15 | BLOCK "040904E4" 16 | //language ID = U.S. English, char set = Windows, Multilingual 17 | 18 | BEGIN 19 | VALUE "FileDescription", "zlib data compression library\0" 20 | VALUE "FileVersion", "1.2.3.0\0" 21 | VALUE "InternalName", "zlib\0" 22 | VALUE "OriginalFilename", "zlib.dll\0" 23 | VALUE "ProductName", "ZLib.DLL\0" 24 | VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" 25 | VALUE "LegalCopyright", "(C) 1995-2003 Jean-loup Gailly & Mark Adler\0" 26 | END 27 | END 28 | BLOCK "VarFileInfo" 29 | BEGIN 30 | VALUE "Translation", 0x0409, 1252 31 | END 32 | END 33 | -------------------------------------------------------------------------------- /src/utils/zlib/contrib/vstudio/vc8/zlib.rc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define IDR_VERSION1 1 4 | IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE 5 | FILEVERSION 1,2,3,0 6 | PRODUCTVERSION 1,2,3,0 7 | FILEFLAGSMASK VS_FFI_FILEFLAGSMASK 8 | FILEFLAGS 0 9 | FILEOS VOS_DOS_WINDOWS32 10 | FILETYPE VFT_DLL 11 | FILESUBTYPE 0 // not used 12 | BEGIN 13 | BLOCK "StringFileInfo" 14 | BEGIN 15 | BLOCK "040904E4" 16 | //language ID = U.S. English, char set = Windows, Multilingual 17 | 18 | BEGIN 19 | VALUE "FileDescription", "zlib data compression library\0" 20 | VALUE "FileVersion", "1.2.3.0\0" 21 | VALUE "InternalName", "zlib\0" 22 | VALUE "OriginalFilename", "zlib.dll\0" 23 | VALUE "ProductName", "ZLib.DLL\0" 24 | VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" 25 | VALUE "LegalCopyright", "(C) 1995-2003 Jean-loup Gailly & Mark Adler\0" 26 | END 27 | END 28 | BLOCK "VarFileInfo" 29 | BEGIN 30 | VALUE "Translation", 0x0409, 1252 31 | END 32 | END 33 | -------------------------------------------------------------------------------- /src/utils/zlib/examples/README.examples: -------------------------------------------------------------------------------- 1 | This directory contains examples of the use of zlib. 2 | 3 | fitblk.c 4 | compress just enough input to nearly fill a requested output size 5 | - zlib isn't designed to do this, but fitblk does it anyway 6 | 7 | gun.c 8 | uncompress a gzip file 9 | - illustrates the use of inflateBack() for high speed file-to-file 10 | decompression using call-back functions 11 | - is approximately twice as fast as gzip -d 12 | - also provides Unix uncompress functionality, again twice as fast 13 | 14 | gzappend.c 15 | append to a gzip file 16 | - illustrates the use of the Z_BLOCK flush parameter for inflate() 17 | - illustrates the use of deflatePrime() to start at any bit 18 | 19 | gzjoin.c 20 | join gzip files without recalculating the crc or recompressing 21 | - illustrates the use of the Z_BLOCK flush parameter for inflate() 22 | - illustrates the use of crc32_combine() 23 | 24 | gzlog.c 25 | gzlog.h 26 | efficiently maintain a message log file in gzip format 27 | - illustrates use of raw deflate and Z_SYNC_FLUSH 28 | - illustrates use of gzip header extra field 29 | 30 | zlib_how.html 31 | painfully comprehensive description of zpipe.c (see below) 32 | - describes in excruciating detail the use of deflate() and inflate() 33 | 34 | zpipe.c 35 | reads and writes zlib streams from stdin to stdout 36 | - illustrates the proper use of deflate() and inflate() 37 | - deeply commented in zlib_how.html (see above) 38 | 39 | zran.c 40 | index a zlib or gzip stream and randomly access it 41 | - illustrates the use of Z_BLOCK, inflatePrime(), and 42 | inflateSetDictionary() to provide random access 43 | -------------------------------------------------------------------------------- /src/utils/zlib/examples/gzlog.h: -------------------------------------------------------------------------------- 1 | /* gzlog.h 2 | Copyright (C) 2004 Mark Adler, all rights reserved 3 | version 1.0, 26 Nov 2004 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the author be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | 21 | Mark Adler madler@alumni.caltech.edu 22 | */ 23 | 24 | /* 25 | The gzlog object allows writing short messages to a gzipped log file, 26 | opening the log file locked for small bursts, and then closing it. The log 27 | object works by appending stored data to the gzip file until 1 MB has been 28 | accumulated. At that time, the stored data is compressed, and replaces the 29 | uncompressed data in the file. The log file is truncated to its new size at 30 | that time. After closing, the log file is always valid gzip file that can 31 | decompressed to recover what was written. 32 | 33 | A gzip header "extra" field contains two file offsets for appending. The 34 | first points to just after the last compressed data. The second points to 35 | the last stored block in the deflate stream, which is empty. All of the 36 | data between those pointers is uncompressed. 37 | */ 38 | 39 | /* Open a gzlog object, creating the log file if it does not exist. Return 40 | NULL on error. Note that gzlog_open() could take a long time to return if 41 | there is difficulty in locking the file. */ 42 | void *gzlog_open(char *path); 43 | 44 | /* Write to a gzlog object. Return non-zero on error. This function will 45 | simply write data to the file uncompressed. Compression of the data 46 | will not occur until gzlog_close() is called. It is expected that 47 | gzlog_write() is used for a short message, and then gzlog_close() is 48 | called. If a large amount of data is to be written, then the application 49 | should write no more than 1 MB at a time with gzlog_write() before 50 | calling gzlog_close() and then gzlog_open() again. */ 51 | int gzlog_write(void *log, char *data, size_t len); 52 | 53 | /* Close a gzlog object. Return non-zero on error. The log file is locked 54 | until this function is called. This function will compress stored data 55 | at the end of the gzip file if at least 1 MB has been accumulated. Note 56 | that the file will not be a valid gzip file until this function completes. 57 | */ 58 | int gzlog_close(void *log); 59 | -------------------------------------------------------------------------------- /src/utils/zlib/inffast.h: -------------------------------------------------------------------------------- 1 | /* inffast.h -- header to use inffast.c 2 | * Copyright (C) 1995-2003 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* WARNING: this file should *not* be used by applications. It is 7 | part of the implementation of the compression library and is 8 | subject to change. Applications should only use zlib.h. 9 | */ 10 | 11 | void inflate_fast OF((z_streamp strm, unsigned start)); 12 | -------------------------------------------------------------------------------- /src/utils/zlib/inftrees.h: -------------------------------------------------------------------------------- 1 | /* inftrees.h -- header to use inftrees.c 2 | * Copyright (C) 1995-2005 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* WARNING: this file should *not* be used by applications. It is 7 | part of the implementation of the compression library and is 8 | subject to change. Applications should only use zlib.h. 9 | */ 10 | 11 | /* Structure for decoding tables. Each entry provides either the 12 | information needed to do the operation requested by the code that 13 | indexed that table entry, or it provides a pointer to another 14 | table that indexes more bits of the code. op indicates whether 15 | the entry is a pointer to another table, a literal, a length or 16 | distance, an end-of-block, or an invalid code. For a table 17 | pointer, the low four bits of op is the number of index bits of 18 | that table. For a length or distance, the low four bits of op 19 | is the number of extra bits to get after the code. bits is 20 | the number of bits in this code or part of the code to drop off 21 | of the bit buffer. val is the actual byte to output in the case 22 | of a literal, the base length or distance, or the offset from 23 | the current table to the next table. Each entry is four bytes. */ 24 | typedef struct { 25 | unsigned char op; /* operation, extra bits, table bits */ 26 | unsigned char bits; /* bits in this part of the code */ 27 | unsigned short val; /* offset in table or code value */ 28 | } code; 29 | 30 | /* op values as set by inflate_table(): 31 | 00000000 - literal 32 | 0000tttt - table link, tttt != 0 is the number of table index bits 33 | 0001eeee - length or distance, eeee is the number of extra bits 34 | 01100000 - end of block 35 | 01000000 - invalid code 36 | */ 37 | 38 | /* Maximum size of dynamic tree. The maximum found in a long but non- 39 | exhaustive search was 1444 code structures (852 for length/literals 40 | and 592 for distances, the latter actually the result of an 41 | exhaustive search). The true maximum is not known, but the value 42 | below is more than safe. */ 43 | #define ENOUGH 2048 44 | #define MAXD 592 45 | 46 | /* Type of code to build for inftable() */ 47 | typedef enum { 48 | CODES, 49 | LENS, 50 | DISTS 51 | } codetype; 52 | 53 | extern int inflate_table OF((codetype type, unsigned short FAR *lens, 54 | unsigned codes, code FAR * FAR *table, 55 | unsigned FAR *bits, unsigned short FAR *work)); 56 | -------------------------------------------------------------------------------- /src/utils/zlib/msdos/Makefile.dj2: -------------------------------------------------------------------------------- 1 | # Makefile for zlib. Modified for djgpp v2.0 by F. J. Donahoe, 3/15/96. 2 | # Copyright (C) 1995-1998 Jean-loup Gailly. 3 | # For conditions of distribution and use, see copyright notice in zlib.h 4 | 5 | # To compile, or to compile and test, type: 6 | # 7 | # make -fmakefile.dj2; make test -fmakefile.dj2 8 | # 9 | # To install libz.a, zconf.h and zlib.h in the djgpp directories, type: 10 | # 11 | # make install -fmakefile.dj2 12 | # 13 | # after first defining LIBRARY_PATH and INCLUDE_PATH in djgpp.env as 14 | # in the sample below if the pattern of the DJGPP distribution is to 15 | # be followed. Remember that, while 'es around <=> are ignored in 16 | # makefiles, they are *not* in batch files or in djgpp.env. 17 | # - - - - - 18 | # [make] 19 | # INCLUDE_PATH=%\>;INCLUDE_PATH%%\DJDIR%\include 20 | # LIBRARY_PATH=%\>;LIBRARY_PATH%%\DJDIR%\lib 21 | # BUTT=-m486 22 | # - - - - - 23 | # Alternately, these variables may be defined below, overriding the values 24 | # in djgpp.env, as 25 | # INCLUDE_PATH=c:\usr\include 26 | # LIBRARY_PATH=c:\usr\lib 27 | 28 | CC=gcc 29 | 30 | #CFLAGS=-MMD -O 31 | #CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7 32 | #CFLAGS=-MMD -g -DDEBUG 33 | CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \ 34 | -Wstrict-prototypes -Wmissing-prototypes 35 | 36 | # If cp.exe is available, replace "copy /Y" with "cp -fp" . 37 | CP=copy /Y 38 | # If gnu install.exe is available, replace $(CP) with ginstall. 39 | INSTALL=$(CP) 40 | # The default value of RM is "rm -f." If "rm.exe" is found, comment out: 41 | RM=del 42 | LDLIBS=-L. -lz 43 | LD=$(CC) -s -o 44 | LDSHARED=$(CC) 45 | 46 | INCL=zlib.h zconf.h 47 | LIBS=libz.a 48 | 49 | AR=ar rcs 50 | 51 | prefix=/usr/local 52 | exec_prefix = $(prefix) 53 | 54 | OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \ 55 | zutil.o inflate.o infback.o inftrees.o inffast.o 56 | 57 | OBJA = 58 | # to use the asm code: make OBJA=match.o 59 | 60 | TEST_OBJS = example.o minigzip.o 61 | 62 | all: example.exe minigzip.exe 63 | 64 | check: test 65 | test: all 66 | ./example 67 | echo hello world | .\minigzip | .\minigzip -d 68 | 69 | %.o : %.c 70 | $(CC) $(CFLAGS) -c $< -o $@ 71 | 72 | libz.a: $(OBJS) $(OBJA) 73 | $(AR) $@ $(OBJS) $(OBJA) 74 | 75 | %.exe : %.o $(LIBS) 76 | $(LD) $@ $< $(LDLIBS) 77 | 78 | # INCLUDE_PATH and LIBRARY_PATH were set for [make] in djgpp.env . 79 | 80 | .PHONY : uninstall clean 81 | 82 | install: $(INCL) $(LIBS) 83 | -@if not exist $(INCLUDE_PATH)\nul mkdir $(INCLUDE_PATH) 84 | -@if not exist $(LIBRARY_PATH)\nul mkdir $(LIBRARY_PATH) 85 | $(INSTALL) zlib.h $(INCLUDE_PATH) 86 | $(INSTALL) zconf.h $(INCLUDE_PATH) 87 | $(INSTALL) libz.a $(LIBRARY_PATH) 88 | 89 | uninstall: 90 | $(RM) $(INCLUDE_PATH)\zlib.h 91 | $(RM) $(INCLUDE_PATH)\zconf.h 92 | $(RM) $(LIBRARY_PATH)\libz.a 93 | 94 | clean: 95 | $(RM) *.d 96 | $(RM) *.o 97 | $(RM) *.exe 98 | $(RM) libz.a 99 | $(RM) foo.gz 100 | 101 | DEPS := $(wildcard *.d) 102 | ifneq ($(DEPS),) 103 | include $(DEPS) 104 | endif 105 | -------------------------------------------------------------------------------- /src/utils/zlib/msdos/Makefile.emx: -------------------------------------------------------------------------------- 1 | # Makefile for zlib. Modified for emx 0.9c by Chr. Spieler, 6/17/98. 2 | # Copyright (C) 1995-1998 Jean-loup Gailly. 3 | # For conditions of distribution and use, see copyright notice in zlib.h 4 | 5 | # To compile, or to compile and test, type: 6 | # 7 | # make -fmakefile.emx; make test -fmakefile.emx 8 | # 9 | 10 | CC=gcc 11 | 12 | #CFLAGS=-MMD -O 13 | #CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7 14 | #CFLAGS=-MMD -g -DDEBUG 15 | CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \ 16 | -Wstrict-prototypes -Wmissing-prototypes 17 | 18 | # If cp.exe is available, replace "copy /Y" with "cp -fp" . 19 | CP=copy /Y 20 | # If gnu install.exe is available, replace $(CP) with ginstall. 21 | INSTALL=$(CP) 22 | # The default value of RM is "rm -f." If "rm.exe" is found, comment out: 23 | RM=del 24 | LDLIBS=-L. -lzlib 25 | LD=$(CC) -s -o 26 | LDSHARED=$(CC) 27 | 28 | INCL=zlib.h zconf.h 29 | LIBS=zlib.a 30 | 31 | AR=ar rcs 32 | 33 | prefix=/usr/local 34 | exec_prefix = $(prefix) 35 | 36 | OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \ 37 | zutil.o inflate.o infback.o inftrees.o inffast.o 38 | 39 | TEST_OBJS = example.o minigzip.o 40 | 41 | all: example.exe minigzip.exe 42 | 43 | test: all 44 | ./example 45 | echo hello world | .\minigzip | .\minigzip -d 46 | 47 | %.o : %.c 48 | $(CC) $(CFLAGS) -c $< -o $@ 49 | 50 | zlib.a: $(OBJS) 51 | $(AR) $@ $(OBJS) 52 | 53 | %.exe : %.o $(LIBS) 54 | $(LD) $@ $< $(LDLIBS) 55 | 56 | 57 | .PHONY : clean 58 | 59 | clean: 60 | $(RM) *.d 61 | $(RM) *.o 62 | $(RM) *.exe 63 | $(RM) zlib.a 64 | $(RM) foo.gz 65 | 66 | DEPS := $(wildcard *.d) 67 | ifneq ($(DEPS),) 68 | include $(DEPS) 69 | endif 70 | -------------------------------------------------------------------------------- /src/utils/zlib/msdos/Makefile.tc: -------------------------------------------------------------------------------- 1 | # Makefile for zlib 2 | # Turbo C 2.01, Turbo C++ 1.01 3 | # Last updated: 15-Mar-2003 4 | 5 | # To use, do "make -fmakefile.tc" 6 | # To compile in small model, set below: MODEL=s 7 | 8 | # WARNING: the small model is supported but only for small values of 9 | # MAX_WBITS and MAX_MEM_LEVEL. For example: 10 | # -DMAX_WBITS=11 -DMAX_MEM_LEVEL=3 11 | # If you wish to reduce the memory requirements (default 256K for big 12 | # objects plus a few K), you can add to CFLAGS below: 13 | # -DMAX_MEM_LEVEL=7 -DMAX_WBITS=14 14 | # See zconf.h for details about the memory requirements. 15 | 16 | # ------------ Turbo C 2.01, Turbo C++ 1.01 ------------ 17 | MODEL=l 18 | CC=tcc 19 | LD=tcc 20 | AR=tlib 21 | # CFLAGS=-O2 -G -Z -m$(MODEL) -DMAX_WBITS=11 -DMAX_MEM_LEVEL=3 22 | CFLAGS=-O2 -G -Z -m$(MODEL) 23 | LDFLAGS=-m$(MODEL) -f- 24 | 25 | 26 | # variables 27 | ZLIB_LIB = zlib_$(MODEL).lib 28 | 29 | OBJ1 = adler32.obj compress.obj crc32.obj deflate.obj gzio.obj infback.obj 30 | OBJ2 = inffast.obj inflate.obj inftrees.obj trees.obj uncompr.obj zutil.obj 31 | OBJP1 = +adler32.obj+compress.obj+crc32.obj+deflate.obj+gzio.obj+infback.obj 32 | OBJP2 = +inffast.obj+inflate.obj+inftrees.obj+trees.obj+uncompr.obj+zutil.obj 33 | 34 | 35 | # targets 36 | all: $(ZLIB_LIB) example.exe minigzip.exe 37 | 38 | .c.obj: 39 | $(CC) -c $(CFLAGS) $*.c 40 | 41 | adler32.obj: adler32.c zlib.h zconf.h 42 | 43 | compress.obj: compress.c zlib.h zconf.h 44 | 45 | crc32.obj: crc32.c zlib.h zconf.h crc32.h 46 | 47 | deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h 48 | 49 | gzio.obj: gzio.c zutil.h zlib.h zconf.h 50 | 51 | infback.obj: infback.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ 52 | inffast.h inffixed.h 53 | 54 | inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ 55 | inffast.h 56 | 57 | inflate.obj: inflate.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ 58 | inffast.h inffixed.h 59 | 60 | inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h 61 | 62 | trees.obj: trees.c zutil.h zlib.h zconf.h deflate.h trees.h 63 | 64 | uncompr.obj: uncompr.c zlib.h zconf.h 65 | 66 | zutil.obj: zutil.c zutil.h zlib.h zconf.h 67 | 68 | example.obj: example.c zlib.h zconf.h 69 | 70 | minigzip.obj: minigzip.c zlib.h zconf.h 71 | 72 | 73 | # the command line is cut to fit in the MS-DOS 128 byte limit: 74 | $(ZLIB_LIB): $(OBJ1) $(OBJ2) 75 | -del $(ZLIB_LIB) 76 | $(AR) $(ZLIB_LIB) $(OBJP1) 77 | $(AR) $(ZLIB_LIB) $(OBJP2) 78 | 79 | example.exe: example.obj $(ZLIB_LIB) 80 | $(LD) $(LDFLAGS) example.obj $(ZLIB_LIB) 81 | 82 | minigzip.exe: minigzip.obj $(ZLIB_LIB) 83 | $(LD) $(LDFLAGS) minigzip.obj $(ZLIB_LIB) 84 | 85 | test: example.exe minigzip.exe 86 | example 87 | echo hello world | minigzip | minigzip -d 88 | 89 | clean: 90 | -del *.obj 91 | -del *.lib 92 | -del *.exe 93 | -del zlib_*.bak 94 | -del foo.gz 95 | -------------------------------------------------------------------------------- /src/utils/zlib/old/README: -------------------------------------------------------------------------------- 1 | This directory contains files that have not been updated for zlib 1.2.x 2 | 3 | (Volunteers are encouraged to help clean this up. Thanks.) 4 | -------------------------------------------------------------------------------- /src/utils/zlib/old/descrip.mms: -------------------------------------------------------------------------------- 1 | # descrip.mms: MMS description file for building zlib on VMS 2 | # written by Martin P.J. Zinser 3 | 4 | cc_defs = 5 | c_deb = 6 | 7 | .ifdef __DECC__ 8 | pref = /prefix=all 9 | .endif 10 | 11 | OBJS = adler32.obj, compress.obj, crc32.obj, gzio.obj, uncompr.obj,\ 12 | deflate.obj, trees.obj, zutil.obj, inflate.obj, infblock.obj,\ 13 | inftrees.obj, infcodes.obj, infutil.obj, inffast.obj 14 | 15 | CFLAGS= $(C_DEB) $(CC_DEFS) $(PREF) 16 | 17 | all : example.exe minigzip.exe 18 | @ write sys$output " Example applications available" 19 | libz.olb : libz.olb($(OBJS)) 20 | @ write sys$output " libz available" 21 | 22 | example.exe : example.obj libz.olb 23 | link example,libz.olb/lib 24 | 25 | minigzip.exe : minigzip.obj libz.olb 26 | link minigzip,libz.olb/lib,x11vms:xvmsutils.olb/lib 27 | 28 | clean : 29 | delete *.obj;*,libz.olb;* 30 | 31 | 32 | # Other dependencies. 33 | adler32.obj : zutil.h zlib.h zconf.h 34 | compress.obj : zlib.h zconf.h 35 | crc32.obj : zutil.h zlib.h zconf.h 36 | deflate.obj : deflate.h zutil.h zlib.h zconf.h 37 | example.obj : zlib.h zconf.h 38 | gzio.obj : zutil.h zlib.h zconf.h 39 | infblock.obj : zutil.h zlib.h zconf.h infblock.h inftrees.h infcodes.h infutil.h 40 | infcodes.obj : zutil.h zlib.h zconf.h inftrees.h infutil.h infcodes.h inffast.h 41 | inffast.obj : zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h 42 | inflate.obj : zutil.h zlib.h zconf.h infblock.h 43 | inftrees.obj : zutil.h zlib.h zconf.h inftrees.h 44 | infutil.obj : zutil.h zlib.h zconf.h inftrees.h infutil.h 45 | minigzip.obj : zlib.h zconf.h 46 | trees.obj : deflate.h zutil.h zlib.h zconf.h 47 | uncompr.obj : zlib.h zconf.h 48 | zutil.obj : zutil.h zlib.h zconf.h 49 | -------------------------------------------------------------------------------- /src/utils/zlib/old/os2/zlib.def: -------------------------------------------------------------------------------- 1 | ; 2 | ; Slightly modified version of ../nt/zlib.dnt :-) 3 | ; 4 | 5 | LIBRARY Z 6 | DESCRIPTION "Zlib compression library for OS/2" 7 | CODE PRELOAD MOVEABLE DISCARDABLE 8 | DATA PRELOAD MOVEABLE MULTIPLE 9 | 10 | EXPORTS 11 | adler32 12 | compress 13 | crc32 14 | deflate 15 | deflateCopy 16 | deflateEnd 17 | deflateInit2_ 18 | deflateInit_ 19 | deflateParams 20 | deflateReset 21 | deflateSetDictionary 22 | gzclose 23 | gzdopen 24 | gzerror 25 | gzflush 26 | gzopen 27 | gzread 28 | gzwrite 29 | inflate 30 | inflateEnd 31 | inflateInit2_ 32 | inflateInit_ 33 | inflateReset 34 | inflateSetDictionary 35 | inflateSync 36 | uncompress 37 | zlibVersion 38 | gzprintf 39 | gzputc 40 | gzgetc 41 | gzseek 42 | gzrewind 43 | gztell 44 | gzeof 45 | gzsetparams 46 | zError 47 | inflateSyncPoint 48 | get_crc_table 49 | compress2 50 | gzputs 51 | gzgets 52 | -------------------------------------------------------------------------------- /src/utils/zlib/old/zlib.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/utils/zlib/old/zlib.html -------------------------------------------------------------------------------- /src/utils/zlib/projects/README.projects: -------------------------------------------------------------------------------- 1 | This directory contains project files for building zlib under various 2 | Integrated Development Environments (IDE). 3 | 4 | If you wish to submit a new project to this directory, you should comply 5 | to the following requirements. Otherwise (e.g. if you wish to integrate 6 | a custom piece of code that changes the zlib interface or its behavior), 7 | please consider submitting the project to the contrib directory. 8 | 9 | 10 | Requirements 11 | ============ 12 | 13 | - The project must build zlib using the source files from the official 14 | zlib source distribution, exclusively. 15 | 16 | - If the project produces redistributable builds (e.g. shared objects 17 | or DLL files), these builds must be compatible to those produced by 18 | makefiles, if such makefiles exist in the zlib distribution. 19 | In particular, if the project produces a DLL build for the Win32 20 | platform, this build must comply to the officially-ammended Win32 DLL 21 | Application Binary Interface (ABI), described in win32/DLL_FAQ.txt. 22 | 23 | - The project may provide additional build targets, which depend on 24 | 3rd-party (unofficially-supported) software, present in the contrib 25 | directory. For example, it is possible to provide an "ASM build", 26 | besides the officially-supported build, and have ASM source files 27 | among its dependencies. 28 | 29 | - If there are significant differences between the project files created 30 | by different versions of an IDE (e.g. Visual C++ 6.0 vs. 7.0), the name 31 | of the project directory should contain the version number of the IDE 32 | for which the project is intended (e.g. "visualc6" for Visual C++ 6.0, 33 | or "visualc7" for Visual C++ 7.0 and 7.1). 34 | 35 | 36 | Current projects 37 | ================ 38 | 39 | visualc6/ by Simon-Pierre Cadieux 40 | and Cosmin Truta 41 | Project for Microsoft Visual C++ 6.0 42 | -------------------------------------------------------------------------------- /src/utils/zlib/projects/vc9/README.txt: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Project Files, Format Version 6.00 for zlib. 2 | 3 | Copyright (C) 2000-2004 Simon-Pierre Cadieux. 4 | Copyright (C) 2004 Cosmin Truta. 5 | For conditions of distribution and use, see copyright notice in zlib.h. 6 | 7 | 8 | This project builds the zlib binaries as follows: 9 | 10 | * Win32_DLL_Release\zlib1.dll DLL build 11 | * Win32_DLL_Debug\zlib1d.dll DLL build (debug version) 12 | * Win32_DLL_ASM_Release\zlib1.dll DLL build using ASM code 13 | * Win32_DLL_ASM_Debug\zlib1d.dll DLL build using ASM code (debug version) 14 | * Win32_LIB_Release\zlib.lib static build 15 | * Win32_LIB_Debug\zlibd.lib static build (debug version) 16 | * Win32_LIB_ASM_Release\zlib.lib static build using ASM code 17 | * Win32_LIB_ASM_Debug\zlibd.lib static build using ASM code (debug version) 18 | 19 | 20 | For more information regarding the DLL builds, please see the DLL FAQ 21 | in ..\..\win32\DLL_FAQ.txt. 22 | 23 | 24 | To build and test: 25 | 26 | 1) On the main menu, select "File | Open Workspace". 27 | Open "zlib.dsw". 28 | 29 | 2) Select "Build | Set Active Configuration". 30 | Choose the configuration you wish to build. 31 | 32 | 3) Select "Build | Clean". 33 | 34 | 4) Select "Build | Build ... (F7)". Ignore warning messages about 35 | not being able to find certain include files (e.g. alloc.h). 36 | 37 | 5) If you built one of the sample programs (example or minigzip), 38 | select "Build | Execute ... (Ctrl+F5)". 39 | 40 | 41 | To use: 42 | 43 | 1) Select "Project | Settings (Alt+F7)". 44 | Make note of the configuration names used in your project. 45 | Usually, these names are "Win32 Release" and "Win32 Debug". 46 | 47 | 2) In the Workspace window, select the "FileView" tab. 48 | Right-click on the root item "Workspace '...'". 49 | Select "Insert Project into Workspace". 50 | Switch on the checkbox "Dependency of:", and select the name 51 | of your project. Open "zlib.dsp". 52 | 53 | 3) Select "Build | Configurations". 54 | For each configuration of your project: 55 | 3.1) Choose the zlib configuration you wish to use. 56 | 3.2) Click on "Add". 57 | 3.3) Set the new zlib configuration name to the name used by 58 | the configuration from the current iteration. 59 | 60 | 4) Select "Build | Set Active Configuration". 61 | Choose the configuration you wish to build. 62 | 63 | 5) Select "Build | Build ... (F7)". 64 | 65 | 6) If you built an executable program, select 66 | "Build | Execute ... (Ctrl+F5)". 67 | 68 | 69 | Note: 70 | 71 | To build the ASM-enabled code, you need Microsoft Assembler 72 | (ML.EXE). You can get it by downloading and installing the 73 | latest Processor Pack for Visual C++ 6.0. 74 | -------------------------------------------------------------------------------- /src/utils/zlib/projects/vc9/zlib.positions: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/utils/zlib/projects/vc9/zlib.positions -------------------------------------------------------------------------------- /src/utils/zlib/projects/visualc6/README.txt: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Project Files, Format Version 6.00 for zlib. 2 | 3 | Copyright (C) 2000-2004 Simon-Pierre Cadieux. 4 | Copyright (C) 2004 Cosmin Truta. 5 | For conditions of distribution and use, see copyright notice in zlib.h. 6 | 7 | 8 | This project builds the zlib binaries as follows: 9 | 10 | * Win32_DLL_Release\zlib1.dll DLL build 11 | * Win32_DLL_Debug\zlib1d.dll DLL build (debug version) 12 | * Win32_DLL_ASM_Release\zlib1.dll DLL build using ASM code 13 | * Win32_DLL_ASM_Debug\zlib1d.dll DLL build using ASM code (debug version) 14 | * Win32_LIB_Release\zlib.lib static build 15 | * Win32_LIB_Debug\zlibd.lib static build (debug version) 16 | * Win32_LIB_ASM_Release\zlib.lib static build using ASM code 17 | * Win32_LIB_ASM_Debug\zlibd.lib static build using ASM code (debug version) 18 | 19 | 20 | For more information regarding the DLL builds, please see the DLL FAQ 21 | in ..\..\win32\DLL_FAQ.txt. 22 | 23 | 24 | To build and test: 25 | 26 | 1) On the main menu, select "File | Open Workspace". 27 | Open "zlib.dsw". 28 | 29 | 2) Select "Build | Set Active Configuration". 30 | Choose the configuration you wish to build. 31 | 32 | 3) Select "Build | Clean". 33 | 34 | 4) Select "Build | Build ... (F7)". Ignore warning messages about 35 | not being able to find certain include files (e.g. alloc.h). 36 | 37 | 5) If you built one of the sample programs (example or minigzip), 38 | select "Build | Execute ... (Ctrl+F5)". 39 | 40 | 41 | To use: 42 | 43 | 1) Select "Project | Settings (Alt+F7)". 44 | Make note of the configuration names used in your project. 45 | Usually, these names are "Win32 Release" and "Win32 Debug". 46 | 47 | 2) In the Workspace window, select the "FileView" tab. 48 | Right-click on the root item "Workspace '...'". 49 | Select "Insert Project into Workspace". 50 | Switch on the checkbox "Dependency of:", and select the name 51 | of your project. Open "zlib.dsp". 52 | 53 | 3) Select "Build | Configurations". 54 | For each configuration of your project: 55 | 3.1) Choose the zlib configuration you wish to use. 56 | 3.2) Click on "Add". 57 | 3.3) Set the new zlib configuration name to the name used by 58 | the configuration from the current iteration. 59 | 60 | 4) Select "Build | Set Active Configuration". 61 | Choose the configuration you wish to build. 62 | 63 | 5) Select "Build | Build ... (F7)". 64 | 65 | 6) If you built an executable program, select 66 | "Build | Execute ... (Ctrl+F5)". 67 | 68 | 69 | Note: 70 | 71 | To build the ASM-enabled code, you need Microsoft Assembler 72 | (ML.EXE). You can get it by downloading and installing the 73 | latest Processor Pack for Visual C++ 6.0. 74 | -------------------------------------------------------------------------------- /src/utils/zlib/projects/visualc6/zlib.positions: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/src/utils/zlib/projects/visualc6/zlib.positions -------------------------------------------------------------------------------- /src/utils/zlib/uncompr.c: -------------------------------------------------------------------------------- 1 | /* uncompr.c -- decompress a memory buffer 2 | * Copyright (C) 1995-2003 Jean-loup Gailly. 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* @(#) $Id$ */ 7 | 8 | #define ZLIB_INTERNAL 9 | #include "zlib.h" 10 | 11 | /* =========================================================================== 12 | Decompresses the source buffer into the destination buffer. sourceLen is 13 | the byte length of the source buffer. Upon entry, destLen is the total 14 | size of the destination buffer, which must be large enough to hold the 15 | entire uncompressed data. (The size of the uncompressed data must have 16 | been saved previously by the compressor and transmitted to the decompressor 17 | by some mechanism outside the scope of this compression library.) 18 | Upon exit, destLen is the actual size of the compressed buffer. 19 | This function can be used to decompress a whole file at once if the 20 | input file is mmap'ed. 21 | 22 | uncompress returns Z_OK if success, Z_MEM_ERROR if there was not 23 | enough memory, Z_BUF_ERROR if there was not enough room in the output 24 | buffer, or Z_DATA_ERROR if the input data was corrupted. 25 | */ 26 | int ZEXPORT uncompress (dest, destLen, source, sourceLen) 27 | Bytef *dest; 28 | uLongf *destLen; 29 | const Bytef *source; 30 | uLong sourceLen; 31 | { 32 | z_stream stream; 33 | int err; 34 | 35 | stream.next_in = (Bytef*)source; 36 | stream.avail_in = (uInt)sourceLen; 37 | /* Check for source > 64K on 16-bit machine: */ 38 | if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR; 39 | 40 | stream.next_out = dest; 41 | stream.avail_out = (uInt)*destLen; 42 | if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR; 43 | 44 | stream.zalloc = (alloc_func)0; 45 | stream.zfree = (free_func)0; 46 | 47 | err = inflateInit(&stream); 48 | if (err != Z_OK) return err; 49 | 50 | err = inflate(&stream, Z_FINISH); 51 | if (err != Z_STREAM_END) { 52 | inflateEnd(&stream); 53 | if (err == Z_NEED_DICT || (err == Z_BUF_ERROR && stream.avail_in == 0)) 54 | return Z_DATA_ERROR; 55 | return err; 56 | } 57 | *destLen = stream.total_out; 58 | 59 | err = inflateEnd(&stream); 60 | return err; 61 | } 62 | -------------------------------------------------------------------------------- /src/utils/zlib/win32/Makefile.bor: -------------------------------------------------------------------------------- 1 | # Makefile for zlib 2 | # Borland C++ for Win32 3 | # 4 | # Updated for zlib 1.2.x by Cosmin Truta, 11-Mar-2003 5 | # Last updated: 28-Aug-2003 6 | # 7 | # Usage: 8 | # make -f win32/Makefile.bor 9 | # make -f win32/Makefile.bor LOCAL_ZLIB=-DASMV OBJA=match.obj OBJPA=+match.obj 10 | 11 | # ------------ Borland C++ ------------ 12 | 13 | # Optional nonstandard preprocessor flags (e.g. -DMAX_MEM_LEVEL=7) 14 | # should be added to the environment via "set LOCAL_ZLIB=-DFOO" or 15 | # added to the declaration of LOC here: 16 | LOC = $(LOCAL_ZLIB) 17 | 18 | CC = bcc32 19 | AS = bcc32 20 | LD = bcc32 21 | AR = tlib 22 | CFLAGS = -a -d -k- -O2 $(LOC) 23 | ASFLAGS = $(LOC) 24 | LDFLAGS = $(LOC) 25 | 26 | 27 | # variables 28 | ZLIB_LIB = zlib.lib 29 | 30 | OBJ1 = adler32.obj compress.obj crc32.obj deflate.obj gzio.obj infback.obj 31 | OBJ2 = inffast.obj inflate.obj inftrees.obj trees.obj uncompr.obj zutil.obj 32 | #OBJA = 33 | OBJP1 = +adler32.obj+compress.obj+crc32.obj+deflate.obj+gzio.obj+infback.obj 34 | OBJP2 = +inffast.obj+inflate.obj+inftrees.obj+trees.obj+uncompr.obj+zutil.obj 35 | #OBJPA= 36 | 37 | 38 | # targets 39 | all: $(ZLIB_LIB) example.exe minigzip.exe 40 | 41 | .c.obj: 42 | $(CC) -c $(CFLAGS) $< 43 | 44 | .asm.obj: 45 | $(AS) -c $(ASFLAGS) $< 46 | 47 | adler32.obj: adler32.c zlib.h zconf.h 48 | 49 | compress.obj: compress.c zlib.h zconf.h 50 | 51 | crc32.obj: crc32.c zlib.h zconf.h crc32.h 52 | 53 | deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h 54 | 55 | gzio.obj: gzio.c zutil.h zlib.h zconf.h 56 | 57 | infback.obj: infback.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ 58 | inffast.h inffixed.h 59 | 60 | inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ 61 | inffast.h 62 | 63 | inflate.obj: inflate.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ 64 | inffast.h inffixed.h 65 | 66 | inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h 67 | 68 | trees.obj: trees.c zutil.h zlib.h zconf.h deflate.h trees.h 69 | 70 | uncompr.obj: uncompr.c zlib.h zconf.h 71 | 72 | zutil.obj: zutil.c zutil.h zlib.h zconf.h 73 | 74 | example.obj: example.c zlib.h zconf.h 75 | 76 | minigzip.obj: minigzip.c zlib.h zconf.h 77 | 78 | 79 | # For the sake of the old Borland make, 80 | # the command line is cut to fit in the MS-DOS 128 byte limit: 81 | $(ZLIB_LIB): $(OBJ1) $(OBJ2) $(OBJA) 82 | -del $(ZLIB_LIB) 83 | $(AR) $(ZLIB_LIB) $(OBJP1) 84 | $(AR) $(ZLIB_LIB) $(OBJP2) 85 | $(AR) $(ZLIB_LIB) $(OBJPA) 86 | 87 | 88 | # testing 89 | test: example.exe minigzip.exe 90 | example 91 | echo hello world | minigzip | minigzip -d 92 | 93 | example.exe: example.obj $(ZLIB_LIB) 94 | $(LD) $(LDFLAGS) example.obj $(ZLIB_LIB) 95 | 96 | minigzip.exe: minigzip.obj $(ZLIB_LIB) 97 | $(LD) $(LDFLAGS) minigzip.obj $(ZLIB_LIB) 98 | 99 | 100 | # cleanup 101 | clean: 102 | -del *.obj 103 | -del *.lib 104 | -del *.exe 105 | -del *.tds 106 | -del zlib.bak 107 | -del foo.gz 108 | -------------------------------------------------------------------------------- /src/utils/zlib/win32/Makefile.emx: -------------------------------------------------------------------------------- 1 | # Makefile for zlib. Modified for emx/rsxnt by Chr. Spieler, 6/16/98. 2 | # Copyright (C) 1995-1998 Jean-loup Gailly. 3 | # For conditions of distribution and use, see copyright notice in zlib.h 4 | 5 | # To compile, or to compile and test, type: 6 | # 7 | # make -fmakefile.emx; make test -fmakefile.emx 8 | # 9 | 10 | CC=gcc -Zwin32 11 | 12 | #CFLAGS=-MMD -O 13 | #CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7 14 | #CFLAGS=-MMD -g -DDEBUG 15 | CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \ 16 | -Wstrict-prototypes -Wmissing-prototypes 17 | 18 | # If cp.exe is available, replace "copy /Y" with "cp -fp" . 19 | CP=copy /Y 20 | # If gnu install.exe is available, replace $(CP) with ginstall. 21 | INSTALL=$(CP) 22 | # The default value of RM is "rm -f." If "rm.exe" is found, comment out: 23 | RM=del 24 | LDLIBS=-L. -lzlib 25 | LD=$(CC) -s -o 26 | LDSHARED=$(CC) 27 | 28 | INCL=zlib.h zconf.h 29 | LIBS=zlib.a 30 | 31 | AR=ar rcs 32 | 33 | prefix=/usr/local 34 | exec_prefix = $(prefix) 35 | 36 | OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \ 37 | zutil.o inflate.o infback.o inftrees.o inffast.o 38 | 39 | TEST_OBJS = example.o minigzip.o 40 | 41 | all: example.exe minigzip.exe 42 | 43 | test: all 44 | ./example 45 | echo hello world | .\minigzip | .\minigzip -d 46 | 47 | %.o : %.c 48 | $(CC) $(CFLAGS) -c $< -o $@ 49 | 50 | zlib.a: $(OBJS) 51 | $(AR) $@ $(OBJS) 52 | 53 | %.exe : %.o $(LIBS) 54 | $(LD) $@ $< $(LDLIBS) 55 | 56 | 57 | .PHONY : clean 58 | 59 | clean: 60 | $(RM) *.d 61 | $(RM) *.o 62 | $(RM) *.exe 63 | $(RM) zlib.a 64 | $(RM) foo.gz 65 | 66 | DEPS := $(wildcard *.d) 67 | ifneq ($(DEPS),) 68 | include $(DEPS) 69 | endif 70 | -------------------------------------------------------------------------------- /src/utils/zlib/win32/VisualC.txt: -------------------------------------------------------------------------------- 1 | 2 | To build zlib using the Microsoft Visual C++ environment, 3 | use the appropriate project from the projects/ directory. 4 | -------------------------------------------------------------------------------- /src/utils/zlib/win32/zlib.def: -------------------------------------------------------------------------------- 1 | LIBRARY 2 | ; zlib data compression library 3 | 4 | EXPORTS 5 | ; basic functions 6 | zlibVersion 7 | deflate 8 | deflateEnd 9 | inflate 10 | inflateEnd 11 | ; advanced functions 12 | deflateSetDictionary 13 | deflateCopy 14 | deflateReset 15 | deflateParams 16 | deflateBound 17 | deflatePrime 18 | inflateSetDictionary 19 | inflateSync 20 | inflateCopy 21 | inflateReset 22 | inflateBack 23 | inflateBackEnd 24 | zlibCompileFlags 25 | ; utility functions 26 | compress 27 | compress2 28 | compressBound 29 | uncompress 30 | gzopen 31 | gzdopen 32 | gzsetparams 33 | gzread 34 | gzwrite 35 | gzprintf 36 | gzputs 37 | gzgets 38 | gzputc 39 | gzgetc 40 | gzungetc 41 | gzflush 42 | gzseek 43 | gzrewind 44 | gztell 45 | gzeof 46 | gzclose 47 | gzerror 48 | gzclearerr 49 | ; checksum functions 50 | adler32 51 | crc32 52 | ; various hacks, don't look :) 53 | deflateInit_ 54 | deflateInit2_ 55 | inflateInit_ 56 | inflateInit2_ 57 | inflateBackInit_ 58 | inflateSyncPoint 59 | get_crc_table 60 | zError 61 | -------------------------------------------------------------------------------- /src/utils/zlib/win32/zlib1.rc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #ifdef GCC_WINDRES 4 | VS_VERSION_INFO VERSIONINFO 5 | #else 6 | VS_VERSION_INFO VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE 7 | #endif 8 | FILEVERSION 1,2,2,0 9 | PRODUCTVERSION 1,2,2,0 10 | FILEFLAGSMASK VS_FFI_FILEFLAGSMASK 11 | #ifdef _DEBUG 12 | FILEFLAGS 1 13 | #else 14 | FILEFLAGS 0 15 | #endif 16 | FILEOS VOS_DOS_WINDOWS32 17 | FILETYPE VFT_DLL 18 | FILESUBTYPE 0 // not used 19 | BEGIN 20 | BLOCK "StringFileInfo" 21 | BEGIN 22 | BLOCK "040904E4" 23 | //language ID = U.S. English, char set = Windows, Multilingual 24 | BEGIN 25 | VALUE "FileDescription", "zlib data compression library\0" 26 | VALUE "FileVersion", "1.2.3\0" 27 | VALUE "InternalName", "zlib1.dll\0" 28 | VALUE "LegalCopyright", "(C) 1995-2004 Jean-loup Gailly & Mark Adler\0" 29 | VALUE "OriginalFilename", "zlib1.dll\0" 30 | VALUE "ProductName", "zlib\0" 31 | VALUE "ProductVersion", "1.2.3\0" 32 | VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" 33 | END 34 | END 35 | BLOCK "VarFileInfo" 36 | BEGIN 37 | VALUE "Translation", 0x0409, 1252 38 | END 39 | END 40 | -------------------------------------------------------------------------------- /trebucbd.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigbluebutton86/EasyRTMP/d1c3c464cc72462c1be7b9de97e76d8918b459de/trebucbd.ttf --------------------------------------------------------------------------------