Home || Architecture || Video Search || Visual Search || Scripts || Applications || Important Messages || OGL || Src

void Impala::Core::IDash::VideoSetWrapper::CheckFrameSizes ( std::vector< Array::Array2dScalarUInt8 * > &  imList  )  [inline, private]

Definition at line 240 of file VideoSetWrapper.h.

References Impala::Core::Array::Array2dTem< StorT, elemSize, ArithT >::CH(), Impala::Core::Array::Array2dTem< StorT, elemSize, ArithT >::CPB(), Impala::Core::Array::Array2dTem< StorT, elemSize, ArithT >::CW(), ILOG_INFO, Impala::Core::Geometry::NEAREST, Impala::Core::Array::ReadImageFromMemory(), Impala::Core::Array::Scale(), and Impala::Core::Array::WritePngToMemory().

Referenced by Add().

00241     {
00242         int bufSize = 1000000;
00243         char* buf = new char[bufSize];
00244         for (int i=0 ; i<imList.size() ; i++)
00245         {
00246             Array::Array2dScalarUInt8* data = imList[i];
00247             Array::Array2dVec3UInt8* im = 0;
00248             Array::ReadImageFromMemory(im, (char*) data->CPB(), data->CW());
00249             const int maxWidth = 512;
00250             if (im->CW() > maxWidth)
00251             {
00252                 ILOG_INFO("imSize=" << im->CW() << "x" << im->CH() <<
00253                           ", adjusting");
00254                 double factor = 0.5;
00255                 while (factor * im->CW() > maxWidth)
00256                     factor *= 0.5;
00257                 Array::Array2dVec3UInt8* sc = 0;
00258                 Array::Scale(sc, im, factor, factor, Geometry::NEAREST, true);
00259 
00260                 size_t nrBytes = 0;
00261                 Array::WritePngToMemory(sc, buf, bufSize, &nrBytes);
00262                 Array::Array2dScalarUInt8* bufIm =
00263                     Array::MakeFromData<Array::Array2dScalarUInt8>((UInt8*) buf,
00264                                                                    nrBytes, 1);
00265                 delete data;
00266                 imList[i] = bufIm;
00267                 delete sc;
00268             }
00269             delete im;
00270         }
00271         delete buf;
00272     }

Here is the call graph for this function:


Generated on Fri Mar 19 11:13:15 2010 for ImpalaSrc by  doxygen 1.5.1