This commit is contained in:
2025-11-24 14:19:51 +05:30
commit f5c1412b28
6734 changed files with 1527575 additions and 0 deletions

View File

@ -0,0 +1,164 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.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="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{E617472A-6541-43B8-A149-CFA8A61694D3}</ProjectGuid>
<RootNamespace>SQLImageBuffer</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>NotSet</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir>
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../SQLite3Plugin;../../Source;../jpeg-7;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>./../../Lib/RakNet_VS2008_LibStatic_Debug_Win32.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>../SQLite3Plugin;../../Source;../jpeg-7;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>./../../Lib/RakNet_VS2008_LibStatic_Release_Win32.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="main.cpp" />
<ClCompile Include="..\SQLite3Plugin\sqlite3.c" />
<ClCompile Include="..\jpeg-7\cdjpeg.c" />
<ClCompile Include="..\jpeg-7\jaricom.c" />
<ClCompile Include="..\jpeg-7\jcapimin.c" />
<ClCompile Include="..\jpeg-7\jcapistd.c" />
<ClCompile Include="..\jpeg-7\jcarith.c" />
<ClCompile Include="..\jpeg-7\jccoefct.c" />
<ClCompile Include="..\jpeg-7\jccolor.c" />
<ClCompile Include="..\jpeg-7\jcdctmgr.c" />
<ClCompile Include="..\jpeg-7\jchuff.c" />
<ClCompile Include="..\jpeg-7\jcinit.c" />
<ClCompile Include="..\jpeg-7\jcmainct.c" />
<ClCompile Include="..\jpeg-7\jcmarker.c" />
<ClCompile Include="..\jpeg-7\jcmaster.c" />
<ClCompile Include="..\jpeg-7\jcomapi.c" />
<ClCompile Include="..\jpeg-7\jcparam.c" />
<ClCompile Include="..\jpeg-7\jcprepct.c" />
<ClCompile Include="..\jpeg-7\jcsample.c" />
<ClCompile Include="..\jpeg-7\jctrans.c" />
<ClCompile Include="..\jpeg-7\jdapimin.c" />
<ClCompile Include="..\jpeg-7\jdapistd.c" />
<ClCompile Include="..\jpeg-7\jdarith.c" />
<ClCompile Include="..\jpeg-7\jdatadst.c" />
<ClCompile Include="..\jpeg-7\jdatasrc.c" />
<ClCompile Include="..\jpeg-7\jdcoefct.c" />
<ClCompile Include="..\jpeg-7\jdcolor.c" />
<ClCompile Include="..\jpeg-7\jddctmgr.c" />
<ClCompile Include="..\jpeg-7\jdhuff.c" />
<ClCompile Include="..\jpeg-7\jdinput.c" />
<ClCompile Include="..\jpeg-7\jdmainct.c" />
<ClCompile Include="..\jpeg-7\jdmarker.c" />
<ClCompile Include="..\jpeg-7\jdmaster.c" />
<ClCompile Include="..\jpeg-7\jdmerge.c" />
<ClCompile Include="..\jpeg-7\jdpostct.c" />
<ClCompile Include="..\jpeg-7\jdsample.c" />
<ClCompile Include="..\jpeg-7\jdtrans.c" />
<ClCompile Include="..\jpeg-7\jerror.c" />
<ClCompile Include="..\jpeg-7\jfdctflt.c" />
<ClCompile Include="..\jpeg-7\jfdctfst.c" />
<ClCompile Include="..\jpeg-7\jfdctint.c" />
<ClCompile Include="..\jpeg-7\jidctflt.c" />
<ClCompile Include="..\jpeg-7\jidctfst.c" />
<ClCompile Include="..\jpeg-7\jidctint.c" />
<ClCompile Include="..\jpeg-7\jmemansi.c" />
<ClCompile Include="..\jpeg-7\jmemmgr.c" />
<ClCompile Include="..\jpeg-7\jquant1.c" />
<ClCompile Include="..\jpeg-7\jquant2.c" />
<ClCompile Include="..\jpeg-7\jutils.c" />
<ClCompile Include="..\jpeg-7\memsrc.c" />
<ClCompile Include="..\jpeg-7\rdbmp.c" />
<ClCompile Include="..\jpeg-7\rdcolmap.c" />
<ClCompile Include="..\jpeg-7\rdgif.c" />
<ClCompile Include="..\jpeg-7\rdppm.c" />
<ClCompile Include="..\jpeg-7\rdrle.c" />
<ClCompile Include="..\jpeg-7\rdswitch.c" />
<ClCompile Include="..\jpeg-7\rdtarga.c" />
<ClCompile Include="..\jpeg-7\transupp.c" />
<ClCompile Include="..\jpeg-7\wrbmp.c" />
<ClCompile Include="..\jpeg-7\wrgif.c" />
<ClCompile Include="..\jpeg-7\wrppm.c" />
<ClCompile Include="..\jpeg-7\wrrle.c" />
<ClCompile Include="..\jpeg-7\wrtarga.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\SQLite3Plugin\sqlite3.h" />
<ClInclude Include="..\SQLite3Plugin\sqlite3ext.h" />
<ClInclude Include="..\jpeg-7\cderror.h" />
<ClInclude Include="..\jpeg-7\cdjpeg.h" />
<ClInclude Include="..\jpeg-7\jdct.h" />
<ClInclude Include="..\jpeg-7\jerror.h" />
<ClInclude Include="..\jpeg-7\jinclude.h" />
<ClInclude Include="..\jpeg-7\jmemsys.h" />
<ClInclude Include="..\jpeg-7\jmorecfg.h" />
<ClInclude Include="..\jpeg-7\jpegint.h" />
<ClInclude Include="..\jpeg-7\jpeglib.h" />
<ClInclude Include="..\jpeg-7\jversion.h" />
<ClInclude Include="..\jpeg-7\transupp.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,255 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Source Files\sqlite">
<UniqueIdentifier>{206d1888-fe4f-4d99-b03c-103110c65cc7}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\jpeg">
<UniqueIdentifier>{a0d9fe89-ec41-4c7c-93f9-3f86379343af}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\SQLite3Plugin\sqlite3.c">
<Filter>Source Files\sqlite</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\cdjpeg.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jaricom.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jcapimin.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jcapistd.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jcarith.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jccoefct.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jccolor.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jcdctmgr.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jchuff.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jcinit.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jcmainct.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jcmarker.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jcmaster.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jcomapi.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jcparam.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jcprepct.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jcsample.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jctrans.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jdapimin.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jdapistd.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jdarith.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jdatadst.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jdatasrc.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jdcoefct.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jdcolor.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jddctmgr.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jdhuff.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jdinput.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jdmainct.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jdmarker.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jdmaster.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jdmerge.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jdpostct.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jdsample.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jdtrans.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jerror.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jfdctflt.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jfdctfst.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jfdctint.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jidctflt.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jidctfst.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jidctint.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jmemansi.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jmemmgr.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jquant1.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jquant2.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\jutils.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\memsrc.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\rdbmp.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\rdcolmap.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\rdgif.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\rdppm.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\rdrle.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\rdswitch.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\rdtarga.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\transupp.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\wrbmp.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\wrgif.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\wrppm.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\wrrle.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
<ClCompile Include="..\jpeg-7\wrtarga.c">
<Filter>Source Files\jpeg</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\SQLite3Plugin\sqlite3.h">
<Filter>Source Files\sqlite</Filter>
</ClInclude>
<ClInclude Include="..\SQLite3Plugin\sqlite3ext.h">
<Filter>Source Files\sqlite</Filter>
</ClInclude>
<ClInclude Include="..\jpeg-7\cderror.h">
<Filter>Source Files\jpeg</Filter>
</ClInclude>
<ClInclude Include="..\jpeg-7\cdjpeg.h">
<Filter>Source Files\jpeg</Filter>
</ClInclude>
<ClInclude Include="..\jpeg-7\jdct.h">
<Filter>Source Files\jpeg</Filter>
</ClInclude>
<ClInclude Include="..\jpeg-7\jerror.h">
<Filter>Source Files\jpeg</Filter>
</ClInclude>
<ClInclude Include="..\jpeg-7\jinclude.h">
<Filter>Source Files\jpeg</Filter>
</ClInclude>
<ClInclude Include="..\jpeg-7\jmemsys.h">
<Filter>Source Files\jpeg</Filter>
</ClInclude>
<ClInclude Include="..\jpeg-7\jmorecfg.h">
<Filter>Source Files\jpeg</Filter>
</ClInclude>
<ClInclude Include="..\jpeg-7\jpegint.h">
<Filter>Source Files\jpeg</Filter>
</ClInclude>
<ClInclude Include="..\jpeg-7\jpeglib.h">
<Filter>Source Files\jpeg</Filter>
</ClInclude>
<ClInclude Include="..\jpeg-7\jversion.h">
<Filter>Source Files\jpeg</Filter>
</ClInclude>
<ClInclude Include="..\jpeg-7\transupp.h">
<Filter>Source Files\jpeg</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@ -0,0 +1,177 @@
/*
* Copyright (c) 2014, Oculus VR, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* RakNet License.txt file in the licenses directory of this source tree. An additional grant
* of patent rights can be found in the RakNet Patents.txt file in the same directory.
*
*/
#include "RakPeerInterface.h"
#include "RakSleep.h"
#include "RakThread.h"
#include "RakNetworkFactory.h"
#include <stdio.h>
#include "../SQLite3Plugin/ServerOnly/sqlite3.h"
#include "GetTime.h"
#include "RakString.h"
#include "jpeglib.h"
using namespace RakNet;
struct my_error_mgr {
struct jpeg_error_mgr pub; /* "public" fields */
};
METHODDEF(void) my_error_exit (j_common_ptr cinfo);
//
// to handle fatal errors.
// the original JPEG code will just exit(0). can't really
// do that in Windows....
//
METHODDEF(void) my_error_exit (j_common_ptr cinfo)
{
}
void main(void)
{
printf("Add images to SQLite database and read back to measure performance.\n");
// Create a database, and tell the plugin about it
sqlite3 *database;
// Here :memory: means create the database in memory only.
// Normally the first parameter refers to a path on the disk to the database file
if (sqlite3_open_v2("C:\\EchoChamber\\sqliteDb", &database, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, 0)!=SQLITE_OK)
return;
char *errorMsg;
sqlite3_exec(database, "CREATE TABLE Images (imageId_pk integer PRIMARY KEY, imageData bytea);", 0, 0, &errorMsg);
if (errorMsg)
{
printf(errorMsg);
sqlite3_free(errorMsg);
return;
}
printf("Opening image\n");
const char *imgPath1="c:\\temp\\img1.jpg";
const char *imgPath2="c:\\temp\\img2.jpg";
FILE *fp = fopen(imgPath1, "rb");
unsigned fileLength1;
fseek(fp, 0, SEEK_END);
fileLength1 = ftell(fp);
fseek(fp, 0, SEEK_SET);
char *fileBuff1 = (char *) malloc(fileLength1);
fread(fileBuff1, 1, fileLength1, fp);
fclose(fp);
fp = fopen(imgPath2, "rb");
unsigned fileLength2;
fseek(fp, 0, SEEK_END);
fileLength2 = ftell(fp);
fseek(fp, 0, SEEK_SET);
char *fileBuff2 = (char *) malloc(fileLength2);
fread(fileBuff2, 1, fileLength2, fp);
fclose(fp);
static const int numInsertions=100;
printf("Adding image to database %i times\n", numInsertions);
sqlite3_stmt *statement;
if (sqlite3_prepare_v2(
database,
"INSERT INTO Images (imageData) VALUES (?);",
-1,
&statement,
0
)!=SQLITE_OK)
return;
unsigned int i;
int rc;
for (i=0; i < numInsertions; i++)
{
if ((i&1)==0)
{
if (sqlite3_bind_blob(statement, 1, fileBuff1, fileLength1, 0)!=SQLITE_OK)
return;
}
else
{
if (sqlite3_bind_blob(statement, 1, fileBuff2, fileLength2, 0)!=SQLITE_OK)
return;
}
rc = sqlite3_step(statement);
if (rc!=SQLITE_DONE && rc!=SQLITE_OK)
return;
sqlite3_reset(statement);
}
sqlite3_finalize(statement);
// 4 animations 25 FPS = 100 images per second
if (sqlite3_prepare_v2(
database,
"SELECT imageData FROM Images;",
-1,
&statement,
0
)!=SQLITE_OK)
return;
// Execute first time
printf("Reading 100 images\n");
RakNetTimeMS startTime=RakNet::GetTimeMS();
rc = sqlite3_step(statement);
RakNetTimeMS endTime=RakNet::GetTimeMS();
printf("Statement execution took %i milliseconds\n", endTime-startTime);
printf("Processing row ");
unsigned int rowCount=1;
while (rc==SQLITE_ROW)
{
const void *readImageDataFromDb = sqlite3_column_blob(statement, 0);
int lengthOfImageData = sqlite3_column_bytes(statement, 0);
struct jpeg_decompress_struct cinfo;
struct my_error_mgr jerr;
cinfo.err = jpeg_std_error(&jerr.pub);
jerr.pub.error_exit = my_error_exit;
jpeg_create_decompress(&cinfo);
jpeg_memory_src(&cinfo, (const JOCTET *) readImageDataFromDb, lengthOfImageData);
(void) jpeg_read_header(&cinfo, TRUE);
JDIMENSION width = cinfo.image_width;
JDIMENSION height = cinfo.image_height;
jpeg_destroy_decompress(&cinfo);
printf("%i ", rowCount++);
rc = sqlite3_step(statement);
}
if (rc==SQLITE_ERROR)
return;
RakNetTimeMS endTime2=RakNet::GetTimeMS();
sqlite3_reset(statement);
printf("\n");
printf("Processing took %i milliseconds\n", endTime2-endTime);
printf("Total time is %i milliseconds\n", endTime2-startTime);
sqlite3_finalize(statement);
free(fileBuff1);
free(fileBuff2);
sqlite3_close(database);
printf("Press enter to quit\n");
char str[256];
gets(str);
return;
}