int dvr_thmb_dispPage(cdvr_thmb_t *pdvr, int page, char *disp_pData) { int s_idx = -1; int ret = -1; int i; SINT64 stime, etime; disp_thmb_t *pthmb = NULL; if(!pdvr) { return -1; } dvr_thmb_setDispThmbMode(pdvr); photo_uninit(pdvr->pPhotoInfo); //for jpeg->thmb->jpeg pdvr->pPhotoInfo = NULL; //pdvr->cur_page = page; s_idx = pdvr->disp_number*pdvr->cur_page; //pdvr->cur_idx = 0; for(i=0; i<pdvr->disp_number; i++) { pthmb = &pdvr->disp_thmb[i]; pdvr->pUrl = pthmb->url = FilelistGetFilePath(pdvr->pFile, s_idx); //printf("get thmb:%s\n", pdvr->pUrl); if(pthmb->url) { pdvr->fileType = pthmb->type = checkFileType(pthmb->url); pthmb->lock = FilelistGetLock(pdvr->pFile, s_idx); //printf("get lock %d\n", pthmb->lock); //printf("get %d %s type: %d thumbnail:\n", s_idx, pthmb->url, pthmb->type); stime = sysGetCurTime(); ret = -1; if(pthmb->type == GP_FILE_TYPE_VIDEO) { pthmb->bitmap.pData = disp_pData; ret = mcpQtffGetThumbnail(&pthmb->bitmap, pthmb->url); if(ret == -1) { printf("WARNNING: USING parse video thumbnail !\n"); ret = mcpGetThumbnail(&pthmb->bitmap, pthmb->url, 0); if(ret == -1) { printf("WARNNING: get video thumbnail error!!!!!!!\n"); } } } else if(pthmb->type == GP_FILE_TYPE_JPEG) { ret = load_imageThumbnail(pthmb->url, pdvr, pthmb, (UINT8 *)disp_pData); } etime = sysGetCurTime(); printf("thumbnail used time %lld - %lld = %lldms ret %d\n", etime, stime, etime - stime, ret); } s_idx++; if(s_idx == pdvr->file_number) { break; } } return 0; }
const CHR *AudioIO::detectSourceType(const CHR *const fileName, const bool verbose) { if (verbose) { PRINT_NFO(TXT("------- Audio I/O -------")); } uint8_t type = AUDIO_LIB_NULL; const bool bStdIn = (STRCASECMP(fileName, TXT("-")) == 0); if (bStdIn || PATH_ISREG(fileName)) { if (FILE *const file = bStdIn ? stdin : FOPEN(fileName, TXT("rb"))) { if (FD_ISREG(FILENO(file))) { for (size_t i = 0; g_audioIO_mapping[i].id; ++i) { if (verbose) { PRINT2_NFO(TXT("Trying input module ") FMT_CHR TXT("..."), g_audioIO_mapping[i].name); } if (checkFileType(g_audioIO_mapping[i].checkFileType, file)) { type = g_audioIO_mapping[i].id; if (verbose) { PRINT_NFO(TXT("succeeded.")); } break; } } } if (!bStdIn) { fclose(file); } } } if (verbose) { if(type == AUDIO_LIB_NULL) { PRINT_NFO(TXT("No suitable input module found -> falling back to default!")); } PRINT_NFO(TXT("------- Audio I/O -------\n")); } return getLibName(type); }
RAMPFILE* rampOpenFile(const char* filename){ int i=checkFileType(filename); if(i==0){ return NULL; } else { RAMPFILE* r=new RAMPFILE(); r->bs = new BasicSpectrum(); r->fileType=i; switch(i){ case 1: //mzML case 3: r->mzML=new mzpSAXMzmlHandler(r->bs); if(i==3)r->mzML->setGZCompression(true); else r->mzML->setGZCompression(false); if(!r->mzML->load(filename)){ delete r; return NULL; } else { return r; } case 2: //mzXML case 4: r->mzXML=new mzpSAXMzxmlHandler(r->bs); if(i==4) r->mzXML->setGZCompression(true); else r->mzXML->setGZCompression(false); if(!r->mzXML->load(filename)){ delete r; return NULL; } else { return r; } case 5: //mz5 r->mz5Config = new mzpMz5Config(); r->mz5=new mzpMz5Handler(r->mz5Config, r->bs); if(!r->mz5->readFile(filename)){ delete r; return NULL; } else { return r; } default: delete r; return NULL; } } }
cdvr_thmb_t *playback_init(int disp) { int file_num; HANDLE hDisp; gp_size_t resolution; if(DispBufManage.DispDev == C_DISP_BUFFER) { resolution.width = DispBufManage.Width; resolution.height = DispBufManage.Height; pixelSize.width = 16; pixelSize.height = 9; hDisp = NULL; } else { if (dispCreate(&hDisp, DISP_LAYER_PRIMARY) != SP_OK) { printf("dispCreate error\n"); return NULL; } dispGetResolution(hDisp, &resolution); dispGetPixelSize(hDisp, disp, &pixelSize); } //mcplayer open ExtGpVideoEngineOpen(disp, resolution.width, resolution.height, videoProcessCallbackMessge, get_idle_buffer, send_ready_buffer); cdvr_thmb_t *pdvr = dvr_thmb_init(resolution.width, resolution.height); if(!pdvr) { printf("%s:%d\n", __FUNCTION__, __LINE__); return NULL; } //init filelist pdvr->pFile = FilelistGetFileNum(pdvr, pdvr->pFile, 1); pdvr->hDisp = hDisp; dvr_thmb_setFileNumber(pdvr, pdvr->file_number, 1); printf("%s:%d, %d\n", __FUNCTION__, __LINE__, pdvr->disp_number); int s_idx = pdvr->disp_number*pdvr->cur_page; int i; disp_thmb_t *pthmb = NULL; for(i=0; i<pdvr->disp_number&&i<=pdvr->cur_pageNum; i++) { pthmb = &pdvr->disp_thmb[i]; pdvr->pUrl = pthmb->url = FilelistGetFilePath(pdvr->pFile, s_idx); printf("get thmb:%s\n", pdvr->pUrl); if(pthmb->url) { pdvr->fileType = pthmb->type = checkFileType(pthmb->url); pthmb->lock = FilelistGetLock(pdvr->pFile, s_idx); printf("get lock %d\n", pthmb->lock); //printf("get %d %s type: %d thumbnail:\n", s_idx, pthmb->url, pthmb->type); } s_idx++; if(s_idx == pdvr->file_number) { break; } } g_cdvr = pdvr; char buf[256]; for(i=0; i<pdvr->file_number; i++) { printf("%s\n", pdvr->pUrl = FilelistGetFilePath(pdvr->pFile, i)); memset(buf, 0, 256); dvr_thmb_getFileInfo(pdvr, buf); printf("%s\n", buf); } printf("%s:%d\n", __FUNCTION__, __LINE__); return pdvr; }
/** * jpeg file : need to updata pdvr->disp_bitmap to display; * video: need to call dispFlip(); **/ int dvr_thmb_dispFullScreen(cdvr_thmb_t *pdvr, char *disp_pData) { int ret = -1; SINT64 stime, etime; gp_bitmap_t *pbitmap= NULL; if(!pdvr) { return -1; } char *purl = NULL; int type = -1; dvr_thmb_setDispFullMode(pdvr); if(DispBufManage.DispDev == C_DISP_BUFFER) { pdvr->upFrame = (unsigned char *)get_idle_buffer(0); clean_buffer(pdvr->upFrame, 0); } else { pdvr->upFrame = (char *)dispGetFramebuffer(pdvr->hDisp); } pdvr->pUrl = FilelistGetFilePath(pdvr->pFile, dvr_thmb_getCurIdxOfFile(pdvr)); pdvr->fileType = checkFileType(pdvr->pUrl); printf("[%s:%d]curIdx %d curPage %d pageNum %d type %d\n", __FUNCTION__, __LINE__, pdvr->cur_idx, pdvr->cur_page, pdvr->cur_pageNum, pdvr->fileType); purl = pdvr->pUrl; type = pdvr->fileType; photo_uninit(pdvr->pPhotoInfo); //for jpeg->video->jpeg pdvr->pPhotoInfo = NULL; if(purl) { stime = sysGetCurTime(); ret = -1; if(type == GP_FILE_TYPE_VIDEO) { pbitmap= &pdvr->disp_bitmap; pbitmap->pData = (unsigned char*)pdvr->upFrame; ret = mcpGetThumbnail(pbitmap, purl, 0); } else if(type == GP_FILE_TYPE_JPEG) { pdvr->pPhotoInfo = photo_init(purl, &pdvr->disp_bitmap); if(pdvr->pPhotoInfo) { pdvr->pPhotoInfo->bitmap->pData = (unsigned char*)pdvr->upFrame; ret = image_scale(pdvr->pPhotoInfo); if(ret == -1) { } } } etime = sysGetCurTime(); printf("thumbnail used time %lld - %lld = %lldms ret %d\n", etime, stime, etime - stime, ret); if(ret == -1) { //dispCleanFramebuffer(pdvr->hDisp); if(DispBufManage.DispDev == C_DISP_BUFFER) { pdvr->upFrame = (unsigned char *)get_idle_buffer(0); clean_buffer(pdvr->upFrame, 0); } else { pdvr->upFrame = (char *)dispGetFramebuffer(pdvr->hDisp); dispCleanFramebuffer(pdvr->hDisp); } printf("WARNNING: get fulscreen error!!!!!!!\n"); } } dvr_thmb_dispFlip(pdvr); return ret; }
int C3dsTool::CheckOptions() { if (m_eAction == kActionNone) { printf("ERROR: nothing to do\n\n"); return 1; } if (m_eAction != kActionDiff && m_eAction != kActionSample && m_eAction != kActionHelp && m_pFileName == nullptr) { printf("ERROR: no --file option\n\n"); return 1; } if (m_eAction == kActionExtract) { if (!checkFileType()) { printf("ERROR: %s\n\n", m_pMessage); return 1; } switch (m_eFileType) { case kFileTypeCci: if (m_pHeaderFileName == nullptr) { bool bNull = true; for (int i = 0; i < 8; i++) { if (m_pNcchFileName[i] != nullptr) { bNull = false; break; } } if (bNull) { printf("ERROR: nothing to be extract\n\n"); return 1; } } break; case kFileTypeCxi: if (m_pHeaderFileName == nullptr && m_pExtendedHeaderFileName == nullptr && m_pLogoRegionFileName == nullptr && m_pPlainRegionFileName == nullptr && m_pExeFsFileName == nullptr && m_pRomFsFileName == nullptr) { printf("ERROR: nothing to be extract\n\n"); return 1; } break; case kFileTypeCfa: if (m_pHeaderFileName == nullptr && m_pRomFsFileName == nullptr) { printf("ERROR: nothing to be extract\n\n"); return 1; } break; case kFileTypeExeFs: if (m_pHeaderFileName == nullptr && m_pExeFsDirName == nullptr) { printf("ERROR: nothing to be extract\n\n"); return 1; } break; case kFileTypeRomFs: if (m_pRomFsDirName == nullptr) { printf("ERROR: no --romfs-dir option\n\n"); return 1; } break; case kFileTypeBanner: if (m_pBannerDirName == nullptr) { printf("ERROR: no --banner-dir option\n\n"); return 1; } break; default: break; } } if (m_eAction == kActionCreate) { if (m_eFileType == kFileTypeUnknown) { printf("ERROR: no --type option\n\n"); return 1; } else { if (m_eFileType == kFileTypeCci || m_eFileType == kFileTypeCxi || m_eFileType == kFileTypeCfa || m_eFileType == kFileTypeExeFs) { if (m_pHeaderFileName == nullptr) { printf("ERROR: no --header option\n\n"); return 1; } } if (m_eFileType == kFileTypeCci) { if (m_pNcchFileName[0] == nullptr) { printf("ERROR: no --partition0 option\n\n"); return 1; } } else if (m_eFileType == kFileTypeCxi) { if (m_pExtendedHeaderFileName == nullptr || m_pExeFsFileName == nullptr) { printf("ERROR: no --extendedheader or --exefs option\n\n"); return 1; } } else if (m_eFileType == kFileTypeCfa) { if (m_pRomFsFileName == nullptr) { printf("ERROR: no --romfs option\n\n"); return 1; } } else if (m_eFileType == kFileTypeExeFs) { if (m_pExeFsDirName == nullptr) { printf("ERROR: no --exefs-dir option\n\n"); return 1; } } else if (m_eFileType == kFileTypeRomFs) { if (m_pRomFsDirName == nullptr) { printf("ERROR: no --romfs-dir option\n\n"); return 1; } } else if (m_eFileType == kFileTypeBanner) { if (m_pBannerDirName == nullptr) { printf("ERROR: no --banner-dir option\n\n"); return 1; } } } } if (m_eAction == kActionEncrypt) { if (m_nEncryptMode == CNcch::kEncryptModeNone) { printf("ERROR: no key or xor data file\n\n"); return 1; } else if (m_nEncryptMode == CNcch::kEncryptModeXor) { if (m_pExtendedHeaderXorFileName != nullptr || m_pExeFsXorFileName != nullptr || m_pRomFsXorFileName != nullptr) { if (m_pXorFileName != nullptr) { printf("ERROR: --xor can not with --extendedheader-xor or --exefs-xor or --romfs-xor\n\n"); return 1; } if (CNcch::IsCxiFile(m_pFileName)) { if (m_eFileType != kFileTypeUnknown && m_eFileType != kFileTypeCxi && m_bVerbose) { printf("INFO: ignore --type option\n"); } } else if (CNcch::IsCfaFile(m_pFileName)) { if (m_pRomFsXorFileName == nullptr) { printf("ERROR: no --romfs-xor option\n\n"); return 1; } if (m_eFileType != kFileTypeUnknown && m_eFileType != kFileTypeCfa && m_bVerbose) { printf("INFO: ignore --type option\n"); } } else { printf("ERROR: %s is not a ncch file\n\n", m_pFileName); return 1; } } } } if (m_eAction == kActionUncompress || m_eAction == kActionCompress) { if (m_eCompressType == kCompressTypeNone) { printf("ERROR: no --compress-type option\n\n"); return 1; } if (m_pCompressOutFileName == nullptr) { m_pCompressOutFileName = m_pFileName; } } if (m_eAction == kActionTrim || m_eAction == kActionPad) { if (!CNcsd::IsNcsdFile(m_pFileName)) { printf("ERROR: %s is not a ncsd file\n\n", m_pFileName); return 1; } else if (m_eFileType != kFileTypeUnknown && m_eFileType != kFileTypeCci && m_bVerbose) { printf("INFO: ignore --type option\n"); } } if (m_eAction == kActionDiff) { if (m_pOldFileName == nullptr) { printf("ERROR: no --old option\n\n"); return 1; } if (m_pNewFileName == nullptr) { printf("ERROR: no --new option\n\n"); return 1; } if (m_pPatchFileName == nullptr) { printf("ERROR: no --patch-file option\n\n"); return 1; } } if (m_eAction == kActionPatch) { if (m_pPatchFileName == nullptr) { printf("ERROR: no --patch-file option\n\n"); return 1; } } return 0; }