x265-bitstream.cpp

本文介绍了Bitstream类的构造及关键方法实现,包括数据的写入与对齐操作。构造函数初始化数据缓冲区,`push_back`方法用于将字节追加到缓冲区,并在必要时调整缓冲区大小。`write`方法支持任意位数的数据写入,而`writeByte`、`writeAlignOne`和`writeAlignZero`则分别用于写入字节、1和0进行对齐。

#define MIN_FIFO_SIZE 1000

Bitstream()

bitstream的构造函数

Bitstream::Bitstream()
{
    m_fifo = X265_MALLOC(uint8_t, MIN_FIFO_SIZE);
    m_byteAlloc = MIN_FIFO_SIZE;
    resetBits();
}

Bitstream::push_back(uint8_t val)

把int值放到fifo中,如果空间不够,就重新分配;

void Bitstream::push_back(uint8_t val)
{
    if (!m_fifo)
        return;

    if (m_byteOccupancy >= m_byteAlloc)
    {
        /** reallocate buffer with doubled size */
        uint8_t *temp = X265_MALLOC(uint8_t, m_byteAlloc * 2);
        if (temp)
        {
            memcpy(temp, m_fifo, m_byteOccupancy);
            X265_FREE(m_fifo);
            m_fifo = temp;
            m_byteAlloc *= 2;
        }
        else
        {
            x265_log(NULL, X265_LOG_ERROR, "Unable to realloc bitstream buffer");
            return;
        }
    }
    m_fifo[m_byteOccupancy++] = val;
}

Bitstream::write(uint32_t val, uint32_t numBits)

参数val:要写入的值

参数numBits:要写入的位数

void Bitstream::write(uint32_t val, uint32_t numBits)
{
    X265_CHECK(numBits <= 32, "numBits out of range\n");
    X265_CHECK(numBits == 32 || ((val & (~0u << numBits)) == 0), "numBits & val out of range\n");

    uint32_t totalPartialBits = m_partialByteBits + numBits;//总共要写入的位数
    uint32_t nextPartialBits = totalPartialBits & 7;//计算末尾有多少位不足一个字节=8 bit
    uint8_t  nextHeldByte = val << (8 - nextPartialBits);//凑满整数个字节
    uint32_t writeBytes = totalPartialBits >> 3;//计算要写入的字节数

    if (writeBytes)
    {
        /* topword aligns m_partialByte with the msb of val */
        uint32_t topword = (numBits - nextPartialBits) & ~7;//除去末尾的字节
#if USING_FTRAPV
        uint32_t write_bits = (topword < 32 ? m_partialByte << topword : 0) | (val >> nextPartialBits);
#else
        uint32_t write_bits = (m_partialByte << topword) | (val >> nextPartialBits);//m_partialByte是高位,以前遗留下的值
#endif

/*按字节写入*/

        switch (writeBytes)
        {
        case 4: push_back(write_bits >> 24);  // fall-through
        case 3: push_back(write_bits >> 16);  // fall-through
        case 2: push_back(write_bits >> 8);   // fall-through
        case 1: push_back(write_bits);
        }

        m_partialByte = nextHeldByte;
        m_partialByteBits = nextPartialBits;
    }
    else
    {
        m_partialByte |= nextHeldByte;
        m_partialByteBits = nextPartialBits;
    }
}

void Bitstream::writeByte(uint32_t val)

作用:写入一个字节的数据

void Bitstream::writeByte(uint32_t val)
{
    // Only CABAC will call writeByte, the fifo must be byte aligned
    X265_CHECK(!m_partialByteBits, "expecting m_partialByteBits = 0\n");

    push_back(val);
}

void Bitstream::writeAlignOne()

作用:写入1来对齐

void Bitstream::writeAlignOne()
{
    uint32_t numBits = (8 - m_partialByteBits) & 0x7;

    write((1 << numBits) - 1, numBits);
}

void Bitstream::writeAlignZero()

作用:写入0来对齐

void Bitstream::writeAlignZero()
{
    if (m_partialByteBits)
    {
        push_back(m_partialByte);
        m_partialByte = 0;
        m_partialByteBits = 0;
    }
}

void Bitstream::writeByteAlignment()
{
    write(1, 1);
    writeAlignZero();
}

void SyntaxElementWriter::writeUvlc(uint32_t code)

作用:写入uvlc的码字

表1. UVLC举例
符号 码长码字
0       1
1     010
2     011
3   00100
4   00101
5   00110
6   00111

void SyntaxElementWriter::writeUvlc(uint32_t code)
{
    ++code;

    X265_CHECK(code, "writing -1 code, will cause infinite loop\n");

    unsigned long idx;
    CLZ(idx, code);
    uint32_t length = (uint32_t)idx * 2 + 1;

    // Take care of cases where length > 32
    m_bitIf->write(0, length >> 1);
    m_bitIf->write(code, (length + 1) >> 1);
}

