void Globalization::dateToString(int scId, int ecId, const QVariantMap &options) { time_t time = options.find("time_t")->toLongLong() / 1000; Globalization::Format formatLength = static_cast<Globalization::Format>(options.find("formatLength")->toInt()); Globalization::Selector selector = static_cast<Globalization::Selector>(options.find("selector")->toInt()); QLocale::FormatType format = translateFormat(formatLength); if (time < 0) { this->callback(ecId, QString("new GlobalizationError(%1, 'unsupported operation');").arg(Globalization::FORMATTING_ERROR)); return; } QLocale locale; QString res; QDateTime dateTime = QDateTime::fromTime_t((uint)time); switch (selector) { case SELECTOR_ALL: res = locale.toString(dateTime,format); break; case SELECTOR_TIME: res = locale.toString(dateTime.time(), format); break; case SELECTOR_DATE: res = locale.toString(dateTime.date(), format); break; } QVariantMap obj; obj.insert("value", res); this->cb(scId, obj); }
void Globalization::stringToDate(int scId, int ecId, const QVariantMap &options) { QString dateString = options.find("dateString")->toString(); Globalization::Format formatLength = static_cast<Globalization::Format>(options.find("formatLength")->toInt()); Globalization::Selector selector = static_cast<Globalization::Selector>(options.find("selector")->toInt()); QLocale::FormatType format = translateFormat(formatLength); QLocale locale; bool valid(true); int year(0), month(0), day(0), hour(0), minute(0), second(0), millisecond(0); switch (selector) { case SELECTOR_ALL: { QDateTime dateTime = locale.toDateTime(dateString, format); valid = dateTime.isValid(); QTime time = dateTime.time(); hour = time.hour(); minute = time.minute(); second = time.second(); millisecond = time.msec(); QDate date = dateTime.date(); year = date.year(); month = date.month(); day = date.day(); } break; case SELECTOR_TIME: { QTime time = locale.toTime(dateString, format); valid = time.isValid(); hour = time.hour(); minute = time.minute(); second = time.second(); millisecond = time.msec(); } break; case SELECTOR_DATE: { QDate date = locale.toDate(dateString, format); valid = date.isValid(); year = date.year(); month = date.month(); day = date.day(); } break; } if ((format == QLocale::NarrowFormat || format == QLocale::ShortFormat) && year < 2000 && year > 1900) { year += 100; } if (!valid) { this->callback(ecId, QString("new GlobalizationError(%1, 'parsing error')").arg(Globalization::PARSING_ERROR)); } else { QVariantMap obj; obj.insert("year", year); obj.insert("month", month - 1); obj.insert("day", day); obj.insert("hour", hour); obj.insert("minute", minute); obj.insert("second", second); obj.insert("millisecond", millisecond); this->cb(scId, obj); } }
/*============================================================================== * Function : configureThumbnailData * Parameters: None * Return Value : OMX_ERRORTYPE * Description: Configure the encode parameters for thumbnail ==============================================================================*/ OMX_ERRORTYPE OMXJpegEncoder::configureThumbnailData() { OMX_ERRORTYPE lret = OMX_ErrorNone; QICrop l_crop; uint32_t l_imageSize; //Start configuration only if the abort flag is not set m_inputTmbSize.setHeight((int)m_inTmbPort->format.image.nFrameHeight); m_inputTmbSize.setWidth((int)m_inTmbPort->format.image.nFrameWidth); m_inputTmbPadSize.setHeight((int)m_inTmbPort->format.image.nSliceHeight); m_inputTmbPadSize.setWidth((int)m_inTmbPort->format.image.nStride); QIDBG_HIGH("%s:%d] size %dx%d pad %dx%d subsampling %d", __func__, __LINE__, m_inputTmbSize.Width(), m_inputTmbSize.Height(), m_inputTmbPadSize.Width(), m_inputTmbPadSize.Height(), m_subsampling); m_thumbEncodeParams.setNumOfComponents(m_numOfComponents); //Set Crop Info if cropping is enabled if ((m_thumbnailInfo.crop_info.nWidth) != 0 && (m_thumbnailInfo.crop_info.nHeight != 0) ) { l_crop.setCrop((int)m_thumbnailInfo.crop_info.nLeft, (int)m_thumbnailInfo.crop_info.nTop, (int)(m_thumbnailInfo.crop_info.nLeft + m_thumbnailInfo.crop_info.nWidth), (int)(m_thumbnailInfo.crop_info.nTop + m_thumbnailInfo.crop_info.nHeight)); m_thumbEncodeParams.setCrop(l_crop); } //Translate from OMX format to QIformat lret = translateFormat(m_inTmbPort->format.image.eColorFormat, &m_thumbFormat, &m_thumbSubsampling); if (lret != OMX_ErrorNone) { return lret; } /*Set output size if scale is enabled set the output size to be size after scaling*/ if ((m_thumbnailInfo.output_width != 0) && (m_thumbnailInfo.output_height != 0)) { m_outputSize[1].setWidth((int)m_thumbnailInfo.output_width); m_outputSize[1].setHeight((int)m_thumbnailInfo.output_height); QIDBG_HIGH("%s:%d] Thumbnail Scaling enabled o/p width: %d o/p height:%d", __func__, __LINE__, m_outputSize[1].Width(), m_outputSize[1].Height()); } else { m_outputSize[1].setWidth((int)m_inTmbPort->format.image.nFrameWidth); m_outputSize[1].setHeight((int)m_inTmbPort->format.image.nFrameHeight); QIDBG_HIGH("%s:%d] Thumbnail Scaling not enabled width: %d height:%d", __func__, __LINE__, m_outputSize[1].Width(), m_outputSize[1].Height()); } m_thumbEncodeParams.setOutputSize(m_outputSize[1]); m_thumbEncodeParams.setInputSize(m_inputTmbSize); m_thumbEncodeParams.setRestartInterval(0); m_thumbEncodeParams.setRotation((uint32_t)m_thumbnailInfo.rotation); m_thumbEncodeParams.setQuality(DEFAULT_THUMB_Q_FACTOR); m_thumbEncodeParams.setDefaultTables(m_thumbEncodeParams.Quality()); m_thumbEncodeParams.setHiSpeed(m_JpegSpeedMode.speedMode == QOMX_JPEG_SPEED_MODE_HIGH); return lret; }
taggedText::taggedText(FILE * fpi,bool a_InputHasTags,char * Iformat,int keepPunctuation,bool nice, unsigned long int size,bool treatSlashAsAlternativesSeparator) #endif :InputHasTags(a_InputHasTags) { #ifdef COUNTOBJECTS ++COUNT; #endif fields = 0; reducedtotal = 0; Root = 0; basefrmarrD = 0; basefrmarrL = 0; #ifndef CONSTSTRCHR const #endif char * w; total = 0; const char * tag; field * wordfield; field * tagfield; field * format = 0; int slashFound = 0; if(nice) printf("counting words\n"); lineno = 1; if(Iformat) { wordfield = 0; tagfield = 0; format = translateFormat(Iformat,wordfield,tagfield); if(!wordfield) { printf("Input format %s must specify '$w'.\n",Iformat); exit(0); } while(total < size && (w = getwordI(fpi,tag,format,wordfield,tagfield,lineno)) != 0) { if(*w) { ++total; if(treatSlashAsAlternativesSeparator) { total += findSlashes(w); } } } } else { while(total < size && (w = getword(fpi,tag,InputHasTags,keepPunctuation,slashFound,lineno)) != 0) { if(*w) { ++total; if(slashFound && treatSlashAsAlternativesSeparator) total += slashFound; } } } if(nice) { printf("... %lu words counted in %lu lines\n",total,lineno); } #if STREAM fpi->clear(); fpi->seekg(0, ios::beg); #else rewind(fpi); #endif if(nice) printf("allocating array of pointers to words\n"); tunsorted = new const Word * [total]; if(nice) printf("allocating array of line offsets\n"); Lines = new unsigned long int [lineno]; if(nice) printf("...allocated array\n"); /** / FILE * ft = fopen("wordlist.txt","wb"); / **/ if(!InputHasTags) { total = 0; if(nice) printf("reading words\n"); lineno = 1; if(format) { while(total < size && (w = getwordI(fpi,tag,format,wordfield,tagfield,lineno)) != 0) { if(treatSlashAsAlternativesSeparator && findSlashes(w)) createUnTaggedAlternatives(w); else createUnTagged(w); } } else { while(total < size && (w = getword(fpi,tag,false,keepPunctuation,slashFound,lineno)) != 0) { if(slashFound && treatSlashAsAlternativesSeparator) createUnTaggedAlternatives(w); else createUnTagged(w); } } #if !TREE Root = Hash->convertToList(N); delete Hash; // qsort(Root,N,sizeof(Word *),cmpUntagged); #endif if(nice) printf("...read words\n"); } else { total = 0; if(nice) printf("reading words\n"); lineno = 1; if(format) { while(total < size && (w = getwordI(fpi,tag,format,wordfield,tagfield,lineno)) != 0) { if(treatSlashAsAlternativesSeparator && findSlashes(w)) createTaggedAlternatives(w,tag); else if(*w) createTagged(w,tag); } } else { while(total < size && (w = getword(fpi,tag,true,true,slashFound,lineno)) != 0) { if(*w) { if(!tag) { if(total > 1 && lineno > 1) printf("Tag missing in word #%lu (\"%s\") (line #%lu).\n",total,w,lineno); else printf("Tag missing in word #%lu (\"%s\") (line #%lu). (Is the input text tagged?)\n",total,w,lineno); exit(0); } if(slashFound && treatSlashAsAlternativesSeparator) createTaggedAlternatives(w,tag); else createTagged(w,tag); } } reducedtotal = Word::reducedtotal; } #if !TREE Root = Hash->convertToList(N); delete Hash; // qsort(Root,N,sizeof(Word *),cmpTagged); #endif if(nice) printf("...read words\n"); } #if STREAM fpi->clear(); fpi->seekg(0, ios::beg); #else rewind(fpi); #endif /** / for(unsigned int g = 0;g < total;++g) { if(tunsorted[g] && tunsorted[g]->m_word) fprintf(ft,"%s\n",tunsorted[g]->m_word); } fclose(ft); / **/ sorted = false; }
/*============================================================================== * Function : configureEncodedata * Parameters: None * Return Value : OMX_ERRORTYPE * Description: Configure the encode parmeters ==============================================================================*/ OMX_ERRORTYPE OMXJpegEncoder::configureEncodedata() { OMX_ERRORTYPE lret = OMX_ErrorNone; uint32_t l_imageSize; QICrop l_crop; //Start configuration only if the abort flag is not set m_inputSize.setHeight((int)m_inPort->format.image.nFrameHeight); m_inputSize.setWidth((int)m_inPort->format.image.nFrameWidth); m_inputPadSize.setHeight((int)m_inPort->format.image.nSliceHeight); m_inputPadSize.setWidth((int)m_inPort->format.image.nStride); //Translate from OMX format to QIformat lret = translateFormat(m_inPort->format.image.eColorFormat, &m_format, &m_subsampling); if (lret != OMX_ErrorNone) { return lret; } QIDBG_HIGH("%s:%d] size %dx%d pad %dx%d subsampling %d format %d", __func__, __LINE__, m_inputSize.Width(), m_inputSize.Height(), m_inputPadSize.Width(), m_inputPadSize.Height(), m_subsampling, m_format); //Set num of planes m_mainEncodeParams.setNumOfComponents(m_numOfComponents); l_imageSize = QImage::getImageSize(m_inputSize, m_subsampling, m_format); QIDBG_HIGH("%s:%d] ImageSize %d %d", __func__, __LINE__, l_imageSize, m_inputSize.Length()); //Create the exif composer if (NULL == m_composer) { m_composer = QExifComposer::New(*this); if (m_composer == NULL) { QIDBG_ERROR("%s:%d] failed to create exif composer", __func__, __LINE__); return OMX_ErrorInsufficientResources; } } //Set Crop Info if ((m_inputScaleInfo.nHeight) != 0 && (m_inputScaleInfo.nWidth != 0) ) { l_crop.setCrop((int)m_inputScaleInfo.nLeft, (int)m_inputScaleInfo.nTop, (int)(m_inputScaleInfo.nLeft + m_inputScaleInfo.nWidth), (int)(m_inputScaleInfo.nTop + m_inputScaleInfo.nHeight)); m_mainEncodeParams.setCrop(l_crop); } /*Set output size _ if scale is enabled set the output size to be size after scaling*/ if ((m_outputScaleInfo.nHeight != 0) && (m_outputScaleInfo.nWidth != 0)) { m_outputSize[0].setWidth((int)m_outputScaleInfo.nWidth); m_outputSize[0].setHeight((int)m_outputScaleInfo.nHeight); QIDBG_HIGH("%s:%d] Scaling enabled o/p width: %d o/p height:%d", __func__, __LINE__, m_outputSize[0].Width(), m_outputSize[0].Height()); } else { m_outputSize[0] = m_inputSize; QIDBG_HIGH("%s:%d] Scaling not enabled width: %d height:%d", __func__, __LINE__, m_outputSize[0].Width(), m_outputSize[0].Height()); } m_mainEncodeParams.setOutputSize(m_outputSize[0]); m_mainEncodeParams.setInputSize(m_inputSize); m_mainEncodeParams.setRestartInterval(0); m_mainEncodeParams.setRotation((uint32_t)m_rotation.nRotation); m_mainEncodeParams.setQuality((uint32_t)m_qualityfactor.nQFactor); if (m_quantTable.eQuantizationTable) { //ToDo: Uncomment and assign appropriately //m_encodeParams.setQuantTables(m_quantTable); } else { m_mainEncodeParams.setDefaultTables(m_mainEncodeParams.Quality()); } if (m_huffmanTable.eHuffmanTable) { //ToDo: Uncomment and assign appropriately //m_encodeParams.setHuffTables(m_huffmanTable); } m_mainEncodeParams.setHiSpeed(m_JpegSpeedMode.speedMode == QOMX_JPEG_SPEED_MODE_HIGH); QIDBG_MED("%s:%d] ", __func__, __LINE__); return lret; }