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
}
Exemplo n.º 2
0
/**
 * \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;
}
Exemplo n.º 3
0
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();
}
Exemplo n.º 4
0
/**
 * \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;
}
Exemplo n.º 5
0
/**
 * \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,&param))
    {
        // Default value
        param.startFade=0; 
        param.endFade=0;
    }
    buildLut();
    nextFrame=0;
    first=NULL;
}
Exemplo n.º 6
0
/**
 * \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,&param))
    {
        // Default value
        param.startFade=0; 
        param.endFade=0;
        param.inOut=0;
        param.toBlack=true;

    }
    buildLut();
    nextFrame=0;
}