WELSVP_NAMESPACE_BEGIN #define AVERAGE_TIME_MOTION (0.3) //0.3046875 // 1/4 + 1/16 - 1/128 ~ 0.3 #define AVERAGE_TIME_TEXTURE_QUALITYMODE (1.0) //0.5 // 1/2 #define AVERAGE_TIME_TEXTURE_BITRATEMODE (0.875) //0.5 // 1/2 #define MODEL_ALPHA (0.9910) //1.5 //1.1102 #define MODEL_TIME (5.8185) //9.0 //5.9842 /////////////////////////////////////////////////////////////////////////////////////////////////////////////// CAdaptiveQuantization::CAdaptiveQuantization (int32_t iCpuFlag) { m_CPUFlag = iCpuFlag; m_eMethod = METHOD_ADAPTIVE_QUANT; m_pfVar = NULL; WelsMemset (&m_sAdaptiveQuantParam, 0, sizeof (m_sAdaptiveQuantParam)); WelsInitVarFunc (m_pfVar, m_CPUFlag); XMMREG_PROTECT_INIT(AdaptiveQuantization); }
/*************************************************************************** * Description: * class CWelsDecoder constructor function, do initialization and * alloc memory required * * Input parameters: none * * return: none ***************************************************************************/ CWelsDecoder::CWelsDecoder (void) : m_pDecContext (NULL), m_pTrace (NULL) { #ifdef OUTPUT_BIT_STREAM char chFileName[1024] = { 0 }; //for .264 int iBufUsed = 0; int iBufLeft = 1023; int iCurUsed; char chFileNameSize[1024] = { 0 }; //for .len int iBufUsedSize = 0; int iBufLeftSize = 1023; int iCurUsedSize; #endif//OUTPUT_BIT_STREAM m_pTrace = CreateWelsTrace (Wels_Trace_Type); IWelsTrace::WelsVTrace (m_pTrace, IWelsTrace::WELS_LOG_INFO, "CWelsDecoder::CWelsDecoder() entry"); XMMREG_PROTECT_INIT(CWelsH264Decoder); #ifdef OUTPUT_BIT_STREAM SWelsTime sCurTime; WelsGetTimeOfDay (&sCurTime); iCurUsed = WelsSnprintf (chFileName, iBufLeft, "bs_0x%p_", (void*)this); iCurUsedSize = WelsSnprintf (chFileNameSize, iBufLeftSize, "size_0x%p_", (void*)this); if (iCurUsed > 0) { iBufUsed += iCurUsed; iBufLeft -= iCurUsed; } if (iBufLeft > 0) { iCurUsed = WelsStrftime (&chFileName[iBufUsed], iBufLeft, "%y%m%d%H%M%S", &sCurTime); iBufUsed += iCurUsed; iBufLeft -= iCurUsed; } if (iCurUsedSize > 0) { iBufUsedSize += iCurUsedSize; iBufLeftSize -= iCurUsedSize; } if (iBufLeftSize > 0) { iCurUsedSize = WelsStrftime (&chFileNameSize[iBufUsedSize], iBufLeftSize, "%y%m%d%H%M%S", &sCurTime); iBufUsedSize += iCurUsedSize; iBufLeftSize -= iCurUsedSize; } if (iBufLeft > 0) { iCurUsed = WelsSnprintf (&chFileName[iBufUsed], iBufLeft, ".%03.3u.264", WelsGetMillisecond (&sCurTime)); if (iCurUsed > 0) { iBufUsed += iCurUsed; iBufLeft -= iCurUsed; } } if (iBufLeftSize > 0) { iCurUsedSize = WelsSnprintf (&chFileNameSize[iBufUsedSize], iBufLeftSize, ".%03.3u.len", WelsGetMillisecond (&sCurTime)); if (iCurUsedSize > 0) { iBufUsedSize += iCurUsedSize; iBufLeftSize -= iCurUsedSize; } } m_pFBS = WelsFopen (chFileName, "wb"); m_pFBSSize = WelsFopen (chFileNameSize, "wb"); #endif//OUTPUT_BIT_STREAM }