void ThreePhaseDecoder::makePhase() { int n = width * height; float i1, i2, i3; for (int i = 0; i < n; i++) { i1 = (float) graySequence[0][i]; i2 = (float) graySequence[1][i]; i3 = (float) graySequence[2][i]; #ifdef USE_GAMMA i1 = Gamma(i1 / 255.0, gamma) * 255.0; i2 = Gamma(i2 / 255.0, gamma) * 255.0; i3 = Gamma(i3 / 255.0, gamma) * 255.0; #endif range[i] = findRange(i1, i2, i3); mask[i] = range[i] <= rangeThreshold; ready[i] = !mask[i]; reflectivity[i] = (byte) ((i1 + i2 + i3) / 3); if(ready[i]) phase[i] = atan2f(sqrtf(3) * (i1 - i3), 2.f * i2 - i1 - i3) / (float) TWO_PI; } #ifdef LINEARIZE_PHASE if(linearize) { buildLut(); applyLut(); } #endif }
/** * \fn configure * \brief UI configuration * @param * @return */ bool AVDM_Fade::configure() { diaMenuEntry menuE[2]={{0,QT_TR_NOOP("Out"),QT_TR_NOOP("Fade out")},{1,QT_TR_NOOP("In"),QT_TR_NOOP("Fade in")}}; uint32_t start,end; while(1) { uint32_t eInOut=(uint32_t)param.inOut; uint32_t mx=9*3600*1000; diaElemMenu menu(&(eInOut),QT_TR_NOOP("_Fade type:"), 2,menuE); diaElemTimeStamp start(&(param.startFade),QT_TR_NOOP("_Start time (ms):"),0,mx); diaElemTimeStamp end(&(param.endFade),QT_TR_NOOP("_End time (ms):"),0,mx); // diaElemToggle black(&(param.toBlack),QT_TR_NOOP("Fade to _black")); //diaElem *elems[4]={&menu,&start,&end,&black}; diaElem *elems[3]={&menu,&start,&end}; if( diaFactoryRun(QT_TR_NOOP("Fade to black"),3+0*1,elems)) { param.inOut=eInOut; buildLut(); return 1; }else return 0; } return 1; }
AVDM_Fade::AVDM_Fade(AVDMGenericVideoStream *in,CONFcouple *couples) { int count = 0; char buf[80]; unsigned int *p; _in=in; memcpy(&_info,_in->getInfo(),sizeof(_info)); _info.encoding=1; vidCache=new VideoCache(3,in); _param=new VIDFADE_PARAM; if(couples) { GET(startFade); GET(endFade); GET(inOut); GET(toBlack); }else { _param->startFade=0; _param->endFade=_info.nb_frames-1; _param->inOut=0; _param->toBlack=0; } buildLut(); }
/** * \fn configure * \brief UI configuration * @param * @return */ bool AVDM_FadeTo::configure() { uint32_t start,end; while(1) { uint32_t mx=9*3600*1000; diaElemTimeStamp start(&(param.startFade),QT_TRANSLATE_NOOP("fade","_Start time (ms):"),0,mx); diaElemTimeStamp end(&(param.endFade),QT_TRANSLATE_NOOP("fade","_End time (ms):"),0,mx); diaElem *elems[2]={&start,&end}; if( diaFactoryRun(QT_TRANSLATE_NOOP("fade to","Fade"),2+0*1,elems)) { buildLut(); return 1; }else return 0; } return 1; }
/** * \fn ctor * @param in * @param couples */ AVDM_FadeTo::AVDM_FadeTo(ADM_coreVideoFilter *in,CONFcouple *setup) : ADM_coreVideoFilterCached(3,in,setup) { if(!setup || !ADM_paramLoad(setup,fade_param,¶m)) { // Default value param.startFade=0; param.endFade=0; } buildLut(); nextFrame=0; first=NULL; }
/** * \fn ctor * @param in * @param couples */ AVDM_Fade::AVDM_Fade(ADM_coreVideoFilter *in,CONFcouple *setup) : ADM_coreVideoFilterCached(3,in,setup) { if(!setup || !ADM_paramLoad(setup,fade_param,¶m)) { // Default value param.startFade=0; param.endFade=0; param.inOut=0; param.toBlack=true; } buildLut(); nextFrame=0; }