📄 mae_wrappers.cpp
字号:
mae_cr_frame += (rows * BLOCK_SIZE * linesiz/2) + (cols * BLOCK_SIZE); // Now, pick up all the luma blocks & store them in display order // ************************************************************** mae_ptr = mae_y_frame; dst_ptr = ref_y_frame; for(y = 0; y < MB_SIZE; y++) { for(x = 0; x < MB_SIZE; x++) dst_ptr[x] = mae_ptr[x]; // Incrementing the source (MAE) pointer mae_ptr += linesiz; // Incrementing the destination (REF) pointer dst_ptr += nWidthLuma; } for(chroma = 0; chroma < 2; chroma++) { mae_ptr = chroma ? mae_cr_frame : mae_cb_frame; dst_ptr = chroma ? ref_cr_frame : ref_cb_frame; // Store the Chroma block in display order from a contiguous array for (y = 0; y < BLOCK_SIZE; y++) { for (x = 0; x < BLOCK_SIZE; x++) dst_ptr[x] = mae_ptr[x]; // Incrementing the source (MAE) pointer mae_ptr += linesiz/2; // Incrementing the destination (REF) pointer dst_ptr += nWidthChroma; } } return;}voidC_MAEWrapper::MAEConfigInit (void){ this->MAEConfigReset(); #if defined (WIN32) && defined (_DEBUG) m_pMAEConfigLogFile = ::fopen ("MAEConfig_Log.txt", "wt"); #endif return;}voidC_MAEWrapper::MAEConfigTerminate (void){ #if defined (WIN32) && defined (_DEBUG) if (m_pMAEConfigLogFile != NULL) { ::fclose (m_pMAEConfigLogFile); m_pMAEConfigLogFile = NULL; } #endif return;}voidC_MAEWrapper::MAEConfigReset (void){ m_bMAEConfig_bc_Valid = FALSE; gMAEConfig.bc = 0; m_bMAEConfig_iqmul1_Valid = FALSE; gMAEConfig.iqmul1 = 0; m_bMAEConfig_mcprec_Valid = FALSE; gMAEConfig.mcprec = 3; // Not a valid value for motion_compensation_precision (per mae_fe.h) m_bMAEConfig_xfrmtyp_Valid = FALSE; gMAEConfig.xfrmtyp = 0; m_bMAEConfig_mis_Valid = FALSE; gMAEConfig.mis = 0; m_bMAEConfig_mcprecuv_Valid = FALSE; gMAEConfig.mcprecuv = 0; m_bMAEConfig_loopfilt_Valid = FALSE; gMAEConfig.mcprecuv = 0; m_bMAEConfig_smooth_Valid = FALSE; gMAEConfig.smooth = 0; m_bMAEConfig_satiq_Valid = FALSE; gMAEConfig.satiq = 0; m_bMAEConfig_cur_y_frame_ptr_Valid = FALSE; gMAEConfig.cur_y_frame_ptr = 0; m_bMAEConfig_fwd_y_top_ptr_Valid = FALSE; gMAEConfig.fwd_y_top_ptr = 0; m_bMAEConfig_bwd_y_top_ptr_Valid = FALSE; gMAEConfig.bwd_y_top_ptr = 0; m_bMAEConfig_cur_cb_frame_ptr_Valid = FALSE; gMAEConfig.cur_cb_frame_ptr = 0; m_bMAEConfig_fwd_cb_top_ptr_Valid = FALSE; gMAEConfig.fwd_cb_top_ptr = 0; m_bMAEConfig_bwd_cb_top_ptr_Valid = FALSE; gMAEConfig.bwd_cb_top_ptr = 0; m_bMAEConfig_cur_cr_frame_ptr_Valid = FALSE; gMAEConfig.cur_cr_frame_ptr = 0; m_bMAEConfig_fwd_cr_top_ptr_Valid = FALSE; gMAEConfig.fwd_cr_top_ptr = 0; m_bMAEConfig_bwd_cr_top_ptr_Valid = FALSE; gMAEConfig.bwd_cr_top_ptr = 0; m_bMAEConfig_height_Valid = FALSE; gMAEConfig.height = 0; m_bMAEConfig_linesiz_Valid = FALSE; gMAEConfig.linesiz = 0; m_bMAEConfig_icomp_Valid = FALSE; gMAEConfig.icomp = 0; m_bMAEConfig_lumshift_Valid = FALSE; gMAEConfig.lumshift = 0; m_bMAEConfig_lumscale_Valid = FALSE; gMAEConfig.lumscale = 0; m_bMAEConfig_fwd_y_bot_ptr_Valid = FALSE; gMAEConfig.fwd_y_bot_ptr = 0; m_bMAEConfig_bwd_y_bot_ptr_Valid = FALSE; gMAEConfig.bwd_y_bot_ptr = 0; m_bMAEConfig_fwd_cb_bot_ptr_Valid = FALSE; gMAEConfig.fwd_cb_bot_ptr = 0; m_bMAEConfig_bwd_cb_bot_ptr_Valid = FALSE; gMAEConfig.bwd_cb_bot_ptr = 0; m_bMAEConfig_fwd_cr_bot_ptr_Valid = FALSE; gMAEConfig.fwd_cr_bot_ptr = 0; m_bMAEConfig_bwd_cr_bot_ptr_Valid = FALSE; gMAEConfig.bwd_cr_bot_ptr = 0; m_bMAEConfig_codstyl_Valid = FALSE; gMAEConfig.codstyl = 0; m_bMAEConfig_pquant_Valid = FALSE; gMAEConfig.pquant = 0; m_bMAEConfig_nFrameType_Valid = FALSE; gMAEConfig.nFrameType = 0; m_bMAEConfig_nFrameNum_Valid = FALSE; gMAEConfig.nFrameNum = 0; m_bMAEConfig_nMB_Valid = FALSE; gMAEConfig.nMB = 0; m_bMAEConfig_nRefType_Valid = FALSE; gMAEConfig.nRefType = 0; m_bMAEConfig_nWidthLuma_Valid = FALSE; gMAEConfig.nWidthLuma = 0; m_bMAEConfig_nWidthChroma_Valid = FALSE; gMAEConfig.nWidthChroma = 0; m_bMAEConfig_nFrameWidthY_Valid = FALSE; gMAEConfig.nFrameWidthY = 0; m_bMAEConfig_uv_height_Valid = FALSE; gMAEConfig.uv_height = 0; m_bMAEConfig_uv_linesiz_Valid = FALSE; gMAEConfig.uv_linesiz = 0; m_bMAEConfig_bUsingFieldMVs_Valid = FALSE; gMAEConfig.bUsingFieldMVs = 0; m_bMAEConfig_bFieldDCT_Valid = FALSE; gMAEConfig.bFieldDCT = 0; m_bMAEConfig_bPureIntra_Valid = FALSE; gMAEConfig.bPureIntra = 0; m_bMAEConfig_bTrueInterP_Valid = FALSE; gMAEConfig.bTrueInterP = 0; m_bMAEConfig_xCurYMBRef_Valid = FALSE; gMAEConfig.xCurYMBRef = NULL; m_bMAEConfig_xCurCbMBRef_Valid = FALSE; gMAEConfig.xCurCbMBRef = NULL; m_bMAEConfig_xCurCrMBRef_Valid = FALSE; gMAEConfig.xCurCrMBRef = NULL; return;}voidC_MAEWrapper::Set_MAEReg_bc (uint32 inValue, char * inCaller, int inLineNum, char * inFileName){ pMAERegs->config0.bc = inValue; m_bMAEConfig_bc_Valid = TRUE; if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0) this->LogMAEConfigSetToFile ("bc", inValue, inCaller, inLineNum, inFileName); return;}uint32C_MAEWrapper::Get_MAEReg_bc (char * inCaller, int inLineNum, char * inFileName){ if (m_bMAEConfig_bc_Valid) return (pMAERegs->config0.bc); else if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0) this->LogMAEConfigReadErrorToFile ("bc", inCaller, inLineNum, inFileName); return (0);}voidC_MAEWrapper::Set_MAEReg_iqmul1 (uint32 inValue, char * inCaller, int inLineNum, char * inFileName){ pMAERegs->config0.iqmul1 = inValue; m_bMAEConfig_iqmul1_Valid = TRUE; if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0) this->LogMAEConfigSetToFile ("iqmul1", inValue, inCaller, inLineNum, inFileName); return;}uint32C_MAEWrapper::Get_MAEReg_iqmul1 (char * inCaller, int inLineNum, char * inFileName){ if (m_bMAEConfig_iqmul1_Valid) return (pMAERegs->config0.iqmul1); else if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0) this->LogMAEConfigReadErrorToFile ("iqmul1", inCaller, inLineNum, inFileName); return (0);}voidC_MAEWrapper::Set_MAEConfig_mcprec (uint32 inValue, char * inCaller, int inLineNum, char * inFileName){ if ((inValue == FULL_PEL) || (inValue == HALF_PEL) || (inValue == QUARTER_PEL)) { gMAEConfig.mcprec = inValue; m_bMAEConfig_mcprec_Valid = TRUE; if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0) this->LogMAEConfigSetToFile ("mcprec", inValue, inCaller, inLineNum, inFileName); } else // Bad parameter this->LogMAEConfigBadArgToFile ("mcprec", inValue, inCaller, inLineNum, inFileName); return;}uint32C_MAEWrapper::Get_MAEConfig_mcprec (char * inCaller, int inLineNum, char * inFileName){ if (m_bMAEConfig_mcprec_Valid) return (gMAEConfig.mcprec); else if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0) this->LogMAEConfigReadErrorToFile ("mcprec", inCaller, inLineNum, inFileName); return (gMAEConfig.mcprec);}voidC_MAEWrapper::Set_MAEConfig_xfrmtyp (uint32 inValue, char * inCaller, int inLineNum, char * inFileName){ gMAEConfig.xfrmtyp = inValue; m_bMAEConfig_xfrmtyp_Valid = TRUE; if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0) this->LogMAEConfigSetToFile ("xfrmtyp", inValue, inCaller, inLineNum, inFileName); return;}uint32C_MAEWrapper::Get_MAEConfig_xfrmtyp (char * inCaller, int inLineNum, char * inFileName){ if (m_bMAEConfig_xfrmtyp_Valid) return (gMAEConfig.xfrmtyp); else if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0) this->LogMAEConfigReadErrorToFile ("xfrmtyp", inCaller, inLineNum, inFileName); return (0);}voidC_MAEWrapper::Set_MAEReg_mis (uint32 inValue, char * inCaller, int inLineNum, char * inFileName){ pMAERegs->config0.mis = inValue; m_bMAEConfig_mis_Valid = TRUE; if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0) this->LogMAEConfigSetToFile ("mis", inValue, inCaller, inLineNum, inFileName); return;}uint32C_MAEWrapper::Get_MAEReg_mis (char * inCaller, int inLineNum, char * inFileName){ if (m_bMAEConfig_mis_Valid) return (pMAERegs->config0.mis); else if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0) this->LogMAEConfigReadErrorToFile ("mis", inCaller, inLineNum, inFileName); return (0);}voidC_MAEWrapper::Set_MAEConfig_mcprecuv (uint32 inValue, char * inCaller, int inLineNum, char * inFileName){ gMAEConfig.mcprecuv = inValue; m_bMAEConfig_mcprecuv_Valid = TRUE; if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0) this->LogMAEConfigSetToFile ("mcprecuv", inValue, inCaller, inLineNum, inFileName); return;}uint32C_MAEWrapper::Get_MAEConfig_mcprecuv (char * inCaller, int inLineNum, char * inFileName){ if (m_bMAEConfig_mcprecuv_Valid) return (gMAEConfig.mcprecuv); else if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0) this->LogMAEConfigReadErrorToFile ("mcprecuv", inCaller, inLineNum, inFileName); return (0);}voidC_MAEWrapper::Set_MAEReg_loopfilt (uint32 inValue, char * inCaller, int inLineNum, char * inFileName){ gMAEConfig.loopfilt = inValue; m_bMAEConfig_loopfilt_Valid = TRUE; if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0) this->LogMAEConfigSetToFile ("loopfilt", inValue, inCaller, inLineNum, inFileName); return;}uint32C_MAEWrapper::Get_MAEReg_loopfilt (char * inCaller, int inLineNum, char * inFileName){ if (m_bMAEConfig_loopfilt_Valid) return (gMAEConfig.loopfilt); else if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0) this->LogMAEConfigReadErrorToFile ("loopfilt", inCaller, inLineNum, inFileName); return (0);}voidC_MAEWrapper::Set_MAEReg_smooth (uint32 inValue, char * inCaller, int inLineNum, char * inFileName){ pMAERegs->config0.smooth = inValue; m_bMAEConfig_smooth_Valid = TRUE; if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0) this->LogMAEConfigSetToFile ("smooth", inValue, inCaller, inLineNum, inFileName); return;}uint32C_MAEWrapper::Get_MAEReg_smooth (char * inCaller, int inLineNum, char * inFileName){ if (m_bMAEConfig_smooth_Valid) return (pMAERegs->config0.smooth); else if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0) this->LogMAEConfigReadErrorToFile ("smooth", inCaller, inLineNum, inFileName); return (0);}voidC_MAEWrapper::Set_MAEReg_satiq (uint32 inValue, char * inCaller, int inLineNum, char * inFileName){ pMAERegs->config0.satiq = inValue; m_bMAEConfig_satiq_Valid = TRUE; if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0) this->LogMAEConfigSetToFile ("satiq", inValue, inCaller, inLineNum, inFileName); return;}uint32C_MAEWrapper::Get_MAEReg_satiq (char * inCaller, int inLineNum, char * inFileName){ if (m_bMAEConfig_satiq_Valid) return (pMAERegs->config0.satiq); else if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0) this->LogMAEConfigReadErrorToFile ("satiq", inCaller, inLineNum, inFileName); return (0);}voidC_MAEWrapper::Set_MAEConfig_cur_y_frame_ptr (uint32 inValue, char * inCaller, int inLineNum, char * inFileName){ gMAEConfig.cur_y_frame_ptr = inValue; pMAERegs->cur_y_frame_ptr = inValue; m_bMAEConfig_cur_y_frame_ptr_Valid = TRUE; if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0) this->LogMAEConfigSetToFile ("cur_y_frame_ptr", inValue, inCaller, inLineNum, inFileName); return;}uint32C_MAEWrapper::Get_MAEConfig_cur_y_frame_ptr (char * inCaller, int inLineNum, char * inFileName){ if (m_bMAEConfig_cur_y_frame_ptr_Valid) return (gMAEConfig.cur_y_frame_ptr); else if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0) this->LogMAEConfigReadErrorToFile ("cur_y_frame_ptr", inCaller, inLineNum, inFileName); return (0);}voidC_MAEWrapper::Set_MAEReg_fwd_y_top_ptr (uint32 inValue, char * inCaller, int inLineNum, char * inFileName){ pMAERegs->fwd_y_top_ptr = inValue; m_bMAEConfig_fwd_y_top_ptr_Valid = TRUE; if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0) this->LogMAEConfigSetToFile ("fwd_top_y_ptr", inValue, inCaller, inLineNum, inFileName); return;}uint32C_MAEWrapper::Get_MAEReg_fwd_y_top_ptr (char * inCaller, int inLineNum, char * inFileName){ if (m_bMAEConfig_fwd_y_top_ptr_Valid) return (pMAERegs->fwd_y_top_ptr); else if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0) this->LogMAEConfigReadErrorToFile ("fwd_y_top_ptr", inCaller, inLineNum, inFileName); return (0);}voidC_MAEWrapper::Set_MAEReg_bwd_y_top_ptr (uint32 inValue, char * inCaller, int inLineNum, char * inFileName){ pMAERegs->bwd_y_top_ptr = inValue; m_bMAEConfig_bwd_y_top_ptr_Valid = TRUE; if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0) this->LogMAEConfigSetToFile ("bwd_y_top_ptr", inValue, inCaller, inLineNum, inFileName); return;}uint32C_MAEWrapper::Get_MAEReg_bwd_y_top_ptr (char * inCaller, int inLineNum, char * inFileName){ if (m_bMAEConfig_bwd_y_top_ptr_Valid) return (pMAERegs->bwd_y_top_ptr); else if ((m_nMAELogFlags & k_MAEConfig_Log_all) != 0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -