mirror of https://github.com/AlexeyAB/darknet.git
Supported OpenCV 3.0 and 2.4.13. Supported Windows and Linux.
This commit is contained in:
parent
eb45500f33
commit
815e7a127b
|
@ -88,14 +88,14 @@
|
|||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>C:\opencv_2.4.9\opencv\build\include;..\..\3rdparty\include;%(AdditionalIncludeDirectories);$(CudaToolkitIncludeDir);$(cudnn)\include</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_MBCS;OPENCV;_TIMESPEC_DEFINED;_CRT_SECURE_NO_WARNINGS;GPU;WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>C:\opencv_3.0\opencv\build\include;..\..\3rdparty\include;%(AdditionalIncludeDirectories);$(CudaToolkitIncludeDir);$(cudnn)\include</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_MBCS;OPENCV;_TIMESPEC_DEFINED;_CRT_SECURE_NO_WARNINGS;_CRT_RAND_S;GPU;WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<UndefinePreprocessorDefinitions>CUDNN</UndefinePreprocessorDefinitions>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>C:\opencv_2.4.9\opencv\build\x64\vc14\lib;C:\opencv_2.4.9\opencv\build\x64\vc12\lib;$(CUDA_PATH)lib\$(PlatformName);$(cudnn)\lib\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalLibraryDirectories>C:\opencv_3.0\opencv\build\x64\vc14\lib;C:\opencv_2.4.13\opencv\build\x64\vc12\lib;C:\opencv_2.4.13\opencv\build\x64\vc14\lib;$(CUDA_PATH)lib\$(PlatformName);$(cudnn)\lib\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<OutputFile>$(OutDir)\$(TargetName)$(TargetExt)</OutputFile>
|
||||
<AdditionalDependencies>..\..\3rdparty\lib\x64\pthreadVC2.lib;cublas.lib;curand.lib;cudart.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AssemblyDebug>true</AssemblyDebug>
|
||||
|
@ -131,8 +131,8 @@
|
|||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>C:\opencv_2.4.9\opencv\build\include;..\..\3rdparty\include;%(AdditionalIncludeDirectories);$(CudaToolkitIncludeDir);$(cudnn)\include</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>CUDNN;OPENCV;_TIMESPEC_DEFINED;_CRT_SECURE_NO_WARNINGS;GPU;WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>C:\opencv_3.0\opencv\build\include;..\..\3rdparty\include;%(AdditionalIncludeDirectories);$(CudaToolkitIncludeDir);$(cudnn)\include</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>CUDNN;OPENCV;_TIMESPEC_DEFINED;_CRT_SECURE_NO_WARNINGS;_CRT_RAND_S;GPU;WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<CLanguageStandard>c11</CLanguageStandard>
|
||||
<CppLanguageStandard>c++1y</CppLanguageStandard>
|
||||
<PrecompiledHeaderCompileAs>CompileAsCpp</PrecompiledHeaderCompileAs>
|
||||
|
@ -145,7 +145,7 @@
|
|||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalLibraryDirectories>C:\opencv_2.4.9\opencv\build\x64\vc14\lib;C:\opencv_2.4.9\opencv\build\x64\vc12\lib;$(CUDA_PATH)lib\$(PlatformName);$(cudnn)\lib\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalLibraryDirectories>C:\opencv_3.0\opencv\build\x64\vc14\lib;C:\opencv_2.4.13\opencv\build\x64\vc12\lib;C:\opencv_2.4.13\opencv\build\x64\vc14\lib;$(CUDA_PATH)lib\$(PlatformName);$(cudnn)\lib\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>..\..\3rdparty\lib\x64\pthreadVC2.lib;cublas.lib;curand.lib;cudart.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)\$(TargetName)$(TargetExt)</OutputFile>
|
||||
</Link>
|
||||
|
|
|
@ -86,14 +86,14 @@
|
|||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>C:\opencv_2.4.9\opencv\build\include;..\..\3rdparty\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_MBCS;OPENCV;_TIMESPEC_DEFINED;_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>C:\opencv_3.0\opencv\build\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_MBCS;OPENCV;_TIMESPEC_DEFINED;_CRT_SECURE_NO_WARNINGS;_CRT_RAND_S;WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<UndefinePreprocessorDefinitions>CUDNN</UndefinePreprocessorDefinitions>
|
||||
<OpenMPSupport>true</OpenMPSupport>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>C:\opencv_2.4.9\opencv\build\x64\vc12\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalLibraryDirectories>C:\opencv_3.0\opencv\build\x64\vc14\lib;C:\opencv_2.4.13\opencv\build\x64\vc12\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<OutputFile>$(OutDir)\$(TargetName)$(TargetExt)</OutputFile>
|
||||
<AdditionalDependencies>..\..\3rdparty\lib\x64\pthreadVC2.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
|
@ -127,8 +127,8 @@
|
|||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>C:\opencv_2.4.9\opencv\build\include;..\..\3rdparty\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>OPENCV;_TIMESPEC_DEFINED;_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>C:\opencv_3.0\opencv\build\include;..\..\3rdparty\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>OPENCV;_TIMESPEC_DEFINED;_CRT_SECURE_NO_WARNINGS;_CRT_RAND_S;WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<CLanguageStandard>c11</CLanguageStandard>
|
||||
<CppLanguageStandard>c++1y</CppLanguageStandard>
|
||||
<PrecompiledHeaderCompileAs>CompileAsCpp</PrecompiledHeaderCompileAs>
|
||||
|
@ -140,7 +140,7 @@
|
|||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalLibraryDirectories>C:\opencv_2.4.9\opencv\build\x64\vc12\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalLibraryDirectories>C:\opencv_3.0\opencv\build\x64\vc14\lib;C:\opencv_2.4.13\opencv\build\x64\vc12\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>..\..\3rdparty\lib\x64\pthreadVC2.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)\$(TargetName)$(TargetExt)</OutputFile>
|
||||
</Link>
|
||||
|
|
|
@ -87,11 +87,12 @@
|
|||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>C:\opencv_2.4.9\opencv\build\include</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>C:\opencv_3.0\opencv\build\include</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalLibraryDirectories>C:\opencv_2.4.9\opencv\build\x64\vc12\lib</AdditionalLibraryDirectories>
|
||||
<AdditionalLibraryDirectories>C:\opencv_3.0\opencv\build\x64\vc14\lib;C:\opencv_2.4.13\opencv\build\x64\vc12\lib</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
|
@ -114,12 +115,13 @@
|
|||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>C:\opencv_2.4.9\opencv\build\include</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>C:\opencv_3.0\opencv\build\include</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalLibraryDirectories>C:\opencv_2.4.9\opencv\build\x64\vc12\lib</AdditionalLibraryDirectories>
|
||||
<AdditionalLibraryDirectories>C:\opencv_3.0\opencv\build\x64\vc14\lib;C:\opencv_2.4.13\opencv\build\x64\vc12\lib</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
|
|
10
src/art.c
10
src/art.c
|
@ -4,13 +4,21 @@
|
|||
#include "option_list.h"
|
||||
#include "blas.h"
|
||||
#include "classifier.h"
|
||||
//#include <sys/time.h>
|
||||
#ifdef WIN32
|
||||
#include <time.h>
|
||||
#include <winsock.h>
|
||||
#include "gettimeofday.h"
|
||||
#else
|
||||
#include <sys/time.h>
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef OPENCV
|
||||
#include "opencv2/highgui/highgui_c.h"
|
||||
#include "opencv2/core/version.hpp"
|
||||
#ifndef CV_VERSION_EPOCH
|
||||
#include "opencv2/videoio/videoio_c.h"
|
||||
#endif
|
||||
image get_image_from_stream(CvCapture *cap);
|
||||
#endif
|
||||
|
||||
|
|
|
@ -6,13 +6,20 @@
|
|||
#include "assert.h"
|
||||
#include "classifier.h"
|
||||
#include "cuda.h"
|
||||
//#include <sys/time.h>
|
||||
#ifdef WIN32
|
||||
#include <time.h>
|
||||
#include <winsock.h>
|
||||
#include "gettimeofday.h"
|
||||
#else
|
||||
#include <sys/time.h>
|
||||
#endif
|
||||
|
||||
#ifdef OPENCV
|
||||
#include "opencv2/highgui/highgui_c.h"
|
||||
#include "opencv2/core/version.hpp"
|
||||
#ifndef CV_VERSION_EPOCH
|
||||
#include "opencv2/videoio/videoio_c.h"
|
||||
#endif
|
||||
image get_image_from_stream(CvCapture *cap);
|
||||
#endif
|
||||
|
||||
|
|
|
@ -42,7 +42,11 @@ char **get_random_paths_indexes(char **paths, int n, int m, int *indexes)
|
|||
inline unsigned int random_gen()
|
||||
{
|
||||
unsigned int Num = 0;
|
||||
#ifdef WIN32
|
||||
rand_s(&Num);
|
||||
#else
|
||||
Num = rand();
|
||||
#endif
|
||||
return Num;
|
||||
}
|
||||
|
||||
|
@ -723,7 +727,7 @@ data load_data_detection(int n, char **paths, int m, int w, int h, int boxes, in
|
|||
|
||||
void *load_thread(void *ptr)
|
||||
{
|
||||
srand(time(0));
|
||||
//srand(time(0));
|
||||
//printf("Loading data: %d\n", random_gen());
|
||||
load_args a = *(struct load_args*)ptr;
|
||||
if(a.exposure == 0) a.exposure = 1;
|
||||
|
@ -767,7 +771,7 @@ pthread_t load_data_in_thread(load_args args)
|
|||
|
||||
void *load_threads(void *ptr)
|
||||
{
|
||||
srand(time(0));
|
||||
//srand(time(0));
|
||||
int i;
|
||||
load_args args = *(load_args *)ptr;
|
||||
if (args.threads == 0) args.threads = 1;
|
||||
|
|
|
@ -7,16 +7,23 @@
|
|||
#include "box.h"
|
||||
#include "image.h"
|
||||
#include "demo.h"
|
||||
//#include <sys/time.h>
|
||||
#ifdef WIN32
|
||||
#include <time.h>
|
||||
#include <winsock.h>
|
||||
#include "gettimeofday.h"
|
||||
#else
|
||||
#include <sys/time.h>
|
||||
#endif
|
||||
|
||||
#define FRAMES 3
|
||||
|
||||
#ifdef OPENCV
|
||||
#include "opencv2/highgui/highgui_c.h"
|
||||
#include "opencv2/imgproc/imgproc_c.h"
|
||||
#include "opencv2/core/version.hpp"
|
||||
#ifndef CV_VERSION_EPOCH
|
||||
#include "opencv2/videoio/videoio_c.h"
|
||||
#endif
|
||||
image get_image_from_stream(CvCapture *cap);
|
||||
|
||||
static char **demo_names;
|
||||
|
|
|
@ -9,6 +9,16 @@
|
|||
|
||||
#ifdef OPENCV
|
||||
#include "opencv2/highgui/highgui_c.h"
|
||||
#include "opencv2/core/core_c.h"
|
||||
#include "opencv2/core/version.hpp"
|
||||
#ifndef CV_VERSION_EPOCH
|
||||
#include "opencv2/videoio/videoio_c.h"
|
||||
#pragma comment(lib, "opencv_world320.lib")
|
||||
#else
|
||||
#pragma comment(lib, "opencv_core2413.lib")
|
||||
#pragma comment(lib, "opencv_imgproc2413.lib")
|
||||
#pragma comment(lib, "opencv_highgui2413.lib")
|
||||
#endif
|
||||
#endif
|
||||
static int coco_ids[] = {1,2,3,4,5,6,7,8,9,10,11,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,31,32,33,34,35,36,37,38,39,40,41,42,43,44,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,67,70,72,73,74,75,76,77,78,79,80,81,82,84,85,86,87,88,89,90};
|
||||
|
||||
|
|
|
@ -13,6 +13,10 @@
|
|||
#ifdef OPENCV
|
||||
#include "opencv2/highgui/highgui_c.h"
|
||||
#include "opencv2/imgproc/imgproc_c.h"
|
||||
#include "opencv2/core/version.hpp"
|
||||
#ifndef CV_VERSION_EPOCH
|
||||
#include "opencv2/videoio/videoio_c.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -291,7 +295,7 @@ void draw_detections_cv(IplImage* show_img, int num, float thresh, box *boxes, f
|
|||
CvScalar black_color;
|
||||
black_color.val[0] = 0;
|
||||
CvFont font;
|
||||
cvInitFont(&font, CV_FONT_HERSHEY_COMPLEX, font_size, font_size, 0, font_size*3, 8);
|
||||
cvInitFont(&font, CV_FONT_HERSHEY_SIMPLEX, font_size, font_size, 0, font_size * 3, 8);
|
||||
cvPutText(show_img, names[class], pt_text, &font, black_color);
|
||||
}
|
||||
}
|
||||
|
@ -535,12 +539,10 @@ void show_image_cv_ipl(IplImage *disp, const char *name)
|
|||
static CvVideoWriter* output_video = NULL; // cv::VideoWriter output_video;
|
||||
if (output_video == NULL)
|
||||
{
|
||||
//printf("\n SRC output_video = %p \n", output_video);
|
||||
const char* output_name = "test_dnn_out.avi";
|
||||
//output_video = cvCreateVideoWriter(output_name, CV_FOURCC('H', '2', '6', '4'), 25, size, 1);
|
||||
output_video = cvCreateVideoWriter(output_name, CV_FOURCC('D', 'I', 'V', 'X'), 25, size, 1);
|
||||
//output_video = cvCreateVideoWriter(output_name, CV_FOURCC('M', 'J', 'P', 'G'), 25, size, 1);
|
||||
//printf("\n cvCreateVideoWriter, DST output_video = %p \n", output_video);
|
||||
}
|
||||
|
||||
cvWriteFrame(output_video, disp); // comment this line to improve FPS !!!
|
||||
|
|
|
@ -6,6 +6,10 @@
|
|||
|
||||
#ifdef OPENCV
|
||||
#include "opencv2/highgui/highgui_c.h"
|
||||
#include "opencv2/core/version.hpp"
|
||||
#ifndef CV_VERSION_EPOCH
|
||||
#include "opencv2/videoio/videoio_c.h"
|
||||
#endif
|
||||
image get_image_from_stream(CvCapture *cap);
|
||||
image ipl_to_image(IplImage* src);
|
||||
|
||||
|
|
|
@ -6,8 +6,11 @@
|
|||
#include "unistd.h"
|
||||
#include <float.h>
|
||||
#include <limits.h>
|
||||
|
||||
#ifdef WIN32
|
||||
#include "utils.h"
|
||||
#else
|
||||
#include <utils.h>
|
||||
#endif
|
||||
|
||||
#pragma warning(disable: 4996)
|
||||
|
||||
|
|
|
@ -5,6 +5,10 @@
|
|||
|
||||
#ifdef OPENCV
|
||||
#include "opencv2/highgui/highgui_c.h"
|
||||
#include "opencv2/core/version.hpp"
|
||||
#ifndef CV_VERSION_EPOCH
|
||||
#include "opencv2/videoio/videoio_c.h"
|
||||
#endif
|
||||
image get_image_from_stream(CvCapture *cap);
|
||||
#endif
|
||||
|
||||
|
|
12
src/yolo.c
12
src/yolo.c
|
@ -7,14 +7,12 @@
|
|||
#include "demo.h"
|
||||
|
||||
#ifdef OPENCV
|
||||
#pragma comment(lib, "opencv_core249.lib")
|
||||
#pragma comment(lib, "opencv_imgproc249.lib")
|
||||
#pragma comment(lib, "opencv_highgui249.lib")
|
||||
//#pragma comment(lib, "opencv_gpu249.lib")
|
||||
//#pragma comment(lib, "opencv_photo249.lib")
|
||||
//#pragma comment(lib, "opencv_video249.lib")
|
||||
|
||||
#include "opencv2/highgui/highgui_c.h"
|
||||
#include "opencv2/imgproc/imgproc_c.h"
|
||||
#include "opencv2/core/version.hpp"
|
||||
#ifndef CV_VERSION_EPOCH
|
||||
#include "opencv2/videoio/videoio_c.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
char *voc_names[] = {"aeroplane", "bicycle", "bird", "boat", "bottle", "bus", "car", "cat", "chair", "cow", "diningtable", "dog", "horse", "motorbike", "person", "pottedplant", "sheep", "sofa", "train", "tvmonitor"};
|
||||
|
|
|
@ -9,12 +9,19 @@
|
|||
|
||||
#include "yolo_v2_class.hpp" // imported functions from DLL
|
||||
|
||||
|
||||
#ifdef OPENCV
|
||||
#include <opencv2/opencv.hpp> // C++
|
||||
#pragma comment(lib, "opencv_core249.lib")
|
||||
#pragma comment(lib, "opencv_imgproc249.lib")
|
||||
#pragma comment(lib, "opencv_highgui249.lib")
|
||||
#include "opencv2/core/version.hpp"
|
||||
#ifndef CV_VERSION_EPOCH
|
||||
#include "opencv2/videoio/videoio.hpp"
|
||||
#pragma comment(lib, "opencv_world320.lib")
|
||||
#else
|
||||
#pragma comment(lib, "opencv_core2413.lib")
|
||||
#pragma comment(lib, "opencv_imgproc2413.lib")
|
||||
#pragma comment(lib, "opencv_highgui2413.lib")
|
||||
#endif
|
||||
|
||||
|
||||
void draw_boxes(cv::Mat mat_img, std::vector<bbox_t> result_vec, std::vector<std::string> obj_names, unsigned int wait_msec = 0) {
|
||||
for (auto &i : result_vec) {
|
||||
cv::Scalar color(60, 160, 260);
|
||||
|
|
Loading…
Reference in New Issue