<?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup Label="ProjectConfigurations"> <ProjectConfiguration Include="Debug|Win32"> <Configuration>Debug</Configuration> <Platform>Win32</Platform> </ProjectConfiguration> <ProjectConfiguration Include="Debug|x64"> <Configuration>Debug</Configuration> <Platform>x64</Platform> </ProjectConfiguration> <ProjectConfiguration Include="Release|Win32"> <Configuration>Release</Configuration> <Platform>Win32</Platform> </ProjectConfiguration> <ProjectConfiguration Include="Release|x64"> <Configuration>Release</Configuration> <Platform>x64</Platform> </ProjectConfiguration> </ItemGroup> <PropertyGroup Label="Globals"> <ProjectGuid>{64442613-7C80-4245-8330-B31089724B15}</ProjectGuid> <Keyword>Qt4VSv1.0</Keyword> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ConfigurationType>Application</ConfigurationType> <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ConfigurationType>Application</ConfigurationType> <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <PropertyGroup Condition="'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\qt.targets')"> <QtMsBuild>$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir> <LibraryPath>$(APPLIBS)/WinLibs/libs/wpcap/x64/lib;$(APPLIBS)/tpnclient/openssl_win32/lib;$(APPLIBS)/P2P/code/libs/libevent/libevent-2.0.21/lib/win64;$(APPLIBS)/ffmpeg/windows/lib_x64/lib;$(LibraryPath)</LibraryPath> <TargetName>P2pSub</TargetName> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir> <LibraryPath>$(CORESRC)/chmonvif/probe/ipcd/lib;$(APPLIBS)/tpnclient/openssl_win32/lib;$(APPLIBS)/P2P/code/libs/libevent/libevent-2.0.21/lib/win32;$(APPLIBS)/ffmpeg/windows/lib/lib;$(LibraryPath)</LibraryPath> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir> </PropertyGroup> <Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')"> <Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." /> </Target> <ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')"> <Import Project="$(QtMsBuild)\qt.props" /> </ImportGroup> <ImportGroup Label="ExtensionSettings" /> <ImportGroup Label="Shared" /> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="Windows.Utility.Qt.PropertySheet.props" /> </ImportGroup> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="Windows.Utility.Qt.PropertySheet.props" /> </ImportGroup> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="Windows.Utility.Qt.PropertySheet.props" /> </ImportGroup> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="Windows.Utility.Qt.PropertySheet.props" /> </ImportGroup> <PropertyGroup Label="UserMacros" /> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> <MultiProcessorCompilation>true</MultiProcessorCompilation> <PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_CORE_LIB;QT_GUI_LIB;QT_OPENGL_LIB;QT_WIDGETS_LIB;_DEBUG;TPPLAYER_DECODER_MFT;TPPLAYER_DISPLAY_DXVA;QT_WEBENGINEWIDGETS_LIB;QT_WEBENGINECORE_LIB;QT_WEBCHANNEL_LIB;UAT_SHOP;QT_NETWORK_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> <Optimization>Disabled</Optimization> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <AdditionalIncludeDirectories>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtNetwork;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType> </ClCompile> <Link> <SubSystem>Console</SubSystem> <OutputFile>$(OutDir)\$(P2PSubName).exe</OutputFile> <AdditionalLibraryDirectories>$(QTDIR)\lib;$(APPLIBS)/WinLibs/libs/wpcap/x64/lib;$(APPLIBS)/tpnclient/openssl_win32/lib;$(APPLIBS)/P2P/code/libs/libevent/libevent-2.0.21/lib/win64;$(APPLIBS)/ffmpeg/windows/lib_x64/lib;$(CORESRC)/chmonvif/probe/onvif/gsoap/build/windows/lib/x64;$(APPLIBS)/P2P/code/libs/udt/udt-4.0.0/build/windows/lib/Debug/x64;$(APPLIBS)/P2P/code/libs/quicly/build/windows/lib/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <GenerateDebugInformation>true</GenerateDebugInformation> <AdditionalDependencies>qtmaind.lib;Qt5Cored.lib;Qt5Networkd.lib;%(AdditionalDependencies)</AdditionalDependencies> </Link> <QtMoc> <Define>UNICODE;WIN32;WIN64;QT_CORE_LIB;QT_GUI_LIB;QT_OPENGL_LIB;QT_WIDGETS_LIB;_DEBUG;TPPLAYER_DECODER_MFT;TPPLAYER_DISPLAY_DXVA;QT_WEBENGINEWIDGETS_LIB;QT_WEBENGINECORE_LIB;QT_WEBCHANNEL_LIB;UAT_SHOP;QT_NETWORK_LIB;%(PreprocessorDefinitions)</Define> <IncludePath>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName)\.;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtNetwork;$(ProjectDir)\.;$(ProjectDir)\core;$(ProjectDir)\common;$(ProjectDir)\account;$(ProjectDir)\preview;$(ProjectDir)\vippreview;$(ProjectDir)\playback;$(ProjectDir)\setting;$(CORESRC)\.;$(CORESRC)\AlertTask;$(CORESRC)\AlertManager;$(CORESRC)\cloudservice;$(CORESRC)\storagemanager;$(CORESRC)\facegallerymanager;$(CORESRC)\config;$(CORESRC)\TPIntell;$(CORESRC)\ExecutorTask;$(CORESRC)\chmonvif\probe\ipcd\include\Include\pcap;$(CORESRC)\chmonvif\probe\ipcd\include\Include;$(CORESRC)\chmonvif\probe\ipcd\include;$(CORESRC)\chmonvif\probe\onvif\include;$(CORESRC)\chmonvif\probe\include;$(APPLIBS)\.;$(APPLIBS)\audioprocessing;$(APPLIBS)\audioprocessing\app;$(APPLIBS)\audioprocessing\howlingsuppression;$(APPLIBS)\audioprocessing\NoiseSuppressionClassification;$(APPLIBS)\audioprocessing\tpvad;$(APPLIBS)\audioprocessing\watermark;$(APPLIBS)\audioprocessing\resample;$(APPLIBS)\audioprocessing\TPAudioWifiConfig;$(APPLIBS)\h264parse;$(APPLIBS)\h265parse;$(APPLIBS)\mp4demux;$(APPLIBS)\mp4mux;$(APPLIBS)\P2P\code\common;$(APPLIBS)\P2P\code\common\stun;$(APPLIBS)\P2P\code\common\cloud-protocol;$(APPLIBS)\P2P\code\P2P;$(APPLIBS)\P2P\code\libs\udt\udt-4.0.0\include;$(APPLIBS)\P2P\code\libs\libevent\libevent-2.0.21\include;$(APPLIBS)\P2P\code\libs\libevent\libevent-2.0.21\include_win32;$(APPLIBS)\P2P\code\libs\quicly\lib;$(APPLIBS)\P2P\code\libs\quicly\include;$(APPLIBS)\P2P\code\libs\upnp\miniupnpc;$(APPLIBS)\rtspclient;$(APPLIBS)\TPAlbum;$(APPLIBS)\TPFileCache;$(APPLIBS)\TPFileManager;$(APPLIBS)\tpnclient;$(APPLIBS)\tpnclient\openssl_win32;$(APPLIBS)\tpnserver;$(APPLIBS)\TPNVRAM;$(APPLIBS)\TPPlayer;$(APPLIBS)\TPPlayerGLProgram;$(APPLIBS)\tprtspserver;$(APPLIBS)\TPSqlite;$(APPLIBS)\TPStringResource\src;$(APPLIBS)\TPProcess;$(APPLIBS)\TPThread;$(APPLIBS)\tpwcomm;$(APPLIBS)\tpwcomm\config;$(APPLIBS)\TPWFile;$(APPLIBS)\TPWNVR;$(APPLIBS)\tsdemux;$(APPLIBS)\csdemux;$(APPLIBS)\tsmux;$(APPLIBS)\rtpdemux;$(APPLIBS)\rtpmux;$(APPLIBS)\util;$(APPLIBS)\tpdownloader;$(APPLIBS)\TPHeatMapGenerator;$(APPLIBS)\TPThumbnailGenerator;$(APPLIBS)\ffmpeg\windows\lib\include;$(APPLIBS)\WinLibs\qt;$(APPLIBS)\WinLibs\common;$(APPLIBS)\WinLibs\TPMediaKit\TPMediaPlayer;$(APPLIBS)\WinLibs\TPMediaKit\TPDirectSound;$(APPLIBS)\WinLibs\TPMediaKit\TPDisplay;$(APPLIBS)\WinLibs\TPMediaKit\TPDecoder;$(APPLIBS)\WinLibs\TPMediaKit\TPFormat;$(APPLIBS)\reedSolomonCodec;$(APPLIBS)\mfec;$(APPLIBS)\TPDiscoveryService;$(APPLIBS)\videoprocessing;$(APPLIBS)\TPDataStatistics;$(APPLIBS)\QRCodeGenerator;$(VC_IncludePath)\.;$(WindowsSDK_IncludePath)\.;$(IncludePath)\.</IncludePath> <OutputFile>.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</OutputFile> <ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription> </QtMoc> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> <MultiProcessorCompilation>true</MultiProcessorCompilation> <PreprocessorDefinitions>UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_NETWORK_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <AdditionalIncludeDirectories>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtNetwork;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType> </ClCompile> <Link> <SubSystem>Console</SubSystem> <OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile> <AdditionalLibraryDirectories>$(QTDIR)\lib;$(APPLIBS)/WinLibs/libs/wpcap/x64/lib;$(APPLIBS)/tpnclient/openssl_win32/lib;$(APPLIBS)/P2P/code/libs/libevent/libevent-2.0.21/lib/win64;$(APPLIBS)/ffmpeg/windows/lib_x64/lib;$(CORESRC)/chmonvif/probe/onvif/gsoap/build/windows/lib/x64;$(APPLIBS)/P2P/code/libs/udt/udt-4.0.0/build/windows/lib/x64;$(APPLIBS)/P2P/code/libs/quicly/build/windows/lib/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <GenerateDebugInformation>true</GenerateDebugInformation> <AdditionalDependencies>qtmain.lib;Qt5Core.lib;Qt5Network.lib;%(AdditionalDependencies)</AdditionalDependencies> </Link> <QtMoc> <Define>UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_NETWORK_LIB;%(PreprocessorDefinitions)</Define> <IncludePath>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName)\.;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtNetwork;$(ProjectDir)\.;$(ProjectDir)\core;$(ProjectDir)\common;$(ProjectDir)\account;$(ProjectDir)\preview;$(ProjectDir)\vippreview;$(ProjectDir)\playback;$(ProjectDir)\setting;$(CORESRC)\.;$(CORESRC)\AlertTask;$(CORESRC)\AlertManager;$(CORESRC)\cloudservice;$(CORESRC)\storagemanager;$(CORESRC)\facegallerymanager;$(CORESRC)\config;$(CORESRC)\TPIntell;$(CORESRC)\ExecutorTask;$(CORESRC)\chmonvif\probe\ipcd\include\Include\pcap;$(CORESRC)\chmonvif\probe\ipcd\include\Include;$(CORESRC)\chmonvif\probe\ipcd\include;$(CORESRC)\chmonvif\probe\onvif\include;$(CORESRC)\chmonvif\probe\include;$(APPLIBS)\.;$(APPLIBS)\audioprocessing;$(APPLIBS)\audioprocessing\app;$(APPLIBS)\audioprocessing\howlingsuppression;$(APPLIBS)\audioprocessing\NoiseSuppressionClassification;$(APPLIBS)\audioprocessing\tpvad;$(APPLIBS)\audioprocessing\watermark;$(APPLIBS)\audioprocessing\resample;$(APPLIBS)\audioprocessing\TPAudioWifiConfig;$(APPLIBS)\h264parse;$(APPLIBS)\h265parse;$(APPLIBS)\mp4demux;$(APPLIBS)\mp4mux;$(APPLIBS)\P2P\code\common;$(APPLIBS)\P2P\code\common\stun;$(APPLIBS)\P2P\code\common\cloud-protocol;$(APPLIBS)\P2P\code\P2P;$(APPLIBS)\P2P\code\libs\udt\udt-4.0.0\include;$(APPLIBS)\P2P\code\libs\libevent\libevent-2.0.21\include;$(APPLIBS)\P2P\code\libs\libevent\libevent-2.0.21\include_win32;$(APPLIBS)\P2P\code\libs\quicly\lib;$(APPLIBS)\P2P\code\libs\quicly\include;$(APPLIBS)\P2P\code\libs\upnp\miniupnpc;$(APPLIBS)\rtspclient;$(APPLIBS)\TPAlbum;$(APPLIBS)\TPFileCache;$(APPLIBS)\TPFileManager;$(APPLIBS)\tpnclient;$(APPLIBS)\tpnclient\openssl_win32;$(APPLIBS)\tpnserver;$(APPLIBS)\TPNVRAM;$(APPLIBS)\TPPlayer;$(APPLIBS)\TPPlayerGLProgram;$(APPLIBS)\tprtspserver;$(APPLIBS)\TPSqlite;$(APPLIBS)\TPStringResource\src;$(APPLIBS)\TPProcess;$(APPLIBS)\TPThread;$(APPLIBS)\tpwcomm;$(APPLIBS)\tpwcomm\config;$(APPLIBS)\TPWFile;$(APPLIBS)\TPWNVR;$(APPLIBS)\tsdemux;$(APPLIBS)\csdemux;$(APPLIBS)\tsmux;$(APPLIBS)\rtpdemux;$(APPLIBS)\rtpmux;$(APPLIBS)\util;$(APPLIBS)\tpdownloader;$(APPLIBS)\TPHeatMapGenerator;$(APPLIBS)\TPThumbnailGenerator;$(APPLIBS)\ffmpeg\windows\lib\include;$(APPLIBS)\WinLibs\qt;$(APPLIBS)\WinLibs\common;$(APPLIBS)\WinLibs\TPMediaKit\TPMediaPlayer;$(APPLIBS)\WinLibs\TPMediaKit\TPDirectSound;$(APPLIBS)\WinLibs\TPMediaKit\TPDisplay;$(APPLIBS)\WinLibs\TPMediaKit\TPDecoder;$(APPLIBS)\WinLibs\TPMediaKit\TPFormat;$(APPLIBS)\reedSolomonCodec;$(APPLIBS)\mfec;$(APPLIBS)\TPDiscoveryService;$(APPLIBS)\videoprocessing;$(APPLIBS)\TPDataStatistics;$(APPLIBS)\QRCodeGenerator;$(VC_IncludePath)\.;$(WindowsSDK_IncludePath)\.;$(IncludePath)\.</IncludePath> <OutputFile>.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</OutputFile> <ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription> </QtMoc> <PostBuildEvent> <Command>echo F | xcopy /Y "$(TargetPath)" "$(SolutionDir)SetupTools\SetupFiles\App\win7+_x64\$(P2PSubName).exe"</Command> </PostBuildEvent> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> <MultiProcessorCompilation>true</MultiProcessorCompilation> <PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_CORE_LIB;_DEBUG;UAT_SHOP;QT_NETWORK_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> <Optimization>Disabled</Optimization> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <AdditionalIncludeDirectories>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtNetwork;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType> </ClCompile> <Link> <SubSystem>Console</SubSystem> <OutputFile>$(OutDir)\$(P2PSubName).exe</OutputFile> <AdditionalLibraryDirectories>$(QTDIR)\lib;$(APPLIBS)/WinLibs/libs/wpcap/x86/lib;$(APPLIBS)/tpnclient/openssl_win32/lib;$(APPLIBS)/P2P/code/libs/libevent/libevent-2.0.21/lib/win32;$(APPLIBS)/ffmpeg/windows/lib/lib;$(CORESRC)/chmonvif/probe/onvif/gsoap/build/windows/lib/Win32;$(APPLIBS)/P2P/code/libs/udt/udt-4.0.0/build/windows/lib/Debug/Win32;$(APPLIBS)/P2P/code/libs/quicly/build/windows/lib/Win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <GenerateDebugInformation>true</GenerateDebugInformation> <AdditionalDependencies>qtmaind.lib;Qt5Cored.lib;Qt5Networkd.lib;%(AdditionalDependencies)</AdditionalDependencies> <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers> </Link> <QtMoc> <Define>UNICODE;WIN32;WIN64;QT_CORE_LIB;_DEBUG;UAT_SHOP;QT_NETWORK_LIB;%(PreprocessorDefinitions)</Define> <IncludePath>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName)\.;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtNetwork;$(ProjectDir)\.;$(ProjectDir)\core;$(ProjectDir)\common;$(ProjectDir)\account;$(ProjectDir)\preview;$(ProjectDir)\vippreview;$(ProjectDir)\playback;$(ProjectDir)\setting;$(CORESRC)\.;$(CORESRC)\AlertTask;$(CORESRC)\AlertManager;$(CORESRC)\cloudservice;$(CORESRC)\storagemanager;$(CORESRC)\facegallerymanager;$(CORESRC)\config;$(CORESRC)\TPIntell;$(CORESRC)\ExecutorTask;$(CORESRC)\chmonvif\probe\ipcd\include\Include\pcap;$(CORESRC)\chmonvif\probe\ipcd\include\Include;$(CORESRC)\chmonvif\probe\ipcd\include;$(CORESRC)\chmonvif\probe\onvif\include;$(CORESRC)\chmonvif\probe\include;$(APPLIBS)\.;$(APPLIBS)\audioprocessing;$(APPLIBS)\audioprocessing\app;$(APPLIBS)\audioprocessing\howlingsuppression;$(APPLIBS)\audioprocessing\NoiseSuppressionClassification;$(APPLIBS)\audioprocessing\tpvad;$(APPLIBS)\audioprocessing\watermark;$(APPLIBS)\audioprocessing\resample;$(APPLIBS)\audioprocessing\TPAudioWifiConfig;$(APPLIBS)\h264parse;$(APPLIBS)\h265parse;$(APPLIBS)\mp4demux;$(APPLIBS)\mp4mux;$(APPLIBS)\P2P\code\common;$(APPLIBS)\P2P\code\common\stun;$(APPLIBS)\P2P\code\common\cloud-protocol;$(APPLIBS)\P2P\code\P2P;$(APPLIBS)\P2P\code\libs\udt\udt-4.0.0\include;$(APPLIBS)\P2P\code\libs\libevent\libevent-2.0.21\include;$(APPLIBS)\P2P\code\libs\libevent\libevent-2.0.21\include_win32;$(APPLIBS)\P2P\code\libs\quicly\lib;$(APPLIBS)\P2P\code\libs\quicly\include;$(APPLIBS)\P2P\code\libs\upnp\miniupnpc;$(APPLIBS)\rtspclient;$(APPLIBS)\TPAlbum;$(APPLIBS)\TPFileCache;$(APPLIBS)\TPFileManager;$(APPLIBS)\tpnclient;$(APPLIBS)\tpnclient\openssl_win32;$(APPLIBS)\tpnserver;$(APPLIBS)\TPNVRAM;$(APPLIBS)\TPPlayer;$(APPLIBS)\TPPlayerGLProgram;$(APPLIBS)\tprtspserver;$(APPLIBS)\TPSqlite;$(APPLIBS)\TPStringResource\src;$(APPLIBS)\TPProcess;$(APPLIBS)\TPThread;$(APPLIBS)\tpwcomm;$(APPLIBS)\tpwcomm\config;$(APPLIBS)\TPWFile;$(APPLIBS)\TPWNVR;$(APPLIBS)\tsdemux;$(APPLIBS)\csdemux;$(APPLIBS)\tsmux;$(APPLIBS)\rtpdemux;$(APPLIBS)\rtpmux;$(APPLIBS)\util;$(APPLIBS)\tpdownloader;$(APPLIBS)\TPHeatMapGenerator;$(APPLIBS)\TPThumbnailGenerator;$(APPLIBS)\ffmpeg\windows\lib\include;$(APPLIBS)\WinLibs\qt;$(APPLIBS)\WinLibs\common;$(APPLIBS)\WinLibs\TPMediaKit\TPMediaPlayer;$(APPLIBS)\WinLibs\TPMediaKit\TPDirectSound;$(APPLIBS)\WinLibs\TPMediaKit\TPDisplay;$(APPLIBS)\WinLibs\TPMediaKit\TPDecoder;$(APPLIBS)\WinLibs\TPMediaKit\TPFormat;$(APPLIBS)\reedSolomonCodec;$(APPLIBS)\mfec;$(APPLIBS)\TPDiscoveryService;$(APPLIBS)\videoprocessing;$(APPLIBS)\TPDataStatistics;$(APPLIBS)\QRCodeGenerator;$(VC_IncludePath)\.;$(WindowsSDK_IncludePath)\.;$(IncludePath)\.</IncludePath> <OutputFile>.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</OutputFile> <ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription> </QtMoc> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> <MultiProcessorCompilation>true</MultiProcessorCompilation> <PreprocessorDefinitions>UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_NETWORK_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <AdditionalIncludeDirectories>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtNetwork;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType> </ClCompile> <Link> <SubSystem>Console</SubSystem> <OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile> <AdditionalLibraryDirectories>$(QTDIR)\lib;$(APPLIBS)/WinLibs/libs/wpcap/x86/lib;$(APPLIBS)/tpnclient/openssl_win32/lib;$(APPLIBS)/P2P/code/libs/libevent/libevent-2.0.21/lib/win32;$(APPLIBS)/ffmpeg/windows/lib/lib;$(CORESRC)/chmonvif/probe/onvif/gsoap/build/windows/lib/Win32;$(APPLIBS)/P2P/code/libs/udt/udt-4.0.0/build/windows/lib/Win32;$(APPLIBS)/P2P/code/libs/quicly/build/windows/lib/Win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <GenerateDebugInformation>true</GenerateDebugInformation> <AdditionalDependencies>qtmain.lib;Qt5Core.lib;Qt5Network.lib;%(AdditionalDependencies)</AdditionalDependencies> <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers> </Link> <QtMoc> <Define>UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_NETWORK_LIB;%(PreprocessorDefinitions)</Define> <IncludePath>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName)\.;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtNetwork;$(ProjectDir)\.;$(ProjectDir)\core;$(ProjectDir)\common;$(ProjectDir)\account;$(ProjectDir)\preview;$(ProjectDir)\vippreview;$(ProjectDir)\playback;$(ProjectDir)\setting;$(CORESRC)\.;$(CORESRC)\AlertTask;$(CORESRC)\AlertManager;$(CORESRC)\cloudservice;$(CORESRC)\storagemanager;$(CORESRC)\facegallerymanager;$(CORESRC)\config;$(CORESRC)\TPIntell;$(CORESRC)\ExecutorTask;$(CORESRC)\chmonvif\probe\ipcd\include\Include\pcap;$(CORESRC)\chmonvif\probe\ipcd\include\Include;$(CORESRC)\chmonvif\probe\ipcd\include;$(CORESRC)\chmonvif\probe\onvif\include;$(CORESRC)\chmonvif\probe\include;$(APPLIBS)\.;$(APPLIBS)\audioprocessing;$(APPLIBS)\audioprocessing\app;$(APPLIBS)\audioprocessing\howlingsuppression;$(APPLIBS)\audioprocessing\NoiseSuppressionClassification;$(APPLIBS)\audioprocessing\tpvad;$(APPLIBS)\audioprocessing\watermark;$(APPLIBS)\audioprocessing\resample;$(APPLIBS)\audioprocessing\TPAudioWifiConfig;$(APPLIBS)\h264parse;$(APPLIBS)\h265parse;$(APPLIBS)\mp4demux;$(APPLIBS)\mp4mux;$(APPLIBS)\P2P\code\common;$(APPLIBS)\P2P\code\common\stun;$(APPLIBS)\P2P\code\common\cloud-protocol;$(APPLIBS)\P2P\code\P2P;$(APPLIBS)\P2P\code\libs\udt\udt-4.0.0\include;$(APPLIBS)\P2P\code\libs\libevent\libevent-2.0.21\include;$(APPLIBS)\P2P\code\libs\libevent\libevent-2.0.21\include_win32;$(APPLIBS)\P2P\code\libs\quicly\lib;$(APPLIBS)\P2P\code\libs\quicly\include;$(APPLIBS)\P2P\code\libs\upnp\miniupnpc;$(APPLIBS)\rtspclient;$(APPLIBS)\TPAlbum;$(APPLIBS)\TPFileCache;$(APPLIBS)\TPFileManager;$(APPLIBS)\tpnclient;$(APPLIBS)\tpnclient\openssl_win32;$(APPLIBS)\tpnserver;$(APPLIBS)\TPNVRAM;$(APPLIBS)\TPPlayer;$(APPLIBS)\TPPlayerGLProgram;$(APPLIBS)\tprtspserver;$(APPLIBS)\TPSqlite;$(APPLIBS)\TPStringResource\src;$(APPLIBS)\TPProcess;$(APPLIBS)\TPThread;$(APPLIBS)\tpwcomm;$(APPLIBS)\tpwcomm\config;$(APPLIBS)\TPWFile;$(APPLIBS)\TPWNVR;$(APPLIBS)\tsdemux;$(APPLIBS)\csdemux;$(APPLIBS)\tsmux;$(APPLIBS)\rtpdemux;$(APPLIBS)\rtpmux;$(APPLIBS)\util;$(APPLIBS)\tpdownloader;$(APPLIBS)\TPHeatMapGenerator;$(APPLIBS)\TPThumbnailGenerator;$(APPLIBS)\ffmpeg\windows\lib\include;$(APPLIBS)\WinLibs\qt;$(APPLIBS)\WinLibs\common;$(APPLIBS)\WinLibs\TPMediaKit\TPMediaPlayer;$(APPLIBS)\WinLibs\TPMediaKit\TPDirectSound;$(APPLIBS)\WinLibs\TPMediaKit\TPDisplay;$(APPLIBS)\WinLibs\TPMediaKit\TPDecoder;$(APPLIBS)\WinLibs\TPMediaKit\TPFormat;$(APPLIBS)\reedSolomonCodec;$(APPLIBS)\mfec;$(APPLIBS)\TPDiscoveryService;$(APPLIBS)\videoprocessing;$(APPLIBS)\TPDataStatistics;$(APPLIBS)\QRCodeGenerator;$(VC_IncludePath)\.;$(WindowsSDK_IncludePath)\.;$(IncludePath)\.</IncludePath> <OutputFile>.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</OutputFile> <ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription> </QtMoc> <PostBuildEvent> <Command>echo F | xcopy /Y "$(TargetPath)" "$(SolutionDir)SetupTools\SetupFiles\App\win7+_x86\$(P2PSubName).exe"</Command> </PostBuildEvent> </ItemDefinitionGroup> <ItemGroup> <ClCompile Include="..\..\..\..\app-libs\h264parse\h264parse.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\common\base64.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\common\cloud-protocol\cloud_imp_ipc.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\common\evaddrinfo.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\common\hole_punch.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\common\stun\stun.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\common\stun\stun_async.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\common\stun\TPP2PStunClient.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\common\udp_punch.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\common\udp_quic.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\api.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\buffer.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\cache.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\ccc.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\channel.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\common.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\core.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\epoll.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\list.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\md5.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\packet.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\queue.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\window.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\upnp\miniupnpc\connecthostport.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\upnp\miniupnpc\igd_desc_parse.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\upnp\miniupnpc\minisoap.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\upnp\miniupnpc\miniupnpc.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\upnp\miniupnpc\miniwget.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\upnp\miniupnpc\minixml.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\upnp\miniupnpc\portlistingparse.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\upnp\miniupnpc\receivedata.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\upnp\miniupnpc\upnpcommands.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\upnp\miniupnpc\upnperrors.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\upnp\miniupnpc\upnpreplyparse.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\P2P\p2p.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\P2P\p2p_config.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\P2P\p2p_connection_build.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\P2P\p2p_device.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\P2P\p2p_feedback.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\P2P\p2p_relay.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\P2P\p2p_stun.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\P2P\p2p_upnp.c" /> <ClCompile Include="..\..\..\..\app-libs\tpnclient\authentication.cpp" /> <ClCompile Include="..\..\..\..\app-libs\tpnclient\tphostinfo.cpp" /> <ClCompile Include="..\..\..\..\app-libs\tpnclient\tphttpclient.cpp" /> <ClCompile Include="..\..\..\..\app-libs\tpnclient\tphttpsclient.cpp" /> <ClCompile Include="..\..\..\..\app-libs\tpnclient\tpicmpclient.cpp" /> <ClCompile Include="..\..\..\..\app-libs\tpnclient\tpsslclient.cpp" /> <ClCompile Include="..\..\..\..\app-libs\tpnclient\tpsslmanager.cpp" /> <ClCompile Include="..\..\..\..\app-libs\tpnclient\tptcpclient.cpp" /> <ClCompile Include="..\..\..\..\app-libs\tpnclient\tpudpclient.cpp" /> <ClCompile Include="..\..\..\..\app-libs\TPProcess\AsynLocalServer.cpp" /> <ClCompile Include="..\..\..\..\app-libs\TPProcess\AsynLocalSocket.cpp" /> <ClCompile Include="..\..\..\..\app-libs\TPProcess\ProcessManager.cpp" /> <ClCompile Include="..\..\..\..\app-libs\TPProcess\TPLocalServer.cpp" /> <ClCompile Include="..\..\..\..\app-libs\TPWFile\TPWFile.c" /> <ClCompile Include="..\..\..\..\app-libs\util\bitstream.c" /> <ClCompile Include="..\..\..\..\app-libs\util\bytearray.c" /> <ClCompile Include="..\..\..\..\app-libs\util\cJSON.c" /> <ClCompile Include="..\..\..\..\app-libs\util\esbuffer.c" /> <ClCompile Include="..\..\..\..\app-libs\util\hardwarecapacity.cpp" /> <ClCompile Include="..\..\..\..\app-libs\util\mbasicop.c" /> <ClCompile Include="..\..\..\..\app-libs\util\sysbuffer.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tpaescrypt.cpp" /> <ClCompile Include="..\..\..\..\app-libs\util\tpcirbuffer.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tpcoding.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tpconditionvariable.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tphmacsha1crypt.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tplog.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tpmap.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tpmath.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tpmatrix.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tpmd5.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tpmessage.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tpmutex.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tpnetwork.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tppacketqueue.cpp" /> <ClCompile Include="..\..\..\..\app-libs\util\tprbtree.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tprsacrypt.cpp" /> <ClCompile Include="..\..\..\..\app-libs\util\tpsequencenumber.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tpsequencenumbercplusplus.cpp" /> <ClCompile Include="..\..\..\..\app-libs\util\tpsha1crypt.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tpstring.c" /> <ClCompile Include="..\..\..\..\app-libs\util\TPStringUtils.cpp" /> <ClCompile Include="..\..\..\..\app-libs\util\tpthread.c" /> <ClCompile Include="..\..\..\..\app-libs\util\TPThreadClass.cpp" /> <ClCompile Include="..\..\..\..\app-libs\util\tpthreadpool.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tptime.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tptools.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tputils.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tpwlog.c" /> <ClCompile Include="..\..\..\..\app-libs\WinLibs\Common\WinCrashLog.cpp" /> <ClCompile Include="..\..\..\..\app-libs\WinLibs\Common\WindowsUtils.cpp" /> <ClCompile Include="main.cpp" /> </ItemGroup> <ItemGroup> <ClInclude Include="..\..\..\..\app-libs\h264parse\h264parse.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\common\base64.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\common\cloud-protocol\cldProtocol.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\common\cloud-protocol\cloud.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\common\evaddrinfo.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\common\hole_punch.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\common\platform.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\common\stun\stun.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\common\stun\stunone.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\common\udp_punch.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\common\udp_quic.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\aes.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\khash.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\picotls.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\picotls\cyassl.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\picotls\pembase64.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\quicly.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\quicly\cc.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\quicly\constants.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\quicly\defaults.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\quicly\frame.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\quicly\linklist.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\quicly\loss.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\quicly\maxsender.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\quicly\ranges.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\quicly\recvstate.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\quicly\sendstate.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\quicly\sentmap.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\quicly\streambuf.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\rijndael\rijndael-alg-fst.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\rijndael\rijndael-api-fst.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\wincompat.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\api.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\buffer.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\cache.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\ccc.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\channel.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\common.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\core.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\epoll.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\list.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\md5.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\packet.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\queue.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\udt.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\udt_c.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\window.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\P2P\p2p.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\P2P\p2p_connection_build.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\P2P\p2p_device.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\P2P\p2p_internal.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\authentication.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\aes.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\asn1.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\asn1t.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\asn1_mac.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\bio.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\blowfish.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\bn.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\buffer.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\camellia.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\cast.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\cmac.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\cms.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\comp.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\conf.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\conf_api.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\crypto.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\des.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\des_old.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\dh.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\dsa.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\dso.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\dtls1.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\ebcdic.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\ec.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\ecdh.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\ecdsa.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\engine.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\err.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\evp.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\e_os2.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\hmac.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\idea.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\krb5_asn.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\kssl.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\lhash.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\md4.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\md5.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\mdc2.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\modes.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\objects.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\obj_mac.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\ocsp.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\opensslconf.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\opensslv.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\ossl_typ.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\pem.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\pem2.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\pkcs12.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\pkcs7.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\pqueue.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\rand.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\rc2.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\rc4.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\ripemd.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\rsa.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\safestack.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\seed.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\sha.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\srp.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\srtp.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\ssl.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\ssl2.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\ssl23.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\ssl3.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\stack.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\symhacks.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\tls1.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\ts.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\txt_db.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\ui.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\ui_compat.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\whrlpool.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\x509.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\x509v3.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\x509_vfy.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\tpglobalsharedopensslpilot.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\tphostinfo.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\tphttpclient.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\tphttpsclient.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\tpicmpclient.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\tpsslcertificate.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\tpsslclient.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\tpsslmanager.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\tptcpclient.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\tpudpclient.h" /> <ClInclude Include="..\..\..\..\app-libs\TPWFile\TPWFile.h" /> <ClInclude Include="..\..\..\..\app-libs\util\bitstream.h" /> <ClInclude Include="..\..\..\..\app-libs\util\bytearray.h" /> <ClInclude Include="..\..\..\..\app-libs\util\cJSON.h" /> <ClInclude Include="..\..\..\..\app-libs\util\esbuffer.h" /> <ClInclude Include="..\..\..\..\app-libs\util\hardwarecapacity.h" /> <ClInclude Include="..\..\..\..\app-libs\util\mbasicop.h" /> <ClInclude Include="..\..\..\..\app-libs\util\mbuffercommon.h" /> <ClInclude Include="..\..\..\..\app-libs\util\mediainfo.h" /> <ClInclude Include="..\..\..\..\app-libs\util\mpegts.h" /> <ClInclude Include="..\..\..\..\app-libs\util\sysbuffer.h" /> <ClInclude Include="..\..\..\..\app-libs\util\TPArrayList.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpcoding.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpconditionvariable.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tphmacsha1crypt.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tplog.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpmap.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpmath.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpmd5.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpmessage.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpmutex.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpnetwork.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tppacketqueue.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tprbtree.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tprsacrypt.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpsequencenumber.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpsequencenumbercplusplus.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpsha1crypt.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpstring.h" /> <ClInclude Include="..\..\..\..\app-libs\util\TPStringUtils.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpthread.h" /> <ClInclude Include="..\..\..\..\app-libs\util\TPThreadClass.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpthreadpool.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tptime.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tptools.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tputils.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpwlog.h" /> <ClInclude Include="..\..\..\..\app-libs\WinLibs\Common\WinCrashLog.h" /> <ClInclude Include="..\..\..\..\app-libs\WinLibs\Common\WindowsUtils.h" /> <QtMoc Include="..\..\..\..\app-libs\TPProcess\TPLocalServer.h" /> <QtMoc Include="..\..\..\..\app-libs\TPProcess\ProcessManager.h" /> <ClInclude Include="..\..\..\..\app-libs\TPProcess\AsynLocalSocket.h" /> <QtMoc Include="..\..\..\..\app-libs\TPProcess\AsynLocalServer.h" /> <ClInclude Include="..\..\..\..\app-libs\TPProcess\LocalIPCDefines.h" /> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')"> <Import Project="$(QtMsBuild)\qt.targets" /> </ImportGroup> <ImportGroup Label="ExtensionTargets"> </ImportGroup> <ProjectExtensions> <VisualStudio> <UserProperties MocDir=".\GeneratedFiles\$(ConfigurationName)" UicDir=".\GeneratedFiles" RccDir=".\GeneratedFiles" lupdateOptions="" lupdateOnBuild="0" lreleaseOptions="" Qt5Version_x0020_Win32="msvc2013" Qt5Version_x0020_x64="msvc2013_64" MocOptions="" /> </VisualStudio> </ProjectExtensions> </Project> 请你根据上面的内容,告诉我该项目依赖的库及其版本?
最新发布
11-07
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值