QStringList QMediaPluginLoader::availablePlugins() const { QStringList paths; QStringList plugins; #if defined(Q_OS_SYMBIAN) DirChecker dirChecker; #endif #if defined(Q_OS_MAC) QString imageSuffix(qgetenv("DYLD_IMAGE_SUFFIX")); // Bundle plugin directory CFBundleRef mainBundle = CFBundleGetMainBundle(); if (mainBundle != 0) { CFURLRef baseUrl = CFBundleCopyBundleURL(mainBundle); CFURLRef pluginUrlPart = CFBundleCopyBuiltInPlugInsURL(mainBundle); CFStringRef pluginPathPart = CFURLCopyFileSystemPath(pluginUrlPart, kCFURLPOSIXPathStyle); CFURLRef pluginUrl = CFURLCreateCopyAppendingPathComponent(0, baseUrl, pluginPathPart, true); CFStringRef pluginPath = CFURLCopyFileSystemPath(pluginUrl, kCFURLPOSIXPathStyle); CFIndex length = CFStringGetLength(pluginPath); UniChar buffer[length]; CFStringGetCharacters(pluginPath, CFRangeMake(0, length), buffer); paths << QString(reinterpret_cast<const QChar *>(buffer), length); CFRelease(pluginPath); CFRelease(pluginUrl); CFRelease(pluginPathPart); CFRelease(pluginUrlPart); CFRelease(baseUrl); } #endif #ifdef QTM_PLUGIN_PATH // Mobility's plugin directory paths << QLatin1String(QTM_PLUGIN_PATH); #endif // Qt paths paths << QCoreApplication::libraryPaths(); foreach (const QString &path, paths) { QDir typeDir(path + m_location); #if defined(Q_OS_SYMBIAN) if (dirChecker.checkDir(typeDir)) #endif { foreach (const QString &file, typeDir.entryList(QDir::Files)) { #if defined(Q_OS_MAC) if (!imageSuffix.isEmpty()) { // Only add appropriate images if (file.lastIndexOf(imageSuffix, -6) == -1) continue; } else { // Ignore any images with common suffixes if (file.endsWith(QLatin1String("_debug.dylib")) || file.endsWith(QLatin1String("_profile.dylib"))) continue; } #elif defined(Q_OS_UNIX) // Ignore separate debug files if (file.endsWith(QLatin1String(".debug"))) continue; #elif defined(Q_OS_WIN) // Ignore non-dlls if (!file.endsWith(QLatin1String(".dll"), Qt::CaseInsensitive)) continue; #endif plugins << typeDir.absoluteFilePath(file); } }
void convertImages(Arguments* args){ char** mask = NULL; TwoPoints source, dest; FILE* eyeList; char line[ FILE_LINE_LENGTH ]; char filename[MAX_FILENAME_LENGTH]; char imagename[MAX_FILENAME_LENGTH]; char suffix[MAX_FILENAME_LENGTH]; int i; scaleArgs(args, args->scale); dest.x1 = args->eyeLx; dest.y1 = args->eyeLy; dest.x2 = args->eyeRx; dest.y2 = args->eyeRy; /* Prepare file suffix encoding preprocessing settings, blank if not requested */ if (args->configSuffix) { sprintf(suffix,"_%s", imageSuffix(args)); } else { suffix[0] = '\0'; } if(args->maskType == CL_YES){ MESSAGE("Creating Mask."); mask = generateMask(args->sizeWidth, args->sizeHeight, args->ellipseX, args->ellipseY, args->ellipseA, args->ellipseB); } eyeList = fopen(args->eyeFile,"r"); DEBUG_CHECK(eyeList,"Error opening eye coordinates file"); for(i = 1;;i++){ Image pgm; Image geo; Matrix transform; fgets(line, FILE_LINE_LENGTH, eyeList); if(feof(eyeList)) break; if(sscanf(line,"%s %lf %lf %lf %lf",filename, &(source.x1), &(source.y1), &(source.x2), &(source.y2)) != 5){ printf("Error parsing line %d of eye coordinate file. Exiting...",i); exit(1); } /* shift the eye coordinates if neccessary */ source.x1 += args->shiftX; source.y1 += args->shiftY; source.x2 += args->shiftX; source.y2 += args->shiftY; sprintf(imagename,"%s\\%s.pgm",args->inputDir,filename); MESSAGE1ARG("Processing image: %s",filename); pgm = readPGMImage(imagename); if(args->histType == HIST_PRE){ DEBUG(1," Performing Pre Histogram Equalization."); histEqual(pgm,256); } if(args->preNormType == CL_YES){ DEBUG(1," Performing Pre Pixel Normalization."); ZeroMeanOneStdDev(pgm); } if(args->preEdge){ smoothImageEdge(pgm, args->preEdge); } if(args->geoType == CL_YES){ DEBUG(1," Performing Geometric Normalization."); transform = generateTransform(&source,&dest,args->reflect); geo = transformImage(pgm,args->sizeWidth,args->sizeHeight,transform); } else{ transform = makeIdentityMatrix(3); geo = transformImage(pgm,args->sizeWidth,args->sizeHeight,transform); } if(args->noise != 0.0){ DEBUG(1," Adding Gausian Noise."); gaussianNoise(geo,args->noise); } if(args->histType == HIST_POST){ DEBUG(1," Performing Post Histogram Equalization."); histEqualMask(geo,256, (const char**) mask); } if(args->nrmType == CL_YES){ DEBUG(1," Performing final value normalization and Applying Mask."); ZeroMeanOneStdDevMasked(geo, (const char **) mask); } else{ DEBUG(1," No Value Normalization. Just Applying Mask."); applyMask(geo, (const char **) mask); } if(args->postEdge){ smoothImageEdge(geo, args->postEdge); } if(args->nrmDir){ sprintf(imagename,"%s\\%s%s.nrm", args->nrmDir, filename, suffix); DEBUG_STRING(1," Saving nrm: %s",imagename); writeFeretImage(geo,imagename); } if(args->pgmDir){ sprintf(imagename,"%s\\%s%s.pgm", args->pgmDir, filename, suffix); DEBUG_STRING(1," Saving pgm: %s",imagename); writePGMImage(geo,imagename,0); } if(args->sfiDir){ sprintf(imagename,"%s\\%s%s.sfi", args->sfiDir, filename, suffix); DEBUG_STRING(1," Saving sfi: %s",imagename); writeRawImage(geo,imagename); } freeImage(geo); freeImage(pgm); freeMatrix(transform); } fclose(eyeList); }